readem + correction

This commit is contained in:
trochas
2025-10-23 22:21:36 +02:00
parent 3f0e3c801c
commit 7c71555add
7 changed files with 72 additions and 42 deletions

View File

@@ -23,7 +23,7 @@ public class Quizz implements Serializable {
@ManyToOne
@JoinColumn(name="id_utilisateur")
private Utilisateur utilisateur;
private Utilisateur createur;
@OneToMany(mappedBy = "quizz")
private List<Question> questions=new ArrayList<Question>();

View File

@@ -32,4 +32,14 @@ public abstract class Reponse implements Serializable {
public String prettyPrinter(int tab){
return "";
}
public String toString(){
String res = "[";
for (int i = 0; i<this.reponses.size(); i++) {
res += this.reponses.get(i);
if(i<this.reponses.size()-1) res+= ", ";
}
res += "]";
return res;
}
}

View File

@@ -32,6 +32,6 @@ public class Utilisateur implements Serializable {
)
private List<Session> sessions= new ArrayList<>();
@OneToMany(mappedBy = "utilisateur")
@OneToMany(mappedBy = "createur")
private List<Quizz> quizzs = new ArrayList<>();
}

View File

@@ -50,7 +50,7 @@ public class QuizzController {
Quizz q = new Quizz();
Utilisateur u = uDao.findById(id).get();
emailU = u.getEmail();
q.setUtilisateur(u);
q.setCreateur(u);
qDao.save(q);
qId = String.valueOf(q.getId());
} catch (Exception ex) {
@@ -113,9 +113,9 @@ public class QuizzController {
try {
Quizz q = qDao.findById(id).get();
res += "id : " + id + "\n";
if(q.getUtilisateur()!=null){
res += "create by : " + q.getUtilisateur().getId() +
" (" + q.getUtilisateur().getEmail() + ")\n";
if(q.getCreateur()!=null){
res += "create by : " + q.getCreateur().getId() +
" (" + q.getCreateur().getEmail() + ")\n";
}
List<Session> sessions = q.getSessions();
List<Question> questions = q.getQuestions();

View File

@@ -38,10 +38,10 @@ public class SessionController {
Delete /session/delete/{id}
Get /session/getAll
Put /session/addQuizz/{id}/{idQ}
Put /session/removeQuizz/{id}
Put /session/removeQuizz/{id}/{idQ}
Put /session/update/{id} param : body Jsp, "theme"
Put /session/join/{sessionId}
Put /session//leave/{sessionId}
Put /session/leave/{sessionId}
*/
@PostMapping("/create")
@ResponseBody

View File

@@ -5,6 +5,7 @@ import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -37,19 +38,21 @@ public class UtilisateurController {
Get /utilisateur/getSessions
Put /utilisateur/addSession/{idUtilisateur}/{idSession}
Put /utilisateur/removeSession/{idUtilisateur}/{idSession}
Put /utilisateur/update/{id} param : body Jsp, "name", "email", "oldpassword, "password"
Put /utilisateur/update/{id} param : body Jsp, "name", "email", "password"
*/
@PostMapping("/create")
@ResponseBody
@PreAuthorize("hasRole('ADMIN')")
public String create(@RequestBody Map<String, String> body) {
@PreAuthorize("hasAnyRole('ADMIN','USER')")
public String create(@RequestBody Map<String, String> body, JwtAuthenticationToken auth) {
try {
if(body.containsKey("name") && body.containsKey("email") && body.containsKey("password")){
Utilisateur u = new Utilisateur();
String keycloakUserId = auth.getToken().getClaim("sub");
u.setName(body.get("name"));
u.setEmail(body.get("email"));
u.setPassword(body.get("password"));
u.setKeycloakId(keycloakUserId);
uDao.save(u);
String uId = String.valueOf(u.getId());
return "Utilisateur \"" + u.getName() + "\" créé avec succès avec l'id = " + uId;