Prevent admin users from accidentally demoting themselves or the last admin

Implements server-side validation and updates client error messaging to prevent accidental role changes in `server/routes.ts` and `client/src/components/Administration.tsx`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/9d9e1107-c416-4124-a939-a91c612c56a1.jpg
This commit is contained in:
michaelschal committed 2025-07-09 23:22:01 +00:00
1 parent f1b0cb07b7
commit bedb7bd4cc
3 files changed
+24 -18

No files matched your search

+6 -3
View File
@@ -136,9 +136,12 @@ export default function Administration() {
toast({ title: "Utilisateur modifié avec succès" });
},
onError: (error) => {
const errorMessage = error.message.includes("Vous ne pouvez pas changer votre propre rôle")
? "Vous ne pouvez pas changer votre propre rôle d'administrateur"
: "Impossible de modifier l'utilisateur";
let errorMessage = "Impossible de modifier l'utilisateur";
if (error.message.includes("Vous ne pouvez pas changer votre propre rôle")) {
errorMessage = "Vous ne pouvez pas changer votre propre rôle d'administrateur";
} else if (error.message.includes("Impossible de modifier le rôle du dernier administrateur")) {
errorMessage = "Impossible de modifier le rôle du dernier administrateur";
}
toast({ title: "Erreur", description: errorMessage, variant: "destructive" });
},
});