UNPKG

@mvp-factory/holy-upload

Version:

File upload processing system extracted from Holy Habit project with security validation and image optimization

108 lines 2.93 kB
/** * Upload Configuration Manager * * Manages upload settings and environment variables * Extracted from Holy Habit upload system */ import { UploadConfig } from '../types/Upload'; export declare class UploadConfigManager { private static configs; /** * Load configuration from environment or defaults * * @param name - Configuration name * @returns Upload configuration */ static load(name?: string): UploadConfig; /** * Set custom configuration * * @param name - Configuration name * @param config - Upload configuration */ static set(name: string, config: UploadConfig): void; /** * Get configuration * * @param name - Configuration name * @returns Upload configuration or null */ static get(name: string): UploadConfig | null; /** * Clear configuration cache */ static clear(): void; /** * Load configuration from environment variables * * @param name - Configuration name * @returns Upload configuration */ private static loadFromEnvironment; /** * Get string environment variable * * @param key - Environment variable key * @returns String value or undefined */ private static getEnvString; /** * Get number environment variable * * @param key - Environment variable key * @returns Number value or undefined */ private static getEnvNumber; /** * Get boolean environment variable * * @param key - Environment variable key * @returns Boolean value or undefined */ private static getEnvBoolean; /** * Get array environment variable (comma-separated) * * @param key - Environment variable key * @returns Array of strings or undefined */ private static getEnvArray; /** * Validate configuration * * @param config - Upload configuration * @returns Validation result */ static validate(config: UploadConfig): { isValid: boolean; errors: string[]; }; /** * Get absolute upload directory path * * @param config - Upload configuration * @returns Absolute path */ static getAbsoluteUploadDir(config: UploadConfig): string; /** * Merge configurations * * @param base - Base configuration * @param override - Override configuration * @returns Merged configuration */ static merge(base: UploadConfig, override: Partial<UploadConfig>): UploadConfig; /** * Create development configuration * * @returns Development upload configuration */ static createDevelopmentConfig(): UploadConfig; /** * Create production configuration * * @returns Production upload configuration */ static createProductionConfig(): UploadConfig; } //# sourceMappingURL=UploadConfig.d.ts.map