// Module-resolution shims for the app's `#root` and `#src` aliases. const Module = require('module'); const path = require('path'); const rootDir = path.resolve(__dirname, '..'); const srcDir = __dirname; const resolveFilename = Module._resolveFilename; Module._resolveFilename = function (request, parent, isMain, options) { if (request === '#root') { request = rootDir; } else if (request.startsWith('#root/')) { request = path.join(rootDir, request.slice('#root/'.length)); } else if (request === '#src') { request = srcDir; } else if (request.startsWith('#src/')) { request = path.join(srcDir, request.slice('#src/'.length)); } return resolveFilename.call(this, request, parent, isMain, options); }; const dbCommon = require('#src/db/common'); const db = require('#src/db'); const dbBootstrap = require('#src/db/bootstrap'); const data = require('#src/data'); const player = require('#src/player/render'); const listQuery = require('#src/web/lib/list-query'); const { fetchPlaylistCanvasId, fetchPlaylistCanvasSignature } = require('#src/web/lib/helpers'); module.exports = { createPool: dbCommon.createPool, pruneStaleOnboardingDevices: dbCommon.pruneStaleOnboardingDevices, ensureSchema: db.ensureSchema, bootstrapDatabase: dbBootstrap.bootstrapDatabase, slugify: data.slugify, uniqueScreenSlug: data.uniqueScreenSlug, parseJsonSafe: data.parseJsonSafe, validateMaxLength: data.validateMaxLength, truncateToMaxLength: data.truncateToMaxLength, fetchAdminData: data.fetchAdminData, fetchPlaylistsPage: data.fetchPlaylistsPage, fetchSlidesPage: data.fetchSlidesPage, fetchTemplatesPage: data.fetchTemplatesPage, fetchCanvasSizesPage: data.fetchCanvasSizesPage, fetchScreensPage: data.fetchScreensPage, ANNOUNCEMENT_TYPES: data.ANNOUNCEMENT_TYPES, ANNOUNCEMENT_COLORS: data.ANNOUNCEMENT_COLORS, ANNOUNCEMENT_ICONS: data.ANNOUNCEMENT_ICONS, ANNOUNCEMENT_ICON_OPTIONS: data.ANNOUNCEMENT_ICON_OPTIONS, ANNOUNCEMENT_ICON_LABELS: data.ANNOUNCEMENT_ICON_LABELS, DEFAULT_ANNOUNCEMENT_ICON: data.DEFAULT_ANNOUNCEMENT_ICON, normalizeAnnouncementType: data.normalizeAnnouncementType, normalizeAnnouncementColor: data.normalizeAnnouncementColor, normalizeAnnouncementIcon: data.normalizeAnnouncementIcon, fetchAnnouncementsPage: data.fetchAnnouncementsPage, fetchAnnouncementById: data.fetchAnnouncementById, fetchActiveAnnouncement: data.fetchActiveAnnouncement, buildAnnouncementPayload: data.buildAnnouncementPayload, getSearchQuery: listQuery.getSearchQuery, getSortQuery: listQuery.getSortQuery, getSortDirectionQuery: listQuery.getSortDirectionQuery, fetchPlaylistById: data.fetchPlaylistById, fetchPlaylistCanvasId: fetchPlaylistCanvasId, fetchPlaylistCanvasSignature: fetchPlaylistCanvasSignature, normalizeDisplayMode: data.normalizeDisplayMode, fetchTimetablesData: data.fetchTimetablesData, fetchTimetableGroupsPage: data.fetchTimetableGroupsPage, fetchTimetableGroupById: data.fetchTimetableGroupById, fetchTimetableEntriesByGroupId: data.fetchTimetableEntriesByGroupId, buildTimetableGroupPayload: data.buildTimetableGroupPayload, fetchApiSourcesData: data.fetchApiSourcesData, fetchApiSourcesPage: data.fetchApiSourcesPage, fetchApiSourceById: data.fetchApiSourceById, fetchApiSourceResponse: data.fetchApiSourceResponse, buildApiSourcePayload: data.buildApiSourcePayload, fetchRssFeedsData: data.fetchRssFeedsData, fetchRssFeedsPage: data.fetchRssFeedsPage, fetchRssFeedById: data.fetchRssFeedById, fetchRssFeedItemsByFeedId: data.fetchRssFeedItemsByFeedId, normalizeRssFeedItem: data.normalizeRssFeedItem, buildRssFeedPayload: data.buildRssFeedPayload, fetchRssFeedItems: data.fetchRssFeedItems, replaceRssFeedItems: data.replaceRssFeedItems, fetchScreenById: data.fetchScreenById, fetchScreenEditData: data.fetchScreenEditData, fetchScreenPlayerUrls: data.fetchScreenPlayerUrls, fetchPlayerPublicBaseUrl: data.fetchPlayerPublicBaseUrl, fetchScreenPlayerRecord: data.fetchScreenPlayerRecord, fetchTemplateById: data.fetchTemplateById, fetchPlayerRegistrations: data.fetchPlayerRegistrations, fetchSlideById: data.fetchSlideById, fetchTemplatesData: data.fetchTemplatesData, fetchCanvasSizesData: data.fetchCanvasSizesData, fetchCanvasSizeById: data.fetchCanvasSizeById, buildCanvasSizePayload: data.buildCanvasSizePayload, MAX_CANVAS_SIZE_DIMENSION: data.MAX_CANVAS_SIZE_DIMENSION, buildSlidePayload: data.buildSlidePayload, extractTemplateRegions: data.extractTemplateRegions, buildTemplatePayload: data.buildTemplatePayload, fetchDuplicateName: data.fetchDuplicateName, mediaKind: player.mediaKind, renderPlayerPage: player.renderPlayerPage, renderPlayerOnboardingLandingPage: player.renderPlayerOnboardingLandingPage, renderPlayerOnboardingFormPage: player.renderPlayerOnboardingFormPage };