UNPKG

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.

53 lines 2.14 kB
// Main exports import { StorageManager } from './storage-manager.js'; export { StorageManager } from './storage-manager.js'; export { StorageDriverFactory } from './factory/driver.factory.js'; // Utility exports 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'; // Driver exports 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'; // Default instance let defaultStorageManager = null; /** * Get or create default storage manager instance */ export function getStorageManager() { if (!defaultStorageManager) { defaultStorageManager = new StorageManager(); } return defaultStorageManager; } /** * Initialize default storage manager with custom config */ export function initializeStorageManager(config) { defaultStorageManager = StorageManager.initialize(config); return defaultStorageManager; } /** * Convenience functions for quick usage */ export async function uploadFile(file) { return getStorageManager().uploadFile(file); } export async function uploadFiles(files) { return getStorageManager().uploadFiles(files); } export async function generateUploadUrl(fileName) { return getStorageManager().generateUploadUrl(fileName); } export async function generateViewUrl(fileName) { return getStorageManager().generateViewUrl(fileName); } export async function deleteFile(fileName) { return getStorageManager().deleteFile(fileName); } export async function deleteFiles(fileNames) { return getStorageManager().deleteFiles(fileNames); } //# sourceMappingURL=index.js.map