{"version":3,"file":"stream-media.mjs","names":["mediaServices.checks.checkHasMediaStrategy"],"sources":["../../../src/services/media-share-links/stream-media.ts"],"sourcesContent":["import type { MediaAdapterStreamBody } from \"../../libs/media/types.js\";\nimport { resolveMediaKeyTenant } from \"../../utils/media/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport { mediaServices } from \"../index.js\";\n\n/**\n * Stream media\n *\n * @todo down the line add some basic tracking of views\n */\nconst streamMedia: ServiceFn<\n\t[\n\t\t{\n\t\t\tmediaKey: string;\n\t\t\trange?: {\n\t\t\t\tstart: number;\n\t\t\t\tend?: number;\n\t\t\t};\n\t\t},\n\t],\n\t{\n\t\tkey: string;\n\t\tcontentLength: number | undefined;\n\t\tcontentType: string | undefined;\n\t\tbody: MediaAdapterStreamBody;\n\t\tetag?: string | null;\n\t\tisPartialContent?: boolean;\n\t\ttotalSize?: number;\n\t\trange?: {\n\t\t\tstart: number;\n\t\t\tend: number;\n\t\t};\n\t}\n> = async (context, data) => {\n\tconst mediaStrategyRes =\n\t\tawait mediaServices.checks.checkHasMediaStrategy(context);\n\tif (mediaStrategyRes.error) return mediaStrategyRes;\n\n\tconst res = await mediaStrategyRes.data.stream(context, {\n\t\tkey: data.mediaKey,\n\t\trange: data.range,\n\t\ttenant: resolveMediaKeyTenant(context.config, data.mediaKey),\n\t});\n\tif (res.error) return res;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: {\n\t\t\tkey: data.mediaKey,\n\t\t\tcontentLength: res.data.contentLength,\n\t\t\tcontentType: res.data.contentType,\n\t\t\tbody: res.data.body,\n\t\t\tetag: res.data.etag,\n\t\t\tisPartialContent: res.data.isPartialContent,\n\t\t\ttotalSize: res.data.totalSize,\n\t\t\trange: res.data.range,\n\t\t},\n\t};\n};\n\nexport default streamMedia;\n"],"mappings":"2IAUA,MAAM,EAuBF,MAAO,EAAS,IAAS,CAC5B,IAAM,EACL,MAAMA,EAA2C,CAAO,EACzD,GAAI,EAAiB,MAAO,OAAO,EAEnC,IAAM,EAAM,MAAM,EAAiB,KAAK,OAAO,EAAS,CACvD,IAAK,EAAK,SACV,MAAO,EAAK,MACZ,OAAQ,EAAsB,EAAQ,OAAQ,EAAK,QAAQ,CAC5D,CAAC,EAGD,OAFI,EAAI,MAAc,EAEf,CACN,MAAO,IAAA,GACP,KAAM,CACL,IAAK,EAAK,SACV,cAAe,EAAI,KAAK,cACxB,YAAa,EAAI,KAAK,YACtB,KAAM,EAAI,KAAK,KACf,KAAM,EAAI,KAAK,KACf,iBAAkB,EAAI,KAAK,iBAC3B,UAAW,EAAI,KAAK,UACpB,MAAO,EAAI,KAAK,KACjB,CACD,CACD"}