ajout post add membre en plus de signup et modifs repo et service

This commit is contained in:
Sana EL HIRI 2022-02-25 09:54:59 +01:00
parent 65f87cf85b
commit 695d3c1078
3 changed files with 50 additions and 2 deletions

View File

@ -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<Membre> 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

View File

@ -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<Membre, Integer> {
@Query(value = "select * from membre where team_id = :team_id", nativeQuery = true)
List<Membre> FindMembresByTeam(@Param("team_id") int team_id);
Membre findByNom(String nom);
Optional<Membre> findByEmail(String email);

View File

@ -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 {