UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

1 lines 2.39 kB
{"version":3,"file":"update-multiple-roles.mjs","names":["userServices.checks.checkRolesExist"],"sources":["../../../src/services/users/update-multiple-roles.ts"],"sourcesContent":["import { UserRolesRepository } from \"../../libs/repositories/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport { userServices } from \"../index.js\";\n\nconst updateMultipleRoles: ServiceFn<\n\t[\n\t\t{\n\t\t\tuserId: number;\n\t\t\troleIds?: number[];\n\t\t\ttenantKey?: string | null;\n\t\t},\n\t],\n\tundefined\n> = async (context, data) => {\n\tif (data.roleIds === undefined) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tconst UserRoles = new UserRolesRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\n\tconst [roleExistsRes, deleteMultipleRes] = await Promise.all([\n\t\tuserServices.checks.checkRolesExist(context, {\n\t\t\troleIds: data.roleIds || [],\n\t\t\ttenantKey: data.tenantKey,\n\t\t}),\n\t\tUserRoles.deleteMultipleByUserTenantScope({\n\t\t\tuserId: data.userId,\n\t\t\ttenantKey: data.tenantKey,\n\t\t\tvalidation: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t}),\n\t]);\n\tif (roleExistsRes.error) return roleExistsRes;\n\tif (deleteMultipleRes.error) return deleteMultipleRes;\n\n\tif (data.roleIds.length === 0) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tconst createMultipleRes = await UserRoles.createMultiple({\n\t\tdata: data.roleIds.map((r) => ({\n\t\t\tuser_id: data.userId,\n\t\t\trole_id: r,\n\t\t})),\n\t});\n\tif (createMultipleRes.error) return createMultipleRes;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: undefined,\n\t};\n};\n\nexport default updateMultipleRoles;\n"],"mappings":"oGAIA,MAAM,EASF,MAAO,EAAS,IAAS,CAC5B,GAAI,EAAK,UAAY,IAAA,GACpB,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAGD,IAAM,EAAY,IAAI,EACrB,EAAQ,GAAG,OACX,EAAQ,OAAO,EAChB,EAEM,CAAC,EAAe,GAAqB,MAAM,QAAQ,IAAI,CAC5DA,EAAoC,EAAS,CAC5C,QAAS,EAAK,SAAW,CAAC,EAC1B,UAAW,EAAK,SACjB,CAAC,EACD,EAAU,gCAAgC,CACzC,OAAQ,EAAK,OACb,UAAW,EAAK,UAChB,WAAY,CACX,QAAS,EACV,CACD,CAAC,CACF,CAAC,EACD,GAAI,EAAc,MAAO,OAAO,EAChC,GAAI,EAAkB,MAAO,OAAO,EAEpC,GAAI,EAAK,QAAQ,SAAW,EAC3B,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAGD,IAAM,EAAoB,MAAM,EAAU,eAAe,CACxD,KAAM,EAAK,QAAQ,IAAK,IAAO,CAC9B,QAAS,EAAK,OACd,QAAS,CACV,EAAE,CACH,CAAC,EAGD,OAFI,EAAkB,MAAc,EAE7B,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,CACD"}