Raid Request button working

This commit is contained in:
2025-03-10 20:30:44 -04:00
parent c58df66e75
commit 09986bb81d
3 changed files with 25 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package com.mattrixwv.raidbuilder.config;
import java.time.Duration;
import java.time.Instant;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Value;
@@ -12,8 +13,15 @@ import org.springframework.security.oauth2.jwt.JwtClaimsSet;
import org.springframework.security.oauth2.jwt.JwtEncoder;
import org.springframework.security.oauth2.jwt.JwtEncoderParameters;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mattrixwv.raidbuilder.entity.Account;
import com.mattrixwv.raidbuilder.entity.GamePermission;
import com.mattrixwv.raidbuilder.entity.RaidGroupPermission;
import com.mattrixwv.raidbuilder.entity.RaidGroupRequest;
import com.mattrixwv.raidbuilder.service.AccountPermissionService;
import com.mattrixwv.raidbuilder.service.GamePermissionService;
import com.mattrixwv.raidbuilder.service.RaidGroupPermissionService;
import com.mattrixwv.raidbuilder.service.RaidGroupRequestService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -23,8 +31,12 @@ import lombok.extern.slf4j.Slf4j;
@Configuration
@RequiredArgsConstructor
public class TokenService{
private final ObjectMapper mapper;
private final JwtEncoder encoder;
private final AccountPermissionService accountPermissionService;
private final GamePermissionService gamePermissionService;
private final RaidGroupPermissionService raidGroupPermissionService;
private final RaidGroupRequestService raidGroupRequestService;
//Fields
@Value("${jwt.accessTokenDuration}")
private Duration accessTokenDuration;
@@ -35,6 +47,9 @@ public class TokenService{
String scope = accountPermissionService.getByAccountId(account.getAccountId()).stream().map(GrantedAuthority::getAuthority).collect(Collectors.joining(" "));
List<GamePermission> gamePermissions = gamePermissionService.getByAccountId(account.getAccountId());
List<RaidGroupPermission> raidGroupPermissions = raidGroupPermissionService.getByAccountId(account.getAccountId());
List<RaidGroupRequest> raidGroupRequests = raidGroupRequestService.getByAccountId(account.getAccountId());
Instant now = Instant.now();
JwtClaimsSet claims = JwtClaimsSet.builder()
@@ -44,6 +59,9 @@ public class TokenService{
.subject(account.getUsername())
.claim("scope", scope)
.claim("accountId", account.getAccountId().toString())
.claim("raidGroupPermissions", mapper.valueToTree(raidGroupPermissions).toString())
.claim("gamePermissions", mapper.valueToTree(gamePermissions).toString())
.claim("raidGroupRequests", mapper.valueToTree(raidGroupRequests).toString())
//Game Permissions
//Raid Group Permissions
.build();

View File

@@ -15,7 +15,8 @@ public interface RaidGroupRequestRepository extends RaidGroupRequestCustomReposi
public void deleteAllByRaidGroupIdIn(Iterable<UUID> raidGroupIds);
public List<RaidGroupRequest> findByRaidGroupId(UUID raidGroupId, PageRequest pageRequest);
public List<RaidGroupRequest> findAllByAccountId(UUID accountId);
public List<RaidGroupRequest> findAllByRaidGroupId(UUID raidGroupId, PageRequest pageRequest);
public long countByRaidGroupId(UUID raidGroupId);
}

View File

@@ -61,8 +61,12 @@ public class RaidGroupRequestService{
//Read
public List<RaidGroupRequest> getByAccountId(UUID accountId){
return rgrRepository.findAllByAccountId(accountId);
}
public List<RaidGroupRequest> getByRaidGroupId(UUID raidGroupId, int page, int pageSize){
return rgrRepository.findByRaidGroupId(raidGroupId, PageRequest.of(page, pageSize, Sort.by("createdBy").ascending()));
return rgrRepository.findAllByRaidGroupId(raidGroupId, PageRequest.of(page, pageSize, Sort.by("createdBy").ascending()));
}
public List<RaidGroupRequest> getByRaidGroupId(UUID raidGroupId, int page, int pageSize, String searchTerm){