Feat: first implementation of postgres db for backend
All checks were successful
CI / build (push) Successful in 13s
All checks were successful
CI / build (push) Successful in 13s
This commit is contained in:
parent
c32eea8a40
commit
36e4967394
@ -20,6 +20,10 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
|
implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||||
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
||||||
|
implementation('org.springframework.boot:spring-boot-starter-validation')
|
||||||
|
implementation('org.springframework.boot:spring-boot-starter-data-rest')
|
||||||
|
implementation 'org.postgresql:postgresql'
|
||||||
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
||||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.AdministrateursRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Administrateurs;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class AdministrateursController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
AdministrateursRepository administrateursRepository;
|
||||||
|
|
||||||
|
@GetMapping("/Administrateurs")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<Administrateurs> allAdministrateurs() {
|
||||||
|
return this.administrateursRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/Administrateurs/{id}")
|
||||||
|
public Administrateurs getAdministrateursById(@PathVariable Long id)
|
||||||
|
{
|
||||||
|
Optional<Administrateurs> administrateur = this.administrateursRepository.findById(id);
|
||||||
|
if (administrateur.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet administrateur n'existe pas");
|
||||||
|
}
|
||||||
|
return administrateur.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Administrateurs")
|
||||||
|
public Administrateurs addAdministrateurs(@RequestBody Administrateurs administrateurs) {
|
||||||
|
return this.administrateursRepository.save(administrateurs);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.ComptesRendusRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.ComptesRendus;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class ComptesRendusController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ComptesRendusRepository comptesRendusRepository;
|
||||||
|
|
||||||
|
@GetMapping("/ComptesRendus")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<ComptesRendus> allComptesRendus() {
|
||||||
|
return this.comptesRendusRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/ComptesRendus/{id}")
|
||||||
|
public ComptesRendus getComptesRendusById(@PathVariable Long id) {
|
||||||
|
Optional<ComptesRendus> compteRendu = this.comptesRendusRepository.findById(id);
|
||||||
|
if (compteRendu.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce compte rendu n'existe pas");
|
||||||
|
}
|
||||||
|
return compteRendu.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/ComptesRendus")
|
||||||
|
public ComptesRendus addComptesRendus(@RequestBody ComptesRendus comptesRendus) {
|
||||||
|
return this.comptesRendusRepository.save(comptesRendus);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/ComptesRendus/{id}")
|
||||||
|
public ComptesRendus updateProjets(@PathVariable Long id, String contenu_compte_rendu) {
|
||||||
|
Optional<ComptesRendus> compteRendu = this.comptesRendusRepository.findById(id);
|
||||||
|
if (compteRendu.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce compte rendu n'existe pas");
|
||||||
|
}
|
||||||
|
if (contenu_compte_rendu != null) {
|
||||||
|
compteRendu.get().setContenu_compte_rendu(contenu_compte_rendu);
|
||||||
|
}
|
||||||
|
return compteRendu.get();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.EntrepreneursRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.HttpStatusCode;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Entrepreneurs;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class EntrepreneursController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EntrepreneursRepository entrepreneursRepository;
|
||||||
|
|
||||||
|
@GetMapping("/Entrepreneurs")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<Entrepreneurs> allEntrepreneurs() {
|
||||||
|
return this.entrepreneursRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/Entrepreneurs/{id}")
|
||||||
|
public Entrepreneurs getEntrepreneursById(@PathVariable Long id)
|
||||||
|
{
|
||||||
|
Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id);
|
||||||
|
if (entrepreneur.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas");
|
||||||
|
}
|
||||||
|
return entrepreneur.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Entrepreneurs")
|
||||||
|
public Entrepreneurs addEntrepreneurs(@RequestBody Entrepreneurs entrepreneurs) {
|
||||||
|
return this.entrepreneursRepository.save(entrepreneurs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Entrepreneurs/{id}")
|
||||||
|
public Entrepreneurs updateEntrepreneurs(@PathVariable Long id, String ecole, String filiere, Boolean status_snee) {
|
||||||
|
Optional<Entrepreneurs> entrepreneur = entrepreneursRepository.findById(id);
|
||||||
|
if (entrepreneur.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet entrepreneur n'existe pas");
|
||||||
|
}
|
||||||
|
if (ecole != null) {
|
||||||
|
entrepreneur.get().setEcole(ecole);
|
||||||
|
}
|
||||||
|
if (filiere != null) {
|
||||||
|
entrepreneur.get().setFiliere(filiere);
|
||||||
|
}
|
||||||
|
if (status_snee != null) {
|
||||||
|
entrepreneur.get().setStatus_snee(status_snee);
|
||||||
|
}
|
||||||
|
return entrepreneur.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.ProjetsRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Projets;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class ProjetsController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ProjetsRepository projetsRepository;
|
||||||
|
|
||||||
|
@GetMapping("/Projets")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<Projets> allProjets() {
|
||||||
|
return this.projetsRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/Projets/{id}")
|
||||||
|
public Projets getProjetsById(@PathVariable Long id)
|
||||||
|
{
|
||||||
|
Optional<Projets> projet = this.projetsRepository.findById(id);
|
||||||
|
if (projet.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas");
|
||||||
|
}
|
||||||
|
return projet.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Projets")
|
||||||
|
public Projets addProjets(@RequestBody Projets projet) {
|
||||||
|
return this.projetsRepository.save(projet);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Projets/{id}")
|
||||||
|
public Projets updateProjets(@PathVariable Long id, String nom_projet, Byte[] logo, LocalDate date_creation, String status_projet) {
|
||||||
|
Optional<Projets> projet = this.projetsRepository.findById(id);
|
||||||
|
if (projet.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas");
|
||||||
|
}
|
||||||
|
if (nom_projet != null) {
|
||||||
|
projet.get().setNom_projet(nom_projet);
|
||||||
|
}
|
||||||
|
if (logo != null) {
|
||||||
|
projet.get().setLogo(logo);
|
||||||
|
}
|
||||||
|
if (date_creation != null) {
|
||||||
|
projet.get().setDate_creation(date_creation);
|
||||||
|
}
|
||||||
|
if (status_projet != null) {
|
||||||
|
projet.get().setStatus_projet(status_projet);
|
||||||
|
}
|
||||||
|
return projet.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
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 org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class RendezVousController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
RendezVousRepository rendezVousRepository;
|
||||||
|
|
||||||
|
@GetMapping("/RendezVous")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<RendezVous> allRendezVous() {
|
||||||
|
return this.rendezVousRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/RendezVous/{id}")
|
||||||
|
public RendezVous getRendezVousById(@PathVariable Long id)
|
||||||
|
{
|
||||||
|
Optional<RendezVous> rendezVous = this.rendezVousRepository.findById(id);
|
||||||
|
if (rendezVous.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas");
|
||||||
|
}
|
||||||
|
return rendezVous.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/RendezVous")
|
||||||
|
public RendezVous addRendezVous(@RequestBody RendezVous rendezVous) {
|
||||||
|
return this.rendezVousRepository.save(rendezVous);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/RendezVous/{id}")
|
||||||
|
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);
|
||||||
|
if (rendezVous.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce rendez vous n'existe pas");
|
||||||
|
}
|
||||||
|
if (date_rdv != null) {
|
||||||
|
rendezVous.get().setDate_rdv(date_rdv);
|
||||||
|
}
|
||||||
|
if (heure_rdv != null) {
|
||||||
|
rendezVous.get().setHeure_rdv(heure_rdv);
|
||||||
|
}
|
||||||
|
if (duree_rdv != null) {
|
||||||
|
rendezVous.get().setDuree_rdv(duree_rdv);
|
||||||
|
}
|
||||||
|
if (lieu_rdv != null) {
|
||||||
|
rendezVous.get().setLieu_rdv(lieu_rdv);
|
||||||
|
}
|
||||||
|
if (sujet_rdv != null) {
|
||||||
|
rendezVous.get().setSujet_rdv(sujet_rdv);
|
||||||
|
}
|
||||||
|
return rendezVous.get();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,58 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.SectionsRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Sections;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class SectionsController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
SectionsRepository sectionsRepository;
|
||||||
|
|
||||||
|
@GetMapping("/Sections")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<Sections> allSections() {
|
||||||
|
return this.sectionsRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/Sections/{id}")
|
||||||
|
public Sections getSectionsById(@PathVariable Long id)
|
||||||
|
{
|
||||||
|
Optional<Sections> section = this.sectionsRepository.findById(id);
|
||||||
|
if (section.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas");
|
||||||
|
}
|
||||||
|
return section.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Sections")
|
||||||
|
public Sections addSections(@RequestBody Sections sections) {
|
||||||
|
return this.sectionsRepository.save(sections);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Sections/{id}")
|
||||||
|
public Sections updateSections(@PathVariable Long id, String titre, String contenu_section, LocalDateTime date_modification) {
|
||||||
|
Optional<Sections> section = this.sectionsRepository.findById(id);
|
||||||
|
if (section.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cette section n'extise pas");
|
||||||
|
}
|
||||||
|
if (titre != null) {
|
||||||
|
section.get().setTitre(titre);
|
||||||
|
}
|
||||||
|
if (contenu_section != null) {
|
||||||
|
section.get().setContenu_section(contenu_section);
|
||||||
|
}
|
||||||
|
if (date_modification != null) {
|
||||||
|
section.get().setDate_modification(date_modification);
|
||||||
|
}
|
||||||
|
return section.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.controller;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.repository.UtilisateursRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Utilisateurs;
|
||||||
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class UtilisateursController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
UtilisateursRepository utilisateursRepository;
|
||||||
|
|
||||||
|
@GetMapping("/Utilisateurs")
|
||||||
|
@ResponseBody
|
||||||
|
public Iterable<Utilisateurs> allUtilisateurs() {
|
||||||
|
return this.utilisateursRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/Utilisateurs/{id}")
|
||||||
|
public Utilisateurs getUtilisateursById(@PathVariable Long id) {
|
||||||
|
Optional<Utilisateurs> utilisateur = utilisateursRepository.findById(id);
|
||||||
|
if (utilisateur.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet utilisateur n'existe pas");
|
||||||
|
}
|
||||||
|
return utilisateur.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Utilisateurs")
|
||||||
|
public Utilisateurs addUtilisateurs(@RequestBody Utilisateurs utilisateurs) {
|
||||||
|
return this.utilisateursRepository.save(utilisateurs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/Utilisateurs/{id}")
|
||||||
|
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);
|
||||||
|
if (utilisateur.isEmpty()) {
|
||||||
|
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Cet utilisateur n'existe pas");
|
||||||
|
}if (nom_utilisateur != null) {
|
||||||
|
utilisateur.get().setNom_utilisateur(nom_utilisateur);
|
||||||
|
}
|
||||||
|
if (prenom_utilisateur != null) {
|
||||||
|
utilisateur.get().setPrenom_utilisateur(prenom_utilisateur);
|
||||||
|
}
|
||||||
|
if (mail_principal != null) {
|
||||||
|
utilisateur.get().setMail_principal(mail_principal);
|
||||||
|
}
|
||||||
|
if (mail_secondaire != null) {
|
||||||
|
utilisateur.get().setMail_secondaire(mail_secondaire);
|
||||||
|
}
|
||||||
|
if (numero_telephone != null) {
|
||||||
|
utilisateur.get().setNumero_telephone(numero_telephone);
|
||||||
|
}
|
||||||
|
return utilisateur.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.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")
|
||||||
|
|
||||||
|
public class Administrateurs extends Utilisateurs {
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "Projets.id_projets")
|
||||||
|
private Projets projets;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "administrateurs", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<Sections> ListSections = new ArrayList<>();
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "RendezVous.id_rdv")
|
||||||
|
private RendezVous rendezVous;
|
||||||
|
|
||||||
|
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,48 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.model;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
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 = "RendezVous.id_rdv")
|
||||||
|
private RendezVous rendezVous;
|
||||||
|
|
||||||
|
|
||||||
|
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,66 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.model;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "entrepreneurs")
|
||||||
|
@PrimaryKeyJoinColumn(name = "id_entrepreneur")
|
||||||
|
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 = "Projets.id_projets")
|
||||||
|
private Projets projets_participation;
|
||||||
|
|
||||||
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "Projets.id_projets")
|
||||||
|
private Projets projets_propose;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "RendezVous.id_rdv")
|
||||||
|
private RendezVous rendezVous;
|
||||||
|
|
||||||
|
|
||||||
|
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,95 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.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 = "projets", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<Administrateurs> listAdministrateurs = new ArrayList<>();
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<Entrepreneurs> ListEntrepreneursParticipation = new ArrayList<>();
|
||||||
|
|
||||||
|
@OneToOne(mappedBy = "projets", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private Entrepreneurs entrepreneurs_propose;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "projets", 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,107 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.model;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "rendez_vous")
|
||||||
|
public class RendezVous {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@NotNull
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id_rdv;
|
||||||
|
|
||||||
|
private LocalDate date_rdv;
|
||||||
|
|
||||||
|
private LocalDateTime heure_rdv;
|
||||||
|
|
||||||
|
private LocalDateTime duree_rdv;
|
||||||
|
|
||||||
|
@Column(length=255)
|
||||||
|
private String lieu_rdv;
|
||||||
|
|
||||||
|
private String sujet_rdv;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<Entrepreneurs> ListEntrepreneurs = new ArrayList<>();
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<Administrateurs> ListAdministrateurs = new ArrayList<>();
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "rendez_vous", fetch = FetchType.LAZY, orphanRemoval = true)
|
||||||
|
private List<ComptesRendus> ListComptesRendus = new ArrayList<>();
|
||||||
|
|
||||||
|
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
|
||||||
|
@JoinTable(
|
||||||
|
name = "concerner",
|
||||||
|
joinColumns = @JoinColumn(name = "id_rdv"),
|
||||||
|
inverseJoinColumns = @JoinColumn(name = "id_sections"))
|
||||||
|
List<Sections> ListSections = new ArrayList<>();
|
||||||
|
|
||||||
|
public RendezVous() {
|
||||||
|
}
|
||||||
|
|
||||||
|
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.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 LocalDateTime getHeure_rdv() {
|
||||||
|
return heure_rdv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHeure_rdv(LocalDateTime heure_rdv) {
|
||||||
|
this.heure_rdv = heure_rdv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getDuree_rdv() {
|
||||||
|
return duree_rdv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDuree_rdv(LocalDateTime 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,78 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.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 = "Projets.id_projets")
|
||||||
|
private Projets projets;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "Administrateurs.id_admnistrateur")
|
||||||
|
private Administrateurs administrateurs;
|
||||||
|
|
||||||
|
@ManyToMany(mappedBy = "sections")
|
||||||
|
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,90 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.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=15)
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Administrateurs;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface AdministrateursRepository extends JpaRepository<Administrateurs, Long> {
|
||||||
|
|
||||||
|
/* @Query("SELECT a from Administrateurs a")
|
||||||
|
Administrateurs findAllAdministrateurs(); */
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.ComptesRendus;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface ComptesRendusRepository extends JpaRepository<ComptesRendus, Long> {
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Entrepreneurs;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface EntrepreneursRepository extends JpaRepository<Entrepreneurs, Long> {
|
||||||
|
|
||||||
|
/* @Query("SELECT e from Entrepreneurs e")
|
||||||
|
Entrepreneurs findAllEntrepreneurs(); */
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Projets;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface ProjetsRepository extends JpaRepository<Projets, Long> {
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.RendezVous;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface RendezVousRepository extends JpaRepository<RendezVous, Long> {
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Sections;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface SectionsRepository extends JpaRepository<Sections, Long> {
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package enseirb.myinpulse.postgres_db.repository;
|
||||||
|
|
||||||
|
import enseirb.myinpulse.postgres_db.model.Utilisateurs;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||||
|
|
||||||
|
@RepositoryRestResource
|
||||||
|
public interface UtilisateursRepository extends JpaRepository<Utilisateurs, Long> {
|
||||||
|
|
||||||
|
/* @Query("SELECT u from Utilisateurs u")
|
||||||
|
Utilisateurs findAllUtilisateurs(); */
|
||||||
|
|
||||||
|
}
|
@ -2,3 +2,10 @@ 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.username=${POSTGRES_USER}
|
||||||
|
spring.datasource.password=${POSTGRES_PASSWORD}
|
||||||
|
spring.jpa.hibernate.ddl-auto=update
|
||||||
|
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
|
||||||
|
|
||||||
|
spring.data.rest.base-path=/my/base/path
|
63
MyINPulse-back/src/main/resources/data.sql
Normal file
63
MyINPulse-back/src/main/resources/data.sql
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
INSERT INTO projets (nom_projet, logo, date_creation, status_projet) 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'),
|
||||||
|
('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');
|
||||||
|
|
||||||
|
|
||||||
|
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'),
|
||||||
|
('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');
|
||||||
|
|
||||||
|
INSERT INTO entrepreneurs (ecole, filiere, status_snee) VALUES
|
||||||
|
('ENSEIRB-MATMECA', 'INFO', TRUE),
|
||||||
|
('ENSC', 'Cognitique', TRUE),
|
||||||
|
('ENSEIRB-MATMECA', 'MATMECA', FALSE),
|
||||||
|
('SupOptique', 'Classique', TRUE),
|
||||||
|
('ENSEGID', 'Géoscience', FALSE),
|
||||||
|
('ENSMAC', 'Matériaux composites - Mécanique', FALSE);
|
||||||
|
|
||||||
|
INSERT INTO sections (titre, contenu_section, date_modification) VALUES
|
||||||
|
("Problème", "les problèmes...", TO_DATE('15-JAN-2025', 'DD-MON-YYYY')),
|
||||||
|
("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_DATE('12-OCT-2022', 'DD-MON-YYYY')),
|
||||||
|
("Proposition de valeur unique", "'Son prix est de 2594€' 'Ah oui c'est unique en effet'", TO_DATE('25-MAY-2024', 'DD-MON-YYYY')),
|
||||||
|
("Solution", "Un problème ? Une solution", TO_DATE('08-FEB-2024', 'DD-MON-YYYY')),
|
||||||
|
("Canaux", "Ici nous avons la Seine, là-bas le Rhin, oh et plus loin le canal de Suez", TO_DATE('19-JUL-2023', 'DD-MON-YYYY')),
|
||||||
|
("Sources de revenus", "Y'en n'a pas on est pas payé. Enfin y'a du café quoi", TO_DATE('12-JAN-2025', 'DD-MON-YYYY')),
|
||||||
|
("Structure des coûts", "'Ah oui là ça va faire au moins 1000€ par mois', Eirbware", TO_DATE('06-FEB-2025', 'DD-MON-YYYY')),
|
||||||
|
("Indicateurs clés", "On apprend les clés comme des badges, ça se fait", TO_DATE('05-FEB-2025', 'DD-MON-YYYY')),
|
||||||
|
("Avantages concurrentiel", "On est meilleur", TO_DATE('23-APR-2024', 'DD-MON-YYYY'));
|
||||||
|
|
||||||
|
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('29-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 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");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
122
MyINPulse-back/src/main/resources/schema.sql
Normal file
122
MyINPulse-back/src/main/resources/schema.sql
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
DROP TABLE IF EXISTS projets CASCADE;
|
||||||
|
DROP TABLE IF EXISTS utilisateurs CASCADE;
|
||||||
|
DROP TABLE IF EXISTS entrepreneurs CASCADE;
|
||||||
|
DROP TABLE IF EXISTS administrateurs CASCADE;
|
||||||
|
DROP TABLE IF EXISTS sections 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 utilisateurs
|
||||||
|
(
|
||||||
|
id_utilisateur SERIAL NOT NULL,
|
||||||
|
nom_utilisateur VARCHAR(255) ,
|
||||||
|
prenom_utilisateur VARCHAR(255) ,
|
||||||
|
mail_principal VARCHAR(255) ,
|
||||||
|
mail_secondaire VARCHAR(255) ,
|
||||||
|
numero_telephone VARCHAR(15) ,
|
||||||
|
CONSTRAINT pk_utilisateur PRIMARY KEY (id_utilisateur) );
|
||||||
|
|
||||||
|
CREATE TABLE entrepreneurs
|
||||||
|
(
|
||||||
|
id_entrepreneur SERIAL REFERENCES utilisateurs (id_utilisateur),
|
||||||
|
ecole VARCHAR(255) ,
|
||||||
|
filiere VARCHAR(255) ,
|
||||||
|
status_snee BOOLEAN ,
|
||||||
|
CONSTRAINT pk_entrepreneur PRIMARY KEY (id_entrepreneur) );
|
||||||
|
|
||||||
|
CREATE TABLE administrateurs
|
||||||
|
(
|
||||||
|
id_administrateur SERIAL REFERENCES utilisateurs (id_utilisateur),
|
||||||
|
CONSTRAINT pk_administrateur PRIMARY KEY (id_administrateur) );
|
||||||
|
|
||||||
|
CREATE TABLE sections
|
||||||
|
(
|
||||||
|
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 sections (id_section),
|
||||||
|
id_rdv SERIAL REFERENCES sections (id_rdv),
|
||||||
|
CONSTRAINT pk_concerner PRIMARY KEY (id_section, id_rdv) );
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE projets
|
||||||
|
ADD CONSTRAINT fk1_projet FOREIGN KEY (id_administrateur)
|
||||||
|
REFERENCES administrateurs (id_administrateur)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE projets
|
||||||
|
ADD CONSTRAINT fk2_projet FOREIGN KEY (id_entrepreneur_participation)
|
||||||
|
REFERENCES entrepreneurs (id_entrepreneur)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE entrepreneurs
|
||||||
|
ADD CONSTRAINT fk1_entrepreneur FOREIGN KEY (id_projet_propose)
|
||||||
|
REFERENCES projets (id_projet)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE sections
|
||||||
|
ADD CONSTRAINT fk1_section FOREIGN KEY (id_projet)
|
||||||
|
REFERENCES projets (id_projet)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE sections
|
||||||
|
ADD CONSTRAINT fk2_section FOREIGN KEY (id_administrateur)
|
||||||
|
REFERENCES administrateurs (id_administrateur)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE rendez-vous
|
||||||
|
ADD CONSTRAINT fk1_rdv FOREIGN KEY (id_entrepreneur)
|
||||||
|
REFERENCES entrepreneurs (id_entrepreneur)
|
||||||
|
ON DELETE CASCADE;
|
||||||
|
|
||||||
|
ALTER TABLE rendez-vous
|
||||||
|
ADD CONSTRAINT fk2_rdv FOREIGN KEY (id_administrateur)
|
||||||
|
REFERENCES administrateurs (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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -2,8 +2,8 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
image: postgres:latest
|
image: postgres:latest
|
||||||
container_name: MyINPulse-DB
|
container_name: MyINPulse-DB
|
||||||
#ports:
|
ports:
|
||||||
# - 5432:5432
|
- 5432:5432
|
||||||
volumes:
|
volumes:
|
||||||
- ./postgres:/var/lib/postgresql/data
|
- ./postgres:/var/lib/postgresql/data
|
||||||
environment:
|
environment:
|
||||||
|
@ -3,4 +3,8 @@ POSTGRES_USER=keycloak_db_user
|
|||||||
POSTGRES_PASSWORD=keycloak_db_user_password
|
POSTGRES_PASSWORD=keycloak_db_user_password
|
||||||
KEYCLOAK_ADMIN=admin
|
KEYCLOAK_ADMIN=admin
|
||||||
KEYCLOAK_ADMIN_PASSWORD=admin
|
KEYCLOAK_ADMIN_PASSWORD=admin
|
||||||
KEYCLOAK_HOSTNAME=localhost
|
KEYCLOAK_HOSTNAME=localhost
|
||||||
|
|
||||||
|
MYINPULSE_DB=MyINPulse_db
|
||||||
|
MYINPULSE_DB_USER=MyINPulse_db_user
|
||||||
|
MYINPULSE_DB_PASS=MyINPulse_db_user_pass
|
18
front/MyINPulse-front/src/components/temp-modal.vue
Normal file
18
front/MyINPulse-front/src/components/temp-modal.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { addNewMessage } from "@/services/popupDisplayer.ts";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<button
|
||||||
|
@click="
|
||||||
|
addNewMessage(
|
||||||
|
'new error from another view',
|
||||||
|
Math.floor(Math.random() * 4)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
Add an error
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
Loading…
x
Reference in New Issue
Block a user