Person tab working
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package com.mattrixwv.raidbuilder.controller;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.mattrixwv.raidbuilder.annotation.AccountAuthorization;
|
||||
import com.mattrixwv.raidbuilder.annotation.RaidGroupAuthorization;
|
||||
import com.mattrixwv.raidbuilder.entity.PersonCharacter;
|
||||
import com.mattrixwv.raidbuilder.service.PersonCharacterService;
|
||||
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.AccountPermissionType;
|
||||
import com.mattrixwv.raidbuilder.util.DatabaseTypeUtil.RaidGroupPermissionType;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/raidGroup/{raidGroupId}/person/{personId}/character")
|
||||
@RequiredArgsConstructor
|
||||
public class PersonCharacterController{
|
||||
private final PersonCharacterService personCharacterService;
|
||||
|
||||
|
||||
@GetMapping
|
||||
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER, RaidGroupPermissionType.RAIDER})
|
||||
public List<PersonCharacter> getPersonCharactersForPerson(@PathVariable("raidGroupId") UUID raidGroupId, @PathVariable("personId") UUID personId){
|
||||
log.info("Getting person characters for person {}", personId);
|
||||
|
||||
|
||||
return personCharacterService.getByPersonId(personId);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER})
|
||||
public PersonCharacter createPersonCharacter(@PathVariable("raidGroupId") UUID raidGroupId, @PathVariable("personId") UUID personId, @RequestBody PersonCharacter personCharacter){
|
||||
log.info("Creating person character {} for person {}", personCharacter.getCharacterName(), personId);
|
||||
|
||||
|
||||
personCharacter.setPersonId(personId);
|
||||
personCharacter = personCharacterService.createPersonCharacter(personCharacter);
|
||||
|
||||
return personCharacter;
|
||||
}
|
||||
|
||||
@PutMapping("/{characterId}")
|
||||
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER})
|
||||
public PersonCharacter updatePersonCharacter(@PathVariable("raidGroupId") UUID raidGroupId, @PathVariable("personId") UUID personId, @PathVariable("characterId") UUID characterId, @RequestBody PersonCharacter personCharacter){
|
||||
log.info("Updating person character {} for person {}", personCharacter.getCharacterName(), personId);
|
||||
|
||||
|
||||
personCharacter.setPersonCharacterId(characterId);
|
||||
personCharacter.setPersonId(personId);
|
||||
personCharacter = personCharacterService.updatePersonCharacter(personCharacter);
|
||||
|
||||
return personCharacter;
|
||||
}
|
||||
|
||||
@DeleteMapping("/{characterId}")
|
||||
@AccountAuthorization(permissions = {AccountPermissionType.ADMIN, AccountPermissionType.USER})
|
||||
@RaidGroupAuthorization(permissions = {RaidGroupPermissionType.ADMIN, RaidGroupPermissionType.LEADER})
|
||||
public void deletePersonCharacter(@PathVariable("raidGroupId") UUID raidGroupId, @PathVariable("personId") UUID personId, @PathVariable("characterId") UUID characterId){
|
||||
log.info("Deleting person character {} for person {}", characterId, personId);
|
||||
|
||||
|
||||
personCharacterService.deletePersonCharacter(characterId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user