mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-16 03:38:06 +02:00
Feat: Ajout du système de purge automatique de la base de données
Implémente un système complet de purge automatique pour maintenir la base de données propre et performante. Fonctionnalités ajoutées : - Migration pour ajouter les champs de tracking (archived_at, completed_at) - Triggers PostgreSQL pour mise à jour automatique des dates - Script de purge manuel avec mode simulation (dry-run) - Scheduler automatique configurable (défaut: 24h) - Routes API admin pour contrôle et monitoring - Documentation complète Éléments purgés : - Flux RSS désactivés (tous) - Tâches complétées > 3 mois (configurable) - Notes archivées > 6 mois (configurable) - Rendez-vous passés > 6 mois (configurable) Scripts npm ajoutés : - npm run db:migrate - Exécuter la migration - npm run db:cleanup - Purge manuelle - npm run db:cleanup:dry-run - Simulation de purge Routes API ajoutées : - POST /api/admin/cleanup - Déclencher la purge - GET /api/admin/cleanup/preview - Prévisualiser la purge - GET /api/admin/cleanup/status - Statut du scheduler - GET /api/admin/stats - Statistiques DB Configuration via variables d'environnement : - CLEANUP_ENABLED (défaut: true) - CLEANUP_INTERVAL_HOURS (défaut: 24) - CLEANUP_COMPLETED_TASKS_DAYS (défaut: 90) - CLEANUP_ARCHIVED_NOTES_DAYS (défaut: 180) - CLEANUP_PAST_EVENTS_DAYS (défaut: 180)
This commit is contained in:
8 files changed
+1532
-2
No files matched your search
@@ -94,6 +94,7 @@ app.use('/api/rss', require('./routes/rss.routes'));
|
||||
app.use('/api/calendar', require('./routes/calendar.routes'));
|
||||
app.use('/api/openrouter', require('./routes/openrouter.routes'));
|
||||
app.use('/api/timezone-logs', require('./routes/timezone-logs.routes'));
|
||||
app.use('/api/admin', require('./routes/admin.routes'));
|
||||
|
||||
// Route de recherche
|
||||
app.get('/api/search', require('./routes/notes.routes').searchNotes);
|
||||
@@ -138,6 +139,11 @@ async function startServer() {
|
||||
rssScheduler.startScheduler();
|
||||
logger.info('✓ Scheduler RSS démarré');
|
||||
|
||||
// Démarrer le scheduler de purge automatique
|
||||
const cleanupScheduler = require('./services/cleanup-scheduler');
|
||||
cleanupScheduler.startScheduler();
|
||||
logger.info('✓ Scheduler de purge automatique démarré');
|
||||
|
||||
// Démarrer le serveur
|
||||
app.listen(PORT, '0.0.0.0', () => {
|
||||
logger.info('═════════════════════════════════════════════');
|
||||
|
||||
Reference in new issue
Block a user