diff --git a/server/deep-search.js b/server/deep-search.js index 493ee7f..7ba40a9 100644 --- a/server/deep-search.js +++ b/server/deep-search.js @@ -44,6 +44,8 @@ function publicJob(row, indexSize = 0) { export function createDeepSearchService({ db = defaultDb, searchDeep = innertube.searchDeep, related = innertube.related, browseUploads = innertube.browseUploads, ingest = catalog.ingest, putSearch = searchCache.put, sleep = sleepDefault, random = Math.random, now = Date.now, autoStart = true } = {}) { + // Accept the db.js module namespace as well as the client itself. + if (typeof db?.execute !== 'function' && typeof db?.db?.execute === 'function') db = db.db; let worker = null; let timer = null; const log = (state, message) => { state.log ||= []; state.log.push({ at: now(), message: String(message).slice(0, 240) }); if (state.log.length > 100) state.log.splice(0, state.log.length - 100); }; diff --git a/server/server.js b/server/server.js index 028f36a..a9eaf13 100644 --- a/server/server.js +++ b/server/server.js @@ -2360,7 +2360,7 @@ const notes = registerNoteRoutes(app, { { label: 'Database', path: dirname(process.env.DB_PATH || './data/ytplayer.db') }, ] }, }); -const deepSearch = registerDeepSearchRoutes(app, { db: notesDb, adminAuth: notes.requireAdminOrToken, autoStart: false, +const deepSearch = registerDeepSearchRoutes(app, { db: notesDb.db, adminAuth: notes.requireAdminOrToken, autoStart: false, searchDeep: innertube.searchDeep, related: innertube.related, browseUploads: innertube.browseUploads, ingest: collectVideoMetadata, putSearch: searchCacheDb.put }); registerAdminToolsRoutes(app, { db: notesDb, adminAuth: notes.requireAdminOrToken, media,