UNPKG

cloud-presign

Version:

A unified presigned URL generator for multiple cloud platforms

64 lines (63 loc) 2.47 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generatePresignedUrl = generatePresignedUrl; exports.makeFilePublic = makeFilePublic; const config_1 = require("./config"); const providers_1 = require("./providers"); const validation_1 = require("./utils/validation"); /** * Generates a presigned URL for uploading or downloading a file. * @param params - Parameters for generating presigned URL * @param options - Additional options for the presigned URL * @returns Promise resolving to a presigned URL */ async function generatePresignedUrl(params, options) { try { // Validate required parameters (0, validation_1.validatePresignParams)(params); // Load configuration const config = (0, config_1.loadConfig)(); // Get provider implementation const provider = (0, providers_1.getProvider)(config); // Generate presigned URL using the provider return await provider.generatePresignedUrl(params, options); } catch (error) { if (error instanceof Error) { throw error; } throw new Error(`Failed to generate presigned URL: ${error}`); } } async function makeFilePublic(fileName) { try { // Load configuration const config = (0, config_1.loadConfig)(); // Get provider implementation const provider = (0, providers_1.getProvider)(config); // Make file publically available return await provider.makeFilePublic(fileName); } catch (error) { if (error instanceof Error) { throw error; } throw new Error(`Failed to make file public: ${error}`); } } // Re-export types for better TypeScript experience __exportStar(require("./types"), exports);