Refactoring - Version stable
This commit is contained in:
@@ -674,6 +674,33 @@ public class MembreResource {
|
||||
.build();
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("/{id}/promouvoir-admin-organisation")
|
||||
@RolesAllowed({"ADMIN", "SUPER_ADMIN"})
|
||||
@Operation(
|
||||
summary = "Promouvoir un membre en administrateur d'organisation",
|
||||
description = "Passe le membre en statut ACTIF et lui assigne le rôle ADMIN_ORGANISATION dans Keycloak. "
|
||||
+ "Réservé aux super administrateurs de la plateforme. "
|
||||
+ "Le compte est immédiatement opérationnel sans validation intermédiaire.")
|
||||
@APIResponse(responseCode = "200", description = "Membre promu administrateur d'organisation")
|
||||
@APIResponse(responseCode = "404", description = "Membre non trouvé")
|
||||
@APIResponse(responseCode = "403", description = "Accès réservé aux ADMIN / SUPER_ADMIN")
|
||||
public Response promouvoirAdminOrganisation(
|
||||
@Parameter(description = "UUID du membre à promouvoir") @PathParam("id") UUID id) {
|
||||
LOG.infof("Promotion admin d'organisation pour le membre ID: %s", id);
|
||||
|
||||
Membre membrePromu = membreService.promouvoirAdminOrganisation(id);
|
||||
|
||||
// Assigner ADMIN_ORGANISATION dans Keycloak (non bloquant)
|
||||
try {
|
||||
keycloakSyncService.promouvoirAdminOrganisationDansKeycloak(id);
|
||||
} catch (Exception e) {
|
||||
LOG.warnf("Promotion Keycloak échouée pour %s (non bloquant): %s", membrePromu.getEmail(), e.getMessage());
|
||||
}
|
||||
|
||||
return Response.ok(membreService.convertToResponse(membrePromu)).build();
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("/{id}/activer")
|
||||
@RolesAllowed({"ADMIN", "SUPER_ADMIN"})
|
||||
|
||||
Reference in New Issue
Block a user