added a isPresent() check and unregistered users are able start a cache now

This commit is contained in:
Michael 2019-03-24 00:16:01 +01:00
parent 07010e9899
commit 5b6fe52a04

View File

@ -40,27 +40,51 @@ public class Controller {
@RequestMapping("/startCache")
public @ResponseBody
Bearbeitet startCache(@RequestParam String userID,
String startCache(@RequestParam(value = "userID", defaultValue = "-1") String userID,
@RequestParam String cacheID,
@RequestParam String cacheAccesDefinitionID) {
if (!userID.equals("-1")) { // ein angemeldeter User startet den Cache
Bearbeitet bearbeitet = new Bearbeitet();
Optional<User> userOptional = userRepository.findById(Integer.valueOf(userID));
if (userOptional.isPresent()) {
User user = userOptional.get();
bearbeitet.setUser(user);
} else {
return "There is no user with the ID " + userID;
}
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
if (cacheOptional.isPresent()) {
Cache cache = cacheOptional.get();
bearbeitet.setCache(cache);
} else {
return "There is no cache with the ID " + cacheID;
}
Optional<CacheAccesDefinition> cacheAccesDefinitionOptional =
cacheAccesDefinitionRepository.findById(Integer.valueOf(cacheAccesDefinitionID));
if (cacheAccesDefinitionOptional.isPresent()) {
CacheAccesDefinition cacheAccesDefinition = cacheAccesDefinitionOptional.get();
Bearbeitet bearbeitet = new Bearbeitet();
bearbeitet.setUser(user);
bearbeitet.setCache(cache);
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
} else {
return "There is no cacheAccesDefinition with the ID " + cacheAccesDefinitionID;
}
bearbeitetRepository.save(bearbeitet);
return bearbeitet;
return new Gson().toJson(bearbeitet);
} else { // kein angemeldeter User startet den Cache
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
if (cacheOptional.isPresent()) {
Cache cache = cacheOptional.get();
return new Gson().toJson(cache);
} else {
return "There is no cache with the ID " + cacheID;
}
}
}
}