@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.21 kB
Source Map (JSON)
{"version":3,"file":"setup-required.mjs","names":["formatter","seedServices.defaultOptions","syncServices.syncRoles","syncServices.syncTenants"],"sources":["../../../src/services/auth/setup-required.ts"],"sourcesContent":["import formatter from \"../../libs/formatters/index.js\";\nimport { copy } from \"../../libs/i18n/index.js\";\nimport { UsersRepository } from \"../../libs/repositories/index.js\";\nimport type { ServiceContext, ServiceFn } from \"../../utils/services/types.js\";\nimport { seedServices, syncServices } from \"../index.js\";\n\nconst setupRequired: ServiceFn<[], { setupRequired: boolean }> = async (\n\tcontext: ServiceContext,\n) => {\n\ttry {\n\t\tconst Users = new UsersRepository(context.db.client, context.config.db);\n\n\t\tconst totalUserCountRes = await Users.count({\n\t\t\twhere: [],\n\t\t});\n\t\tif (totalUserCountRes.error) return totalUserCountRes;\n\n\t\tconst userCount = formatter.parseCount(totalUserCountRes.data?.count);\n\t\tconst setupRequired = userCount === 0;\n\n\t\tif (setupRequired) {\n\t\t\tconst initialSeedRes = await Promise.all([\n\t\t\t\tseedServices.defaultOptions(context),\n\t\t\t\tsyncServices.syncRoles(context),\n\t\t\t\tsyncServices.syncTenants(context),\n\t\t\t]);\n\t\t\tfor (const res of initialSeedRes) {\n\t\t\t\tif (res.error) return res;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: {\n\t\t\t\tsetupRequired,\n\t\t\t},\n\t\t};\n\t} catch (_error) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\ttype: \"basic\",\n\t\t\t\tmessage: copy(\"server:core.services.errors.unknown.message\"),\n\t\t\t},\n\t\t\tdata: undefined,\n\t\t};\n\t}\n};\n\nexport default setupRequired;\n"],"mappings":"yQAMA,MAAM,EAA2D,KAChE,IACI,CACJ,GAAI,CAGH,IAAM,EAAoB,MAAM,IAFd,EAAgB,EAAQ,GAAG,OAAQ,EAAQ,OAAO,EAEhC,CAAC,CAAC,MAAM,CAC3C,MAAO,CAAC,CACT,CAAC,EACD,GAAI,EAAkB,MAAO,OAAO,EAGpC,IAAM,EADYA,EAAU,WAAW,EAAkB,MAAM,KACjC,IAAM,EAEpC,GAAI,EAAe,CAClB,IAAM,EAAiB,MAAM,QAAQ,IAAI,CACxCC,EAA4B,CAAO,EACnCC,EAAuB,CAAO,EAC9BC,EAAyB,CAAO,CACjC,CAAC,EACD,IAAK,IAAM,KAAO,EACjB,GAAI,EAAI,MAAO,OAAO,CAExB,CAEA,MAAO,CACN,MAAO,IAAA,GACP,KAAM,CACL,eACD,CACD,CACD,MAAiB,CAChB,MAAO,CACN,MAAO,CACN,KAAM,QACN,QAAS,EAAK,6CAA6C,CAC5D,EACA,KAAM,IAAA,EACP,CACD,CACD"}