diff --git a/src/main/java/fr/organizee/controller/MembreController.java b/src/main/java/fr/organizee/controller/MembreController.java index c779742..e611f83 100644 --- a/src/main/java/fr/organizee/controller/MembreController.java +++ b/src/main/java/fr/organizee/controller/MembreController.java @@ -6,6 +6,8 @@ import fr.organizee.exception.ExistingUsernameException; import fr.organizee.exception.InvalidCredentialsException; import fr.organizee.exception.MembreNotFoundException; import fr.organizee.model.Membre; +import fr.organizee.model.Menu; +import fr.organizee.model.Team; import fr.organizee.repository.MembreRepository; import fr.organizee.service.MembreService; import org.springframework.beans.factory.annotation.Autowired; @@ -103,7 +105,24 @@ public class MembreController { } /** - * Ajouter un membre et inscription + * Rechercher un membre par l'Id de sa team + * @return + * http://localhost:8088/membres/1 + */ + @GetMapping(value = "team/{team_id}") + //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") + public ResponseEntity findByTeamId(@PathVariable int team_id) { + List membres = null; + try { + membres = membreRepo.FindMembresByTeam(team_id); + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); + } + return ResponseEntity.status(HttpStatus.OK).body(membres); + } + + /** + * Inscription * @return * http://localhost:8088/membres/sign-up */ @@ -117,6 +136,28 @@ public class MembreController { } } + /** + * Ajout d'un membre + * @return + * http://localhost:8088/membres/add + */ + @PostMapping(value="/add/{team_id}", produces="application/json", consumes= "application/json") + //@PreAuthorize("hasRole('ROLE_PARENT') or hasRole('ROLE_ENFANT')") + public ResponseEntity addMembre(@RequestBody Membre membre, @PathVariable Integer team_id){ + Membre resultMembre = null; + try{ + Team team = new Team(); + team.setId(team_id); + membre.setTeam(team); + //resultMembre = membreRepo.saveAndFlush(membre); + return ResponseEntity.ok(new JsonWebToken(membreService.signup(membre))); + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); + } + + //return ResponseEntity.status(HttpStatus.CREATED).body(resultMembre); + } + /** * Modifier une commande par son Id * @return diff --git a/src/main/java/fr/organizee/repository/MembreRepository.java b/src/main/java/fr/organizee/repository/MembreRepository.java index 137f203..5a6cf22 100644 --- a/src/main/java/fr/organizee/repository/MembreRepository.java +++ b/src/main/java/fr/organizee/repository/MembreRepository.java @@ -2,6 +2,7 @@ package fr.organizee.repository; import fr.organizee.model.Contact; import fr.organizee.model.Membre; +import fr.organizee.model.Menu; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -12,6 +13,10 @@ import java.util.Optional; @Repository public interface MembreRepository extends JpaRepository { + + @Query(value = "select * from membre where team_id = :team_id", nativeQuery = true) + List FindMembresByTeam(@Param("team_id") int team_id); + Membre findByNom(String nom); Optional findByEmail(String email); diff --git a/src/main/java/fr/organizee/service/MembreServiceImpl.java b/src/main/java/fr/organizee/service/MembreServiceImpl.java index 2197bbc..e04c48e 100644 --- a/src/main/java/fr/organizee/service/MembreServiceImpl.java +++ b/src/main/java/fr/organizee/service/MembreServiceImpl.java @@ -48,7 +48,9 @@ public class MembreServiceImpl implements MembreService { @Override public String signup(Membre membre) throws ExistingUsernameException { if (!membreRepository.existsByEmail(membre.getEmail())) { - Membre membreToSave = new Membre(membre.getNom(), membre.getPrenom(), membre.getCouleur(), membre.getDateNaissance(), membre.getTeam(), membre.getEmail(), passwordEncoder.encode(membre.getPassword()), membre.getRoleList()); + Membre membreToSave = new Membre(membre.getNom(), membre.getPrenom(), membre.getCouleur(), + membre.getDateNaissance(), membre.getTeam(), membre.getEmail(), + passwordEncoder.encode(membre.getPassword()), membre.getRoleList()); membreRepository.save(membreToSave); return jwtTokenProvider.createToken(membre.getEmail(), membre.getRoleList()); } else {