{"version":3,"file":"handleUpload.mjs","names":[],"sources":["../../src/adapter/handleUpload.ts"],"sourcesContent":["import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'\nimport { useErrorHandler } from '../hooks/useErrorHandler'\nimport { MediaCloudErrors } from '../types/errors'\n\ninterface ClientUploadContext {\n  storage: 'mux' | 's3'\n  uploadId?: string\n  mimeType?: string\n}\n\n/**\n * Creates a handle upload function for processing file uploads to both Mux and S3 storage\n * @returns A HandleUpload function that processes client upload context and updates document data\n */\nexport function getHandleUpload(): HandleUpload {\n  const { throwError } = useErrorHandler()\n\n  return async function ({ clientUploadContext, data }) {\n    if (!clientUploadContext) {\n      throwError(MediaCloudErrors.UPLOAD_HANDLER_ERROR)\n    }\n\n    const ctx = clientUploadContext as ClientUploadContext\n\n    data.mimeType = ctx.mimeType\n    data.storage = ctx.storage\n\n    switch (ctx.storage) {\n      case 'mux':\n        data.mux = data.mux || {}\n        data.mux.uploadId = ctx.uploadId\n        data.mux.status = 'preparing'\n        break\n    }\n\n    return data\n  }\n}\n"],"mappings":";;;;;;;;AAcA,SAAgB,kBAAgC;CAC9C,MAAM,EAAE,eAAe,iBAAiB;AAExC,QAAO,eAAgB,EAAE,qBAAqB,QAAQ;AACpD,MAAI,CAAC,oBACH,YAAW,iBAAiB,qBAAqB;EAGnD,MAAM,MAAM;AAEZ,OAAK,WAAW,IAAI;AACpB,OAAK,UAAU,IAAI;AAEnB,UAAQ,IAAI,SAAZ;GACE,KAAK;AACH,SAAK,MAAM,KAAK,OAAO,EAAE;AACzB,SAAK,IAAI,WAAW,IAAI;AACxB,SAAK,IAAI,SAAS;AAClB;;AAGJ,SAAO"}