feat: implement dynamic driver configuration + fix integration test log pollution (#12104)
### Primary Changes: Dynamic Driver Configuration Refactors FileStorageService and EmailSenderService to support dynamic driver configuration changes at runtime without requiring application restarts. **Key Architectural Change**: Instead of conditionally registering drivers at build time based on configuration, we now **register all possible drivers eagerly** and select the appropriate one at runtime. ### What Changed: - **Before**: Modules conditionally registered only the configured driver (e.g., only S3Driver if STORAGE_TYPE=S3) - **After**: All drivers (LocalDriver, S3Driver, SmtpDriver, LoggerDriver) are registered at startup - **Runtime Selection**: Services dynamically choose and instantiate the correct driver based on current configuration ### Secondary Fix: Integration Test Log Cleanup Addresses ConfigStorageService error logs appearing in integration test output by using injected LoggerService for consistent log handling.
This commit is contained in:
@ -13,4 +13,4 @@ export const TEST_KEY_METRICS: ConfigKey =
|
||||
'HEALTH_METRICS_TIME_WINDOW_IN_MINUTES';
|
||||
export const TEST_KEY_ENV_ONLY: ConfigKey = 'PG_DATABASE_URL';
|
||||
export const TEST_KEY_NONEXISTENT = 'NONEXISTENT_CONFIG_KEY';
|
||||
export const TEST_KEY_STRING_VALUE = 'EMAIL_FROM_NAME';
|
||||
export const TEST_KEY_STRING_VALUE: ConfigKey = 'EMAIL_FROM_NAME';
|
||||
|
||||
Reference in New Issue
Block a user