feat(backend): service de configuration avec cache et encryption (#5)
Implémentation du service de configuration dynamique pour le déploiement on-premise de l'application. Nouveaux fichiers : - entities/configuration.entity.ts : Entité TypeORM - modules/config/config.service.ts : Service avec cache et encryption - modules/config/config.module.ts : Module NestJS - modules/config/index.ts : Export centralisé Fonctionnalités : ✅ Cache en mémoire au démarrage (16 configurations) ✅ Chiffrement AES-256-CBC pour valeurs sensibles ✅ Conversion automatique de types (string/number/boolean/json) ✅ Méthodes get/set avec traçabilité ✅ Récupération par catégorie (email/app/security) ✅ Masquage automatique des mots de passe ✅ Support setup wizard (isSetupCompleted) Sécurité : - Clé de chiffrement depuis CONFIG_ENCRYPTION_KEY - Format iv:encrypted pour AES-256-CBC - Mots de passe masqués dans les API Intégration : - AppConfigModule ajouté à app.module.ts - Service global exporté pour utilisation dans toute l'app - Chargement automatique au démarrage (OnModuleInit) Tests : ✅ Build Docker réussi ✅ 16 configurations chargées en cache ✅ Service démarré sans erreur Ref: #5
This commit is contained in:
@@ -14,6 +14,7 @@ import { AuthModule } from './routes/auth/auth.module';
|
||||
import { SentryGlobalFilter } from '@sentry/nestjs/setup';
|
||||
import { AllExceptionsFilter } from './common/filters/all_exceptions.filters';
|
||||
import { EnfantsModule } from './routes/enfants/enfants.module';
|
||||
import { AppConfigModule } from './modules/config/config.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -49,6 +50,7 @@ import { EnfantsModule } from './routes/enfants/enfants.module';
|
||||
ParentsModule,
|
||||
EnfantsModule,
|
||||
AuthModule,
|
||||
AppConfigModule,
|
||||
],
|
||||
controllers: [AppController],
|
||||
providers: [
|
||||
|
||||
Reference in New Issue
Block a user