Add validation to utils

This commit is contained in:
2025-04-06 21:59:06 -04:00
parent 60aa0bcb7e
commit b618d57143
35 changed files with 1670 additions and 181 deletions

View File

@@ -0,0 +1,132 @@
package com.mattrixwv.raidbuilder.util.validation;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.springframework.stereotype.Component;
import com.mattrixwv.raidbuilder.entity.GameClass;
import com.mattrixwv.raidbuilder.entity.Person;
import com.mattrixwv.raidbuilder.entity.PersonCharacter;
import com.mattrixwv.raidbuilder.service.GameClassService;
import com.mattrixwv.raidbuilder.service.PersonCharacterService;
import com.mattrixwv.raidbuilder.service.PersonService;
import lombok.RequiredArgsConstructor;
@Component
@RequiredArgsConstructor
public class PersonCharacterValidationUtil{
private final GameClassService gameClassService;
private final PersonService person;
private final PersonCharacterService personCharacterService;
public List<String> validateNewPersonCharacter(PersonCharacter personCharacter, UUID raidGroupId){
ArrayList<String> errors = new ArrayList<>();
//Person Character ID
if(personCharacter.getPersonCharacterId() != null){
errors.add("Person character ID must be null");
}
//Person ID
if(personCharacter.getPersonId() == null){
errors.add("Person ID is required");
}
else{
Person existingPerson = person.getPerson(personCharacter.getPersonId(), raidGroupId);
if(existingPerson == null){
errors.add("Person ID is invalid");
}
}
//Game Class ID
if(personCharacter.getGameClassId() == null){
errors.add("Game class ID is required");
}
else{
GameClass existingGameClass = gameClassService.getById(personCharacter.getGameClassId());
if(existingGameClass == null){
errors.add("Game class ID is invalid");
}
}
//Character Name
if((personCharacter.getCharacterName() == null) || (personCharacter.getCharacterName().trim().isEmpty())){
errors.add("Character name is required");
}
else{
PersonCharacter existingPersonCharacter = personCharacterService.getByPersonIdAndCharacterName(personCharacter.getPersonId(), personCharacter.getCharacterName());
if(existingPersonCharacter != null){
errors.add("Character name already exists for this person");
}
}
//Rating
if((personCharacter.getCharacterRating() < 0) || personCharacter.getCharacterRating() > 10){
errors.add("Character rating must be between 0 and 10");
}
return errors;
}
public List<String> validateExistingPersonCharacter(PersonCharacter personCharacter, UUID raidGroupId){
ArrayList<String> errors = new ArrayList<>();
//Person Character ID
if(personCharacter.getPersonCharacterId() == null){
errors.add("Person character ID is required");
return errors;
}
PersonCharacter existingPersonCharacter = personCharacterService.getById(personCharacter.getPersonCharacterId());
if(existingPersonCharacter == null){
errors.add("Person character ID is invalid");
}
//Person ID
if(personCharacter.getPersonId() == null){
errors.add("Person ID is required");
}
else{
Person existingPerson = person.getPerson(personCharacter.getPersonId(), raidGroupId);
if(existingPerson == null){
errors.add("Person ID is invalid");
}
}
//Game Class ID
if(personCharacter.getGameClassId() == null){
errors.add("Game class ID is required");
}
else{
GameClass existingGameClass = gameClassService.getById(personCharacter.getGameClassId());
if(existingGameClass == null){
errors.add("Game class ID is invalid");
}
}
//Character Name
if((personCharacter.getCharacterName() == null) || (personCharacter.getCharacterName().trim().isEmpty())){
errors.add("Character name is required");
}
else{
existingPersonCharacter = personCharacterService.getByPersonIdAndCharacterName(personCharacter.getPersonId(), personCharacter.getCharacterName());
if(existingPersonCharacter != null){
errors.add("Character name already exists for this person");
}
}
//Rating
if((personCharacter.getCharacterRating() < 0) || personCharacter.getCharacterRating() > 10){
errors.add("Character rating must be between 0 and 10");
}
return errors;
}
}