mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-27 23:08:16 +02:00
capitalisation: intégration 33 propositions RL799_V2 (triage 2026-04-07)
Backend: 21 entrées (general, prisma, contracts, auth, patterns) Frontend: 9 entrées (navigation, tests, general, performance, patterns) Workflow: 5 entrées (story-tracking) Nouveau fichier: backend/patterns/general.md 95_a_capitaliser.md purgé. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,8 +5,8 @@ bucket: risques
|
||||
tags: [contracts, zod, validation, error-codes, requestid]
|
||||
applies_to: [analysis, implementation, review, debug]
|
||||
severity: high
|
||||
validated_on: 2026-03-24
|
||||
source_projects: [app-alexandrie]
|
||||
validated_on: 2026-04-07
|
||||
source_projects: [app-alexandrie, RL799_V2]
|
||||
---
|
||||
|
||||
# Backend — Risques & vigilance : Contracts
|
||||
@@ -198,3 +198,27 @@ Tableau de correspondance :
|
||||
- **Checklist review** : rechercher `process.env` dans `src/` hors `config/` ou `main.ts` — tout hit est suspect.
|
||||
|
||||
- Contexte technique : NestJS / ConfigService — 30-03-2026
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-statut-metier-non-propage-contrat"></a>
|
||||
## Nouveau statut métier non propagé dans le contrat partagé
|
||||
|
||||
### Risques
|
||||
|
||||
- Un repository ou service crée une nouvelle valeur pour un champ enum-like (ex: `'absent_auto'` pour un champ `status: String`) sans la déclarer dans le type DTO ni le schema Zod du package shared
|
||||
- Le champ Prisma étant un `String` sans contrainte DB, l'écriture passe, mais toute lecture avec validation Zod rejetterait la donnée
|
||||
|
||||
### Symptômes
|
||||
|
||||
- String literal non présent dans le type union ou le schema Zod du DTO correspondant
|
||||
- `catch {}` vide dans les repositories qui avalent les erreurs de validation sans log
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
Quand un repository ou service crée une nouvelle valeur pour un champ enum-like :
|
||||
1. Ajouter la valeur au type DTO dans `packages/shared` (ou équivalent)
|
||||
2. Ajouter la valeur au schema de validation Zod correspondant
|
||||
3. Vérifier que les endpoints de lecture qui parsent ces données acceptent la nouvelle valeur
|
||||
|
||||
- Contexte technique : Zod / contrats partagés — RL799_V2 03-04-2026
|
||||
|
||||
Reference in New Issue
Block a user