Merge branch 'develop' of https://bitbucket-student.it.hs-heilbronn.de/scm/labswp19/labswp_2019_sose_geocaching into develop
This commit is contained in:
commit
4ff5574270
@ -15,6 +15,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -1117,6 +1118,60 @@ public class Controller {
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(poi));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Resets the rankinglist")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 404, message = "Database error"),
|
||||
@ApiResponse(code = 401, message = "JWT Token expired"),
|
||||
@ApiResponse(code = 400, message = "Something went wrong at verification")
|
||||
})
|
||||
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
|
||||
@RequestMapping(value = "/api/resetRankingList", method = RequestMethod.PUT, produces = "application/json")
|
||||
public ResponseEntity resetRankingList(@RequestParam String token) {
|
||||
logger.warn("API CALL: /api/resetRankingList");
|
||||
|
||||
// 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();
|
||||
|
||||
logger.debug("/api/resetRankingList: " + "User verificated: " + user.getEmail());
|
||||
//----------------------
|
||||
boolean isAdmin = false;
|
||||
for (Role role : user.getRoles()) {
|
||||
if (role.getId() == 7) {
|
||||
isAdmin = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isAdmin) {
|
||||
for (User_Info user_info : user_infoRepository.findAll()) {
|
||||
user_info.setRankingPointsSum(0);
|
||||
user_infoRepository.save(user_info);
|
||||
}
|
||||
for (Bearbeitet bearbeitet : bearbeitetRepository.findAll()) {
|
||||
if (bearbeitet.getCacheAccesDefinition().getId() == 1) {
|
||||
bearbeitetRepository.delete(bearbeitet);
|
||||
}
|
||||
}
|
||||
return ResponseEntity.status(200).body(HttpStatus.OK);
|
||||
} else {
|
||||
return ResponseEntity.status(400).body("Der Benutzer ist kein Admin und kann deshalb die Rangliste nicht zurücksetzen.");
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Deletes the bearbeitet entry from a User from a Cache")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 404, message = "Database error"),
|
||||
@ -1125,7 +1180,7 @@ public class Controller {
|
||||
})
|
||||
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
|
||||
@RequestMapping(value = "/api/deleteCacheForUser", method = RequestMethod.DELETE, produces = "application/json")
|
||||
public ResponseEntity deleteCacheForUser(@RequestParam String token, @RequestParam String cacheID){
|
||||
public ResponseEntity deleteCacheForUser(@RequestParam String token, @RequestParam String cacheID) {
|
||||
|
||||
logger.warn("API CALL: /api/deleteCacheForUser");
|
||||
// verify user
|
||||
@ -1159,14 +1214,14 @@ public class Controller {
|
||||
//Get Bearbeitet entry
|
||||
ResponseEntity getBearbeitet = FinderUtil.findBearbeitetByUserAndCache(user, cache);
|
||||
|
||||
if(getBearbeitet.getStatusCodeValue() != 200){
|
||||
if (getBearbeitet.getStatusCodeValue() != 200) {
|
||||
return getBearbeitet;
|
||||
}
|
||||
|
||||
Bearbeitet bearbeitet = (Bearbeitet) getBearbeitet.getBody();
|
||||
|
||||
//Cache already finished
|
||||
if(bearbeitet.getCacheAccesDefinition().getId() == 1){
|
||||
if (bearbeitet.getCacheAccesDefinition().getId() == 1) {
|
||||
|
||||
int rankingPoints = cache.getRankingPoints();
|
||||
|
||||
@ -1181,7 +1236,7 @@ public class Controller {
|
||||
|
||||
bearbeitetRepository.delete(bearbeitet);
|
||||
|
||||
return ResponseEntity.status(200).body("Cache for User " + user.getEmail() + " for cache " + cache.getName() + " reseted");
|
||||
return ResponseEntity.status(200).body("Cache for User " + user.getEmail() + " for cache " + cache.getName() + " reseted");
|
||||
|
||||
}
|
||||
|
||||
@ -1198,7 +1253,6 @@ public class Controller {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user