Skip to content

Feature/frontend/admin user - #64

Merged
DidierViret merged 80 commits into
developfrom
feature/frontend/admin-user
Sep 8, 2026
Merged

Feature/frontend/admin user#64
DidierViret merged 80 commits into
developfrom
feature/frontend/admin-user

Conversation

@QuentinMory

Copy link
Copy Markdown

Add a list to manage the users from the frontend

YohanKoch and others added 25 commits February 26, 2026 13:28
… v1.1.0 and enhance item fetching with soft-delete functionality
…issions | feature backend : adapt backend for the frontend by adding some endpoints
Co-authored-by: Copilot <copilot@github.com>
Comment thread backend/src/main/java/ch/sectioninformatique/template/item/ItemController.java Outdated
Comment thread backend/src/main/java/ch/sectioninformatique/template/auth/AuthClient.java Outdated
Comment thread backend/src/main/java/ch/sectioninformatique/template/item/ItemService.java Outdated
Comment thread backend/src/main/java/ch/sectioninformatique/template/user/UserController.java Outdated
Comment thread backend/src/main/java/ch/sectioninformatique/template/user/UserController.java Outdated

@KarolJar KarolJar left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il y a deux problèmes:

On peut pas supprimer un utilisateur globalement: quand on fait une requete delete "http://localhost:8086/users/10/true",
Ca nous donne un "Failed to delete user: Method 'DELETE' is not supported."

Quand on veut mettre un utilisateur à jour ca donne un Internal Server Error.

@KarolJar KarolJar left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DidierViret DidierViret left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erreurs signalées par l'IA dans le backend :
UserController.java — updateUser() commit la mise à jour en local avant d'appeler spring-auth. Si l'appel distant échoue, l'utilisateur local reste modifié alors que spring-auth ne l'est pas → désynchronisation du mainRole entre les deux systèmes.

UserService.java — contrairement aux autres méthodes de la classe, updateUser() n'est pas dans un try/catch, et RoleEnum.valueOf(newUser.getMainRole()) n'a pas de garde contre un mainRole null → NullPointerException non gérée, 500 brut au lieu d'une erreur i18n propre.

UserService.java — register() peut désormais lever RoleNotFoundException, mais le catch ne liste toujours que DefaultRoleNotFoundException. Elle tombe donc dans le catch (Exception e) générique et est ré-enveloppée en UserCreationException, perdant le statut 404 et la clé de message i18n (et e.getMessage() est probablement null → message d'erreur vide/confus).

Comment thread backend/src/main/java/ch/sectioninformatique/template/user/UserService.java Outdated

@DidierViret DidierViret left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erreurs signalées par l'IA dans le frontend :

users/api/api.js — getUsers()/getUserWithDeleted() appellent GET /users/all et /users/all-with-deleted, mais UserController n'expose que GET /users (avec un paramètre ?deleted=). Ces routes n'existent pas côté backend → 404 avalé silencieusement → la liste des utilisateurs s'affiche toujours vide.

users/api/api.js — Les fonctions de suppression appellent DELETE /users/{id}/false ou /{id}/true/permanent en segments d'URL, mais UserController.deleteUser attend DELETE /{userLogin} avec global/hard en query params, et un login (pas un id numérique). Suppression/hard-delete depuis l'UI admin échoue silencieusement (404 avalé → aucun retour visible).

…Add redirection to the last page after a successfull login.
@YohanKoch

Copy link
Copy Markdown

Erreurs signalées par l'IA dans le frontend :

users/api/api.js — getUsers()/getUserWithDeleted() appellent GET /users/all et /users/all-with-deleted, mais UserController n'expose que GET /users (avec un paramètre ?deleted=). Ces routes n'existent pas côté backend → 404 avalé silencieusement → la liste des utilisateurs s'affiche toujours vide.

users/api/api.js — Les fonctions de suppression appellent DELETE /users/{id}/false ou /{id}/true/permanent en segments d'URL, mais UserController.deleteUser attend DELETE /{userLogin} avec global/hard en query params, et un login (pas un id numérique). Suppression/hard-delete depuis l'UI admin échoue silencieusement (404 avalé → aucun retour visible).

GET /users/all a déja été fixé dans la branche feature/frontend/administration-page

@DidierViret
DidierViret merged commit 01d80e5 into develop Sep 8, 2026
@DidierViret
DidierViret deleted the feature/frontend/admin-user branch September 8, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants