feat(user) : soft-delete (archivage) des utilisateurs + UI archivage/désarchivage #30
Reference in New Issue
Block a user
Delete Branch "fix/user-soft-delete-orphan-references"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
La suppression d'un utilisateur faisait un hard delete, ce qui orphelinait toutes les références (tâches, time entries, notifications…) et cassait leur sérialisation. On passe à un archivage (soft delete) et on ajoute l'interface d'administration correspondante.
Backend
DELETE /api/users/{id}→ archive l'utilisateur (UserArchiveProcessor) au lieu de le supprimer : la ligne est conservée pour l'intégrité référentielle, l'apiTokenest effacé.ArchivedUserChecker) et est masqué deGET /api/users(ExcludeArchivedUserExtension) ; un admin peut le lister via?archived=true.PATCH /api/users/{id}{ archived: false }.app:restore-missing-userspour réparer les références orphelines héritées (prod).Frontend (admin)
?archived=true).users:getArchived/restore, toast de suppression repassé surusers.archived.