UNPKG

@sastatesla/payment-gateway-sdk

Version:

A unified interface for integrating multiple payment providers (e.g., Razorpay, Cashfree) in your Node.js application.

68 lines 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudStorage = void 0; const gcsProvider_1 = require("./providers/gcsProvider"); const s3Provider_1 = require("./providers/s3Provider"); const doSpacesProvider_1 = require("./providers/doSpacesProvider"); const inputParser_1 = require("./utils/inputParser"); class CloudStorage { constructor(providerInstance) { this.providerInstance = providerInstance; } static init(config) { const validatedConfig = (0, inputParser_1.parseCloudStorageConfig)(config); switch (config.provider) { case "gcs": return new CloudStorage( // @ts-ignore new gcsProvider_1.GCSProvider(config.config, config.allowedFileTypes)); case "s3": return new CloudStorage( // @ts-ignore new s3Provider_1.S3Provider(config.config, config.allowedFileTypes)); case "do-spaces": return new CloudStorage( // @ts-ignore new doSpacesProvider_1.DOSpacesProvider(config.config, config.allowedFileTypes)); // case "cloudinary": // return new CloudStorage(new CloudinaryProvider(config.config)); default: throw new Error("Unsupported provider"); } } upload(filePath, options) { return this.providerInstance.upload(filePath, options); } uploadBulk(filePaths, options) { return this.providerInstance.uploadBulk(filePaths, options); } delete(fileId) { return this.providerInstance.delete(fileId); } deleteBulk(fileIds) { return this.providerInstance.deleteBulk(fileIds); } createFolder(folderName) { return this.providerInstance.createFolder(folderName); } uploadToFolder(folderName, filePath, options) { return this.providerInstance.uploadToFolder(folderName, filePath, options); } // NEW: Upload a buffer (e.g., from multer memoryStorage) uploadBuffer(file, options) { // @ts-ignore return this.providerInstance.uploadBuffer(file, options); } // NEW: Bulk upload for buffers uploadBulkBuffer(files, options) { // @ts-ignore return this.providerInstance.uploadBulkBuffer(files, options); } // NEW: Upload buffer to specific folder uploadBufferToFolder(folderName, file, options) { // @ts-ignore return this.providerInstance.uploadBufferToFolder(folderName, file, options); } } exports.CloudStorage = CloudStorage; //# sourceMappingURL=storage.js.map