Merge remote-tracking branch 'refs/remotes/origin/main'
This commit is contained in:
@@ -26,7 +26,7 @@ public class WebSecurityConfig {
|
||||
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
|
||||
.csrf(csrf -> csrf.disable())
|
||||
.authorizeHttpRequests(auth -> auth
|
||||
.requestMatchers(HttpMethod.OPTIONS, "/", "/public", "/coach/**").permitAll() // allow coach endpoints
|
||||
.requestMatchers(HttpMethod.OPTIONS, "/", "/public", "/coach/**","/athlete/**").permitAll() // allow coach endpoints
|
||||
.requestMatchers("/admin/**").hasRole("admin")
|
||||
.requestMatchers("/user/**").hasRole("user")
|
||||
.anyRequest().authenticated())
|
||||
|
||||
@@ -43,16 +43,6 @@ public class Admin extends User{
|
||||
super.setPrenom(prenom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId_keycloak() {
|
||||
return super.getId_keycloak();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setId_keycloak(String id_keycloak) {
|
||||
super.setId_keycloak(id_keycloak);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return super.getRole();
|
||||
|
||||
@@ -56,17 +56,6 @@ public class Athlete extends User{
|
||||
public void setPrenom(String prenom) {
|
||||
super.setPrenom(prenom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId_keycloak() {
|
||||
return super.getId_keycloak();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setId_keycloak(String id_keycloak) {
|
||||
super.setId_keycloak(id_keycloak);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return super.getRole();
|
||||
|
||||
@@ -49,16 +49,6 @@ public class Coach extends User{
|
||||
super.setPrenom(prenom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId_keycloak() {
|
||||
return super.getId_keycloak();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setId_keycloak(String id_keycloak) {
|
||||
super.setId_keycloak(id_keycloak);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return super.getRole();
|
||||
|
||||
@@ -26,8 +26,8 @@ public class User implements Serializable {
|
||||
@GeneratedValue
|
||||
@Column(unique = true, nullable = false)
|
||||
private Integer id;
|
||||
@Column(nullable = false, unique = true)
|
||||
private String id_keycloak;
|
||||
@Column(name = "id_keycloak", unique = true, nullable = false)
|
||||
private String keycloakId;
|
||||
|
||||
private String name;
|
||||
private String prenom;
|
||||
@@ -38,7 +38,7 @@ public class User implements Serializable {
|
||||
|
||||
public User(String name, String id_keycloak, String prenom, Role role) {
|
||||
this.name = name;
|
||||
this.id_keycloak = id_keycloak;
|
||||
this.keycloakId = id_keycloak;
|
||||
this.prenom = prenom;
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package hackathon.FrisbYEE.jpa.service;
|
||||
|
||||
import hackathon.FrisbYEE.jpa.metier.Athlete;
|
||||
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface AthleteDAO extends JpaRepository<Athlete, Integer> {
|
||||
|
||||
boolean existsByKeycloakId(String keycloakId);
|
||||
Optional<Athlete> findByKeycloakId(String keycloakId);
|
||||
}
|
||||
@@ -32,9 +32,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/athlete")
|
||||
@CrossOrigin(origins = "http://localhost:3000")
|
||||
public class AthleteResource {
|
||||
@Autowired
|
||||
private AthleteDAO athleteDAO;
|
||||
@@ -45,7 +45,7 @@ public class AthleteResource {
|
||||
@ApiResponse(responseCode = "200", description = "Renvoie l'athlète créé", content = @Content(mediaType = "application/json", schema = @Schema(implementation = AthleteDTO.class)))
|
||||
})
|
||||
@PostMapping("/create")
|
||||
@PreAuthorize("hasRole('Admin')") // Only admin can create??
|
||||
@PreAuthorize("hasRole('Admin') or hasRole('Coach') or hasRole('Athlete')")
|
||||
public ResponseEntity<AthleteDTO> create(@RequestBody AthleteDTO dto) {
|
||||
Athlete athlete = mapToEntity(dto);
|
||||
athleteDAO.save(athlete);
|
||||
@@ -126,8 +126,9 @@ public class AthleteResource {
|
||||
|
||||
private AthleteDTO mapToDTO(Athlete athlete) {
|
||||
AthleteDTO dto = new AthleteDTO();
|
||||
dto.setId_keycloak(athlete.getId_keycloak());
|
||||
dto.setId_keycloak(athlete.getKeycloakId());
|
||||
dto.setName(athlete.getName());
|
||||
dto.setPrenom(athlete.getPrenom());
|
||||
dto.setCategorie(athlete.getCategorie());
|
||||
dto.setNiveau(athlete.getNiveau());
|
||||
return dto;
|
||||
@@ -135,6 +136,12 @@ public class AthleteResource {
|
||||
|
||||
private Athlete mapToEntity(AthleteDTO dto) {
|
||||
Athlete athlete = new Athlete();
|
||||
athlete.setName(dto.getName());
|
||||
athlete.setPrenom(dto.getPrenom());
|
||||
athlete.setKeycloakId(dto.getId_keycloak());
|
||||
athlete.setCategorie(dto.getCategorie());
|
||||
athlete.setNiveau(dto.getNiveau());
|
||||
athlete.setRole(hackathon.FrisbYEE.jpa.metier.Role.ATHLETE);
|
||||
return athlete;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,14 +70,14 @@ public class CoachResource {
|
||||
|
||||
private CoachDTO mapToDTO(Coach coach) {
|
||||
CoachDTO dto = new CoachDTO();
|
||||
dto.setId_keycloak(coach.getId_keycloak());
|
||||
dto.setId_keycloak(coach.getKeycloakId());
|
||||
dto.setName(coach.getName());
|
||||
return dto;
|
||||
}
|
||||
|
||||
private Coach mapToEntity(CoachDTO dto) {
|
||||
Coach coach = new Coach();
|
||||
coach.setId_keycloak(dto.getId_keycloak());
|
||||
coach.setKeycloakId(dto.getId_keycloak());
|
||||
coach.setName(dto.getName());
|
||||
return coach;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,5 @@ spring.jpa.show-sql=true
|
||||
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
|
||||
server.port=8081
|
||||
server.servlet.context-path=/api
|
||||
|
||||
spring.security.oauth2.resourceserver.jwt.issuer-uri=http://localhost:8080/realms/Frisbyee_realm
|
||||
spring.security.oauth2.resourceserver.jwt.jwk-set-uri: http://localhost:8080/realms/Frisbyee_realm/protocol/openid-connect/certs
|
||||
Reference in New Issue
Block a user