From d9a76e978352d2dfda72a6bc2ef186f103d91f99 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 29 Apr 2019 11:15:24 +0200 Subject: [PATCH] added teamStatus and setTeamStatus API method --- .../bugageocaching/controller/Controller.java | 52 +++++++++++++++++++ .../labsw/bugageocaching/entities/Team.java | 10 ++++ 2 files changed, 62 insertions(+) diff --git a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java index a4f8784..5e392f7 100644 --- a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java +++ b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java @@ -757,6 +757,58 @@ public class Controller { return ResponseEntity.status(200).body("OK"); } + @CrossOrigin(origins = "http://localhost:8081") // only for dev purpose + @RequestMapping("/api/setTeamStatus") + @ResponseBody + public ResponseEntity setTeamStatus(@RequestParam String token, + @RequestParam String teamStatus) { + // 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(); + team.setTeamStatus(teamStatus); + + teamRepository.save(team); + + return ResponseEntity.status(200).body(teamStatus); + } + + @RequestMapping("/api/hello") public ResponseEntity hello(@RequestParam String name) { return ResponseEntity.status(200).body(userRepository.getRankingPlaceFromUser(name)); diff --git a/src/main/java/hhn/labsw/bugageocaching/entities/Team.java b/src/main/java/hhn/labsw/bugageocaching/entities/Team.java index 935929f..55b87d4 100644 --- a/src/main/java/hhn/labsw/bugageocaching/entities/Team.java +++ b/src/main/java/hhn/labsw/bugageocaching/entities/Team.java @@ -14,6 +14,8 @@ public class Team { private String name; + private String teamStatus; + public int getId() { return id; } @@ -29,4 +31,12 @@ public class Team { public void setName(String name) { this.name = name; } + + public String getTeamStatus() { + return teamStatus; + } + + public void setTeamStatus(String teamStatus) { + this.teamStatus = teamStatus; + } }