modif team et membre controller

This commit is contained in:
Sana EL HIRI 2022-03-02 19:18:33 +01:00
parent 294712656a
commit 20382c2d1b
2 changed files with 103 additions and 91 deletions

View File

@ -6,11 +6,9 @@ import fr.organizee.exception.ExistingUsernameException;
import fr.organizee.exception.InvalidCredentialsException; import fr.organizee.exception.InvalidCredentialsException;
import fr.organizee.exception.MembreNotFoundException; import fr.organizee.exception.MembreNotFoundException;
import fr.organizee.model.Membre; import fr.organizee.model.Membre;
import fr.organizee.model.Menu;
import fr.organizee.model.Team; import fr.organizee.model.Team;
import fr.organizee.repository.MembreRepository; import fr.organizee.repository.MembreRepository;
import fr.organizee.service.MembreService; import fr.organizee.service.MembreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -24,42 +22,39 @@ import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @CrossOrigin(origins = "*")
@CrossOrigin("*")
@RequestMapping(value = "/membres") @RequestMapping(value = "/membres")
@RestController
public class MembreController { public class MembreController {
@Autowired private MembreRepository membreRepository;
private MembreRepository membreRepo;
@Autowired
private MembreService membreService; private MembreService membreService;
@Autowired
private BCryptPasswordEncoder passwordEncoder; private BCryptPasswordEncoder passwordEncoder;
public MembreController() {} /**
* Contrôleur Membre
*/
public MembreController(MembreRepository membreRepository,
MembreService membreService,
BCryptPasswordEncoder passwordEncoder) {
this.membreRepository = membreRepository;
this.membreService = membreService;
this.passwordEncoder = passwordEncoder;
@ResponseBody
public String home()
{
StringBuilder sb = new StringBuilder();
sb.append("<h1>Affichages des membres</h1>");
sb.append("<ul><li><a href='http://localhost:8088/membres/all'>Liste des <strong>membres</strong></a></li>");
return sb.toString();
} }
/** /**
* Rechercher tous les membres * Rechercher tous les membres
* @return *
* http://localhost:8088/membres/all * @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<?> getAllMembres() { public ResponseEntity<?> getAllMembres() {
List<Membre> listeMembres; List<Membre> listeMembres;
try try {
{ listeMembres = membreRepository.findAll();
listeMembres = membreRepo.findAll();
} catch (Exception e) { } catch (Exception e) {
MembreNotFoundException commandeNotFoundException = new MembreNotFoundException(); MembreNotFoundException commandeNotFoundException = new MembreNotFoundException();
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(commandeNotFoundException.getMessage()); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(commandeNotFoundException.getMessage());
@ -70,8 +65,8 @@ public class MembreController {
/** /**
* Rechercher tous les membres admin * Rechercher tous les membres admin
* @return *
* http://localhost:8088/membres/admin/all * @return http://localhost:8088/membres/admin/all
*/ */
@GetMapping(value = "/admin/all") @GetMapping(value = "/admin/all")
@ -84,8 +79,8 @@ public class MembreController {
/** /**
* Rechercher un membre par son Id * Rechercher un membre par son Id
* @return *
* http://localhost:8088/membres/1 * @return http://localhost:8088/membres/1
*/ */
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ -93,7 +88,7 @@ public class MembreController {
public ResponseEntity<?> getMembreById(@PathVariable int id) { public ResponseEntity<?> getMembreById(@PathVariable int id) {
Optional<Membre> membre; Optional<Membre> membre;
try { try {
membre = membreRepo.findById(id); membre = membreRepository.findById(id);
if (membre.isPresent()) { if (membre.isPresent()) {
return ResponseEntity.status(HttpStatus.OK).body(membre); return ResponseEntity.status(HttpStatus.OK).body(membre);
} else { } else {
@ -107,15 +102,15 @@ public class MembreController {
/** /**
* Rechercher un membre par l'Id de sa team * Rechercher un membre par l'Id de sa team
* @return *
* http://localhost:8088/membres/1 * @return http://localhost:8088/membres/1
*/ */
@GetMapping(value = "team/{team_id}") @GetMapping(value = "team/{team_id}")
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
public ResponseEntity<?> findByTeamId(@PathVariable int team_id) { public ResponseEntity<?> findByTeamId(@PathVariable int team_id) {
List<Membre> membres = null; List<Membre> membres = null;
try { try {
membres = membreRepo.FindMembresByTeam(team_id); membres = membreRepository.FindMembresByTeam(team_id);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
} }
@ -124,8 +119,8 @@ public class MembreController {
/** /**
* Inscription * Inscription
* @return *
* http://localhost:8088/membres/sign-up * @return http://localhost:8088/membres/sign-up
*/ */
@PostMapping(value = "/sign-up") @PostMapping(value = "/sign-up")
@ -139,8 +134,8 @@ public class MembreController {
/** /**
* Ajout d'un membre * Ajout d'un membre
* @return *
* http://localhost:8088/membres/add * @return http://localhost:8088/membres/add/1
*/ */
@PostMapping(value = "/add/{team_id}", produces = "application/json", consumes = "application/json") @PostMapping(value = "/add/{team_id}", produces = "application/json", consumes = "application/json")
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
@ -150,7 +145,7 @@ public class MembreController {
Team team = new Team(); Team team = new Team();
team.setId(team_id); team.setId(team_id);
membre.setTeam(team); membre.setTeam(team);
//resultMembre = membreRepo.saveAndFlush(membre); //resultMembre = membreRepository.saveAndFlush(membre);
return ResponseEntity.ok(new JsonWebToken(membreService.signup(membre))); return ResponseEntity.ok(new JsonWebToken(membreService.signup(membre)));
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
@ -160,21 +155,20 @@ public class MembreController {
} }
/** /**
* Modifier une commande par son Id * Modifier un membre par son Id
* @return
* http://localhost:8088/membres/update/1
* *
* @return http://localhost:8088/membres/update/1
*/ */
@PutMapping("/update/{id}") @PutMapping("/update/{id}")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> updateMembre(@RequestBody Membre membre, @PathVariable int id) { public ResponseEntity<?> updateMembre(@RequestBody Membre membre, @PathVariable int id) {
Optional<Membre> membreUpdate; Optional<Membre> membreUpdate;
try { try {
membreUpdate = membreRepo.findById(id); membreUpdate = membreRepository.findById(id);
// membre trouvé // membre trouvé
if (membreUpdate.isPresent()) { if (membreUpdate.isPresent()) {
membre.setId(membreUpdate.get().getId()); membre.setId(membreUpdate.get().getId());
membreRepo.save(membre); membreRepository.save(membre);
} }
//membre inconnu //membre inconnu
else { else {
@ -191,15 +185,15 @@ public class MembreController {
/** /**
* Supprimer un membre par son Id * Supprimer un membre par son Id
* @return *
* http://localhost:8088/membres/delete/1 * @return http://localhost:8088/membres/delete/1
*/ */
@DeleteMapping(value = "/delete/{id}") @DeleteMapping(value = "/delete/{id}")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> deleteMembre(@PathVariable int id) { public ResponseEntity<?> deleteMembre(@PathVariable int id) {
try { try {
membreRepo.getById(id); membreRepository.getById(id);
membreRepo.deleteById(id); membreRepository.deleteById(id);
return ResponseEntity.status(HttpStatus.OK).body("Membre supprimé !"); return ResponseEntity.status(HttpStatus.OK).body("Membre supprimé !");
} catch (Exception e) { } catch (Exception e) {
MembreNotFoundException membreNotFoundException = new MembreNotFoundException(id); MembreNotFoundException membreNotFoundException = new MembreNotFoundException(id);
@ -225,10 +219,10 @@ public class MembreController {
public ResponseEntity<?> findUserByEmail(@RequestBody Membre membre) { public ResponseEntity<?> findUserByEmail(@RequestBody Membre membre) {
Membre resultMembre = null; Membre resultMembre = null;
try { try {
resultMembre = membreRepo.chercheEmail(membre.getEmail()); resultMembre = membreRepository.chercheEmail(membre.getEmail());
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
resultMembre.setPassword(uuid); resultMembre.setPassword(uuid);
membreRepo.saveAndFlush(resultMembre); membreRepository.saveAndFlush(resultMembre);
return ResponseEntity.status(HttpStatus.OK).body(uuid); return ResponseEntity.status(HttpStatus.OK).body(uuid);
} catch (EntityNotFoundException e) { } catch (EntityNotFoundException e) {
@ -242,9 +236,9 @@ public class MembreController {
public ResponseEntity<?> updatePassword(@RequestBody Membre membre, @PathVariable String uuid) throws Exception { public ResponseEntity<?> updatePassword(@RequestBody Membre membre, @PathVariable String uuid) throws Exception {
Membre resultMembre = null; Membre resultMembre = null;
try { try {
resultMembre = membreRepo.findByUUID(uuid); resultMembre = membreRepository.findByUUID(uuid);
resultMembre.setPassword(passwordEncoder.encode(membre.getPassword())); resultMembre.setPassword(passwordEncoder.encode(membre.getPassword()));
membreRepo.saveAndFlush(resultMembre); membreRepository.saveAndFlush(resultMembre);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage()); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage());
} }

View File

@ -2,43 +2,41 @@ package fr.organizee.controller;
import fr.organizee.model.Team; import fr.organizee.model.Team;
import fr.organizee.repository.TeamRepository; import fr.organizee.repository.TeamRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.persistence.EntityNotFoundException; import javax.persistence.EntityNotFoundException;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
/* toto */
@RestController @CrossOrigin(origins = "*")
@CrossOrigin("*")
@RequestMapping("/teams") @RequestMapping("/teams")
@RestController
public class TeamController { public class TeamController {
@Autowired private TeamRepository teamRepository;
private TeamRepository teamRepo;
// @RequestMapping("/teams") /**
@ResponseBody * Contrôleur Team
public String home() */
{ public TeamController(TeamRepository teamRepository) {
StringBuilder sb = new StringBuilder(); this.teamRepository = teamRepository;
sb.append("<h1>Affichages des teams</h1>");
sb.append("<ul><li><a href='http://localhost:8080/teams/all'>Liste des <strong>teams</strong></a></li>");
return sb.toString();
} }
// Récupération de toutes les teams
/**
* Rechercher toutes les teams
*
* @return http://localhost:8088/teams/all
*/
@GetMapping(value = "/all") @GetMapping(value = "/all")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> getAllTeam() { public ResponseEntity<?> getAllTeam() {
List<Team> liste = null; List<Team> liste = null;
try try {
{ liste = teamRepository.findAll();
liste = teamRepo.findAll();
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
} }
@ -46,13 +44,18 @@ public class TeamController {
return ResponseEntity.status(HttpStatus.OK).body(liste); return ResponseEntity.status(HttpStatus.OK).body(liste);
} }
/**
* Rechercher une team par son Id
*
* @return http://localhost:8088/teams/1
*/
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
//@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')")
public ResponseEntity<?> findTeamById(@PathVariable int id) { public ResponseEntity<?> findTeamById(@PathVariable int id) {
Optional<Team> liste = null; Optional<Team> liste = null;
try try {
{ liste = teamRepository.findById(id);
liste = teamRepo.findById(id);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
} }
@ -60,12 +63,17 @@ public class TeamController {
return ResponseEntity.status(HttpStatus.OK).body(liste); return ResponseEntity.status(HttpStatus.OK).body(liste);
} }
/**
* Création d'une team
*
* @return http://localhost:8088/teams/add
*/
@PostMapping(value = "/add", produces = "application/json", consumes = "application/json") @PostMapping(value = "/add", produces = "application/json", consumes = "application/json")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> addTeam(@RequestBody Team team) { public ResponseEntity<?> addTeam(@RequestBody Team team) {
Team resultTeam = null; Team resultTeam = null;
try { try {
resultTeam = teamRepo.saveAndFlush(team); resultTeam = teamRepository.saveAndFlush(team);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
} }
@ -73,12 +81,17 @@ public class TeamController {
return ResponseEntity.status(HttpStatus.CREATED).body(resultTeam); return ResponseEntity.status(HttpStatus.CREATED).body(resultTeam);
} }
/**
* Modifier une teamm par son Id
*
* @return http://localhost:8088/teams/update/1
*/
@PutMapping("/update/{id}") @PutMapping("/update/{id}")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> updateTeam(@RequestBody Team team, @PathVariable Integer id) throws Exception { public ResponseEntity<?> updateTeam(@RequestBody Team team, @PathVariable Integer id) throws Exception {
Team resultTeam = null; Team resultTeam = null;
try { try {
resultTeam = teamRepo.save(team); resultTeam = teamRepository.save(team);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage()); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage());
@ -87,12 +100,17 @@ public class TeamController {
return ResponseEntity.status(HttpStatus.OK).body(resultTeam); return ResponseEntity.status(HttpStatus.OK).body(resultTeam);
} }
/**
* Supprimer une team par son Id
*
* @return http://localhost:8088/teams/delete/1
*/
@DeleteMapping(value = "/delete/{id}") @DeleteMapping(value = "/delete/{id}")
//@PreAuthorize("hasRole('ROLE_PARENT')") //@PreAuthorize("hasRole('ROLE_PARENT')")
public ResponseEntity<?> deleteTeam(@PathVariable int id) { public ResponseEntity<?> deleteTeam(@PathVariable int id) {
try { try {
teamRepo.delete(teamRepo.getById(id)); teamRepository.delete(teamRepository.getById(id));
//membreRepo.deleteById(id); //membreRepository.deleteById(id);
return ResponseEntity.status(HttpStatus.OK).body("Team effacée !"); return ResponseEntity.status(HttpStatus.OK).body("Team effacée !");
} catch (EntityNotFoundException e) { } catch (EntityNotFoundException e) {