-
Richard Bonnegent authored
✨ Nouvelles fonctionnalités: - Ajout du timestamp read_at lors du marquage comme lue (PUT /notifications/:id/read) - Soft delete avec deleted_at au lieu de suppression physique - Cleanup automatique des notifications expirées (via expires_at) - Pagination avancée avec compteurs total/unread (GET /notifications) - Format de réponse minimal pour PUT /read (id, read, read_at, updated_at)🔧 Modifications modèles: - notifications.model.js: Ajout champs read_at, deleted_at avec indexes optimisés - Validation Joi: Types ObjectId pour recipient_id, sender_id, relation_id - Population automatique des références (sender, recipient, event, resource)🚀 Nouvelles routes: - GET /notifications: Liste paginée (limit max 50, exclusion soft-deleted) - PUT /notifications/:id/read: Marquer comme lue avec timestamp - DELETE /notifications/🆔 Soft delete avec deleted_at🛠️ Utilitaires: - cleanupExpiredNotifications.js: Marque automatiquement les notifications expirées🧪 Tests: - test-notifications.js: Suite complète de 15 tests (6 suites) - Couverture: Création, pagination, mark as read, soft delete, cleanup - Total: 99/99 tests passent (100%)📚 Documentation: - NOTIFICATIONS_API.md: Documentation API complète (519 lignes) - UPDATES_SUMMARY.md: Ajout section notifications avec exemples - README.md: Section notifications CRUD et tests - Mise à jour compteur tests: 84/84 → 99/99 (15 nouveaux tests)🔒 Sécurité: - Indexes MongoDB pour performance (expires_at, deleted_at, composite) - Validation stricte des ObjectId - Messages d'erreur en français Version: 2.0 Status:✅ Production-readyRichard Bonnegent authored✨ Nouvelles fonctionnalités: - Ajout du timestamp read_at lors du marquage comme lue (PUT /notifications/:id/read) - Soft delete avec deleted_at au lieu de suppression physique - Cleanup automatique des notifications expirées (via expires_at) - Pagination avancée avec compteurs total/unread (GET /notifications) - Format de réponse minimal pour PUT /read (id, read, read_at, updated_at)🔧 Modifications modèles: - notifications.model.js: Ajout champs read_at, deleted_at avec indexes optimisés - Validation Joi: Types ObjectId pour recipient_id, sender_id, relation_id - Population automatique des références (sender, recipient, event, resource)🚀 Nouvelles routes: - GET /notifications: Liste paginée (limit max 50, exclusion soft-deleted) - PUT /notifications/:id/read: Marquer comme lue avec timestamp - DELETE /notifications/🆔 Soft delete avec deleted_at🛠️ Utilitaires: - cleanupExpiredNotifications.js: Marque automatiquement les notifications expirées🧪 Tests: - test-notifications.js: Suite complète de 15 tests (6 suites) - Couverture: Création, pagination, mark as read, soft delete, cleanup - Total: 99/99 tests passent (100%)📚 Documentation: - NOTIFICATIONS_API.md: Documentation API complète (519 lignes) - UPDATES_SUMMARY.md: Ajout section notifications avec exemples - README.md: Section notifications CRUD et tests - Mise à jour compteur tests: 84/84 → 99/99 (15 nouveaux tests)🔒 Sécurité: - Indexes MongoDB pour performance (expires_at, deleted_at, composite) - Validation stricte des ObjectId - Messages d'erreur en français Version: 2.0 Status:✅ Production-ready
Loading