mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 03:45:57 +00:00
added current values to post post target
added support for custom setup steps for each feature added mod mail category setup step
This commit is contained in:
@@ -4,7 +4,9 @@ import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.config.PostTargetEnum;
|
||||
import dev.sheldan.abstracto.core.interactive.SetupStep;
|
||||
import dev.sheldan.abstracto.core.service.FeatureValidator;
|
||||
import dev.sheldan.abstracto.modmail.setup.ModMailCategorySetup;
|
||||
import dev.sheldan.abstracto.modmail.validator.ModMailFeatureValidator;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -18,6 +20,9 @@ public class ModMailFeature implements FeatureConfig {
|
||||
@Autowired
|
||||
private ModMailFeatureValidator modMailFeatureValidator;
|
||||
|
||||
@Autowired
|
||||
private ModMailCategorySetup modMailCategorySetup;
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return ModMailFeatures.MOD_MAIL;
|
||||
@@ -47,4 +52,9 @@ public class ModMailFeature implements FeatureConfig {
|
||||
public List<String> getRequiredSystemConfigKeys() {
|
||||
return Arrays.asList("modMailClosingText");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SetupStep> getCustomSetupSteps() {
|
||||
return Arrays.asList(modMailCategorySetup);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package dev.sheldan.abstracto.modmail.models.template;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Category;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ModMailCategoryActionModel {
|
||||
private Category category;
|
||||
private Long categoryId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.modmail.models.template;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Category;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class SetupModMailCategoryMessageModel {
|
||||
private Category category;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.sheldan.abstracto.modmail.setup;
|
||||
|
||||
import dev.sheldan.abstracto.core.interactive.SetupStep;
|
||||
|
||||
public interface ModMailCategorySetup extends SetupStep {
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package dev.sheldan.abstracto.modmail.validator;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FeatureValidationResult;
|
||||
import dev.sheldan.abstracto.core.service.FeatureValidator;
|
||||
import net.dv8tion.jda.api.entities.Guild;
|
||||
|
||||
public interface ModMailFeatureValidator extends FeatureValidator {
|
||||
void validateModMailCategory(FeatureValidationResult validationResult, Guild guild, Long modMailCategory);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user