Raid Instances showing up on calendar

This commit is contained in:
2025-03-15 18:37:47 -04:00
parent 2778740cef
commit 1b31144f44
4 changed files with 51 additions and 1 deletions

View File

@@ -20,8 +20,10 @@ import com.mattrixwv.raidbuilder.annotation.GameAuthorization;
import com.mattrixwv.raidbuilder.annotation.RaidGroupAuthorization;
import com.mattrixwv.raidbuilder.entity.GameCalendarEvent;
import com.mattrixwv.raidbuilder.entity.RaidGroupCalendarEvent;
import com.mattrixwv.raidbuilder.entity.RaidInstanceCalendarEvent;
import com.mattrixwv.raidbuilder.service.GameCalendarEventService;
import com.mattrixwv.raidbuilder.service.RaidGroupCalendarEventService;
import com.mattrixwv.raidbuilder.service.RaidInstanceService;
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.AccountPermissionType;
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.GamePermissionType;
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.RaidGroupPermissionType;
@@ -38,8 +40,10 @@ public class CalendarController{
private final ObjectMapper mapper;
private final GameCalendarEventService gceService;
private final RaidGroupCalendarEventService rgceService;
private final RaidInstanceService raidInstanceService;
//! Game
@GetMapping("/game/{gameId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
public List<GameCalendarEvent> getGameCalendarEvents(@PathVariable("gameId") UUID gameId){
@@ -97,7 +101,7 @@ public class CalendarController{
}
//!Calendar
//! Raid Group
@GetMapping("/raidGroup/{raidGroupId}")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER, RaidGroupPermissionType.RAIDER})
@@ -154,4 +158,15 @@ public class CalendarController{
return returnNode;
}
//! Raid Instance
@GetMapping("/raidGroup/{raidGroupId}/raidInstance")
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER, RaidGroupPermissionType.RAIDER})
public List<RaidInstanceCalendarEvent> getGameCalendarEventsByRaidInstance(@PathVariable("raidGroupId") UUID raidGroupId){
log.info("Getting calendar events for raid group {}", raidGroupId);
return raidInstanceService.findAllByRaidGroupId(raidGroupId).stream().map(instance -> new RaidInstanceCalendarEvent(instance)).toList();
}
}