rework: renommer champs dans entities et ajouter MembresPOST

- ajouter et tester InsertMembres
- ajouter sql/views.sql
- ajouter view `membres_for_display` -> concat names ou prefered name
- rendre plusieurs champs NOT NULL dans schema
This commit is contained in:
Victor Lacasse-Beaudoin 2024-06-17 17:25:53 -04:00
parent e1bce94d18
commit e847f693e0
9 changed files with 168 additions and 11 deletions

View file

@ -1,12 +1,12 @@
CREATE TABLE IF NOT EXISTS programmes (
id TEXT PRIMARY KEY,
titre TEXT
name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS membres (
id VARCHAR(7) PRIMARY KEY,
last_name TEXT,
first_name TEXT,
last_name TEXT NOT NULL,
first_name TEXT NOT NULL,
prefered_name TEXT,
programme_id TEXT REFERENCES programmes(id)
programme_id TEXT REFERENCES programmes(id) NOT NULL
);

23
sql/views.sql Normal file
View file

@ -0,0 +1,23 @@
-- membres_for_display affiche le numéro étudiant, nom complet OU prefered_name, et titre du programme.
--
-- Utilisé par l'application web pour rechercher et afficher les informations des membres
CREATE OR REPLACE VIEW
"membres_for_display"
AS (
SELECT
"membres".id,
CASE
WHEN
"membres".prefered_name != '' AND "membres".prefered_name IS NOT NULL
THEN
"membres".prefered_name
ELSE
CONCAT("membres".last_name, ', ', "membres".first_name)
END AS name,
"programmes".id AS programme_id,
"programmes".name AS programme_name
FROM
"membres"
INNER JOIN
"programmes" ON "programmes".id = "membres".programme_id
);