express-storage
Version:
A simple and powerful file upload and storage management package for Express.js applications. Supports multiple storage drivers including S3, GCS, OCI, and local storage with presigned URL support.
29 lines • 2.13 kB
TypeScript
import { StorageManager } from './storage-manager.js';
export { StorageManager } from './storage-manager.js';
export { StorageDriverFactory } from './factory/driver.factory.js';
export type { StorageDriver, FileUploadResult, PresignedUrlResult, StorageConfig, FileInput, SingleFileInput, MultipleFilesInput, IStorageDriver, StorageRequest, ValidationResult, EnvironmentConfig } from './types/storage.types.js';
export { loadAndValidateConfig, validateStorageConfig } from './utils/config.utils.js';
export { generateUniqueFileName, sanitizeFileName, createMonthBasedPath, ensureDirectoryExists, formatFileSize, validateFileSize, validateFileType, createLocalFileUrl, getFileExtension, isImageFile, isDocumentFile } from './utils/file.utils.js';
export { BaseStorageDriver } from './drivers/base.driver.js';
export { LocalStorageDriver } from './drivers/local.driver.js';
export { S3StorageDriver, S3PresignedStorageDriver } from './drivers/s3.driver.js';
export { GCSStorageDriver, GCSPresignedStorageDriver } from './drivers/gcs.driver.js';
export { OCIStorageDriver, OCIPresignedStorageDriver } from './drivers/oci.driver.js';
/**
* Get or create default storage manager instance
*/
export declare function getStorageManager(): StorageManager;
/**
* Initialize default storage manager with custom config
*/
export declare function initializeStorageManager(config?: any): StorageManager;
/**
* Convenience functions for quick usage
*/
export declare function uploadFile(file: Express.Multer.File): Promise<import("./types/storage.types.js").FileUploadResult>;
export declare function uploadFiles(files: Express.Multer.File[]): Promise<import("./types/storage.types.js").FileUploadResult[]>;
export declare function generateUploadUrl(fileName: string): Promise<import("./types/storage.types.js").PresignedUrlResult>;
export declare function generateViewUrl(fileName: string): Promise<import("./types/storage.types.js").PresignedUrlResult>;
export declare function deleteFile(fileName: string): Promise<boolean>;
export declare function deleteFiles(fileNames: string[]): Promise<boolean[]>;
//# sourceMappingURL=index.d.ts.map