backend-api #6

Merged
piair merged 107 commits from backend-api into main 2025-03-26 19:04:09 +01:00
24 changed files with 636 additions and 613 deletions
Showing only changes of commit 1e97177777 - Show all commits

View File

@ -1,19 +1,17 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.Administrateurs;
import enseirb.myinpulse.postgres_db.repository.AdministrateursRepository; import enseirb.myinpulse.postgres_db.repository.AdministrateursRepository;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.Administrateurs;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.util.Optional;
@RestController @RestController
public class AdministrateursController { public class AdministrateursController {
@Autowired @Autowired AdministrateursRepository administrateursRepository;
AdministrateursRepository administrateursRepository;
@GetMapping("/Administrateurs") @GetMapping("/Administrateurs")
@ResponseBody @ResponseBody
@ -22,8 +20,7 @@ public class AdministrateursController {
} }
@GetMapping("/Administrateurs/{id}") @GetMapping("/Administrateurs/{id}")
public Administrateurs getAdministrateursById(@PathVariable Long id) public Administrateurs getAdministrateursById(@PathVariable Long id) {
{
Optional<Administrateurs> administrateur = this.administrateursRepository.findById(id); Optional<Administrateurs> administrateur = this.administrateursRepository.findById(id);
if (administrateur.isEmpty()) { if (administrateur.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet administrateur n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet administrateur n'existe pas");
@ -35,5 +32,4 @@ public class AdministrateursController {
public Administrateurs addAdministrateurs(@RequestBody Administrateurs administrateurs) { public Administrateurs addAdministrateurs(@RequestBody Administrateurs administrateurs) {
return this.administrateursRepository.save(administrateurs); return this.administrateursRepository.save(administrateurs);
} }
} }

View File

@ -1,19 +1,17 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.ComptesRendus;
import enseirb.myinpulse.postgres_db.repository.ComptesRendusRepository; import enseirb.myinpulse.postgres_db.repository.ComptesRendusRepository;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.ComptesRendus;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.util.Optional;
@RestController @RestController
public class ComptesRendusController { public class ComptesRendusController {
@Autowired @Autowired ComptesRendusRepository comptesRendusRepository;
ComptesRendusRepository comptesRendusRepository;
@GetMapping("/ComptesRendus") @GetMapping("/ComptesRendus")
@ResponseBody @ResponseBody

View File

@ -1,21 +1,17 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.Entrepreneurs;
import enseirb.myinpulse.postgres_db.repository.EntrepreneursRepository; import enseirb.myinpulse.postgres_db.repository.EntrepreneursRepository;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.HttpStatusCode;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.Entrepreneurs;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.util.Optional;
@RestController @RestController
public class EntrepreneursController { public class EntrepreneursController {
@Autowired @Autowired EntrepreneursRepository entrepreneursRepository;
EntrepreneursRepository entrepreneursRepository;
@GetMapping("/Entrepreneurs") @GetMapping("/Entrepreneurs")
@ResponseBody @ResponseBody
@ -24,8 +20,7 @@ public class EntrepreneursController {
} }
@GetMapping("/Entrepreneurs/{id}") @GetMapping("/Entrepreneurs/{id}")
public Entrepreneurs getEntrepreneursById(@PathVariable Long id) public Entrepreneurs getEntrepreneursById(@PathVariable Long id) {
{
Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id); Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id);
if (entrepreneur.isEmpty()) { if (entrepreneur.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas");
@ -39,7 +34,8 @@ public class EntrepreneursController {
} }
@PostMapping("/Entrepreneurs/{id}") @PostMapping("/Entrepreneurs/{id}")
public Entrepreneurs updateEntrepreneurs(@PathVariable Long id, String ecole, String filiere, Boolean status_snee) { public Entrepreneurs updateEntrepreneurs(
@PathVariable Long id, String ecole, String filiere, Boolean status_snee) {
Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id); Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id);
if (entrepreneur.isEmpty()) { if (entrepreneur.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas");
@ -55,5 +51,4 @@ public class EntrepreneursController {
} }
return entrepreneur.get(); return entrepreneur.get();
} }
} }

View File

@ -1,20 +1,18 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.Projets;
import enseirb.myinpulse.postgres_db.repository.ProjetsRepository; import enseirb.myinpulse.postgres_db.repository.ProjetsRepository;
import java.time.LocalDate;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.Projets;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.time.LocalDate;
import java.util.Optional;
@RestController @RestController
public class ProjetsController { public class ProjetsController {
@Autowired @Autowired ProjetsRepository projetsRepository;
ProjetsRepository projetsRepository;
@GetMapping("/Projets") @GetMapping("/Projets")
@ResponseBody @ResponseBody
@ -23,8 +21,7 @@ public class ProjetsController {
} }
@GetMapping("/Projets/{id}") @GetMapping("/Projets/{id}")
public Projets getProjetsById(@PathVariable Long id) public Projets getProjetsById(@PathVariable Long id) {
{
Optional<Projets> projet = this.projetsRepository.findById(id); Optional<Projets> projet = this.projetsRepository.findById(id);
if (projet.isEmpty()) { if (projet.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas");
@ -38,7 +35,12 @@ public class ProjetsController {
} }
@PostMapping("/Projets/{id}") @PostMapping("/Projets/{id}")
public Projets updateProjets(@PathVariable Long id, String nom_projet, Byte[] logo, LocalDate date_creation, String status_projet) { public Projets updateProjets(
@PathVariable Long id,
String nom_projet,
byte[] logo,
LocalDate date_creation,
String status_projet) {
Optional<Projets> projet = this.projetsRepository.findById(id); Optional<Projets> projet = this.projetsRepository.findById(id);
if (projet.isEmpty()) { if (projet.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas");
@ -57,5 +59,4 @@ public class ProjetsController {
} }
return projet.get(); return projet.get();
} }
} }

View File

@ -1,21 +1,19 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.repository.RendezVousRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.RendezVous; import enseirb.myinpulse.postgres_db.model.RendezVous;
import org.springframework.web.server.ResponseStatusException; import enseirb.myinpulse.postgres_db.repository.RendezVousRepository;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Optional; import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.server.ResponseStatusException;
@RestController @RestController
public class RendezVousController { public class RendezVousController {
@Autowired @Autowired RendezVousRepository rendezVousRepository;
RendezVousRepository rendezVousRepository;
@GetMapping("/RendezVous") @GetMapping("/RendezVous")
@ResponseBody @ResponseBody
@ -24,8 +22,7 @@ public class RendezVousController {
} }
@GetMapping("/RendezVous/{id}") @GetMapping("/RendezVous/{id}")
public RendezVous getRendezVousById(@PathVariable Long id) public RendezVous getRendezVousById(@PathVariable Long id) {
{
Optional<RendezVous> rendezVous = this.rendezVousRepository.findById(id); Optional<RendezVous> rendezVous = this.rendezVousRepository.findById(id);
if (rendezVous.isEmpty()) { if (rendezVous.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas");
@ -39,7 +36,13 @@ public class RendezVousController {
} }
@PostMapping("/RendezVous/{id}") @PostMapping("/RendezVous/{id}")
public RendezVous updateRendezVous(@PathVariable Long id, LocalDate date_rdv, LocalDateTime heure_rdv, LocalDateTime duree_rdv, String lieu_rdv, String sujet_rdv) { public RendezVous updateRendezVous(
@PathVariable Long id,
LocalDate date_rdv,
LocalDateTime heure_rdv,
LocalDateTime duree_rdv,
String lieu_rdv,
String sujet_rdv) {
Optional<RendezVous> rendezVous = this.rendezVousRepository.findById(id); Optional<RendezVous> rendezVous = this.rendezVousRepository.findById(id);
if (rendezVous.isEmpty()) { if (rendezVous.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas");

View File

@ -1,20 +1,18 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.Sections;
import enseirb.myinpulse.postgres_db.repository.SectionsRepository; import enseirb.myinpulse.postgres_db.repository.SectionsRepository;
import java.time.LocalDateTime;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.Sections;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.time.LocalDateTime;
import java.util.Optional;
@RestController @RestController
public class SectionsController { public class SectionsController {
@Autowired @Autowired SectionsRepository sectionsRepository;
SectionsRepository sectionsRepository;
@GetMapping("/Sections") @GetMapping("/Sections")
@ResponseBody @ResponseBody
@ -23,8 +21,7 @@ public class SectionsController {
} }
@GetMapping("/Sections/{id}") @GetMapping("/Sections/{id}")
public Sections getSectionsById(@PathVariable Long id) public Sections getSectionsById(@PathVariable Long id) {
{
Optional<Sections> section = this.sectionsRepository.findById(id); Optional<Sections> section = this.sectionsRepository.findById(id);
if (section.isEmpty()) { if (section.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas");
@ -38,7 +35,11 @@ public class SectionsController {
} }
@PostMapping("/Sections/{id}") @PostMapping("/Sections/{id}")
public Sections updateSections(@PathVariable Long id, String titre, String contenu_section, LocalDateTime date_modification) { public Sections updateSections(
@PathVariable Long id,
String titre,
String contenu_section,
LocalDateTime date_modification) {
Optional<Sections> section = this.sectionsRepository.findById(id); Optional<Sections> section = this.sectionsRepository.findById(id);
if (section.isEmpty()) { if (section.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas");
@ -54,5 +55,4 @@ public class SectionsController {
} }
return section.get(); return section.get();
} }
} }

View File

@ -1,19 +1,17 @@
package enseirb.myinpulse.postgres_db.controller; package enseirb.myinpulse.postgres_db.controller;
import enseirb.myinpulse.postgres_db.model.Utilisateurs;
import enseirb.myinpulse.postgres_db.repository.UtilisateursRepository; import enseirb.myinpulse.postgres_db.repository.UtilisateursRepository;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import enseirb.myinpulse.postgres_db.model.Utilisateurs;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.util.Optional;
@RestController @RestController
public class UtilisateursController { public class UtilisateursController {
@Autowired @Autowired UtilisateursRepository utilisateursRepository;
UtilisateursRepository utilisateursRepository;
@GetMapping("/Utilisateurs") @GetMapping("/Utilisateurs")
@ResponseBody @ResponseBody
@ -36,11 +34,18 @@ public class UtilisateursController {
} }
@PostMapping("/Utilisateurs/{id}") @PostMapping("/Utilisateurs/{id}")
public Utilisateurs updateUtilisateurs(@PathVariable Long id, String nom_utilisateur, String prenom_utilisateur, String mail_principal, String mail_secondaire, String numero_telephone) { public Utilisateurs updateUtilisateurs(
@PathVariable Long id,
String nom_utilisateur,
String prenom_utilisateur,
String mail_principal,
String mail_secondaire,
String numero_telephone) {
Optional<Utilisateurs> utilisateur = utilisateursRepository.findById(id); Optional<Utilisateurs> utilisateur = utilisateursRepository.findById(id);
if (utilisateur.isEmpty()) { if (utilisateur.isEmpty()) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet utilisateur n'existe pas"); throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet utilisateur n'existe pas");
}if (nom_utilisateur != null) { }
if (nom_utilisateur != null) {
utilisateur.get().setNom_utilisateur(nom_utilisateur); utilisateur.get().setNom_utilisateur(nom_utilisateur);
} }
if (prenom_utilisateur != null) { if (prenom_utilisateur != null) {
@ -57,5 +62,4 @@ public class UtilisateursController {
} }
return utilisateur.get(); return utilisateur.get();
} }
} }

View File

@ -3,32 +3,40 @@ package enseirb.myinpulse.postgres_db.model;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.persistence.PrimaryKeyJoinColumn; import jakarta.persistence.PrimaryKeyJoinColumn;
import jakarta.persistence.Table; import jakarta.persistence.Table;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Entity @Entity
@Table(name = "administrateurs") @Table(name = "administrateurs")
@PrimaryKeyJoinColumn(name = "id_administrateur") @PrimaryKeyJoinColumn(name = "id_administrateur")
public class Administrateurs extends Utilisateurs { public class Administrateurs extends Utilisateurs {
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Projets.id_projets") @JoinColumn(name = "id_projet")
private Projets projets; private Projets projetsAdministrateurs;
@OneToMany(mappedBy = "administrateurs", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "administrateursSections", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Sections> ListSections = new ArrayList<>(); private List<Sections> ListSections = new ArrayList<>();
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RendezVous.id_rdv") @JoinColumn(name = "id_rdv")
private RendezVous rendezVous; private RendezVous rendezVousAdministrateurs;
public Administrateurs() { public Administrateurs() {}
public Administrateurs(
String nom_utilisateur,
Long id_utilisateur,
String prenom_utilisateur,
String mail_principal,
String mail_secondaire,
String numero_telephone) {
super(
nom_utilisateur,
id_utilisateur,
prenom_utilisateur,
mail_principal,
mail_secondaire,
numero_telephone);
} }
public Administrateurs(String nom_utilisateur, Long id_utilisateur, String prenom_utilisateur, String mail_principal, String mail_secondaire, String numero_telephone) {
super(nom_utilisateur, id_utilisateur, prenom_utilisateur, mail_principal, mail_secondaire, numero_telephone);
}
} }

View File

@ -1,7 +1,7 @@
package enseirb.myinpulse.postgres_db.model; package enseirb.myinpulse.postgres_db.model;
import jakarta.persistence.Entity;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.persistence.Entity;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.Table; import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -18,12 +18,10 @@ public class ComptesRendus {
private String contenu_compte_rendu; private String contenu_compte_rendu;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RendezVous.id_rdv") @JoinColumn(name = "id_rdv")
private RendezVous rendezVous; private RendezVous rendezVousComptesRendus;
public ComptesRendus() {}
public ComptesRendus() {
}
public ComptesRendus(Long id_compte_rendu, String contenu_compte_rendu) { public ComptesRendus(Long id_compte_rendu, String contenu_compte_rendu) {
this.id_compte_rendu = id_compte_rendu; this.id_compte_rendu = id_compte_rendu;

View File

@ -1,7 +1,7 @@
package enseirb.myinpulse.postgres_db.model; package enseirb.myinpulse.postgres_db.model;
import jakarta.persistence.Entity;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.persistence.Entity;
import jakarta.persistence.Table; import jakarta.persistence.Table;
@Entity @Entity
@ -9,32 +9,46 @@ import jakarta.persistence.Table;
@PrimaryKeyJoinColumn(name = "id_entrepreneur") @PrimaryKeyJoinColumn(name = "id_entrepreneur")
public class Entrepreneurs extends Utilisateurs { public class Entrepreneurs extends Utilisateurs {
@Column(length=255) @Column(length = 255)
private String ecole; private String ecole;
@Column(length=255) @Column(length = 255)
private String filiere; private String filiere;
private boolean status_snee; private boolean status_snee;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Projets.id_projets") @JoinColumn(name = "id_projet_participation", referencedColumnName = "id_projet")
private Projets projets_participation; private Projets projetsParticipation;
// @Column(insertable=false, updatable=false)
@OneToOne(fetch = FetchType.LAZY) @OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Projets.id_projets") @JoinColumn(name = "id_projet_propose", referencedColumnName = "id_projet")
private Projets projets_propose; private Projets projetsPropose;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RendezVous.id_rdv") @JoinColumn(name = "id_rdv")
private RendezVous rendezVous; private RendezVous rendezVousEntrepreneurs;
public Entrepreneurs() {}
public Entrepreneurs() { public Entrepreneurs(
} String nom_utilisateur,
Long id_utilisateur,
public Entrepreneurs(String nom_utilisateur, Long id_utilisateur, String prenom_utilisateur, String mail_principal, String mail_secondaire, String numero_telephone, String ecole, boolean status_snee, String filiere) { String prenom_utilisateur,
super(nom_utilisateur, id_utilisateur, prenom_utilisateur, mail_principal, mail_secondaire, numero_telephone); String mail_principal,
String mail_secondaire,
String numero_telephone,
String ecole,
boolean status_snee,
String filiere) {
super(
nom_utilisateur,
id_utilisateur,
prenom_utilisateur,
mail_principal,
mail_secondaire,
numero_telephone);
this.ecole = ecole; this.ecole = ecole;
this.status_snee = status_snee; this.status_snee = status_snee;
this.filiere = filiere; this.filiere = filiere;

View File

@ -2,7 +2,6 @@ package enseirb.myinpulse.postgres_db.model;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -16,35 +15,39 @@ public class Projets {
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id_projet; private Long id_projet;
@Column(length=255) @Column(length = 255)
private String nom_projet; private String nom_projet;
private Byte[] logo; private byte[] logo;
private LocalDate date_creation; private LocalDate date_creation;
@Column(length=255) @Column(length = 255)
private String status_projet; private String status_projet;
@OneToMany(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "projetsAdministrateurs", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Administrateurs> listAdministrateurs = new ArrayList<>(); private List<Administrateurs> listAdministrateurs = new ArrayList<>();
@OneToMany(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "projetsParticipation", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Entrepreneurs> ListEntrepreneursParticipation = new ArrayList<>(); private List<Entrepreneurs> ListEntrepreneursParticipation = new ArrayList<>();
@OneToOne(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true) @OneToOne(mappedBy = "projetsPropose", fetch = FetchType.LAZY, orphanRemoval = true)
private Entrepreneurs entrepreneurs_propose; private Entrepreneurs entrepreneursPropose;
@OneToMany(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "projetsSections", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Sections> ListSections = new ArrayList<>(); private List<Sections> ListSections = new ArrayList<>();
// Hibernate expects entities to have a no-arg constructor, // Hibernate expects entities to have a no-arg constructor,
// though it does not necessarily have to be public. // though it does not necessarily have to be public.
public Projets() { public Projets() {}
}
public Projets(Long id_projet, String nom_projet, Byte[] logo, LocalDate date_creation, String status_projet) { public Projets(
Long id_projet,
String nom_projet,
byte[] logo,
LocalDate date_creation,
String status_projet) {
this.id_projet = id_projet; this.id_projet = id_projet;
this.nom_projet = nom_projet; this.nom_projet = nom_projet;
this.logo = logo; this.logo = logo;
@ -68,11 +71,11 @@ public class Projets {
this.nom_projet = nom_projet; this.nom_projet = nom_projet;
} }
public Byte[] getLogo() { public byte[] getLogo() {
return logo; return logo;
} }
public void setLogo(Byte[] logo) { public void setLogo(byte[] logo) {
this.logo = logo; this.logo = logo;
} }
@ -91,5 +94,4 @@ public class Projets {
public void setStatus_projet(String status_projet) { public void setStatus_projet(String status_projet) {
this.status_projet = status_projet; this.status_projet = status_projet;
} }
} }

View File

@ -23,31 +23,38 @@ public class RendezVous {
private LocalDateTime duree_rdv; private LocalDateTime duree_rdv;
@Column(length=255) @Column(length = 255)
private String lieu_rdv; private String lieu_rdv;
private String sujet_rdv; private String sujet_rdv;
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "rendezVousEntrepreneurs", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Entrepreneurs> ListEntrepreneurs = new ArrayList<>(); private List<Entrepreneurs> ListEntrepreneurs = new ArrayList<>();
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "rendezVousAdministrateurs", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Administrateurs> ListAdministrateurs = new ArrayList<>(); private List<Administrateurs> ListAdministrateurs = new ArrayList<>();
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true) @OneToMany(mappedBy = "rendezVousComptesRendus", fetch = FetchType.LAZY, orphanRemoval = true)
private List<ComptesRendus> ListComptesRendus = new ArrayList<>(); private List<ComptesRendus> ListComptesRendus = new ArrayList<>();
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL }) @ManyToMany(
fetch = FetchType.LAZY,
cascade = {CascadeType.ALL})
@JoinTable( @JoinTable(
name = "concerner", name = "concerner",
joinColumns = @JoinColumn(name = "id_rdv"), joinColumns = @JoinColumn(name = "id_rdv"),
inverseJoinColumns = @JoinColumn(name = "id_sections")) inverseJoinColumns = @JoinColumn(name = "id_section"))
List<Sections> ListSections = new ArrayList<>(); List<Sections> ListSections = new ArrayList<>();
public RendezVous() { public RendezVous() {}
}
public RendezVous(Long id_rdv, LocalDate date_rdv, LocalDateTime heure_rdv, LocalDateTime duree_rdv, String lieu_rdv, String sujet_rdv) { public RendezVous(
Long id_rdv,
LocalDate date_rdv,
LocalDateTime heure_rdv,
LocalDateTime duree_rdv,
String lieu_rdv,
String sujet_rdv) {
this.id_rdv = id_rdv; this.id_rdv = id_rdv;
this.date_rdv = date_rdv; this.date_rdv = date_rdv;
this.heure_rdv = heure_rdv; this.heure_rdv = heure_rdv;
@ -103,5 +110,4 @@ public class RendezVous {
public void setSujet_rdv(String sujet_rdv) { public void setSujet_rdv(String sujet_rdv) {
this.sujet_rdv = sujet_rdv; this.sujet_rdv = sujet_rdv;
} }
} }

View File

@ -16,7 +16,7 @@ public class Sections {
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id_section; private Long id_section;
@Column(length=255) @Column(length = 255)
private String titre; private String titre;
private String contenu_section; private String contenu_section;
@ -24,20 +24,20 @@ public class Sections {
private LocalDateTime date_modification; private LocalDateTime date_modification;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Projets.id_projets") @JoinColumn(name = "id_projet")
private Projets projets; private Projets projetsSections;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Administrateurs.id_admnistrateur") @JoinColumn(name = "id_admnistrateur")
private Administrateurs administrateurs; private Administrateurs administrateursSections;
@ManyToMany(mappedBy = "sections") @ManyToMany(mappedBy = "ListSections")
private List<RendezVous> rendezVous = new ArrayList<>(); private List<RendezVous> rendezVous = new ArrayList<>();
public Sections() { public Sections() {}
}
public Sections(Long id_section, String titre, String contenu_section, LocalDateTime date_modification) { public Sections(
Long id_section, String titre, String contenu_section, LocalDateTime date_modification) {
this.id_section = id_section; this.id_section = id_section;
this.titre = titre; this.titre = titre;
this.contenu_section = contenu_section; this.contenu_section = contenu_section;

View File

@ -13,25 +13,30 @@ public class Utilisateurs {
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id_utilisateur; private Long id_utilisateur;
@Column(length=255) @Column(length = 255)
private String nom_utilisateur; private String nom_utilisateur;
@Column(length=255) @Column(length = 255)
private String prenom_utilisateur; private String prenom_utilisateur;
@Column(length=255) @Column(length = 255)
private String mail_principal; private String mail_principal;
@Column(length=255) @Column(length = 255)
private String mail_secondaire; private String mail_secondaire;
@Column(length=15) @Column(length = 15)
private String numero_telephone; private String numero_telephone;
public Utilisateurs() { public Utilisateurs() {}
}
public Utilisateurs(String nom_utilisateur, Long id_utilisateur, String prenom_utilisateur, String mail_principal, String mail_secondaire, String numero_telephone) { public Utilisateurs(
String nom_utilisateur,
Long id_utilisateur,
String prenom_utilisateur,
String mail_principal,
String mail_secondaire,
String numero_telephone) {
this.nom_utilisateur = nom_utilisateur; this.nom_utilisateur = nom_utilisateur;
this.id_utilisateur = id_utilisateur; this.id_utilisateur = id_utilisateur;
this.prenom_utilisateur = prenom_utilisateur; this.prenom_utilisateur = prenom_utilisateur;

View File

@ -5,5 +5,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource @RepositoryRestResource
public interface ComptesRendusRepository extends JpaRepository<ComptesRendus, Long> { public interface ComptesRendusRepository extends JpaRepository<ComptesRendus, Long> {}
}

View File

@ -5,5 +5,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource @RepositoryRestResource
public interface ProjetsRepository extends JpaRepository<Projets, Long> { public interface ProjetsRepository extends JpaRepository<Projets, Long> {}
}

View File

@ -5,5 +5,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource @RepositoryRestResource
public interface RendezVousRepository extends JpaRepository<RendezVous, Long> { public interface RendezVousRepository extends JpaRepository<RendezVous, Long> {}
}

View File

@ -5,5 +5,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource @RepositoryRestResource
public interface SectionsRepository extends JpaRepository<Sections, Long> { public interface SectionsRepository extends JpaRepository<Sections, Long> {}
}

View File

@ -2,7 +2,7 @@ spring.application.name=myinpulse
spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://localhost:7080/realms/test/protocol/openid-connect/certs spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://localhost:7080/realms/test/protocol/openid-connect/certs
spring.security.oauth2.resourceserver.jwt.issuer-uri=http://localhost:7080/realms/test spring.security.oauth2.resourceserver.jwt.issuer-uri=http://localhost:7080/realms/test
logging.level.org.springframework.security=DEBUG logging.level.org.springframework.security=DEBUG
spring.datasource.url=jdbc:postgresql://localhost:5432/${MyINPulse_DB} spring.datasource.url=jdbc:postgresql://postgres/${POSTGRES_DB}
spring.datasource.username=${POSTGRES_USER} spring.datasource.username=${POSTGRES_USER}
spring.datasource.password=${POSTGRES_PASSWORD} spring.datasource.password=${POSTGRES_PASSWORD}
spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.ddl-auto=update

View File

@ -4,7 +4,6 @@ INSERT INTO projets (nom_projet, logo, date_creation, status_projet) VALUES
('Débat concours', decode('022024abd5486e245c145dda65116f', 'hex'), TO_DATE('22-NOV-2023', 'DD-MON-YYYY'), 'Suspendu'), ('Débat concours', decode('022024abd5486e245c145dda65116f', 'hex'), TO_DATE('22-NOV-2023', 'DD-MON-YYYY'), 'Suspendu'),
('HDeirbMI', decode('ab548d6c1d595a2975e6476f544d14c55a', 'hex'), TO_DATE('07-DEC-2024', 'DD-MON-YYYY'), 'Lancement'); ('HDeirbMI', decode('ab548d6c1d595a2975e6476f544d14c55a', 'hex'), TO_DATE('07-DEC-2024', 'DD-MON-YYYY'), 'Lancement');
INSERT INTO utilisateurs (nom, prenom, mail_principal, mail_secondaire, numero_telephone) VALUES INSERT INTO utilisateurs (nom, prenom, mail_principal, mail_secondaire, numero_telephone) VALUES
('Dupont', 'Dupond', 'super@mail.fr', 'super2@mail.fr', '06 45 72 45 98'), ('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'), ('Martin', 'Matin', 'genial@mail.fr', 'genial2@mail.fr', '06 52 14 58 73'),
@ -39,7 +38,6 @@ INSERT INTO rendez_vous (date_rdv, heure_rdv, duree_rdv, lieu_rdv, sujet_rdv) VA
(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('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)"); (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 comptes_rendus (contenu_compte_rendu) VALUES INSERT INTO comptes_rendus (contenu_compte_rendu) VALUES
("Ah oui ça c'est super, ah ouais j'aime bien, bien vu de penser à ça"), ("Ah oui ça c'est super, ah ouais j'aime bien, bien vu de penser à ça"),
("Bonne réunion"), ("Bonne réunion"),

View File

@ -17,7 +17,6 @@ date_creation DATE ,
status_projet VARCHAR(255) , status_projet VARCHAR(255) ,
CONSTRAINT pk_projet PRIMARY KEY (id_projet) ); CONSTRAINT pk_projet PRIMARY KEY (id_projet) );
CREATE TABLE utilisateurs CREATE TABLE utilisateurs
( (
id_utilisateur SERIAL NOT NULL, id_utilisateur SERIAL NOT NULL,