diff --git a/server/scripts/sync-database/sync-database.ts b/server/scripts/sync-database/sync-database.ts index af3e58f41..0b13dcbdc 100644 --- a/server/scripts/sync-database/sync-database.ts +++ b/server/scripts/sync-database/sync-database.ts @@ -16,7 +16,7 @@ import { InitaliseFolderChartLookup } from "utils/folder"; interface SyncInstructions { pattern: RegExp; - handler: (c: any[], collection: ICollection, logger: KtLogger) => Promise; + handler: (c: any[], collection: ICollection, logger: KtLogger) => Promise; } async function RemoveNotPresent( @@ -96,6 +96,8 @@ async function GenericUpsert( if (remove) { await RemoveNotPresent(documents, collection, field, logger); } + + return bwriteOps.length; } const syncInstructions: SyncInstructions[] = [ @@ -106,8 +108,17 @@ const syncInstructions: SyncInstructions[] = [ }, { pattern: /^charts-/u, - handler: (charts: ChartDocument[], collection: ICollection, logger) => - GenericUpsert(charts, collection, "chartID", logger, true), + handler: async ( + charts: ChartDocument[], + collection: ICollection, + logger + ) => { + const r = await GenericUpsert(charts, collection, "chartID", logger, true); + + if (r) { + await InitaliseFolderChartLookup(); + } + }, }, { pattern: /^songs-/u,