This commit is contained in:
Michael 2019-05-16 10:00:50 +02:00
commit 0aff9266d6
2 changed files with 30 additions and 91 deletions

View File

@ -72,98 +72,11 @@ public class Controller {
@ResponseBody
public ResponseEntity getAllCaches() {
logger.warn("API CALL: /api/allCaches");
logger.debug("/api/allCaches PARAMETERS: -");
return ResponseEntity.status(200).body(new Gson().toJson(cacheRepository.findAll()));
}
@ApiOperation(value = "Starts the given Cache for the given User")
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@RequestMapping(value = "/api/startCache", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResponseEntity startCache(@RequestParam(value = "token", defaultValue = "-1") String token,
@RequestParam String cacheID) {
if (!token.equals("-1")) { // ein angemeldeter user startet den cache(es werden zwei parameter übergeben)
Bearbeitet bearbeitet = new Bearbeitet();
//----------------------
//Verify token
ResponseEntity tokenVerification = VerificationUtil.verifyToken(token);
//Error in token verification
if (tokenVerification.getStatusCodeValue() != 200) {
return tokenVerification;
}
Claims claims = (Claims) tokenVerification.getBody();
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
if (getUser.getStatusCodeValue() != 200) {
return getUser;
}
User user = (User) getUser.getBody();
bearbeitet.setUser(user);
//----------------------
//Get Cache
ResponseEntity getCache = FinderUtil.findCacheById(cacheID);
if (getCache.getStatusCodeValue() != 200) {
return getCache;
}
Cache cache = (Cache) getCache.getBody();
//----------------------
if (bearbeitetRepository.findByUserAndCache(user, cache) != null) {
Bearbeitet bearbeitet1 = bearbeitetRepository.findByUserAndCache(user, cache);
return ResponseEntity.status(200).body(bearbeitet1);
}
bearbeitet.setCache(cache);
Station startStation = cache.getStationen().get(0);
bearbeitet.setAktuelleStation(startStation);
//Get CacheAccesDefinition
ResponseEntity getCacheAccesDefinition = FinderUtil.findCacheAccesDefinitionById("0");
if (getCacheAccesDefinition.getStatusCodeValue() != 200) {
return getCacheAccesDefinition;
}
CacheAccesDefinition cacheAccesDefinition = (CacheAccesDefinition) getCacheAccesDefinition.getBody();
//----------------------
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
//bearbeitetRepository.save(bearbeitet);
return ResponseEntity.status(201).body(new Gson().toJson(bearbeitet));
} else { // kein angemeldeter User startet den cache(es wird nur der cache als parameter übergeben)
ResponseEntity getCache = FinderUtil.findCacheById(cacheID);
if (getCache.getStatusCodeValue() != 200) {
return getCache;
}
Cache cache = (Cache) getCache.getBody();
return ResponseEntity.status(200).body(new Gson().toJson(cache));
}
}
@ApiOperation(value = "Checks if the given Station is the correct next Station in the Cache")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ -327,6 +240,8 @@ public class Controller {
@RequestMapping(value = "/api/createCache", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResponseEntity createCache(@RequestBody Cache cache) {
logger.warn("API CALL: api/createCache");
logger.debug("/api/allCaches PARAMETERS:\ncache: " + cache.getName());
return createCacheUtil(cache);
}
@ -340,7 +255,8 @@ public class Controller {
@RequestMapping(value = "/api/editCache", method = RequestMethod.PUT, produces = "application/json")
@ResponseBody
public ResponseEntity editCache(@RequestBody Cache newCache) {
logger.warn("API CALL: /api/editCache");
logger.debug("/api/editCache PARAMETERS:\nnewCache: " + newCache.getName());
return editCacheUtil(newCache);
}
@ -391,6 +307,7 @@ public class Controller {
@ResponseBody
public ResponseEntity getAllStations() {
logger.warn("API CALL: /api/getAllStations");
logger.debug("/api/getAllStations: PARAMETERS: -");
return ResponseEntity.status(200).body(new Gson().toJson(stationRepository.findAll()));
}
@ -399,10 +316,11 @@ public class Controller {
@ApiResponse(code = 404, message = "Database error")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping(value = "/api/deleteCache", method = {RequestMethod.DELETE, RequestMethod.GET}, produces = "application/json")
@RequestMapping(value = "/api/deleteCache", method = {RequestMethod.DELETE}, produces = "application/json")
@ResponseBody
public ResponseEntity deleteCache(@RequestParam String cacheID) {
logger.warn("API CALL: /api/deleteCache");
logger.debug("/api/deleteCache: PARAMETERS:\ncacheID: " + cacheID);
return deleteCacheUtil(cacheID);
}
@ -418,6 +336,7 @@ public class Controller {
public ResponseEntity getMyCaches(@RequestParam String token) {
logger.warn("API CALL: /api/getMyCaches");
logger.debug("/api/getMyCaches: PARAMETERS:\ntoken: " + token);
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
@ -465,6 +384,7 @@ public class Controller {
public ResponseEntity getRankingList() {
logger.warn("API CALL: /api/getRankingList");
logger.debug("/api/getRankingList: PARAMETERS: -");
List<RankingListHelper> sendBackUsers = new LinkedList<>();
@ -489,14 +409,21 @@ public class Controller {
@ResponseBody
public ResponseEntity getTeamRankingList() {
logger.warn("API CALL: /api/getTeamRankingList");
logger.debug("/api/getTeamRankingList: PARAMETERS: -");
List<TeamRankingListHelper> sendBackTeams = new LinkedList<>();
logger.debug("/api/getTeamRankingList Created List sendBackTeams");
List<Object[]> rankingTeams = userRepository.getTeamRankingList();
logger.debug("/api/getTeamRankingList Got Rankinglist in Format Object[]");
logger.debug("/api/getTeamRankingList Convert Object to TeamRankingListHelper");
for (Object[] obj : rankingTeams) {
BigDecimal i = (BigDecimal) obj[1];
TeamRankingListHelper tmp = new TeamRankingListHelper((String) obj[0], i.intValue());
System.out.println(tmp);
sendBackTeams.add(tmp);
}
logger.debug("/api/getTeamRankingList Send RankingList to Frontend");
return ResponseEntity.status(200).body(new Gson().toJson(sendBackTeams));
}
@ -511,25 +438,37 @@ public class Controller {
@ResponseBody
public ResponseEntity getUser(@RequestParam String token) {
logger.warn("API CALL: /api/getUser");
logger.debug("/api/getUser: PARAMETERS:\ntoken: " + token);
logger.debug("/api/getUser Trying to verify Token: " + token);
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
if (verifyToken.getStatusCodeValue() != 200) {
logger.debug("/api/getUser Error in Verification of Token: " + token);
return verifyToken;
}
logger.debug("/api/getUser Trying to get User");
Claims claims = (Claims) verifyToken.getBody();
logger.debug("/api/getUser Got Claim: " + new GsonBuilder().setPrettyPrinting().create().toJson(claims));
ResponseEntity getUser = FinderUtil.findUserFromClaim(claims);
if (getUser.getStatusCodeValue() != 200) {
logger.debug("/api/getUser Error getting User");
return getUser;
}
User user = (User) getUser.getBody();
logger.debug("/api/getUser Got User: " + user.getEmail());
if (user != null) {
logger.debug("/api/getUser User != null " + user.getEmail());
logger.debug("/api/getUser Send User to Frontend");
return ResponseEntity.status(200).body(new Gson().toJson(user));
} else {
logger.debug("Error in Getting User");
return ResponseEntity.status(404).body("Es gab einen Fehler. Bitte versuche es erneut oder kontaktiere einen Admin!e");
}
}

View File

@ -146,7 +146,7 @@ public class CacheConstructionUtil {
}
}
// wenn Station neu hinzugefügt wurde, wird die Station zusätzlich in die Datenbank gespeichert
// wenn Station neu hinzugefügt wurde, wirdcd die Station zusätzlich in die Datenbank gespeichert
if (stationIsNew) {
response = createStationUtil(station);
if (response.getStatusCodeValue() == 200) {