|
1 | | -import { Module } from '@nestjs/common'; |
2 | | -import { MongooseModule } from '@nestjs/mongoose'; |
3 | | -import { AuditsSchema, Audits } from '~/core/audits/_schemas/audits.schema'; |
4 | | -import { AuditsService } from './audits.service'; |
5 | | -import { AuditsController } from './audits.controller'; |
| 1 | +import { Module } from '@nestjs/common' |
| 2 | +import { MongooseModule } from '@nestjs/mongoose' |
| 3 | +import { AuditsSchema, Audits } from '~/core/audits/_schemas/audits.schema' |
| 4 | +import { AuditsService } from './audits.service' |
| 5 | +import { AuditsController } from './audits.controller' |
6 | 6 |
|
| 7 | +/** |
| 8 | + * Module de gestion des audits et de l'historique des enregistrements. |
| 9 | + * |
| 10 | + * Ce module fournit un système de logging en base de données où l'enregistrement |
| 11 | + * automatique de l'historique des modifications est géré par un plugin Mongoose. |
| 12 | + * Le module expose des fonctionnalités pour lister, restaurer et supprimer les |
| 13 | + * entrées d'audit capturées automatiquement. |
| 14 | + * |
| 15 | + * @module AuditsModule |
| 16 | + * |
| 17 | + * @description |
| 18 | + * Architecture du système : |
| 19 | + * - **Plugin Mongoose** : Intercepte automatiquement toutes les opérations de base de données |
| 20 | + * (création, mise à jour, suppression) et enregistre les traces d'audit avec l'état |
| 21 | + * complet avant/après modification |
| 22 | + * - **Service AuditsService** : Permet de lister, restaurer et supprimer les entrées d'audit |
| 23 | + * - **Contrôleur AuditsController** : Expose les endpoints API REST pour consulter l'historique |
| 24 | + * et effectuer des opérations de restauration |
| 25 | + * |
| 26 | + * Fonctionnalités principales : |
| 27 | + * - Enregistrement automatique de l'historique via plugin Mongoose (transparent) |
| 28 | + * - Consultation de l'historique complet des modifications d'un enregistrement |
| 29 | + * - Restauration (rollback) d'une version antérieure d'un enregistrement |
| 30 | + * - Suppression d'entrées d'audit obsolètes ou non nécessaires |
| 31 | + * - Traçabilité complète des actions effectuées avec métadonnées |
| 32 | + * |
| 33 | + * Le module configure : |
| 34 | + * - La connexion à la base de données MongoDB via Mongoose pour le modèle Audits |
| 35 | + * - Le service AuditsService pour les opérations de consultation, restauration et suppression |
| 36 | + * - Le contrôleur AuditsController pour les endpoints API REST |
| 37 | + * |
| 38 | + * @exports AuditsService - Expose le service pour être utilisé par d'autres modules |
| 39 | + */ |
7 | 40 | @Module({ |
8 | 41 | imports: [ |
9 | 42 | MongooseModule.forFeatureAsync([ |
|
0 commit comments