merge(develop): clôture ticket #28 et stabilisation build/prod
Intègre en un seul commit master les changements de develop : templates email de validation (#28), alignement schéma validations + patches SQL, montée Flutter 3.29 (CI/Docker), correctifs bootstrap web/nginx/API origin et gestion HTTP 201 sur validation dossier famille. Made-with: Cursor
This commit is contained in:
+7
-1
@@ -269,11 +269,17 @@ CREATE TABLE notifications (
|
||||
-- ==========================================================
|
||||
-- Table : validations
|
||||
-- ==========================================================
|
||||
-- Historique des décisions (validation / refus / suspension de compte).
|
||||
-- Colonnes commentaire + valide_par : requises par l’API Nest (TypeORM).
|
||||
-- FK en ON DELETE SET NULL : conserver la ligne si l’utilisateur référencé
|
||||
-- est supprimé (voir database/docs/FK_POLICIES.md).
|
||||
CREATE TABLE validations (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
id_utilisateur UUID REFERENCES utilisateurs(id),
|
||||
id_utilisateur UUID REFERENCES utilisateurs(id) ON DELETE SET NULL,
|
||||
type VARCHAR(50),
|
||||
statut statut_validation_type DEFAULT 'en_attente',
|
||||
commentaire TEXT,
|
||||
valide_par UUID REFERENCES utilisateurs(id) ON DELETE SET NULL,
|
||||
cree_le TIMESTAMPTZ DEFAULT now(),
|
||||
modifie_le TIMESTAMPTZ DEFAULT now()
|
||||
);
|
||||
|
||||
@@ -47,6 +47,7 @@ Documenter, de façon unique et partagée, les règles de suppression/mise à jo
|
||||
| **uploads(id_utilisateur)** → `utilisateurs(id)` | **SET NULL** | Fichier reste référencé sans l’auteur |
|
||||
| **notifications(id_utilisateur)** → `utilisateurs(id)` | **CASCADE** | Notifications propres à l’utilisateur |
|
||||
| **validations(id_utilisateur)** → `utilisateurs(id)` | **SET NULL** | Garder l’historique de décision |
|
||||
| **validations(valide_par)** → `utilisateurs(id)` | **SET NULL** | Décideur supprimé : la ligne reste |
|
||||
|
||||
> **ON UPDATE** : **NO ACTION** partout (les UUID ne changent pas).
|
||||
|
||||
@@ -84,7 +85,8 @@ Documenter, de façon unique et partagée, les règles de suppression/mise à jo
|
||||
- `signalements_bugs.id_utilisateur` → **SET NULL**
|
||||
- `uploads.id_utilisateur` → **SET NULL**
|
||||
- `notifications.id_utilisateur` → **CASCADE**
|
||||
- `validations.id_utilisateur` → **SET NULL**
|
||||
- `validations.id_utilisateur` → **SET NULL**
|
||||
- `validations.valide_par` → **SET NULL**
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Alignement schéma validations ↔ entité TypeORM (ticket validation IHM / #28)
|
||||
-- À exécuter sur les bases déjà créées sans ces colonnes.
|
||||
|
||||
ALTER TABLE validations
|
||||
ADD COLUMN IF NOT EXISTS commentaire TEXT;
|
||||
|
||||
ALTER TABLE validations
|
||||
ADD COLUMN IF NOT EXISTS valide_par UUID REFERENCES utilisateurs(id) ON DELETE SET NULL;
|
||||
@@ -0,0 +1,13 @@
|
||||
-- Alignement FK validations ↔ BDD.sql / FK_POLICIES (ON DELETE SET NULL).
|
||||
-- À exécuter sur les bases créées avant la mise à jour du 2026-04-18.
|
||||
-- Noms de contraintes par défaut PostgreSQL : {table}_{colonne}_fkey.
|
||||
|
||||
ALTER TABLE validations DROP CONSTRAINT IF EXISTS validations_id_utilisateur_fkey;
|
||||
ALTER TABLE validations
|
||||
ADD CONSTRAINT validations_id_utilisateur_fkey
|
||||
FOREIGN KEY (id_utilisateur) REFERENCES utilisateurs(id) ON DELETE SET NULL;
|
||||
|
||||
ALTER TABLE validations DROP CONSTRAINT IF EXISTS validations_valide_par_fkey;
|
||||
ALTER TABLE validations
|
||||
ADD CONSTRAINT validations_valide_par_fkey
|
||||
FOREIGN KEY (valide_par) REFERENCES utilisateurs(id) ON DELETE SET NULL;
|
||||
@@ -0,0 +1,10 @@
|
||||
# Correctifs SQL (hors init `BDD.sql`)
|
||||
|
||||
Scripts à appliquer **manuellement** sur les bases déjà créées (ex. `psql` ou client SQL), dans l’ordre des dates si plusieurs fichiers.
|
||||
|
||||
| Fichier | Objet |
|
||||
|---------|--------|
|
||||
| `2026-04-17-validations-commentaire-valide-par.sql` | Ajoute `commentaire` et `valide_par` sur `validations` (requis par l’API / TypeORM). |
|
||||
| `2026-04-18-validations-fk-on-delete-set-null.sql` | Passe les FK `id_utilisateur` et `valide_par` en **ON DELETE SET NULL** (comme `BDD.sql` à jour). |
|
||||
|
||||
Les nouvelles installs via `BDD.sql` à jour incluent déjà ces colonnes et ces politiques de suppression.
|
||||
@@ -212,7 +212,7 @@ INSERT INTO validations (id, id_utilisateur, statut, commentaire, cree_le)
|
||||
VALUES (
|
||||
'v0000000-0000-0000-0000-000000000001',
|
||||
'66666666-6666-6666-6666-666666666666',
|
||||
'accepte',
|
||||
'valide',
|
||||
'Dossier AM vérifié par gestionnaire.',
|
||||
NOW()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user