fix: input validation (#116 #119 #120 #125) and RAG down log (#144) #151

Merged
dernst merged 7 commits from fix/input-validation-and-rag into develop 2026-10-30 15:23:16 +00:00
Owner

Corrige les tickets de validation des entrées et le log RAG.

  • #125 PATCH /me/language : 400 pour les valeurs hors enum (3, -1, 99).
  • #120 Rôles : nom de 1 à 20 caractères (lettres, chiffres, _, -, espaces simples entre les mots), unicité insensible à la casse, renommer un rôle avec son propre nom ne fait plus rien, bits de permission inconnus refusés (400).
  • #119 topic / tags / description / listes à null : 400 au lieu de 500 (création et modification des canaux, catégories et événements).
  • #116 Caractère NUL (U+0000) dans une chaîne JSON ou dans le nom d'un fichier uploadé : 400 au lieu de 500 (convertisseur JSON global).
  • #144 Service IA injoignable : une ligne d'avertissement dans la console au lieu d'une stack trace, l'upload répond toujours 201.

Testé dans le devcontainer avec curl, avant et après chaque correctif.

Hors scope, préexistant sur develop : POST /events renvoie 500 même avec un payload valide (FK FK_Channels_Events_EventId).

Closes #125
Closes #120
Closes #119
Closes #116
Closes #144

Corrige les tickets de validation des entrées et le log RAG. - **#125** `PATCH /me/language` : 400 pour les valeurs hors enum (3, -1, 99). - **#120** Rôles : nom de 1 à 20 caractères (lettres, chiffres, `_`, `-`, espaces simples entre les mots), unicité insensible à la casse, renommer un rôle avec son propre nom ne fait plus rien, bits de permission inconnus refusés (400). - **#119** `topic` / `tags` / `description` / listes à `null` : 400 au lieu de 500 (création et modification des canaux, catégories et événements). - **#116** Caractère NUL (U+0000) dans une chaîne JSON ou dans le nom d'un fichier uploadé : 400 au lieu de 500 (convertisseur JSON global). - **#144** Service IA injoignable : une ligne d'avertissement dans la console au lieu d'une stack trace, l'upload répond toujours 201. Testé dans le devcontainer avec curl, avant et après chaque correctif. Hors scope, préexistant sur `develop` : `POST /events` renvoie 500 même avec un payload valide (FK `FK_Channels_Events_EventId`). Closes #125 Closes #120 Closes #119 Closes #116 Closes #144
Closes #125
Role names are limited to 20 letters, digits, '_' or '-' separated by
single spaces, and are unique regardless of case. Renaming a role to its
own name is now a no-op. Permission patches with unknown bits are
rejected.

Closes #120
Closes #119
PostgreSQL cannot store U+0000 in text columns, so any JSON string or
upload name containing it ended up as a 500 DbUpdateException.

Closes #116
Closes #144
fix: foregin key contraint
All checks were successful
VPS Deploy / build-and-push (pull_request) Successful in 18s
VPS Deploy / deploy (pull_request) Successful in 25s
7e158fc4d3
fix: remove comments
All checks were successful
VPS Deploy / build-and-push (pull_request) Successful in 18s
VPS Deploy / deploy (pull_request) Successful in 25s
49f07b7ff1
dernst approved these changes 2026-10-30 15:23:11 +00:00
dernst merged commit 6c71e2fac2 into develop 2026-10-30 15:23:16 +00:00
dernst deleted branch fix/input-validation-and-rag 2026-10-30 15:23:16 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transcendence/backend!151
No description provided.