mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-27 14:23:56 +00:00
added validation for emotes to features
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package dev.sheldan.abstracto.core.command.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class CoreFeature implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRequiredEmotes() {
|
||||
return Arrays.asList("warnReaction", "successReaction");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.command.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CoreFeatures implements FeatureEnum {
|
||||
CORE_FEATURE("core");
|
||||
|
||||
private String key;
|
||||
|
||||
CoreFeatures(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
}
|
||||
@@ -16,4 +16,5 @@ public interface FeatureConfig {
|
||||
default List<PostTargetEnum> getRequiredPostTargets() { return Collections.emptyList();}
|
||||
default List<String> getRequiredSystemConfigKeys() { return Collections.emptyList();}
|
||||
default List<FeatureValidator> getAdditionalFeatureValidators() { return Collections.emptyList(); }
|
||||
default List<String> getRequiredEmotes() { return Collections.emptyList(); }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package dev.sheldan.abstracto.core.models;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class EmoteMissingValidationError implements ValidationError {
|
||||
|
||||
private String emoteKey;
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "emote_not_setup";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
HashMap<String, String> params = new HashMap<>();
|
||||
params.put("emoteKey", emoteKey);
|
||||
return params;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,4 +7,5 @@ import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
public interface FeatureValidatorService {
|
||||
void checkPostTarget(PostTargetEnum postTargetEnum, AServer server, FeatureValidationResult featureValidationResult);
|
||||
boolean checkSystemConfig(String name, AServer server, FeatureValidationResult featureValidationResult);
|
||||
void checkEmote(String emoteKey, AServer server, FeatureValidationResult featureValidationResult);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user