@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.32 kB
Source Map (JSON)
{"version":3,"file":"stream-fallback-media.mjs","names":[],"sources":["../../../src/services/cdn/stream-fallback-media.ts"],"sourcesContent":["import { copy } from \"../../libs/i18n/index.js\";\nimport type { LucidErrorData } from \"../../types/errors.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\n\nconst streamFallbackMedia: ServiceFn<\n\t[\n\t\t{\n\t\t\tfallback?: boolean;\n\t\t\tsecFetchDest?: string;\n\t\t\terror: LucidErrorData;\n\t\t},\n\t],\n\t{\n\t\tredirectUrl: string;\n\t}\n> = async (context, data) => {\n\tif (data.error.status !== 404) {\n\t\treturn {\n\t\t\terror: data.error,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tif (!data.fallback) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\ttype: \"basic\",\n\t\t\t\tname: copy(\"server:core.media.not.found.name\"),\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\tconst dest = data.secFetchDest ?? \"\";\n\tconst imageFallbackUrl = context.config.media.images.fallbackUrl;\n\tconst videoFallbackUrl = context.config.media.video.fallbackUrl;\n\n\tif (dest === \"image\" && imageFallbackUrl) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: {\n\t\t\t\tredirectUrl: imageFallbackUrl,\n\t\t\t},\n\t\t};\n\t}\n\n\tif (dest === \"video\" && videoFallbackUrl) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: {\n\t\t\t\tredirectUrl: videoFallbackUrl,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\terror: {\n\t\t\ttype: \"basic\",\n\t\t\tname: copy(\"server:core.media.not.found.name\"),\n\t\t\tmessage: copy(\"server:core.media.not.found.message\"),\n\t\t\tstatus: 404,\n\t\t},\n\t\tdata: undefined,\n\t};\n};\n\nexport default streamFallbackMedia;\n"],"mappings":"gDAIA,MAAM,EAWF,MAAO,EAAS,IAAS,CAC5B,GAAI,EAAK,MAAM,SAAW,IACzB,MAAO,CACN,MAAO,EAAK,MACZ,KAAM,IAAA,EACP,EAGD,GAAI,CAAC,EAAK,SACT,MAAO,CACN,MAAO,CACN,KAAM,QACN,KAAM,EAAK,kCAAkC,EAC7C,QAAS,EAAK,qCAAqC,EACnD,OAAQ,GACT,EACA,KAAM,IAAA,EACP,EAGD,IAAM,EAAO,EAAK,cAAgB,GAC5B,EAAmB,EAAQ,OAAO,MAAM,OAAO,YAC/C,EAAmB,EAAQ,OAAO,MAAM,MAAM,YAoBpD,OAlBI,IAAS,SAAW,EAChB,CACN,MAAO,IAAA,GACP,KAAM,CACL,YAAa,CACd,CACD,EAGG,IAAS,SAAW,EAChB,CACN,MAAO,IAAA,GACP,KAAM,CACL,YAAa,CACd,CACD,EAGM,CACN,MAAO,CACN,KAAM,QACN,KAAM,EAAK,kCAAkC,EAC7C,QAAS,EAAK,qCAAqC,EACnD,OAAQ,GACT,EACA,KAAM,IAAA,EACP,CACD"}