Merge branch 'dev' of https://github.com/HediMjid/Organizee into dev
This commit is contained in:
commit
78a8b14bc9
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Contact;
|
import fr.organizee.model.Contact;
|
||||||
import fr.organizee.repository.ContactRepository;
|
import fr.organizee.repository.ContactRepository;
|
||||||
|
@ -20,6 +20,7 @@ public class ContactController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ContactRepository contactRepo;
|
private ContactRepository contactRepo;
|
||||||
|
|
||||||
|
|
||||||
//Récupère les infos d'un contact par son ID
|
//Récupère les infos d'un contact par son ID
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Evenement;
|
import fr.organizee.model.Evenement;
|
||||||
import fr.organizee.model.Menu;
|
import fr.organizee.model.Menu;
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Mail;
|
import fr.organizee.model.Mail;
|
||||||
import fr.organizee.service.SendMailService;
|
import fr.organizee.service.SendMailService;
|
|
@ -1,9 +1,10 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.dto.JsonWebToken;
|
import fr.organizee.dto.JsonWebToken;
|
||||||
import fr.organizee.dto.MembreDto;
|
import fr.organizee.dto.MembreDto;
|
||||||
import fr.organizee.exception.ExistingUsernameException;
|
import fr.organizee.exception.ExistingUsernameException;
|
||||||
import fr.organizee.exception.InvalidCredentialsException;
|
import fr.organizee.exception.InvalidCredentialsException;
|
||||||
|
import fr.organizee.exception.MembreNotFoundException;
|
||||||
import fr.organizee.model.Membre;
|
import fr.organizee.model.Membre;
|
||||||
import fr.organizee.repository.MembreRepository;
|
import fr.organizee.repository.MembreRepository;
|
||||||
import fr.organizee.service.MembreService;
|
import fr.organizee.service.MembreService;
|
||||||
|
@ -19,10 +20,10 @@ import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/* toto */
|
|
||||||
@RestController
|
@RestController
|
||||||
@CrossOrigin("*")
|
@CrossOrigin("*")
|
||||||
@RequestMapping("/membres")
|
@RequestMapping(value="/membres")
|
||||||
public class MembreController {
|
public class MembreController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -30,10 +31,11 @@ public class MembreController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MembreService membreService;
|
private MembreService membreService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BCryptPasswordEncoder passwordEncoder;
|
private BCryptPasswordEncoder passwordEncoder;
|
||||||
|
|
||||||
|
public MembreController() {}
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String home()
|
public String home()
|
||||||
{
|
{
|
||||||
|
@ -43,27 +45,138 @@ public class MembreController {
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Récupère tout les membres de la base
|
/**
|
||||||
|
* Rechercher tous les membres
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/all
|
||||||
|
*/
|
||||||
@GetMapping(value = "/all")
|
@GetMapping(value = "/all")
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
||||||
public ResponseEntity<?> getAll(){
|
public ResponseEntity<?> getAllMembres(){
|
||||||
List<Membre> liste = null;
|
List<Membre> listeMembres;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
liste = membreRepo.findAll();
|
listeMembres = membreRepo.findAll();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
|
MembreNotFoundException commandeNotFoundException = new MembreNotFoundException();
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(commandeNotFoundException.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(liste);
|
return ResponseEntity.status(HttpStatus.OK).body(listeMembres);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/admin/all")
|
/**
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT')")
|
* Rechercher tous les membres admin
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/admin/all
|
||||||
|
*/
|
||||||
|
|
||||||
|
@GetMapping(value="/admin/all")
|
||||||
|
@PreAuthorize("hasRole('ROLE_PARENT')")
|
||||||
public List<MembreDto> getAllAdminUsers() {
|
public List<MembreDto> getAllAdminUsers() {
|
||||||
return membreService.findAllUsers().stream().map(appUser -> new MembreDto(appUser.getEmail(), appUser.getRoleList())).collect(Collectors.toList());
|
return membreService.findAllUsers().stream().map(appUser ->
|
||||||
|
new MembreDto(appUser.getEmail(),
|
||||||
|
appUser.getRoleList())).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rechercher un membre par son Id
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@GetMapping(value="/{id}")
|
||||||
|
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
||||||
|
public ResponseEntity<?> getMembreById(@PathVariable int id) {
|
||||||
|
Optional<Membre> membre;
|
||||||
|
try {
|
||||||
|
membre = membreRepo.findById(id);
|
||||||
|
if (membre.isPresent()) {
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(membre);
|
||||||
|
} else {
|
||||||
|
MembreNotFoundException membreNotFoundException = new MembreNotFoundException(id);
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(membreNotFoundException.getMessage());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajouter un membre et inscription
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/sign-up
|
||||||
|
*/
|
||||||
|
|
||||||
|
@PostMapping(value="/sign-up")
|
||||||
|
public ResponseEntity<JsonWebToken> signUp(@RequestBody Membre membre) {
|
||||||
|
try {
|
||||||
|
return ResponseEntity.ok(new JsonWebToken(membreService.signup(membre)));
|
||||||
|
} catch (ExistingUsernameException ex) {
|
||||||
|
return ResponseEntity.badRequest().build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifier une commande par son Id
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/update/1
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@PutMapping("/update/{id}")
|
||||||
|
//@PreAuthorize("hasRole('ROLE_PARENT')")
|
||||||
|
public ResponseEntity<?> updateMembre(@RequestBody Membre membre, @PathVariable int id){
|
||||||
|
Optional<Membre> membreUpdate;
|
||||||
|
try {
|
||||||
|
membreUpdate = membreRepo.findById(id);
|
||||||
|
// membre trouvé
|
||||||
|
if(membreUpdate.isPresent()){
|
||||||
|
membre.setId(membreUpdate.get().getId());
|
||||||
|
membreRepo.save(membre);
|
||||||
|
}
|
||||||
|
//membre inconnu
|
||||||
|
else{
|
||||||
|
MembreNotFoundException membreNotFoundException = new MembreNotFoundException(id);
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(membreNotFoundException.getMessage());
|
||||||
|
}
|
||||||
|
//gestion de l'erreur
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
|
||||||
|
}
|
||||||
|
// retour membre
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(membre);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Supprimer un membre par son Id
|
||||||
|
* @return
|
||||||
|
* http://localhost:8088/membres/delete/1
|
||||||
|
*/
|
||||||
|
@DeleteMapping(value = "/delete/{id}")
|
||||||
|
//@PreAuthorize("hasRole('ROLE_PARENT')")
|
||||||
|
public ResponseEntity<?> deleteMembre(@PathVariable int id){
|
||||||
|
try {
|
||||||
|
membreRepo.getById(id);
|
||||||
|
membreRepo.deleteById(id);
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body("Membre supprimé !");
|
||||||
|
} catch (Exception e) {
|
||||||
|
MembreNotFoundException membreNotFoundException = new membreNotFoundException(id);
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(membreNotFoundException.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************************** Login / Se connceter ****************************/
|
||||||
|
@PostMapping("/sign-in")
|
||||||
|
public ResponseEntity<JsonWebToken> signIn(@RequestBody Membre membre) {
|
||||||
|
try {
|
||||||
|
return ResponseEntity.ok(new JsonWebToken(membreService.signin(membre.getEmail(), membre.getPassword())));
|
||||||
|
} catch (InvalidCredentialsException ex) {
|
||||||
|
return ResponseEntity.badRequest().build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************* Gestion Mot de Passe ************************************/
|
||||||
//cette methode ne fonctionne pas parce que ça affiche "trouvé" dans tous les cas
|
//cette methode ne fonctionne pas parce que ça affiche "trouvé" dans tous les cas
|
||||||
@GetMapping("/forgot-password")
|
@GetMapping("/forgot-password")
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
||||||
|
@ -102,70 +215,4 @@ public class MembreController {
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(resultMembre);
|
return ResponseEntity.status(HttpStatus.OK).body(resultMembre);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Récupérer les informations d'un membre par son ID
|
|
||||||
@GetMapping(value = "/{id}")
|
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
|
|
||||||
public ResponseEntity<?> findById(@PathVariable int id){
|
|
||||||
Optional<Membre> membre = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
membre = membreRepo.findById(id);
|
|
||||||
} catch (Exception e) {
|
|
||||||
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(membre);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Efface un membre par son ID
|
|
||||||
@DeleteMapping(value = "/delete/{id}")
|
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT')")
|
|
||||||
public ResponseEntity<?> deleteMembre(@PathVariable int id){
|
|
||||||
try {
|
|
||||||
membreRepo.delete(membreRepo.getById(id));
|
|
||||||
//membreRepo.deleteById(id);
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body("Membre effacé !");
|
|
||||||
|
|
||||||
} catch (EntityNotFoundException e) {
|
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body("Membre introuvable !");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Ajouter un membre et inscription
|
|
||||||
@PostMapping("/sign-up")
|
|
||||||
public ResponseEntity<JsonWebToken> signUp(@RequestBody Membre membre) {
|
|
||||||
try {
|
|
||||||
return ResponseEntity.ok(new JsonWebToken(membreService.signup(membre)));
|
|
||||||
} catch (ExistingUsernameException ex) {
|
|
||||||
return ResponseEntity.badRequest().build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Login
|
|
||||||
@PostMapping("/sign-in")
|
|
||||||
public ResponseEntity<JsonWebToken> signIn(@RequestBody Membre membre) {
|
|
||||||
try {
|
|
||||||
return ResponseEntity.ok(new JsonWebToken(membreService.signin(membre.getEmail(), membre.getPassword())));
|
|
||||||
} catch (InvalidCredentialsException ex) {
|
|
||||||
return ResponseEntity.badRequest().build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Met a jour les informations d'un membre par son ID
|
|
||||||
@PutMapping("/update/{id}")
|
|
||||||
//@PreAuthorize("hasRole('ROLE_PARENT')")
|
|
||||||
public ResponseEntity<?> updateMembre(@RequestBody Membre membre, @PathVariable Integer id) throws Exception {
|
|
||||||
Membre resultMembre = null;
|
|
||||||
try {
|
|
||||||
resultMembre = membreRepo.save(membre);
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(resultMembre);
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Menu;
|
import fr.organizee.model.Menu;
|
||||||
import fr.organizee.model.Team;
|
import fr.organizee.model.Team;
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Tache;
|
import fr.organizee.model.Tache;
|
||||||
import fr.organizee.model.TodoList;
|
import fr.organizee.model.TodoList;
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.Team;
|
import fr.organizee.model.Team;
|
||||||
import fr.organizee.repository.TeamRepository;
|
import fr.organizee.repository.TeamRepository;
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.organizee.dto.controller;
|
package fr.organizee.controller;
|
||||||
|
|
||||||
import fr.organizee.model.TodoList;
|
import fr.organizee.model.TodoList;
|
||||||
import fr.organizee.repository.TodoListRepository;
|
import fr.organizee.repository.TodoListRepository;
|
|
@ -0,0 +1,13 @@
|
||||||
|
package fr.organizee.exception;
|
||||||
|
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||||
|
|
||||||
|
public class MembreNotFoundAdvice {
|
||||||
|
@ResponseBody
|
||||||
|
@ExceptionHandler(MembreNotFoundException.class)
|
||||||
|
@ResponseStatus(HttpStatus.NOT_FOUND)
|
||||||
|
String membreNotFoundHandler(MembreNotFoundException ex){return ex.getMessage();}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
package fr.organizee.exception;
|
||||||
|
|
||||||
|
|
||||||
|
public class MembreNotFoundException extends RuntimeException{
|
||||||
|
public MembreNotFoundException(int id){ super("Membre" + id + " introuvable");}
|
||||||
|
public MembreNotFoundException(){ super("Membres introuvables");}
|
||||||
|
}
|
Loading…
Reference in New Issue