From c6e0aa036a232d17e5d121e35810d5cd2f8c627d Mon Sep 17 00:00:00 2001 From: Sana EL HIRI Date: Fri, 25 Feb 2022 18:53:57 +0100 Subject: [PATCH 1/3] ajout crossOrgins sur mail --- src/main/java/fr/organizee/controller/MailController.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/fr/organizee/controller/MailController.java b/src/main/java/fr/organizee/controller/MailController.java index 3543668..5df737e 100644 --- a/src/main/java/fr/organizee/controller/MailController.java +++ b/src/main/java/fr/organizee/controller/MailController.java @@ -4,14 +4,12 @@ import fr.organizee.model.Mail; import fr.organizee.service.SendMailService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.mail.MessagingException; @RestController +@CrossOrigin("*") @RequestMapping("/sendmail") public class MailController { SendMailService service; From d56a795854946de59801bd3004708eb85aec8dab Mon Sep 17 00:00:00 2001 From: Hedi MJID Date: Sat, 26 Feb 2022 19:21:50 +0100 Subject: [PATCH 2/3] refacto forget/reset password --- .../controller/MembreController.java | 35 ++++++++----------- .../repository/MembreRepository.java | 3 ++ 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/main/java/fr/organizee/controller/MembreController.java b/src/main/java/fr/organizee/controller/MembreController.java index e611f83..a498165 100644 --- a/src/main/java/fr/organizee/controller/MembreController.java +++ b/src/main/java/fr/organizee/controller/MembreController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import javax.persistence.EntityNotFoundException; import java.util.List; import java.util.Optional; +import java.util.UUID; import java.util.stream.Collectors; @@ -219,14 +220,16 @@ public class MembreController { /********************* Gestion Mot de Passe ************************************/ //cette methode ne fonctionne pas parce que ça affiche "trouvé" dans tous les cas - @GetMapping("/forgot-password") + @PostMapping("/forgot-password") //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") - public ResponseEntity findUserByEmail(@RequestBody Membre findUserByEmail) { - + public ResponseEntity findUserByEmail(@RequestBody Membre membre) { + Membre resultMembre = null; try { - this.membreService.findUserByEmail(findUserByEmail); - return ResponseEntity.status(HttpStatus.OK).body("Email trouvé !"); - + resultMembre = membreRepo.chercheEmail(membre.getEmail()); + String uuid = UUID.randomUUID().toString(); + resultMembre.setPassword(uuid); + membreRepo.saveAndFlush(resultMembre); + return ResponseEntity.status(HttpStatus.OK).body(uuid); } catch (EntityNotFoundException e) { return ResponseEntity.status(HttpStatus.OK).body("Email introuvable !"); @@ -234,22 +237,14 @@ public class MembreController { } - @PutMapping("/reset-password/{email}") + @PutMapping("/reset-password/{uuid}") //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") - public ResponseEntity updatePassword(@RequestBody String password, @PathVariable String email) throws Exception { - Membre resultMembre; + public ResponseEntity updatePassword(@RequestBody Membre membre, @PathVariable String uuid) throws Exception { + Membre resultMembre = null; try { - resultMembre = this.membreService.chercheEmail(email); - - System.out.println(resultMembre); - - resultMembre.setPassword(passwordEncoder.encode(password)); - - System.out.println(password); - - this.membreRepo.save(resultMembre); - System.out.println(resultMembre.getPassword()); - + resultMembre = membreRepo.findByUUID(uuid); + resultMembre.setPassword(passwordEncoder.encode(membre.getPassword())); + membreRepo.saveAndFlush(resultMembre); } catch (Exception e) { return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage()); } diff --git a/src/main/java/fr/organizee/repository/MembreRepository.java b/src/main/java/fr/organizee/repository/MembreRepository.java index 5a6cf22..cc84635 100644 --- a/src/main/java/fr/organizee/repository/MembreRepository.java +++ b/src/main/java/fr/organizee/repository/MembreRepository.java @@ -21,6 +21,9 @@ public interface MembreRepository extends JpaRepository { Optional findByEmail(String email); + @Query(value = "select * from membre where password = :uuid", nativeQuery = true) + Membre findByUUID(@Param("uuid") String uuid); + @Query(value = "select * from membre where email = :email", nativeQuery = true) Membre chercheEmail(@Param("email") String email); From 4f7834a9a633aaa9ef103ea55b3ff78ac468220b Mon Sep 17 00:00:00 2001 From: HarmandI Date: Sun, 27 Feb 2022 17:27:47 +0100 Subject: [PATCH 3/3] add to do list --- .../controller/MembreController.java | 2 +- .../controller/TodoListController.java | 19 +++++++++++++++++++ .../organizee/repository/TacheRepository.java | 3 ++- .../organizee/service/MembreServiceImpl.java | 3 ++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/organizee/controller/MembreController.java b/src/main/java/fr/organizee/controller/MembreController.java index 6c088c4..4164834 100644 --- a/src/main/java/fr/organizee/controller/MembreController.java +++ b/src/main/java/fr/organizee/controller/MembreController.java @@ -160,7 +160,7 @@ public class MembreController { membreRepo.deleteById(id); return ResponseEntity.status(HttpStatus.OK).body("Membre supprimé !"); } catch (Exception e) { - MembreNotFoundException membreNotFoundException = new membreNotFoundException(id); + MembreNotFoundException membreNotFoundException = new MembreNotFoundException(id); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(membreNotFoundException.getMessage()); } } diff --git a/src/main/java/fr/organizee/controller/TodoListController.java b/src/main/java/fr/organizee/controller/TodoListController.java index 747eff9..8733fdc 100644 --- a/src/main/java/fr/organizee/controller/TodoListController.java +++ b/src/main/java/fr/organizee/controller/TodoListController.java @@ -1,6 +1,7 @@ package fr.organizee.controller; import fr.organizee.model.TodoList; +import fr.organizee.model.Team; import fr.organizee.repository.TodoListRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -19,6 +20,7 @@ public class TodoListController { @Autowired private TodoListRepository todolistRepo; + @GetMapping(value = "/all") public ResponseEntity getAll(){ List liste = null; @@ -32,6 +34,23 @@ public class TodoListController { return ResponseEntity.status(HttpStatus.OK).body(liste); } + //Ajoute une nouvelle ToDoList + @PostMapping(value="/add/{team_id}", produces="application/json", consumes= "application/json") + //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") + public ResponseEntity addTodolist(@RequestBody TodoList todolist, @PathVariable Integer team_id) { + TodoList resultTodolist = null; + try { + Team team = new Team(); + team.setId(team_id); + todolist.setTeam(team); + resultTodolist = todolistRepo.saveAndFlush(todolist); + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); + } + + return ResponseEntity.status(HttpStatus.CREATED).body(resultTodolist); + } + @DeleteMapping(value = "/delete/{id}") //@PreAuthorize("hasRole('ROLE_PARENT')") public ResponseEntity deleteTodolist(@PathVariable int id){ diff --git a/src/main/java/fr/organizee/repository/TacheRepository.java b/src/main/java/fr/organizee/repository/TacheRepository.java index a9ac6f9..0c2e1bf 100644 --- a/src/main/java/fr/organizee/repository/TacheRepository.java +++ b/src/main/java/fr/organizee/repository/TacheRepository.java @@ -9,7 +9,8 @@ import org.springframework.stereotype.Repository; import java.util.List; @Repository -public interface TacheRepository extends JpaRepository { +public interface +TacheRepository extends JpaRepository { // N'est plus utilisé normalement @Query(value = "select * from todo_list, tache where todo_list.team_id = :team_id and todo_list.id = tache.todolist_id", nativeQuery = true) diff --git a/src/main/java/fr/organizee/service/MembreServiceImpl.java b/src/main/java/fr/organizee/service/MembreServiceImpl.java index 2197bbc..a8ecc87 100644 --- a/src/main/java/fr/organizee/service/MembreServiceImpl.java +++ b/src/main/java/fr/organizee/service/MembreServiceImpl.java @@ -17,7 +17,8 @@ import fr.organizee.repository.MembreRepository; import fr.organizee.security.JwtTokenProvider; @Service -public class MembreServiceImpl implements MembreService { +public class +MembreServiceImpl implements MembreService { @Autowired private MembreRepository membreRepository; // permet communication avec la BD