added leaveTeam and added some comments
This commit is contained in:
parent
ccba1fcab1
commit
35ad020c84
@ -429,12 +429,14 @@ public class Controller {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public ResponseEntity createTeam(@RequestParam String token,
|
public ResponseEntity createTeam(@RequestParam String token,
|
||||||
@RequestParam String name) {
|
@RequestParam String name) {
|
||||||
|
// verify user
|
||||||
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||||
|
|
||||||
if (verifyToken.getStatusCodeValue() != 200) {
|
if (verifyToken.getStatusCodeValue() != 200) {
|
||||||
return verifyToken;
|
return verifyToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get user
|
||||||
Claims claims = (Claims) verifyToken.getBody();
|
Claims claims = (Claims) verifyToken.getBody();
|
||||||
|
|
||||||
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
|
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
|
||||||
@ -458,6 +460,7 @@ public class Controller {
|
|||||||
return ResponseEntity.status(400).body("You already have a team");
|
return ResponseEntity.status(400).body("You already have a team");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// checkt, ob der name bereits vorhanden ist
|
||||||
for (Team team : teamRepository.findAll()) {
|
for (Team team : teamRepository.findAll()) {
|
||||||
if (team.getName().equals(name)) {
|
if (team.getName().equals(name)) {
|
||||||
return ResponseEntity.status(400).body("The teamname is already taken");
|
return ResponseEntity.status(400).body("The teamname is already taken");
|
||||||
@ -479,12 +482,14 @@ public class Controller {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public ResponseEntity joinTeam(@RequestParam String token,
|
public ResponseEntity joinTeam(@RequestParam String token,
|
||||||
@RequestParam String teamID) {
|
@RequestParam String teamID) {
|
||||||
|
// verify user
|
||||||
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||||
|
|
||||||
if (verifyToken.getStatusCodeValue() != 200) {
|
if (verifyToken.getStatusCodeValue() != 200) {
|
||||||
return verifyToken;
|
return verifyToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get user
|
||||||
Claims claims = (Claims) verifyToken.getBody();
|
Claims claims = (Claims) verifyToken.getBody();
|
||||||
|
|
||||||
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
|
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
|
||||||
@ -519,16 +524,19 @@ public class Controller {
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
// zählt teammitglieder
|
||||||
for (User_Info userInfo1 : user_infoRepository.findAll()) {
|
for (User_Info userInfo1 : user_infoRepository.findAll()) {
|
||||||
if (userInfo1.getTeam().equals(team)) {
|
if (userInfo1.getTeam().equals(team)) {
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// wenn maximalanzahl der teammitglieder erreicht...
|
||||||
if (i >= 10) {
|
if (i >= 10) {
|
||||||
return ResponseEntity.status(400).body("The team already has 10 members");
|
return ResponseEntity.status(400).body("The team already has 10 members");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tritt dem team bei
|
||||||
user_info.setTeam(team);
|
user_info.setTeam(team);
|
||||||
|
|
||||||
user_infoRepository.save(user_info);
|
user_infoRepository.save(user_info);
|
||||||
@ -536,6 +544,72 @@ public class Controller {
|
|||||||
return ResponseEntity.status(200).body(team);
|
return ResponseEntity.status(200).body(team);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@CrossOrigin(origins = "http://localhost:8081") // only for dev purpose
|
||||||
|
@RequestMapping("/api/leaveTeam")
|
||||||
|
@ResponseBody
|
||||||
|
public ResponseEntity leaveTeam(@RequestParam String token) {
|
||||||
|
|
||||||
|
// verify user
|
||||||
|
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||||
|
|
||||||
|
if (verifyToken.getStatusCodeValue() != 200) {
|
||||||
|
return verifyToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
//get User
|
||||||
|
Claims claims = (Claims) verifyToken.getBody();
|
||||||
|
|
||||||
|
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
|
||||||
|
|
||||||
|
if (getUser.getStatusCodeValue() != 200) {
|
||||||
|
return getUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
User user = (User) getUser.getBody();
|
||||||
|
|
||||||
|
//Get User_Info
|
||||||
|
ResponseEntity getUser_Info = FinderUtil.findUser_InfoByID(String.valueOf(user.getId()));
|
||||||
|
|
||||||
|
if (getUser_Info.getStatusCodeValue() != 200) {
|
||||||
|
return getUser_Info;
|
||||||
|
}
|
||||||
|
|
||||||
|
User_Info user_info = (User_Info) getUser_Info.getBody();
|
||||||
|
//----------------------
|
||||||
|
if (user_info.getTeam() == null) {
|
||||||
|
return ResponseEntity.status(400).body("You aren´t in any team");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get team
|
||||||
|
ResponseEntity getTeam = FinderUtil.findTeamById(String.valueOf(user_info.getTeam().getId()));
|
||||||
|
|
||||||
|
if (getTeam.getStatusCodeValue() != 200) {
|
||||||
|
return getTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
Team team = (Team) getTeam.getBody();
|
||||||
|
|
||||||
|
// verlässt team
|
||||||
|
user_info.setTeam(null);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
// zählt teammitglieder
|
||||||
|
for (User_Info userInfo1 : user_infoRepository.findAll()) {
|
||||||
|
if (userInfo1.getTeam().equals(team)) {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// löscht team, wenn keine teammitglieder mehr vorhanden
|
||||||
|
if (i == 0) {
|
||||||
|
teamRepository.delete(team);
|
||||||
|
}
|
||||||
|
|
||||||
|
user_infoRepository.save(user_info);
|
||||||
|
|
||||||
|
return ResponseEntity.status(200).body("Ok");
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/api/hello")
|
@RequestMapping("/api/hello")
|
||||||
public ResponseEntity hello(@RequestParam String name) {
|
public ResponseEntity hello(@RequestParam String name) {
|
||||||
return ResponseEntity.status(200).body(userRepository.getRankingPlaceFromUser(name));
|
return ResponseEntity.status(200).body(userRepository.getRankingPlaceFromUser(name));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user