@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 4.12 kB
Source Map (JSON)
{"version":3,"file":"run-sync-tasks.mjs","names":["syncServices.syncLocales","syncServices.syncTenants","syncServices.syncCollections","syncServices.syncRoles","cliLogger"],"sources":["../../../../src/libs/cli/services/run-sync-tasks.ts"],"sourcesContent":["import { syncServices } from \"../../../services/index.js\";\nimport type { Config, EnvironmentVariables } from \"../../../types.js\";\nimport createServiceContext from \"../../../utils/services/create-service-context.js\";\nimport type { DatabaseConnection } from \"../../db/types.js\";\nimport { passthroughEmailAdapterInstance } from \"../../email/adapters/passthrough.js\";\nimport type { TranslationStore } from \"../../i18n/types.js\";\nimport {\n\tdestroyKVAdapter,\n\tgetInitializedKVAdapter,\n} from \"../../kv/lifecycle.js\";\nimport type { KVAdapterInstance } from \"../../kv/types.js\";\nimport passthroughQueueAdapter from \"../../queue/adapters/passthrough.js\";\nimport type { AdapterRuntimeContext } from \"../../runtime/types.js\";\nimport cliLogger from \"../logger.js\";\n\nconst runSyncTasks = async (options: {\n\tconfig: Config;\n\tdatabase: DatabaseConnection;\n\ttranslationStore: TranslationStore;\n\tkv?: KVAdapterInstance;\n\tenv?: EnvironmentVariables;\n\truntimeContext?: AdapterRuntimeContext;\n}): Promise<boolean> => {\n\tcliLogger.info(\"Running sync tasks...\");\n\n\tconst kv =\n\t\toptions.kv ??\n\t\t(await getInitializedKVAdapter(options.config, {\n\t\t\tenv: options.env,\n\t\t\truntimeContext: options.runtimeContext,\n\t\t}));\n\tconst shouldDestroyKV = options.kv === undefined;\n\n\tconst context = createServiceContext({\n\t\tconfig: options.config,\n\t\tdatabase: options.database,\n\t\ttranslationStore: options.translationStore,\n\t\tenv: options.env,\n\t\truntimeContext: options.runtimeContext,\n\t\tqueue: passthroughQueueAdapter(),\n\t\tkv,\n\t\tmedia: null,\n\t\temail: passthroughEmailAdapterInstance,\n\t});\n\n\tlet cleanedUp = false;\n\tconst cleanupAdapters = async () => {\n\t\tif (cleanedUp) return;\n\t\tcleanedUp = true;\n\t\tif (shouldDestroyKV) {\n\t\t\tawait destroyKVAdapter(kv, {\n\t\t\t\tconfig: options.config,\n\t\t\t\tenv: options.env,\n\t\t\t\truntimeContext: options.runtimeContext,\n\t\t\t});\n\t\t}\n\t};\n\n\ttry {\n\t\tconst [localesResult, tenantsResult, collectionsResult, rolesResult] =\n\t\t\tawait Promise.all([\n\t\t\t\tsyncServices.syncLocales(context),\n\t\t\t\tsyncServices.syncTenants(context),\n\t\t\t\tsyncServices.syncCollections(context),\n\t\t\t\tsyncServices.syncRoles(context),\n\t\t\t]);\n\n\t\tfor (const [label, result] of [\n\t\t\t[\"locale\", localesResult],\n\t\t\t[\"tenants\", tenantsResult],\n\t\t\t[\"collection\", collectionsResult],\n\t\t\t[\"roles\", rolesResult],\n\t\t] as const) {\n\t\t\tif (!result.error) continue;\n\t\t\tcliLogger.error(\n\t\t\t\t`Sync failed during ${label} sync, with error:`,\n\t\t\t\tcontext.translate.english(result.error.message) || \"unknown\",\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\tcliLogger.success(\n\t\t\t\"Sync tasks completed\",\n\t\t\tcliLogger.color.green(\"successfully\"),\n\t\t);\n\t\treturn true;\n\t} finally {\n\t\tawait cleanupAdapters();\n\t}\n};\n\nexport default runSyncTasks;\n"],"mappings":"+hBAeA,MAAM,EAAe,KAAO,IAOJ,CACvB,EAAU,KAAK,uBAAuB,EAEtC,IAAM,EACL,EAAQ,IACP,MAAM,EAAwB,EAAQ,OAAQ,CAC9C,IAAK,EAAQ,IACb,eAAgB,EAAQ,cACzB,CAAC,EACI,EAAkB,EAAQ,KAAO,IAAA,GAEjC,EAAU,EAAqB,CACpC,OAAQ,EAAQ,OAChB,SAAU,EAAQ,SAClB,iBAAkB,EAAQ,iBAC1B,IAAK,EAAQ,IACb,eAAgB,EAAQ,eACxB,MAAO,EAAwB,EAC/B,KACA,MAAO,KACP,MAAO,CACR,CAAC,EAEG,EAAY,GACV,EAAkB,SAAY,CAC/B,IACJ,EAAY,GACR,GACH,MAAM,EAAiB,EAAI,CAC1B,OAAQ,EAAQ,OAChB,IAAK,EAAQ,IACb,eAAgB,EAAQ,cACzB,CAAC,EAEH,EAEA,GAAI,CACH,GAAM,CAAC,EAAe,EAAe,EAAmB,GACvD,MAAM,QAAQ,IAAI,CACjBA,EAAyB,CAAO,EAChCC,EAAyB,CAAO,EAChCC,EAA6B,CAAO,EACpCC,EAAuB,CAAO,CAC/B,CAAC,EAEF,IAAK,GAAM,CAAC,EAAO,IAAW,CAC7B,CAAC,SAAU,CAAa,EACxB,CAAC,UAAW,CAAa,EACzB,CAAC,aAAc,CAAiB,EAChC,CAAC,QAAS,CAAW,CACtB,EACM,KAAO,MAKZ,OAJA,EAAU,MACT,sBAAsB,EAAM,oBAC5B,EAAQ,UAAU,QAAQ,EAAO,MAAM,OAAO,GAAK,SACpD,EACO,GAOR,OAJA,EAAU,QACT,uBACAC,EAAU,MAAM,MAAM,cAAc,CACrC,EACO,EACR,QAAU,CACT,MAAM,EAAgB,CACvB,CACD"}