{"version":3,"file":"muxCreateUploadHandler.mjs","names":[],"sources":["../../src/endpoints/muxCreateUploadHandler.ts"],"sourcesContent":["import type { Mux } from '@mux/mux-node'\nimport { useErrorHandler } from '../hooks/useErrorHandler'\nimport { MediaCloudErrors } from '../types/errors'\n\nimport type { PayloadHandler } from 'payload'\nimport type { MediaCloudPluginOptions } from '../types'\n\ninterface GetMuxCreateUploadHandlerArgs {\n  getMuxClient: () => Mux\n  pluginOptions: MediaCloudPluginOptions\n}\n\nexport function getMuxCreateUploadHandler(\n  args: GetMuxCreateUploadHandlerArgs\n): PayloadHandler {\n  const { getMuxClient, pluginOptions } = args\n\n  return async (req) => {\n    const { throwError, logError } = useErrorHandler()\n\n    try {\n      if (!req.json) {\n        throwError(MediaCloudErrors.MUX_REQUEST_NO_JSON)\n        throw new Error() // This will never execute but satisfies TypeScript\n      }\n      const body = req.json ? await req.json() : ''\n      const { filename } = body\n      const muxClient = getMuxClient()\n      const assetOptions = pluginOptions.mux?.assetOptions || {}\n      const upload = await muxClient.video.uploads.create({\n        cors_origin: '*',\n        new_asset_settings: {\n          playback_policies: ['public'],\n          meta: {\n            title: filename,\n          },\n          ...assetOptions,\n        },\n        test: pluginOptions.mux?.testMode ?? false,\n      })\n      return Response.json({ url: upload.url, uploadId: upload.id })\n    } catch (_error) {\n      logError(MediaCloudErrors.MUX_CREATE_UPLOAD_ERROR.message)\n      return Response.json(\n        { message: 'Failed to create upload' },\n        { status: 500 }\n      )\n    }\n  }\n}\n"],"mappings":";;;;AAYA,SAAgB,0BACd,MACgB;CAChB,MAAM,EAAE,cAAc,kBAAkB;AAExC,QAAO,OAAO,QAAQ;EACpB,MAAM,EAAE,YAAY,aAAa,iBAAiB;AAElD,MAAI;AACF,OAAI,CAAC,IAAI,MAAM;AACb,eAAW,iBAAiB,oBAAoB;AAChD,UAAM,IAAI,OAAO;;GAGnB,MAAM,EAAE,aADK,IAAI,OAAO,MAAM,IAAI,MAAM,GAAG;GAE3C,MAAM,YAAY,cAAc;GAChC,MAAM,eAAe,cAAc,KAAK,gBAAgB,EAAE;GAC1D,MAAM,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO;IAClD,aAAa;IACb,oBAAoB;KAClB,mBAAmB,CAAC,SAAS;KAC7B,MAAM,EACJ,OAAO,UACR;KACD,GAAG;KACJ;IACD,MAAM,cAAc,KAAK,YAAY;IACtC,CAAC;AACF,UAAO,SAAS,KAAK;IAAE,KAAK,OAAO;IAAK,UAAU,OAAO;IAAI,CAAC;WACvD,QAAQ;AACf,YAAS,iBAAiB,wBAAwB,QAAQ;AAC1D,UAAO,SAAS,KACd,EAAE,SAAS,2BAA2B,EACtC,EAAE,QAAQ,KAAK,CAChB"}