Merge remote-tracking branch 'origin/jpa' into jpa
This commit is contained in:
@@ -21,7 +21,7 @@ public class Activite implements Serializable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private Integer id;
|
||||
private String name;
|
||||
private String theme;
|
||||
private Long duree;
|
||||
|
||||
@@ -2,6 +2,7 @@ package hackathon.FrisbYEE.jpa.metier;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@@ -17,9 +18,12 @@ public class Admin {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private Integer id;
|
||||
private String name;
|
||||
|
||||
@OneToOne(mappedBy = "admin")
|
||||
private User user;
|
||||
|
||||
public Admin(String name){
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package hackathon.FrisbYEE.jpa.metier;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToMany;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@@ -21,7 +22,7 @@ public class Athlete {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private Integer id;
|
||||
private String name;
|
||||
private String categorie;
|
||||
private String niveau;
|
||||
@@ -32,6 +33,9 @@ public class Athlete {
|
||||
@ManyToMany(mappedBy = "athletes")
|
||||
private List<Session> sessions = new ArrayList<>(); // plusieurs sessions sont possibles
|
||||
|
||||
@OneToOne(mappedBy = "athlete")
|
||||
private User user;
|
||||
|
||||
public Athlete(String name){
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package hackathon.FrisbYEE.jpa.metier;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@@ -20,12 +21,15 @@ public class Coach {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private Integer id;
|
||||
private String name;
|
||||
|
||||
@OneToMany(mappedBy = "coach")
|
||||
private List<Session> sessions = new ArrayList<>(); // Un coach peut avoir plusieurs sessions
|
||||
|
||||
@OneToOne(mappedBy = "coach")
|
||||
private User user;
|
||||
|
||||
public Coach(String name){
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package hackathon.FrisbYEE.jpa.metier;
|
||||
|
||||
public enum Role {
|
||||
ADMIN,
|
||||
COACH,
|
||||
ATHLETE
|
||||
}
|
||||
@@ -24,7 +24,7 @@ public class Session {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private Integer id;
|
||||
private String name;
|
||||
private Boolean isRecurrent;
|
||||
private LocalDateTime creneau;
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
package hackathon.FrisbYEE.jpa.metier;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.Access;
|
||||
import jakarta.persistence.AccessType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.CascadeType;
|
||||
|
||||
@Entity
|
||||
@Getter @Setter @NoArgsConstructor
|
||||
@Access(AccessType.FIELD)
|
||||
|
||||
public class User implements Serializable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Integer id;
|
||||
@Column(unique = true, nullable = false) //pas possible d'avoir le même nom
|
||||
private String name;
|
||||
@Column (nullable = false)
|
||||
private String motDePasse;
|
||||
private String email;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(nullable = false)
|
||||
private Role role;
|
||||
|
||||
@OneToOne(cascade = CascadeType.ALL)
|
||||
private Coach coach;
|
||||
|
||||
@OneToOne(cascade = CascadeType.ALL)
|
||||
private Athlete athlete;
|
||||
|
||||
@OneToOne(cascade = CascadeType.ALL)
|
||||
private Admin admin;
|
||||
|
||||
public User(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public User(String name, String motDePasse, String email, Role role) {
|
||||
this.name = name;
|
||||
this.motDePasse = motDePasse;
|
||||
this.email = email;
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "User [id=" + id + " , name=" + name + "]";
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,9 @@ package hackathon.FrisbYEE.jpa.service;
|
||||
|
||||
import hackathon.FrisbYEE.jpa.metier.Activite;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface ActiviteDAO extends JpaRepository<Activite, Integer> {
|
||||
Activite findByKeycloakId(String keycloakId);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package hackathon.FrisbYEE.jpa.service;
|
||||
|
||||
import hackathon.FrisbYEE.jpa.metier.Admin;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface AdminDAO extends JpaRepository<Admin, Integer> {
|
||||
|
||||
}
|
||||
@@ -1,9 +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;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface AthleteDAO extends JpaRepository<Athlete, Integer> {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,10 @@
|
||||
package hackathon.FrisbYEE.jpa.service;
|
||||
|
||||
public class CoachDAO {
|
||||
}
|
||||
import hackathon.FrisbYEE.jpa.metier.Coach;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface CoachDAO extends JpaRepository<Coach, Integer> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package hackathon.FrisbYEE.jpa.service;
|
||||
|
||||
import hackathon.FrisbYEE.jpa.metier.Session;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface SessionDAO extends JpaRepository<Session, Integer> {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user