UNPKG

@lucidcms/core

Version:

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

1 lines 1.58 kB
{"version":3,"file":"check-media-key-access.mjs","names":[],"sources":["../../../../src/services/media/checks/check-media-key-access.ts"],"sourcesContent":["import { copy } from \"../../../libs/i18n/index.js\";\nimport { getMediaKeyTenantKey } from \"../../../utils/media/index.js\";\nimport type { ServiceFn } from \"../../../utils/services/types.js\";\n\n/**\n * Confirms a media key belongs to the requested tenant when one is selected.\n * Global keys are tenantless, so they remain available to tenant requests.\n */\nconst checkMediaKeyAccess: ServiceFn<\n\t[\n\t\t{\n\t\t\tkey: string;\n\t\t},\n\t],\n\tundefined\n> = async (context, data) => {\n\tconst requestTenantKey = context.request.tenantKey;\n\tif (requestTenantKey == null) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tconst mediaTenantKey = getMediaKeyTenantKey(data.key);\n\tif (mediaTenantKey !== null && mediaTenantKey !== requestTenantKey) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\ttype: \"basic\",\n\t\t\t\tmessage: copy(\"server:core.media.not.found.message\"),\n\t\t\t\tstatus: 404,\n\t\t\t},\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: undefined,\n\t};\n};\n\nexport default checkMediaKeyAccess;\n"],"mappings":"oIAQA,MAAM,EAOF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAmB,EAAQ,QAAQ,UACzC,GAAI,GAAoB,KACvB,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAGD,IAAM,EAAiB,EAAqB,EAAK,GAAG,EAYpD,OAXI,IAAmB,MAAQ,IAAmB,EAC1C,CACN,MAAO,CACN,KAAM,QACN,QAAS,EAAK,qCAAqC,EACnD,OAAQ,GACT,EACA,KAAM,IAAA,EACP,EAGM,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,CACD"}