diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java similarity index 90% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java index 8b7343c..a0d84e0 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; @@ -6,13 +6,11 @@ import jakarta.persistence.ManyToOne; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; - import java.io.Serializable; import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; -import jakarta.persistence.CascadeType; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; @@ -31,7 +29,7 @@ public class Activite implements Serializable { @ElementCollection private List dataActivite = new ArrayList<>(); - @ManyToOne(cascade = CascadeType.PERSIST) + @ManyToOne private Session session; public Activite(String name) { diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java similarity index 93% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java index fdb77fe..ddacacc 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java similarity index 65% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java index fd5b2ac..42235e4 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; @@ -10,6 +10,7 @@ import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; +import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; @Entity @@ -22,13 +23,26 @@ public class Athlete { @GeneratedValue private Long id; private String name; + private String categorie; + private String niveau; + @ElementCollection + private List groupe = new ArrayList<>(); + @ManyToMany(mappedBy = "athletes") private List sessions = new ArrayList<>(); // plusieurs sessions sont possibles public Athlete(String name){ this.name = name; } + + public Athlete(String name, String categorie, String niveau, List groupe){ + this.name = name; + this.categorie = categorie; + this.niveau = niveau; + this.groupe = groupe; + } + @Override public String toString() { return "Athlete [id=" + id + " , name=" + name + "]"; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java similarity index 84% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java index ed820b2..6294ab9 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; @@ -10,7 +10,6 @@ import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; -import jakarta.persistence.CascadeType; import jakarta.persistence.Entity; @Entity @@ -24,7 +23,7 @@ public class Coach { private Long id; private String name; - @OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST) + @OneToMany(mappedBy = "coach") private List sessions = new ArrayList<>(); // Un coach peut avoir plusieurs sessions public Coach(String name){ @@ -34,4 +33,4 @@ public class Coach { public String toString() { return "Coach [id=" + id + " , name=" + name + "]"; } -} +} \ No newline at end of file diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java similarity index 92% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java index d77c880..f7d565e 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; @@ -31,10 +31,10 @@ public class Session { private Long duree; private String groupe; - @ManyToOne(cascade = CascadeType.PERSIST) + @ManyToOne private Coach coach; // un coach par session - @ManyToMany(cascade = CascadeType.PERSIST) + @ManyToMany private List athletes = new ArrayList<>(); // plusieurs athlètes par session @OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java new file mode 100644 index 0000000..b238e75 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java @@ -0,0 +1,8 @@ +package hackathon.FrisbYEE.jpa.service; + +import hackathon.FrisbYEE.jpa.metier.Activite; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ActiviteDAO extends JpaRepository { + Activite findByKeycloakId(String keycloakId); +} diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java new file mode 100644 index 0000000..9a352a3 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java @@ -0,0 +1,9 @@ +package hackathon.FrisbYEE.jpa.service; + +import hackathon.FrisbYEE.jpa.metier.Activite; +import hackathon.FrisbYEE.jpa.metier.Athlete; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AthleteDAO extends JpaRepository { +} + diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java new file mode 100644 index 0000000..fe16ff9 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java @@ -0,0 +1,4 @@ +package hackathon.FrisbYEE.jpa.service; + +public class CoachDAO { +} diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java new file mode 100644 index 0000000..9557bef --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java @@ -0,0 +1,11 @@ +package hackathon.FrisbYEE.jpa.web; + + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/activite") + +public class ActiviteController { +}