/** * Ductape Storage Module * * Provides a unified API for cloud storage operations across * AWS S3, Google Cloud Storage, and Azure Blob Storage. * * @example * ```ts * import { StorageService } from '@ductape/sdk'; * * const storage = new StorageService({ * workspace_id: 'your-workspace-id', * public_key: 'your-public-key', * user_id: 'your-user-id', * token: 'your-token', * env_type: 'prd', * }); * * // Upload a file * const result = await storage.upload({ * product: 'my-product', * env: 'production', * storage: 'main-storage', * fileName: 'documents/report.pdf', * buffer: fileBuffer, * mimeType: 'application/pdf', * }); * * // Download a file * const downloadResult = await storage.download({ * product: 'my-product', * env: 'production', * storage: 'main-storage', * fileName: 'documents/report.pdf', * }); * * // Delete a file * await storage.delete({ * product: 'my-product', * env: 'production', * storage: 'main-storage', * fileName: 'documents/report.pdf', * }); * * // List files * const files = await storage.list({ * product: 'my-product', * env: 'production', * storage: 'main-storage', * prefix: 'documents/', * }); * * // Get signed URL * const signedUrl = await storage.getSignedUrl({ * product: 'my-product', * env: 'production', * storage: 'main-storage', * fileName: 'documents/report.pdf', * expiresIn: 3600, * }); * ``` */ export { StorageService, StorageError } from './storage.service'; export { default as StorageServiceDefault } from './storage.service'; export * from './types'; export { uploadBlobToCloud, downloadBlobFromCloud, deleteBlobFromCloud, listBlobsInCloud, generateSignedUrl, getStorageStats, } from './utils/storage.util';