Changed Methods to user FinderUtil
This commit is contained in:
parent
41c5dc482d
commit
663d3482ee
@ -6,7 +6,6 @@ import hhn.labsw.bugageocaching.repositories.*;
|
||||
import hhn.labsw.bugageocaching.util.FinderUtil;
|
||||
import hhn.labsw.bugageocaching.util.VerificationUtil;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.ExpiredJwtException;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.SignatureAlgorithm;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -107,60 +106,75 @@ public class Controller {
|
||||
|
||||
Bearbeitet bearbeitet = new Bearbeitet();
|
||||
|
||||
try {
|
||||
Claims claims = Jwts.parser() //Parse JWT
|
||||
.setSigningKey(VerificationUtil.publicKey)
|
||||
.parseClaimsJws(token).getBody();
|
||||
|
||||
User user = userRepository.findByUsername(claims.getSubject());
|
||||
if (user == null) {
|
||||
return ResponseEntity.status(404).body("User was not found");
|
||||
}
|
||||
bearbeitet.setUser(user);
|
||||
//----------------------
|
||||
//Verify token
|
||||
ResponseEntity tokenVerification = VerificationUtil.verifyToken(token);
|
||||
|
||||
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
|
||||
if (cacheOptional.isPresent()) {
|
||||
Cache cache = cacheOptional.get();
|
||||
|
||||
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);
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("Couldnt find Cache " + cacheID);
|
||||
}
|
||||
|
||||
Optional<CacheAccesDefinition> cacheAccesDefinitionOptional =
|
||||
cacheAccesDefinitionRepository.findById(0); // angefangen
|
||||
if (cacheAccesDefinitionOptional.isPresent()) {
|
||||
CacheAccesDefinition cacheAccesDefinition = cacheAccesDefinitionOptional.get();
|
||||
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("There is no cacheAccesDefinition with the ID " + 0);
|
||||
}
|
||||
|
||||
bearbeitetRepository.save(bearbeitet);
|
||||
|
||||
return ResponseEntity.status(201).body(new Gson().toJson(bearbeitet));
|
||||
} catch (ExpiredJwtException e) {
|
||||
return ResponseEntity.status(400).body("JWT Token expired");
|
||||
} catch (Exception e) {
|
||||
return ResponseEntity.status(400).body("JWT Token invalid");
|
||||
//Error in token verification
|
||||
if (tokenVerification.getStatusCodeValue() != 200) {
|
||||
return tokenVerification;
|
||||
}
|
||||
|
||||
Claims claims = (Claims) tokenVerification.getBody();
|
||||
|
||||
|
||||
ResponseEntity getUser = FinderUtil.findUserByUsername(claims.getSubject());
|
||||
|
||||
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);
|
||||
|
||||
|
||||
Optional<CacheAccesDefinition> cacheAccesDefinitionOptional =
|
||||
cacheAccesDefinitionRepository.findById(0); // angefangen
|
||||
if (cacheAccesDefinitionOptional.isPresent()) {
|
||||
CacheAccesDefinition cacheAccesDefinition = cacheAccesDefinitionOptional.get();
|
||||
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("There is no cacheAccesDefinition with the ID " + 0);
|
||||
}
|
||||
|
||||
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)
|
||||
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
|
||||
if (cacheOptional.isPresent()) {
|
||||
Cache cache = cacheOptional.get();
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(cache));
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("Couldnt find Cache " + cacheID);
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -186,17 +200,21 @@ public class Controller {
|
||||
|
||||
Claims claims = (Claims) tokenVerification.getBody();
|
||||
|
||||
User user = userRepository.findByUsername(claims.getSubject());
|
||||
if (user == null) {
|
||||
return ResponseEntity.status(404).body("User was not found");
|
||||
|
||||
ResponseEntity getUser = FinderUtil.findUserByUsername(claims.getSubject());
|
||||
|
||||
if (getUser.getStatusCodeValue() != 200) {
|
||||
return getUser;
|
||||
}
|
||||
|
||||
User user = (User) getUser.getBody();
|
||||
//----------------------
|
||||
|
||||
//----------------------
|
||||
//Get Cache
|
||||
ResponseEntity getCache = FinderUtil.findCacheById(cacheID);
|
||||
|
||||
if(getCache.getStatusCodeValue() != 200){
|
||||
if (getCache.getStatusCodeValue() != 200) {
|
||||
return getCache;
|
||||
}
|
||||
|
||||
@ -207,7 +225,7 @@ public class Controller {
|
||||
//Get durchgeführter Cache
|
||||
ResponseEntity getDurchgefuehrterCache = FinderUtil.findCacheById(durchgefuehrterCacheID);
|
||||
|
||||
if(getDurchgefuehrterCache.getStatusCodeValue() != 200){
|
||||
if (getDurchgefuehrterCache.getStatusCodeValue() != 200) {
|
||||
return getDurchgefuehrterCache;
|
||||
}
|
||||
|
||||
@ -218,7 +236,7 @@ public class Controller {
|
||||
//Get Station
|
||||
ResponseEntity getStation = FinderUtil.findStationById(stationID);
|
||||
|
||||
if(getStation.getStatusCodeValue() != 200){
|
||||
if (getStation.getStatusCodeValue() != 200) {
|
||||
return getStation;
|
||||
}
|
||||
|
||||
@ -233,7 +251,7 @@ public class Controller {
|
||||
//Get Bearbeitet entry
|
||||
ResponseEntity getBearbeitet = FinderUtil.findBearbeitetByUserAndCache(user, cache);
|
||||
|
||||
if(getBearbeitet.getStatusCodeValue() != 200){
|
||||
if (getBearbeitet.getStatusCodeValue() != 200) {
|
||||
return getBearbeitet;
|
||||
}
|
||||
|
||||
@ -242,7 +260,7 @@ public class Controller {
|
||||
|
||||
|
||||
Station aktuelleStation = bearbeitet.getAktuelleStation();
|
||||
if(aktuelleStation == null){
|
||||
if (aktuelleStation == null) {
|
||||
return ResponseEntity.status(400).body("Database Error");
|
||||
}
|
||||
|
||||
@ -290,17 +308,15 @@ public class Controller {
|
||||
@ResponseBody
|
||||
public ResponseEntity checkAdmin(@RequestParam String token) {
|
||||
|
||||
try {
|
||||
Claims claims = Jwts.parser() //Parse JWT
|
||||
.setSigningKey(VerificationUtil.publicKey)
|
||||
.parseClaimsJws(token).getBody();
|
||||
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||
|
||||
return ResponseEntity.status(200).body(claims.get("admin"));
|
||||
} catch (ExpiredJwtException e) {
|
||||
return ResponseEntity.status(400).body("JWT Token expired");
|
||||
} catch (Exception e) {
|
||||
return ResponseEntity.status(400).body("JWT Token invalid");
|
||||
if (verifyToken.getStatusCodeValue() != 200) {
|
||||
return verifyToken;
|
||||
}
|
||||
|
||||
Claims claims = (Claims) verifyToken.getBody();
|
||||
|
||||
return ResponseEntity.status(200).body(claims.get("admin"));
|
||||
}
|
||||
|
||||
//Bis hier
|
||||
@ -322,31 +338,35 @@ public class Controller {
|
||||
@RequestMapping("/api/getMyCaches")
|
||||
@ResponseBody
|
||||
public ResponseEntity getMyCaches(@RequestParam String token) {
|
||||
try {
|
||||
|
||||
Claims claims = Jwts.parser() //Parse JWT
|
||||
.setSigningKey(VerificationUtil.publicKey)
|
||||
.parseClaimsJws(token).getBody();
|
||||
|
||||
|
||||
User user = userRepository.findByUsername(claims.getSubject());
|
||||
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||
|
||||
if (user != null) {
|
||||
ArrayList<Bearbeitet> bearbeitetList = new ArrayList<>();
|
||||
if (verifyToken.getStatusCodeValue() != 200) {
|
||||
return verifyToken;
|
||||
}
|
||||
|
||||
for (Bearbeitet bearbeitet : bearbeitetRepository.findAll()) {
|
||||
if (bearbeitet.getUser().getId() == user.getId()) {
|
||||
bearbeitetList.add(bearbeitet);
|
||||
}
|
||||
Claims claims = (Claims) verifyToken.getBody();
|
||||
|
||||
ResponseEntity getUser = FinderUtil.findUserByUsername(claims.getSubject());
|
||||
|
||||
if (getUser.getStatusCodeValue() != 200) {
|
||||
return getUser;
|
||||
}
|
||||
|
||||
User user = (User) getUser.getBody();
|
||||
|
||||
if (user != null) {
|
||||
ArrayList<Bearbeitet> bearbeitetList = new ArrayList<>();
|
||||
|
||||
for (Bearbeitet bearbeitet : bearbeitetRepository.findAll()) {
|
||||
if (bearbeitet.getUser().getId() == user.getId()) {
|
||||
bearbeitetList.add(bearbeitet);
|
||||
}
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(bearbeitetList));
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("User was not found in the database");
|
||||
}
|
||||
} catch (ExpiredJwtException e) {
|
||||
return ResponseEntity.status(400).body("JWT Token expired");
|
||||
} catch (Exception e) {
|
||||
return ResponseEntity.status(400).body("JWT Token invalid");
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(bearbeitetList));
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("User was not found in the database");
|
||||
}
|
||||
}
|
||||
|
||||
@ -372,23 +392,29 @@ public class Controller {
|
||||
@RequestMapping("/api/getUser")
|
||||
@ResponseBody
|
||||
public ResponseEntity getUser(@RequestParam String token) {
|
||||
try {
|
||||
Claims claims = Jwts.parser() //Parse JWT
|
||||
.setSigningKey(VerificationUtil.publicKey)
|
||||
.parseClaimsJws(token).getBody();
|
||||
|
||||
ResponseEntity verifyToken = VerificationUtil.verifyToken(token);
|
||||
|
||||
User user = userRepository.findByUsername(claims.getSubject());
|
||||
if (user != null) {
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(user));
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("User was not found in the database");
|
||||
}
|
||||
} catch (ExpiredJwtException e) {
|
||||
return ResponseEntity.status(400).body("JWT Token expired");
|
||||
} catch (Exception e) {
|
||||
return ResponseEntity.status(400).body("JWT Token invalid");
|
||||
if (verifyToken.getStatusCodeValue() != 200) {
|
||||
return verifyToken;
|
||||
}
|
||||
|
||||
Claims claims = (Claims) verifyToken.getBody();
|
||||
|
||||
ResponseEntity getUser = FinderUtil.findUserByUsername(claims.getSubject());
|
||||
|
||||
if (getUser.getStatusCodeValue() != 200) {
|
||||
return getUser;
|
||||
}
|
||||
|
||||
User user = (User) getUser.getBody();
|
||||
|
||||
if (user != null) {
|
||||
return ResponseEntity.status(200).body(new Gson().toJson(user));
|
||||
} else {
|
||||
return ResponseEntity.status(404).body("User was not found in the database");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -64,4 +64,14 @@ public class FinderUtil {
|
||||
return ResponseEntity.status(404).body("The user has not started this cache yet");
|
||||
}
|
||||
|
||||
public static ResponseEntity findUserByUsername(String username){
|
||||
|
||||
User user = userRepository.findByUsername(username);
|
||||
if(user != null){
|
||||
return ResponseEntity.status(200).body(user);
|
||||
}
|
||||
|
||||
return ResponseEntity.status(404).body("Couldnt find user with username " + username);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user