@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.44 kB
Source Map (JSON)
{"version":3,"file":"delete-single.mjs","names":["userServices.checks.checkUserAccess","formatter","userServices.checks.checkNotLastUser"],"sources":["../../../../src/services/users/jobs/delete-single.ts"],"sourcesContent":["import formatter from \"../../../libs/formatters/index.js\";\nimport { UsersRepository } from \"../../../libs/repositories/index.js\";\nimport type { ServiceFn } from \"../../../utils/services/types.js\";\nimport { invalidateAuthCache } from \"../../auth/helpers/auth-cache.js\";\nimport { userServices } from \"../../index.js\";\n\n/**\n * Deletes a single user\n */\nconst deleteUser: ServiceFn<\n\t[\n\t\t{\n\t\t\tid: number;\n\t\t},\n\t],\n\tundefined\n> = async (context, data) => {\n\tconst User = new UsersRepository(context.db.client, context.config.db);\n\n\tconst accessRes = await userServices.checks.checkUserAccess(context, {\n\t\tid: data.id,\n\t});\n\tif (accessRes.error) return accessRes;\n\n\tconst userRes = await User.selectSingle({\n\t\tselect: [\"id\", \"is_deleted\"],\n\t\twhere: [\n\t\t\t{\n\t\t\t\tkey: \"id\",\n\t\t\t\toperator: \"=\",\n\t\t\t\tvalue: data.id,\n\t\t\t},\n\t\t],\n\t\tvalidation: {\n\t\t\tenabled: true,\n\t\t},\n\t});\n\tif (userRes.error) return userRes;\n\n\tif (!formatter.formatBoolean(userRes.data.is_deleted)) {\n\t\tconst notLastUserRes = await userServices.checks.checkNotLastUser(context);\n\t\tif (notLastUserRes.error) return notLastUserRes;\n\t}\n\n\tconst deleteRes = await User.deleteSingle({\n\t\twhere: [\n\t\t\t{\n\t\t\t\tkey: \"id\",\n\t\t\t\toperator: \"=\",\n\t\t\t\tvalue: data.id,\n\t\t\t},\n\t\t],\n\t});\n\tif (deleteRes.error) return deleteRes;\n\n\tawait invalidateAuthCache(context);\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: undefined,\n\t};\n};\n\nexport default deleteUser;\n"],"mappings":"8QASA,MAAM,EAOF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAO,IAAI,EAAgB,EAAQ,GAAG,OAAQ,EAAQ,OAAO,EAAE,EAE/D,EAAY,MAAMA,EAAoC,EAAS,CACpE,GAAI,EAAK,EACV,CAAC,EACD,GAAI,EAAU,MAAO,OAAO,EAE5B,IAAM,EAAU,MAAM,EAAK,aAAa,CACvC,OAAQ,CAAC,KAAM,YAAY,EAC3B,MAAO,CACN,CACC,IAAK,KACL,SAAU,IACV,MAAO,EAAK,EACb,CACD,EACA,WAAY,CACX,QAAS,EACV,CACD,CAAC,EACD,GAAI,EAAQ,MAAO,OAAO,EAE1B,GAAI,CAACC,EAAU,cAAc,EAAQ,KAAK,UAAU,EAAG,CACtD,IAAM,EAAiB,MAAMC,EAAqC,CAAO,EACzE,GAAI,EAAe,MAAO,OAAO,CAClC,CAEA,IAAM,EAAY,MAAM,EAAK,aAAa,CACzC,MAAO,CACN,CACC,IAAK,KACL,SAAU,IACV,MAAO,EAAK,EACb,CACD,CACD,CAAC,EAKD,OAJI,EAAU,MAAc,GAE5B,MAAM,EAAoB,CAAO,EAE1B,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EACD"}