feat: switch to a service layer architecture
This commit is contained in:
@ -0,0 +1,43 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.persistence.PrimaryKeyJoinColumn;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "administrateurs")
|
||||
@PrimaryKeyJoinColumn(name = "id_administrateur", referencedColumnName = "id_utilisateur")
|
||||
public class Administrateurs extends Utilisateurs {
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_projet")
|
||||
private Projets projetsAdministrateurs;
|
||||
|
||||
@OneToMany(mappedBy = "administrateursSections", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private List<Sections> ListSections = new ArrayList<>();
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_rdv")
|
||||
private RendezVous rendezVousAdministrateurs;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class Appointment {
|
||||
int validated;
|
||||
int[] akserId;
|
||||
int[] destId;
|
||||
String date; // TODO: date type ?
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@Entity
|
||||
@Table(name = "comptes_rendus")
|
||||
public class ComptesRendus {
|
||||
|
||||
@Id
|
||||
@NotNull
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id_compte_rendu;
|
||||
|
||||
private String contenu_compte_rendu;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_rdv")
|
||||
private RendezVous rendezVousComptesRendus;
|
||||
|
||||
public ComptesRendus() {}
|
||||
|
||||
public ComptesRendus(Long id_compte_rendu, String contenu_compte_rendu) {
|
||||
this.id_compte_rendu = id_compte_rendu;
|
||||
this.contenu_compte_rendu = contenu_compte_rendu;
|
||||
}
|
||||
|
||||
public Long getId_compte_rendu() {
|
||||
return id_compte_rendu;
|
||||
}
|
||||
|
||||
public void setId_compte_rendu(Long id_compte_rendu) {
|
||||
this.id_compte_rendu = id_compte_rendu;
|
||||
}
|
||||
|
||||
public String getContenu_compte_rendu() {
|
||||
return contenu_compte_rendu;
|
||||
}
|
||||
|
||||
public void setContenu_compte_rendu(String contenu_compte_rendu) {
|
||||
this.contenu_compte_rendu = contenu_compte_rendu;
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "entrepreneurs")
|
||||
@PrimaryKeyJoinColumn(name = "id_entrepreneur", referencedColumnName = "id_utilisateur")
|
||||
public class Entrepreneurs extends Utilisateurs {
|
||||
|
||||
@Column(length = 255)
|
||||
private String ecole;
|
||||
|
||||
@Column(length = 255)
|
||||
private String filiere;
|
||||
|
||||
private boolean status_snee;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_projet_participation", referencedColumnName = "id_projet")
|
||||
private Projets projetsParticipation;
|
||||
|
||||
// @Column(insertable=false, updatable=false)
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_projet_propose", referencedColumnName = "id_projet")
|
||||
private Projets projetsPropose;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_rdv")
|
||||
private RendezVous rendezVousEntrepreneurs;
|
||||
|
||||
public Entrepreneurs() {}
|
||||
|
||||
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) {
|
||||
super(
|
||||
nom_utilisateur,
|
||||
id_utilisateur,
|
||||
prenom_utilisateur,
|
||||
mail_principal,
|
||||
mail_secondaire,
|
||||
numero_telephone);
|
||||
this.ecole = ecole;
|
||||
this.status_snee = status_snee;
|
||||
this.filiere = filiere;
|
||||
}
|
||||
|
||||
public String getEcole() {
|
||||
return ecole;
|
||||
}
|
||||
|
||||
public void setEcole(String ecole) {
|
||||
this.ecole = ecole;
|
||||
}
|
||||
|
||||
public String getFiliere() {
|
||||
return filiere;
|
||||
}
|
||||
|
||||
public void setFiliere(String filiere) {
|
||||
this.filiere = filiere;
|
||||
}
|
||||
|
||||
public boolean isStatus_snee() {
|
||||
return status_snee;
|
||||
}
|
||||
|
||||
public void setStatus_snee(boolean status_snee) {
|
||||
this.status_snee = status_snee;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
// TODO: is this redundant with the Section class from the database ?
|
||||
// TODO: In the one hand it represent the same data, and on the other it should be much lighter.
|
||||
// TODO: btw why does a LC section have an administrator ?
|
||||
|
||||
public class LCSection {}
|
@ -0,0 +1,7 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class Project {
|
||||
int projectId;
|
||||
String projectName;
|
||||
String projectDescription;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class ProjectDecision {
|
||||
int projectId;
|
||||
int adminId;
|
||||
int isAccepted;
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "projets")
|
||||
public class Projets {
|
||||
|
||||
@Id
|
||||
@NotNull
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id_projet;
|
||||
|
||||
@Column(length = 255)
|
||||
private String nom_projet;
|
||||
|
||||
private byte[] logo;
|
||||
|
||||
private LocalDate date_creation;
|
||||
|
||||
@Column(length = 255)
|
||||
private String status_projet;
|
||||
|
||||
@OneToMany(mappedBy = "projetsAdministrateurs", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private List<Administrateurs> listAdministrateurs = new ArrayList<>();
|
||||
|
||||
@OneToMany(mappedBy = "projetsParticipation", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private List<Entrepreneurs> ListEntrepreneursParticipation = new ArrayList<>();
|
||||
|
||||
@OneToOne(mappedBy = "projetsPropose", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private Entrepreneurs entrepreneursPropose;
|
||||
|
||||
@OneToMany(mappedBy = "projetsSections", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private List<Sections> ListSections = new ArrayList<>();
|
||||
|
||||
// Hibernate expects entities to have a no-arg constructor,
|
||||
// though it does not necessarily have to be public.
|
||||
|
||||
public Projets() {}
|
||||
|
||||
public Projets(
|
||||
Long id_projet,
|
||||
String nom_projet,
|
||||
byte[] logo,
|
||||
LocalDate date_creation,
|
||||
String status_projet) {
|
||||
this.id_projet = id_projet;
|
||||
this.nom_projet = nom_projet;
|
||||
this.logo = logo;
|
||||
this.date_creation = date_creation;
|
||||
this.status_projet = status_projet;
|
||||
}
|
||||
|
||||
public Long getId_projet() {
|
||||
return id_projet;
|
||||
}
|
||||
|
||||
public void setId_projet(Long id_projet) {
|
||||
this.id_projet = id_projet;
|
||||
}
|
||||
|
||||
public String getNom_projet() {
|
||||
return nom_projet;
|
||||
}
|
||||
|
||||
public void setNom_projet(String nom_projet) {
|
||||
this.nom_projet = nom_projet;
|
||||
}
|
||||
|
||||
public byte[] getLogo() {
|
||||
return logo;
|
||||
}
|
||||
|
||||
public void setLogo(byte[] logo) {
|
||||
this.logo = logo;
|
||||
}
|
||||
|
||||
public LocalDate getDate_creation() {
|
||||
return date_creation;
|
||||
}
|
||||
|
||||
public void setDate_creation(LocalDate date_creation) {
|
||||
this.date_creation = date_creation;
|
||||
}
|
||||
|
||||
public String getStatus_projet() {
|
||||
return status_projet;
|
||||
}
|
||||
|
||||
public void setStatus_projet(String status_projet) {
|
||||
this.status_projet = status_projet;
|
||||
}
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "rendez_vous")
|
||||
public class RendezVous {
|
||||
|
||||
@OneToMany(mappedBy = "rendezVousEntrepreneurs", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private final List<Entrepreneurs> ListEntrepreneurs = new ArrayList<>();
|
||||
|
||||
@OneToMany(mappedBy = "rendezVousAdministrateurs", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private final List<Administrateurs> ListAdministrateurs = new ArrayList<>();
|
||||
|
||||
@OneToMany(mappedBy = "rendezVousComptesRendus", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||
private final List<ComptesRendus> ListComptesRendus = new ArrayList<>();
|
||||
|
||||
@ManyToMany(
|
||||
fetch = FetchType.LAZY,
|
||||
cascade = {CascadeType.ALL})
|
||||
@JoinTable(
|
||||
name = "concerner",
|
||||
joinColumns = @JoinColumn(name = "id_rdv"),
|
||||
inverseJoinColumns = @JoinColumn(name = "id_section"))
|
||||
List<Sections> ListSections = new ArrayList<>();
|
||||
|
||||
@Id
|
||||
@NotNull
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id_rdv;
|
||||
|
||||
private LocalDate date_rdv;
|
||||
private LocalTime heure_rdv;
|
||||
private LocalTime duree_rdv;
|
||||
|
||||
@Column(length = 255)
|
||||
private String lieu_rdv;
|
||||
|
||||
private String sujet_rdv;
|
||||
|
||||
public RendezVous() {}
|
||||
|
||||
public RendezVous(
|
||||
Long id_rdv,
|
||||
LocalDate date_rdv,
|
||||
LocalTime heure_rdv,
|
||||
LocalTime duree_rdv,
|
||||
String lieu_rdv,
|
||||
String sujet_rdv) {
|
||||
this.id_rdv = id_rdv;
|
||||
this.date_rdv = date_rdv;
|
||||
this.heure_rdv = heure_rdv;
|
||||
this.duree_rdv = duree_rdv;
|
||||
this.lieu_rdv = lieu_rdv;
|
||||
this.sujet_rdv = sujet_rdv;
|
||||
}
|
||||
|
||||
public Long getId_rdv() {
|
||||
return id_rdv;
|
||||
}
|
||||
|
||||
public void setId_rdv(Long id_rdv) {
|
||||
this.id_rdv = id_rdv;
|
||||
}
|
||||
|
||||
public LocalDate getDate_rdv() {
|
||||
return date_rdv;
|
||||
}
|
||||
|
||||
public void setDate_rdv(LocalDate date_rdv) {
|
||||
this.date_rdv = date_rdv;
|
||||
}
|
||||
|
||||
public LocalTime getHeure_rdv() {
|
||||
return heure_rdv;
|
||||
}
|
||||
|
||||
public void setHeure_rdv(LocalTime heure_rdv) {
|
||||
this.heure_rdv = heure_rdv;
|
||||
}
|
||||
|
||||
public LocalTime getDuree_rdv() {
|
||||
return duree_rdv;
|
||||
}
|
||||
|
||||
public void setDuree_rdv(LocalTime duree_rdv) {
|
||||
this.duree_rdv = duree_rdv;
|
||||
}
|
||||
|
||||
public String getLieu_rdv() {
|
||||
return lieu_rdv;
|
||||
}
|
||||
|
||||
public void setLieu_rdv(String lieu_rdv) {
|
||||
this.lieu_rdv = lieu_rdv;
|
||||
}
|
||||
|
||||
public String getSujet_rdv() {
|
||||
return sujet_rdv;
|
||||
}
|
||||
|
||||
public void setSujet_rdv(String sujet_rdv) {
|
||||
this.sujet_rdv = sujet_rdv;
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class Report {
|
||||
int projectId;
|
||||
String reportContent;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class RoleRepresentation {
|
||||
public String id;
|
||||
public String name;
|
||||
public String description;
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "sections")
|
||||
public class Sections {
|
||||
|
||||
@Id
|
||||
@NotNull
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id_section;
|
||||
|
||||
@Column(length = 255)
|
||||
private String titre;
|
||||
|
||||
private String contenu_section;
|
||||
|
||||
private LocalDateTime date_modification;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_projet")
|
||||
private Projets projetsSections;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "id_admnistrateur")
|
||||
private Administrateurs administrateursSections;
|
||||
|
||||
@ManyToMany(mappedBy = "ListSections")
|
||||
private List<RendezVous> rendezVous = new ArrayList<>();
|
||||
|
||||
public Sections() {}
|
||||
|
||||
public Sections(
|
||||
Long id_section,
|
||||
String titre,
|
||||
String contenu_section,
|
||||
LocalDateTime date_modification) {
|
||||
this.id_section = id_section;
|
||||
this.titre = titre;
|
||||
this.contenu_section = contenu_section;
|
||||
this.date_modification = date_modification;
|
||||
}
|
||||
|
||||
public String getTitre() {
|
||||
return titre;
|
||||
}
|
||||
|
||||
public void setTitre(String titre) {
|
||||
this.titre = titre;
|
||||
}
|
||||
|
||||
public Long getId_section() {
|
||||
return id_section;
|
||||
}
|
||||
|
||||
public void setId_section(Long id_section) {
|
||||
this.id_section = id_section;
|
||||
}
|
||||
|
||||
public String getContenu_section() {
|
||||
return contenu_section;
|
||||
}
|
||||
|
||||
public void setContenu_section(String contenu_section) {
|
||||
this.contenu_section = contenu_section;
|
||||
}
|
||||
|
||||
public LocalDateTime getDate_modification() {
|
||||
return date_modification;
|
||||
}
|
||||
|
||||
public void setDate_modification(LocalDateTime date_modification) {
|
||||
this.date_modification = date_modification;
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
public class UserRepresentation {
|
||||
public String id;
|
||||
public String name;
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package enseirb.myinpulse.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@Entity
|
||||
@Table(name = "utilisateurs")
|
||||
@Inheritance(strategy = InheritanceType.JOINED)
|
||||
public class Utilisateurs {
|
||||
|
||||
@Id
|
||||
@NotNull
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id_utilisateur;
|
||||
|
||||
@Column(length = 255)
|
||||
private String nom_utilisateur;
|
||||
|
||||
@Column(length = 255)
|
||||
private String prenom_utilisateur;
|
||||
|
||||
@Column(length = 255)
|
||||
private String mail_principal;
|
||||
|
||||
@Column(length = 255)
|
||||
private String mail_secondaire;
|
||||
|
||||
@Column(length = 20)
|
||||
private String numero_telephone;
|
||||
|
||||
public Utilisateurs() {}
|
||||
|
||||
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.id_utilisateur = id_utilisateur;
|
||||
this.prenom_utilisateur = prenom_utilisateur;
|
||||
this.mail_principal = mail_principal;
|
||||
this.mail_secondaire = mail_secondaire;
|
||||
this.numero_telephone = numero_telephone;
|
||||
}
|
||||
|
||||
public Long getId_utilisateur() {
|
||||
return id_utilisateur;
|
||||
}
|
||||
|
||||
public void setId_utilisateur(Long id_utilisateur) {
|
||||
this.id_utilisateur = id_utilisateur;
|
||||
}
|
||||
|
||||
public String getNom_utilisateur() {
|
||||
return nom_utilisateur;
|
||||
}
|
||||
|
||||
public void setNom_utilisateur(String nom_utilisateur) {
|
||||
this.nom_utilisateur = nom_utilisateur;
|
||||
}
|
||||
|
||||
public String getPrenom_utilisateur() {
|
||||
return prenom_utilisateur;
|
||||
}
|
||||
|
||||
public void setPrenom_utilisateur(String prenom_utilisateur) {
|
||||
this.prenom_utilisateur = prenom_utilisateur;
|
||||
}
|
||||
|
||||
public String getMail_principal() {
|
||||
return mail_principal;
|
||||
}
|
||||
|
||||
public void setMail_principal(String mail_principal) {
|
||||
this.mail_principal = mail_principal;
|
||||
}
|
||||
|
||||
public String getMail_secondaire() {
|
||||
return mail_secondaire;
|
||||
}
|
||||
|
||||
public void setMail_secondaire(String mail_secondaire) {
|
||||
this.mail_secondaire = mail_secondaire;
|
||||
}
|
||||
|
||||
public String getNumero_telephone() {
|
||||
return numero_telephone;
|
||||
}
|
||||
|
||||
public void setNumero_telephone(String numero_telephone) {
|
||||
this.numero_telephone = numero_telephone;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user