{"version":3,"file":"index.mjs","names":["magicError: UseMagicErrorReturn"],"sources":["../../../../src/tus/stores/s3/index.ts"],"sourcesContent":["import { MediaCloudErrors } from '../../../types/errors'\nimport { S3Store } from './s3Store'\nimport { useMagicError } from '@maas/error-handler'\n\nimport type { MediaCloudPluginOptions } from '../../../types'\nimport type { UseMagicErrorReturn } from '@maas/error-handler'\n\nconst magicError: UseMagicErrorReturn = useMagicError({\n  prefix: 'PLUGIN-MEDIA-CLOUD',\n})\n\n/**\n * Validates S3 configuration options\n * @param s3Config - The S3 configuration to validate\n * @throws {Error} When required S3 configuration is missing\n */\nfunction validateS3Config(s3Config: MediaCloudPluginOptions['s3']): void {\n  magicError.assert(s3Config?.bucket, MediaCloudErrors.S3_CONFIG_MISSING)\n  magicError.assert(s3Config?.region, MediaCloudErrors.S3_CONFIG_MISSING)\n  magicError.assert(s3Config?.accessKeyId, MediaCloudErrors.S3_CONFIG_MISSING)\n  magicError.assert(\n    s3Config?.secretAccessKey,\n    MediaCloudErrors.S3_CONFIG_MISSING\n  )\n}\n\n/**\n * Creates and configures an S3Store instance\n * @param s3Config - The S3 configuration options\n * @returns A configured S3Store instance\n * @throws {Error} When required S3 configuration is missing\n */\nexport function createS3Store(\n  s3Config: MediaCloudPluginOptions['s3']\n): S3Store {\n  validateS3Config(s3Config)\n\n  return new S3Store({\n    s3ClientConfig: {\n      acl: 'public-read',\n      bucket: s3Config?.bucket ?? '',\n      credentials: {\n        accessKeyId: s3Config?.accessKeyId ?? '',\n        secretAccessKey: s3Config?.secretAccessKey ?? '',\n      },\n      endpoint: s3Config?.endpoint ?? '',\n      forcePathStyle: true,\n      region: s3Config?.region ?? '',\n    },\n  })\n}\n"],"mappings":";;;;;AAOA,MAAMA,aAAkC,cAAc,EACpD,QAAQ,sBACT,CAAC;;;;;;AAOF,SAAS,iBAAiB,UAA+C;AACvE,YAAW,OAAO,UAAU,QAAQ,iBAAiB,kBAAkB;AACvE,YAAW,OAAO,UAAU,QAAQ,iBAAiB,kBAAkB;AACvE,YAAW,OAAO,UAAU,aAAa,iBAAiB,kBAAkB;AAC5E,YAAW,OACT,UAAU,iBACV,iBAAiB,kBAClB;;;;;;;;AASH,SAAgB,cACd,UACS;AACT,kBAAiB,SAAS;AAE1B,QAAO,IAAI,QAAQ,EACjB,gBAAgB;EACd,KAAK;EACL,QAAQ,UAAU,UAAU;EAC5B,aAAa;GACX,aAAa,UAAU,eAAe;GACtC,iBAAiB,UAAU,mBAAmB;GAC/C;EACD,UAAU,UAAU,YAAY;EAChC,gBAAgB;EAChB,QAAQ,UAAU,UAAU;EAC7B,EACF,CAAC"}