mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-10 09:21:34 +00:00
[AB-135] adding a template to describe the parameter validators for help texts, fixing assignable roles not available as module
This commit is contained in:
@@ -2,7 +2,9 @@ package dev.sheldan.abstracto.assignableroles.command;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class AssignableRoleModule implements ModuleInterface {
|
||||
public static final String ASSIGNABLE_ROLES = "assignableRoles";
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ public class CommandReceivedHandler extends ListenerAdapter {
|
||||
boolean validate = parameterValidator.validate(parameters.getParameters().get(i));
|
||||
if(!validate) {
|
||||
log.trace("Parameter {} in command {} failed to validate.", parameter.getName(), foundCommand.getConfiguration().getName());
|
||||
throw new CommandParameterValidationException(parameterValidator.getParameters(), parameterValidator.getTemplateName(), parameter);
|
||||
throw new CommandParameterValidationException(parameterValidator.getParameters(), parameterValidator.getExceptionTemplateName(), parameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package dev.sheldan.abstracto.core.command.config;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.validator.ValidatorParam;
|
||||
import dev.sheldan.abstracto.templating.Templatable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ParameterValidator {
|
||||
public interface ParameterValidator extends Templatable {
|
||||
boolean validate(Object value);
|
||||
List<ValidatorParam> getParameters();
|
||||
String getTemplateName();
|
||||
String getExceptionTemplateName();
|
||||
}
|
||||
|
||||
@@ -39,7 +39,17 @@ public class MaxIntegerValueValidator implements ParameterValidator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
public String getExceptionTemplateName() {
|
||||
return "command_parameter_validation_value_too_large";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "max_integer_value_validation_description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return getParameters().get(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class MaxStringLengthValidator implements ParameterValidator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
public String getExceptionTemplateName() {
|
||||
return "command_parameter_validation_string_too_long";
|
||||
}
|
||||
|
||||
@@ -51,4 +51,13 @@ public class MaxStringLengthValidator implements ParameterValidator {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "max_string_length_validation_description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return getParameters().get(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,8 +53,18 @@ public class MinIntegerValueValidator implements ParameterValidator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
public String getExceptionTemplateName() {
|
||||
return "command_parameter_validation_value_too_small";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "min_integer_value_validation_description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return getParameters().get(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,17 @@ public class MinStringLengthValidator implements ParameterValidator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
public String getExceptionTemplateName() {
|
||||
return "command_parameter_validation_string_too_short";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "min_string_length_validation_description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return getParameters().get(0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user