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.21 kB
{"version":3,"file":"regenerate-keys.mjs","names":[],"sources":["../../../src/services/client-integrations/regenerate-keys.ts"],"sourcesContent":["import { ClientIntegrationsRepository } from \"../../libs/repositories/index.js\";\nimport { encodeApiKey } from \"../../utils/client-integrations/encode-api-key.js\";\nimport generateKeys from \"../../utils/client-integrations/generate-keys.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport checkIntegrationAccess from \"./checks/check-integration-access.js\";\n\nconst regenerateKeys: ServiceFn<\n\t[\n\t\t{\n\t\t\tid: number;\n\t\t},\n\t],\n\t{\n\t\tapiKey: string;\n\t}\n> = async (context, data) => {\n\tconst ClientIntegrations = new ClientIntegrationsRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\n\tconst checkExistsRes = await checkIntegrationAccess(context, {\n\t\tid: data.id,\n\t});\n\tif (checkExistsRes.error) return checkExistsRes;\n\n\tconst { apiKey, apiKeyHash, secret } = await generateKeys(\n\t\tcontext.config.secrets.encryption,\n\t);\n\n\tconst updateKeysRes = await ClientIntegrations.updateSingle({\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\tdata: {\n\t\t\tapi_key: apiKeyHash,\n\t\t\tsecret: secret,\n\t\t\tupdated_at: new Date().toISOString(),\n\t\t},\n\t\treturning: [\"id\"],\n\t\tvalidation: {\n\t\t\tenabled: true,\n\t\t},\n\t});\n\tif (updateKeysRes.error) return updateKeysRes;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: {\n\t\t\tapiKey: encodeApiKey(checkExistsRes.data.key, apiKey),\n\t\t},\n\t};\n};\n\nexport default regenerateKeys;\n"],"mappings":"uQAMA,MAAM,EASF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAqB,IAAI,EAC9B,EAAQ,GAAG,OACX,EAAQ,OAAO,EAChB,EAEM,EAAiB,MAAM,EAAuB,EAAS,CAC5D,GAAI,EAAK,EACV,CAAC,EACD,GAAI,EAAe,MAAO,OAAO,EAEjC,GAAM,CAAE,SAAQ,aAAY,UAAW,MAAM,EAC5C,EAAQ,OAAO,QAAQ,UACxB,EAEM,EAAgB,MAAM,EAAmB,aAAa,CAC3D,MAAO,CACN,CACC,IAAK,KACL,SAAU,IACV,MAAO,EAAK,EACb,CACD,EACA,KAAM,CACL,QAAS,EACD,SACR,WAAY,IAAI,KAAK,CAAA,CAAE,YAAY,CACpC,EACA,UAAW,CAAC,IAAI,EAChB,WAAY,CACX,QAAS,EACV,CACD,CAAC,EAGD,OAFI,EAAc,MAAc,EAEzB,CACN,MAAO,IAAA,GACP,KAAM,CACL,OAAQ,EAAa,EAAe,KAAK,IAAK,CAAM,CACrD,CACD,CACD"}