From 27e70ee10904d10f4c21de16f20c3a3c7d0a81f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Le=20Lez?= Date: Mon, 24 Feb 2025 17:19:18 +0100 Subject: [PATCH] fix: naming issues with database and better data --- .../myinpulse/model/MakeAppointment.java | 2 +- .../java/enseirb/myinpulse/model/User.java | 18 +-- .../repository/AnnotationRepository.java | 9 ++ .../repository/MakeAppointmentRepository.java | 9 ++ MyINPulse-back/src/main/resources/data.sql | 121 ++++++++++------ MyINPulse-back/src/main/resources/delete.sql | 3 +- MyINPulse-back/src/main/resources/schema.sql | 134 ------------------ 7 files changed, 106 insertions(+), 190 deletions(-) create mode 100644 MyINPulse-back/src/main/java/enseirb/myinpulse/repository/AnnotationRepository.java create mode 100644 MyINPulse-back/src/main/java/enseirb/myinpulse/repository/MakeAppointmentRepository.java delete mode 100644 MyINPulse-back/src/main/resources/schema.sql diff --git a/MyINPulse-back/src/main/java/enseirb/myinpulse/model/MakeAppointment.java b/MyINPulse-back/src/main/java/enseirb/myinpulse/model/MakeAppointment.java index 2e08724..91c97d5 100644 --- a/MyINPulse-back/src/main/java/enseirb/myinpulse/model/MakeAppointment.java +++ b/MyINPulse-back/src/main/java/enseirb/myinpulse/model/MakeAppointment.java @@ -4,7 +4,7 @@ import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; @Entity -@Table(name = "make_apppointment") +@Table(name = "make_appointment") public class MakeAppointment { @Id diff --git a/MyINPulse-back/src/main/java/enseirb/myinpulse/model/User.java b/MyINPulse-back/src/main/java/enseirb/myinpulse/model/User.java index 4a1578b..6ab965e 100644 --- a/MyINPulse-back/src/main/java/enseirb/myinpulse/model/User.java +++ b/MyINPulse-back/src/main/java/enseirb/myinpulse/model/User.java @@ -4,7 +4,7 @@ import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; @Entity -@Table(name = "user") +@Table(name = "user_inpulse") @Inheritance(strategy = InheritanceType.JOINED) public class User { @@ -14,10 +14,10 @@ public class User { private Long idUser; @Column(length = 255) - private String UserSurname; + private String userSurname; @Column(length = 255) - private String UserName; + private String userName; @Column(length = 255) private String mainMail; @@ -38,8 +38,8 @@ public class User { String secondaryMail, String phoneNumber) { this.idUser = idUser; - this.UserSurname = userSurname; - this.UserName = userName; + this.userSurname = userSurname; + this.userName = userName; this.mainMail = mainMail; this.secondaryMail = secondaryMail; this.phoneNumber = phoneNumber; @@ -54,19 +54,19 @@ public class User { } public String getUserSurname() { - return UserSurname; + return userSurname; } public void setUserSurname(String userSurname) { - UserSurname = userSurname; + userSurname = userSurname; } public String getUserName() { - return UserName; + return userName; } public void setUserName(String userName) { - UserName = userName; + userName = userName; } public String getMainMail() { diff --git a/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/AnnotationRepository.java b/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/AnnotationRepository.java new file mode 100644 index 0000000..8be8adc --- /dev/null +++ b/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/AnnotationRepository.java @@ -0,0 +1,9 @@ +package enseirb.myinpulse.repository; + +import enseirb.myinpulse.model.Annotation; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +@RepositoryRestResource +public interface AnnotationRepository extends JpaRepository {} diff --git a/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/MakeAppointmentRepository.java b/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/MakeAppointmentRepository.java new file mode 100644 index 0000000..c49ef05 --- /dev/null +++ b/MyINPulse-back/src/main/java/enseirb/myinpulse/repository/MakeAppointmentRepository.java @@ -0,0 +1,9 @@ +package enseirb.myinpulse.repository; + +import enseirb.myinpulse.model.MakeAppointment; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +@RepositoryRestResource +public interface MakeAppointmentRepository extends JpaRepository {} diff --git a/MyINPulse-back/src/main/resources/data.sql b/MyINPulse-back/src/main/resources/data.sql index c5ae489..975a07d 100644 --- a/MyINPulse-back/src/main/resources/data.sql +++ b/MyINPulse-back/src/main/resources/data.sql @@ -1,57 +1,88 @@ -TRUNCATE projets, user, entrepreneur, sectionCell, rendez_vous, comptes_rendus CASCADE; +TRUNCATE project, user_inpulse, entrepreneur, administrator, section_cell, appointment, report, annotation CASCADE; -INSERT INTO projets (nom_projet, logo, date_creation, status_projet) +SELECT setval('annotation_id_annotation_seq', 1, false); +SELECT setval('appointment_id_appointment_seq', 1, false); +SELECT setval('make_appointment_id_make_appointment_seq', 1, false); +SELECT setval('project_id_project_seq', 1, false); +SELECT setval('report_id_report_seq', 1, false); +SELECT setval('section_cell_id_section_cell_seq', 1, false); +SELECT setval('user_inpulse_id_user_seq', 1, false); + +INSERT INTO user_inpulse (user_surname, user_name, main_mail, secondary_mail, phone_number) +VALUES ('Dupont', 'Dupond', 'super@mail.fr', 'super2@mail.fr', '06 45 72 45 98'), + ('Martin', 'Matin', 'genial@mail.fr', 'genial2@mail.fr', '06 52 14 58 73'), + ('Charvet', 'Lautre', 'mieux@tmail.fr', 'mieux2@tmail.fr', '07 49 82 16 35'), + ('Leguez', 'Theo', 'bof@mesmails.fr', 'bof2@mesmails.fr', '+33 6 78 14 25 29'), + ('Kia', 'Bi', 'special@mail.fr', 'special2@mail.fr', '07 65 31 38 95'), + ('Ducaillou', 'Pierre', 'maildefou@xyz.fr', 'maildefou2@xyz.fr', '06 54 78 12 62'), + ('Janine', 'Dave', 'janine@labri.fr', 'janine2@labri.fr', '06 87 12 45 95'); + +INSERT INTO administrator (id_administrator) +VALUES (7); + +INSERT INTO project (project_name, logo, creation_date, project_status, id_administrator) VALUES ('Eau du robinet', decode('013d7d16d7ad4fefb61bd95b765c8ceb', 'hex'), TO_DATE('01-OCT-2023', 'DD-MON-YYYY'), - 'En cours'), - ('Air oxygéné', decode('150647a0984e8f228cd14b54', 'hex'), TO_DATE('04-APR-2024', 'DD-MON-YYYY'), 'En cours'), + 'En cours', 7), + ('Air oxygéné', decode('150647a0984e8f228cd14b54', 'hex'), TO_DATE('04-APR-2024', 'DD-MON-YYYY'), 'En cours', 7), ('Débat concours', decode('022024abd5486e245c145dda65116f', 'hex'), TO_DATE('22-NOV-2023', 'DD-MON-YYYY'), - 'Suspendu'), + 'Suspendu', 7), ('HDeirbMI', decode('ab548d6c1d595a2975e6476f544d14c55a', 'hex'), TO_DATE('07-DEC-2024', 'DD-MON-YYYY'), - 'Lancement'); - -INSERT INTO user (nom_utilisateur, prenom_utilisateur, mail_principal, mail_secondaire, numero_telephone) VALUES -('Dupont', 'Dupond', 'super@mail.fr', 'super2@mail.fr', '06 45 72 45 98'), -('Martin', 'Matin', 'genial@mail.fr', 'genial2@mail.fr', '06 52 14 58 73'), -('Charvet', 'Lautre', 'mieux@tmail.fr', 'mieux2@tmail.fr', '07 49 82 16 35'), -('Leguez', 'Theo', 'bof@mesmails.fr', 'bof2@mesmails.fr', '+33 6 78 14 25 29'), -('Kia', 'Bi', 'special@mail.fr', 'special2@mail.fr', '07 65 31 38 95'), -('Ducaillou', 'Pierre', 'maildefou@xyz.fr', 'maildefou2@xyz.fr', '06 54 78 12 62'); + 'Lancement', 7); -INSERT INTO entrepreneur (ecole, filiere, status_snee, id_entrepreneur) VALUES -('ENSEIRB-MATMECA', 'INFO', TRUE, 1), -('ENSC', 'Cognitique', TRUE, 2), -('ENSEIRB-MATMECA', 'MATMECA', FALSE, 3), -('SupOptique', 'Classique', TRUE, 4), -('ENSEGID', 'Géoscience', FALSE, 5), -('ENSMAC', 'Matériaux composites - Mécanique', FALSE, 6); +INSERT INTO entrepreneur (school, course, snee_status, id_entrepreneur, id_project_participation, id_project_proposed) +VALUES ('ENSEIRB-MATMECA', 'INFO', TRUE, 1, 4, 4), + ('ENSC', 'Cognitique', TRUE, 2, 2, null), + ('ENSEIRB-MATMECA', 'MATMECA', FALSE, 3, 3, 3), + ('SupOptique', 'Classique', TRUE, 4, 1, 1), + ('ENSEGID', 'Géoscience', FALSE, 5, 1, null), + ('ENSMAC', 'Matériaux composites - Mécanique', FALSE, 6, 2, 2); -INSERT INTO sectionCell (titre, contenu_section, date_modification) VALUES -('Problème', 'les problèmes...', TO_TIMESTAMP('15-JAN-2025 09:30:20', 'DD-MON-YYYY, HH24:MI:SS')), -('Segment de client', 'Le segment AB passant le client n°8 est de longueur 32mm. - Le segment BC a quant à lui un longueur de 28mm. Quelle la longueur du segment AC ?', TO_TIMESTAMP('12-OCT-2022 17:47:38', 'DD-MON-YYYY, HH24:MI:SS')), -('Proposition de valeur unique', '''Son prix est de 2594€'' ''Ah oui c''est unique en effet', TO_TIMESTAMP('25-MAY-2024 11:12:04', 'DD-MON-YYYY, HH24:MI:SS')), -('Solution', 'Un problème ? Une solution', TO_TIMESTAMP('08-FEB-2024 10:17:53', 'DD-MON-YYYY, HH24:MI:SS')), -('Canaux', 'Ici nous avons la Seine, là-bas le Rhin, oh et plus loin le canal de Suez', TO_TIMESTAMP('19-JUL-2023 19:22:45', 'DD-MON-YYYY, HH24:MI:SS')), -('Sources de revenus', 'Y''en n''a pas on est pas payé. Enfin y''a du café quoi', TO_TIMESTAMP('12-JAN-2025 11:40:26', 'DD-MON-YYYY, HH24:MI:SS')), -('Structure des coûts', '''Ah oui là ça va faire au moins 1000€ par mois'', Eirbware', TO_TIMESTAMP('06-FEB-2025 13:04:06', 'DD-MON-YYYY, HH24:MI:SS')), -('Indicateurs clés', 'On apprend les clés comme des badges, ça se fait', TO_TIMESTAMP('05-FEB-2025 12:42:38', 'DD-MON-YYYY, HH24:MI:SS')), -('Avantages concurrentiel', 'On est meilleur', TO_TIMESTAMP('23-APR-2024 16:24:02', 'DD-MON-YYYY, HH24:MI:SS')); -INSERT INTO rendez_vous (date_rdv, heure_rdv, duree_rdv, lieu_rdv, sujet_rdv) VALUES -(TO_DATE('24-DEC-2023', 'DD-MON-YYYY'), '00:00:00', '00:37:53', 'À la maison', 'Ouvrir les cadeaux'), -(TO_DATE('15-AUG-2024', 'DD-MON-YYYY'), '22:35:00', '00:12:36', 'Sur les quais ou dans un champ probablement', 'BOUM BOUM les feux d''artifices (on fête quoi déjà ?)'), -(TO_DATE('28-FEB-2023', 'DD-MON-YYYY'), '14:20:00', '00:20:00', 'Salle TD 15', 'Ah mince c''est pas une année bissextile !'), -(TO_DATE('23-JAN-2024', 'DD-MON-YYYY'), '12:56:27', '11:03:33', 'Là où le vent nous porte', 'Journée la plus importante de l''année'), -(TO_DATE('25-AUG-2025', 'DD-MON-YYYY'), '00:09:00', '01:00:00', 'Euh c''est par où l''amphi 56 ?', 'Rentrée scolaire (il fait trop froid c''est quoi ça on est en août)'); +INSERT INTO section_cell (title, content_section_cell, modification_date, id_project) +VALUES ('Problème', 'les problèmes...', TO_TIMESTAMP('15-JAN-2025 09:30:20', 'DD-MON-YYYY, HH24:MI:SS'), 2), + ('Segment de client', 'Le segment AB passant le client n°8 est de longueur 32mm. + Le segment BC a quant à lui un longueur de 28mm. Quelle la longueur du segment AC ?', + TO_TIMESTAMP('12-OCT-2022 17:47:38', 'DD-MON-YYYY, HH24:MI:SS'), 3), + ('Proposition de valeur unique', '''Son prix est de 2594€'' ''Ah oui c''est unique en effet', + TO_TIMESTAMP('25-MAY-2024 11:12:04', 'DD-MON-YYYY, HH24:MI:SS'), 2), + ('Solution', 'Un problème ? Une solution', TO_TIMESTAMP('08-FEB-2024 10:17:53', 'DD-MON-YYYY, HH24:MI:SS'), 1), + ('Canaux', 'Ici nous avons la Seine, là-bas le Rhin, oh et plus loin le canal de Suez', + TO_TIMESTAMP('19-JUL-2023 19:22:45', 'DD-MON-YYYY, HH24:MI:SS'), 4), + ('Sources de revenus', 'Y''en n''a pas on est pas payé. Enfin y''a du café quoi', + TO_TIMESTAMP('12-JAN-2025 11:40:26', 'DD-MON-YYYY, HH24:MI:SS'), 1), + ('Structure des coûts', '''Ah oui là ça va faire au moins 1000€ par mois'', Eirbware', + TO_TIMESTAMP('06-FEB-2025 13:04:06', 'DD-MON-YYYY, HH24:MI:SS'), 3), + ('Indicateurs clés', 'On apprend les clés comme des badges, ça se fait', + TO_TIMESTAMP('05-FEB-2025 12:42:38', 'DD-MON-YYYY, HH24:MI:SS'), 4), + ('Avantages concurrentiel', 'On est meilleur', TO_TIMESTAMP('23-APR-2024 16:24:02', 'DD-MON-YYYY, HH24:MI:SS'), + 2); -INSERT INTO comptes_rendus (contenu_compte_rendu) VALUES -('Ah oui ça c''est super, ah ouais j''aime bien, bien vu de penser à ça'), -('Bonne réunion'), -('Ouais, j''ai rien compris mais niquel on fait comme vous avez dit'), -('Non non ça va pas du tout ce que tu me proposes, faut tout refaire'), -('Réponse de la DSI : non'), -('Trop dommage qu''Apple ait sorti leur logiciel avant nous, on avait la même idée et tout on aurait tellement pu leur faire de la concurrence'); +INSERT INTO appointment (appointment_date, appointment_time, appointment_duration, appointment_place, + appointment_subject) +VALUES (TO_DATE('24-DEC-2023', 'DD-MON-YYYY'), '00:00:00', '00:37:53', 'À la maison', 'Ouvrir les cadeaux'), + (TO_DATE('15-AUG-2024', 'DD-MON-YYYY'), '22:35:00', '00:12:36', 'Sur les quais ou dans un champ probablement', + 'BOUM BOUM les feux d''artifices (on fête quoi déjà ?)'), + (TO_DATE('28-FEB-2023', 'DD-MON-YYYY'), '14:20:00', '00:20:00', 'Salle TD 15', + 'Ah mince c''est pas une année bissextile !'), + (TO_DATE('23-JAN-2024', 'DD-MON-YYYY'), '12:56:27', '11:03:33', 'Là où le vent nous porte', + 'Journée la plus importante de l''année'), + (TO_DATE('25-AUG-2025', 'DD-MON-YYYY'), '00:09:00', '01:00:00', 'Euh c''est par où l''amphi 56 ?', + 'Rentrée scolaire (il fait trop froid c''est quoi ça on est en août)'); + +INSERT INTO report (report_content, id_appointment) +VALUES ('Ah oui ça c''est super, ah ouais j''aime bien, bien vu de penser à ça', 1), + ('Bonne réunion', 3), + ('Ouais, j''ai rien compris mais niquel on fait comme vous avez dit', 3), + ('Non non ça va pas du tout ce que tu me proposes, faut tout refaire', 4), + ('Réponse de la DSI : non', 2), + ('Trop dommage qu''Apple ait sorti leur logiciel avant nous, on avait la même idée et tout on aurait tellement pu leur faire de la concurrence', + 5); + +INSERT INTO annotation (comment, id_administrator, id_section_cell) +VALUES ('faut changer ça hein', 7, 5), + ('??? sérieusement, vous pensez que c''est une bonne idée ?', 7, 7), + ('ok donc ça c''est votre business plan, bah glhf la team', 7, 2); diff --git a/MyINPulse-back/src/main/resources/delete.sql b/MyINPulse-back/src/main/resources/delete.sql index fb9e00a..866a291 100644 --- a/MyINPulse-back/src/main/resources/delete.sql +++ b/MyINPulse-back/src/main/resources/delete.sql @@ -1 +1,2 @@ -DROP TABLE IF EXISTS administrator, projets, user, entrepreneur, sectionCell, rendez_vous, comptes_rendus, concerner CASCADE; \ No newline at end of file +DROP TABLE IF EXISTS administrateurs, projets, utilisateurs, entrepreneurs, sections, rendez_vous, comptes_rendus, concerner CASCADE; +DROP TABLE IF EXISTS administrator, project, user_inpulse, entrepreneur, section_cell, appointment, make_appointment, report, annotation, concern CASCADE; \ No newline at end of file diff --git a/MyINPulse-back/src/main/resources/schema.sql b/MyINPulse-back/src/main/resources/schema.sql deleted file mode 100644 index b7b4f87..0000000 --- a/MyINPulse-back/src/main/resources/schema.sql +++ /dev/null @@ -1,134 +0,0 @@ -DROP TABLE IF EXISTS projets CASCADE; -DROP TABLE IF EXISTS user CASCADE; -DROP TABLE IF EXISTS entrepreneur CASCADE; -DROP TABLE IF EXISTS administrator CASCADE; -DROP TABLE IF EXISTS sectionCell CASCADE; -DROP TABLE IF EXISTS rendez_vous CASCADE; -DROP TABLE IF EXISTS comptes_rendus CASCADE; -DROP TABLE IF EXISTS concerner CASCADE; -DROP TABLE IF EXISTS formes CASCADE; - -CREATE TABLE projets -( - id_projet SERIAL NOT NULL, - nom_projet VARCHAR(255), - logo BYTEA, - date_creation DATE, - status_projet VARCHAR(255), - CONSTRAINT pk_projet PRIMARY KEY (id_projet) -); - -CREATE TABLE user -( -id_utilisateur SERIAL NOT NULL, -nom_utilisateur VARCHAR(255) , -prenom_utilisateur VARCHAR(255) , -mail_principal VARCHAR(255) , -mail_secondaire VARCHAR(255) , -numero_telephone VARCHAR(20) , -CONSTRAINT pk_utilisateur PRIMARY KEY (id_utilisateur) ); - -CREATE TABLE entrepreneur -( - id_entrepreneur SERIAL REFERENCES user (id_utilisateur), - ecole VARCHAR(255), - filiere VARCHAR(255), - status_snee BOOLEAN, - CONSTRAINT pk_entrepreneur PRIMARY KEY (id_entrepreneur) -); - -CREATE TABLE administrator -( - id_administrateur SERIAL REFERENCES user (id_utilisateur), - CONSTRAINT pk_administrateur PRIMARY KEY (id_administrateur) -); - -CREATE TABLE sectionCell -( - id_section SERIAL NOT NULL, - titre VARCHAR(255), - contenu_section TEXT, - date_modification TIMESTAMP, - CONSTRAINT pk_section PRIMARY KEY (id_section) -); - -CREATE TABLE rendez_vous -( - id_rdv SERIAL NOT NULL, - date_rdv DATE, - heure_rdv TIME, - duree_rdv TIME, - lieu_rdv VARCHAR(255), - sujet_rdv TEXT, - CONSTRAINT pk_rdv PRIMARY KEY (id_rdv) -); - -CREATE TABLE comptes_rendus -( - id_compte_rendu SERIAL NOT NULL, - contenu_compte_rendu TEXT, - CONSTRAINT pk_compte_rendu PRIMARY KEY (id_compte_rendu) -); - -CREATE TABLE concerner -( - id_section SERIAL REFERENCES sectionCell (id_section), - id_rdv SERIAL REFERENCES sectionCell (id_rdv), - CONSTRAINT pk_concerner PRIMARY KEY (id_section, id_rdv) -); - - -ALTER TABLE projets - ADD CONSTRAINT fk1_projet FOREIGN KEY (id_administrateur) - REFERENCES administrator (id_administrateur) - ON DELETE CASCADE; - -ALTER TABLE projets - ADD CONSTRAINT fk2_projet FOREIGN KEY (id_entrepreneur_participation) - REFERENCES entrepreneur (id_entrepreneur) - ON DELETE CASCADE; - -ALTER TABLE entrepreneur - ADD CONSTRAINT fk1_entrepreneur FOREIGN KEY (id_projet_propose) - REFERENCES projets (id_projet) - ON DELETE CASCADE; - -ALTER TABLE sectionCell - ADD CONSTRAINT fk1_section FOREIGN KEY (id_projet) - REFERENCES projets (id_projet) - ON DELETE CASCADE; - -ALTER TABLE sectionCell - ADD CONSTRAINT fk2_section FOREIGN KEY (id_administrateur) - REFERENCES administrator (id_administrateur) - ON DELETE CASCADE; - -ALTER TABLE rendez-vous - ADD CONSTRAINT fk1_rdv FOREIGN KEY (id_entrepreneur) - REFERENCES entrepreneur (id_entrepreneur) - ON -DELETE -CASCADE; - -ALTER TABLE rendez-vous - ADD CONSTRAINT fk2_rdv FOREIGN KEY (id_administrateur) - REFERENCES administrator (id_administrateur) - ON -DELETE -CASCADE; - -ALTER TABLE comptes-rendus - ADD CONSTRAINT fk1_compte_rendu FOREIGN KEY (id_rdv) - REFERENCES rendez_vous (id_rdv) - ON -DELETE -CASCADE; - - - - - - - - -