Raid groups page working

This commit is contained in:
2025-03-06 23:54:34 -05:00
parent fa3738f88e
commit 18f048bc3b
5 changed files with 178 additions and 2 deletions

View File

@@ -114,6 +114,7 @@ public class RaidGroupController{
@PutMapping("/{raidGroupId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN})
public ObjectNode updateRaidGroup(@RequestParam(value = "iconFile", required = false) MultipartFile file, @PathVariable("raidGroupId") UUID raidGroupId, @RequestParam("raidGroupName") String raidGroupName, @RequestParam("gameId") UUID gameId, @RequestParam(value = "raidGroupIcon", required = false) String raidGroupIcon){
log.info("Updating raid group {}", raidGroupName);
@@ -136,6 +137,7 @@ public class RaidGroupController{
@DeleteMapping("/{raidGroupId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN})
public ObjectNode deleteRaidGroup(@PathVariable("raidGroupId") UUID raidGroupId){
log.info("Deleting raid group {}", raidGroupId);
@@ -149,6 +151,8 @@ public class RaidGroupController{
return returnNode;
}
//!Game
@GetMapping("/game/{gameId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
public List<RaidGroup> getRaidGroupsByGame(@PathVariable("gameId") UUID gameId, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam(value = "searchTerm", required = false) String searchTermString){
@@ -186,6 +190,48 @@ public class RaidGroupController{
countNode.put("status", "success");
return countNode;
}
//!Account
@GetMapping("/account/{accountId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
public List<RaidGroup> getRaidGroupsByAccount(@PathVariable("accountId") UUID accountId, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam(value = "searchTerm", required = false) String searchTermString){
log.info("Getting raid groups for account {} page {} of size {} with search term {}", accountId, page, pageSize, searchTermString);
List<RaidGroup> raidGroups;
if((searchTermString == null) || (searchTermString.isBlank())){
raidGroups = raidGroupService.getRaidGroupsByAccount(accountId, page, pageSize);
}
else{
raidGroups = raidGroupService.getRaidGroupsByAccount(accountId, page, pageSize, searchTermString);
}
return raidGroups;
}
@GetMapping("/account/{accountId}/count")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
public ObjectNode getRaidGroupsCountByAccount(@PathVariable("accountId") UUID accountId, @RequestParam(value = "searchTerm", required = false) String searchTerm){
log.info("Getting raid groups count for account {} with search term {}", accountId, searchTerm);
Long raidGroupsCount;
if((searchTerm == null) || (searchTerm.isBlank())){
raidGroupsCount = raidGroupService.getRaidGroupsCountByAccount(accountId);
}
else{
raidGroupsCount = raidGroupService.getRaidGroupsCountByAccount(accountId, searchTerm);
}
ObjectNode countNode = mapper.createObjectNode();
countNode.put("count", raidGroupsCount);
countNode.put("status", "success");
return countNode;
}
}