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.
75 lines • 2.07 kB
TypeScript
import { FileUploadResult, PresignedUrlResult, FileInput, StorageConfig } from './types/storage.types.js';
/**
* Main storage manager class
*/
export declare class StorageManager {
private driver;
private config;
private isInitialized;
constructor();
/**
* Initialize storage manager with custom configuration
*/
static initialize(config?: Partial<StorageConfig>): StorageManager;
/**
* Upload a single file
*/
uploadFile(file: Express.Multer.File): Promise<FileUploadResult>;
/**
* Upload multiple files
*/
uploadFiles(files: Express.Multer.File[]): Promise<FileUploadResult[]>;
/**
* Upload files with input type detection
*/
upload(input: FileInput): Promise<FileUploadResult | FileUploadResult[]>;
/**
* Generate upload URL for presigned uploads
*/
generateUploadUrl(fileName: string): Promise<PresignedUrlResult>;
/**
* Generate view URL for presigned uploads
*/
generateViewUrl(fileName: string): Promise<PresignedUrlResult>;
/**
* Generate multiple upload URLs
*/
generateUploadUrls(fileNames: string[]): Promise<PresignedUrlResult[]>;
/**
* Generate multiple view URLs
*/
generateViewUrls(fileNames: string[]): Promise<PresignedUrlResult[]>;
/**
* Delete a single file
*/
deleteFile(fileName: string): Promise<boolean>;
/**
* Delete multiple files
*/
deleteFiles(fileNames: string[]): Promise<boolean[]>;
/**
* Get current configuration
*/
getConfig(): StorageConfig;
/**
* Get current driver type
*/
getDriverType(): string;
/**
* Check if presigned URLs are supported
*/
isPresignedSupported(): boolean;
/**
* Get available drivers
*/
static getAvailableDrivers(): string[];
/**
* Clear driver cache
*/
static clearCache(): void;
/**
* Ensure storage manager is initialized
*/
private ensureInitialized;
}
//# sourceMappingURL=storage-manager.d.ts.map