diff --git a/src/main/java/fr/organizee/controller/MembreController.java b/src/main/java/fr/organizee/controller/MembreController.java
index 4164834..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;
@@ -41,7 +43,7 @@ public class MembreController {
{
StringBuilder sb = new StringBuilder();
sb.append("
Affichages des membres
");
- sb.append("- Liste des membres
");
+ sb.append("- Liste des membres
");
return sb.toString();
}
@@ -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 {