mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-07-04 04:07:43 +00:00
[AB-197] splitting utility maven module into separate maven modules
aligning some package names removing some unnecessary computed values from liquibase
This commit is contained in:
@@ -17,9 +17,9 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.ExceptionService;
|
||||
import dev.sheldan.abstracto.core.command.service.PostCommandExecution;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
|
||||
import dev.sheldan.abstracto.core.service.EmoteService;
|
||||
import dev.sheldan.abstracto.core.service.RoleService;
|
||||
|
||||
@@ -3,11 +3,11 @@ package dev.sheldan.abstracto.core.command.service;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.CommandReceivedHandler;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.command.exception.CommandNotFoundException;
|
||||
import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
|
||||
import dev.sheldan.abstracto.core.command.execution.UnParsedCommandParameter;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import dev.sheldan.abstracto.core.service.management.DefaultConfigManagementService;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
@@ -88,11 +88,11 @@ public class CommandManager implements CommandRegistry {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Command> getAllCommandsFromModule(ModuleInterface moduleInterface) {
|
||||
public List<Command> getAllCommandsFromModule(ModuleDefinition moduleDefinition) {
|
||||
List<Command> commandsFromModule = new ArrayList<>();
|
||||
this.getAllCommands().forEach(command -> {
|
||||
CommandConfiguration configuration = command.getConfiguration();
|
||||
if(configuration != null && configuration.getModule().equals(moduleInterface.getInfo().getName())){
|
||||
if(configuration != null && configuration.getModule().equals(moduleDefinition.getInfo().getName())){
|
||||
commandsFromModule.add(command);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -17,7 +17,7 @@ import dev.sheldan.abstracto.core.command.service.management.CommandInServerMana
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.ModuleManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
@@ -57,13 +57,13 @@ public class CommandServiceBean implements CommandService {
|
||||
private CommandReceivedHandler commandReceivedHandler;
|
||||
|
||||
@Override
|
||||
public ACommand createCommand(String name, String moduleName, FeatureEnum featureEnum) {
|
||||
public ACommand createCommand(String name, String moduleName, FeatureDefinition featureDefinition) {
|
||||
AModule module = moduleManagementService.getOrCreate(moduleName);
|
||||
if(featureEnum == null) {
|
||||
if(featureDefinition == null) {
|
||||
log.warn("Command {} in module {} has no feature.", name, moduleName);
|
||||
return null;
|
||||
}
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
return commandManagementService.createCommand(name, module, feature);
|
||||
}
|
||||
|
||||
@@ -83,8 +83,8 @@ public class CommandServiceBean implements CommandService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void allowFeatureForRole(FeatureEnum featureEnum, ARole role) {
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
public void allowFeatureForRole(FeatureDefinition featureDefinition, ARole role) {
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
feature.getCommands().forEach(command -> this.allowCommandForRole(command, role));
|
||||
log.info("Allowing feature {} for role {} in server {}.", feature.getKey(), role.getId(), role.getServer().getId());
|
||||
}
|
||||
@@ -151,8 +151,8 @@ public class CommandServiceBean implements CommandService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disAllowFeatureForRole(FeatureEnum featureEnum, ARole role) {
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
public void disAllowFeatureForRole(FeatureDefinition featureDefinition, ARole role) {
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
feature.getCommands().forEach(command -> this.disAllowCommandForRole(command, role));
|
||||
log.info("Disallowing feature {} for role {} in server {}.", feature.getKey(), role.getId(), role.getServer().getId());
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.command.config.SingleLevelPackedModule;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -13,43 +13,43 @@ import java.util.stream.Collectors;
|
||||
public class ModuleManager implements ModuleRegistry {
|
||||
|
||||
@Autowired
|
||||
private List<ModuleInterface> moduleInterfaces;
|
||||
private List<ModuleDefinition> moduleDefinitions;
|
||||
|
||||
@Autowired
|
||||
private CommandRegistry commandRegistry;
|
||||
|
||||
@Override
|
||||
public List<ModuleInterface> getModuleInterfaces() {
|
||||
return moduleInterfaces;
|
||||
public List<ModuleDefinition> getModuleInterfaces() {
|
||||
return moduleDefinitions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleLevelPackedModule getPackedModule(ModuleInterface moduleInterface) {
|
||||
List<Command> commands = commandRegistry.getAllCommandsFromModule(moduleInterface);
|
||||
public SingleLevelPackedModule getPackedModule(ModuleDefinition moduleDefinition) {
|
||||
List<Command> commands = commandRegistry.getAllCommandsFromModule(moduleDefinition);
|
||||
return SingleLevelPackedModule
|
||||
.builder()
|
||||
.commands(commands)
|
||||
.moduleInterface(moduleInterface)
|
||||
.moduleDefinition(moduleDefinition)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean moduleExists(String name) {
|
||||
return moduleInterfaces.stream().anyMatch(moduleInterface -> moduleInterface.getInfo().getName().equalsIgnoreCase(name));
|
||||
return moduleDefinitions.stream().anyMatch(moduleInterface -> moduleInterface.getInfo().getName().equalsIgnoreCase(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleInterface getModuleByName(String name) {
|
||||
return moduleInterfaces.stream().filter(moduleInterface -> moduleInterface.getInfo().getName().equalsIgnoreCase(name)).findFirst().orElse(null);
|
||||
public ModuleDefinition getModuleByName(String name) {
|
||||
return moduleDefinitions.stream().filter(moduleInterface -> moduleInterface.getInfo().getName().equalsIgnoreCase(name)).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ModuleInterface> getSubModules(ModuleInterface parentModuleInterface) {
|
||||
return moduleInterfaces.stream().filter(moduleInterface -> moduleInterface.getParentModule() != null && moduleInterface.getParentModule().equals(parentModuleInterface.getInfo().getName())).collect(Collectors.toList());
|
||||
public List<ModuleDefinition> getSubModules(ModuleDefinition parentModuleDefinition) {
|
||||
return moduleDefinitions.stream().filter(moduleInterface -> moduleInterface.getParentModule() != null && moduleInterface.getParentModule().equals(parentModuleDefinition.getInfo().getName())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleInterface getDefaultModule() {
|
||||
public ModuleDefinition getDefaultModule() {
|
||||
return getModuleByName("default");
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import net.dv8tion.jda.api.entities.TextChannel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -40,7 +40,7 @@ public class AddToChannelGroup extends AbstractConditionableCommand {
|
||||
List<String> aliases = Arrays.asList("addTChGrp", "chGrpCh+");
|
||||
return CommandConfiguration.builder()
|
||||
.name("addToChannelGroup")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.aliases(aliases)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
@@ -51,7 +51,7 @@ public class AddToChannelGroup extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package dev.sheldan.abstracto.core.commands.channels;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ChannelsModuleInterface implements ModuleInterface {
|
||||
public class ChannelsModuleDefinition implements ModuleDefinition {
|
||||
|
||||
public static final String CHANNELS = "channels";
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.ChannelGroupType;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import dev.sheldan.abstracto.core.service.management.ChannelGroupTypeManagementService;
|
||||
@@ -45,7 +45,7 @@ public class CreateChannelGroup extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("createChannelGroup")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.parameters(parameters)
|
||||
.aliases(aliases)
|
||||
.supportsEmbedException(true)
|
||||
@@ -56,7 +56,7 @@ public class CreateChannelGroup extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -36,7 +36,7 @@ public class DeleteChannelGroup extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("deleteChannelGroup")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.parameters(parameters)
|
||||
.aliases(aliases)
|
||||
.supportsEmbedException(true)
|
||||
@@ -47,7 +47,7 @@ public class DeleteChannelGroup extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ import dev.sheldan.abstracto.core.command.condition.CommandCondition;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -38,7 +38,7 @@ public class DisableCommand extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("disableCommand")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
@@ -48,8 +48,8 @@ public class DisableCommand extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,10 +5,10 @@ import dev.sheldan.abstracto.core.command.condition.CommandCondition;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -38,7 +38,7 @@ public class EnableCommand extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("enableCommand")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.templated(true)
|
||||
@@ -48,8 +48,8 @@ public class EnableCommand extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,11 +3,11 @@ package dev.sheldan.abstracto.core.commands.channels;
|
||||
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.ChannelGroupChannelModel;
|
||||
@@ -83,7 +83,7 @@ public class ListChannelGroups extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("listChannelGroups")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.aliases(aliases)
|
||||
.templated(true)
|
||||
.help(helpInfo)
|
||||
@@ -93,7 +93,7 @@ public class ListChannelGroups extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.PostTargetNotValidException;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.database.PostTarget;
|
||||
@@ -93,7 +93,7 @@ public class PostTargetCommand extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("posttarget")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.parameters(parameters)
|
||||
.async(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -104,7 +104,7 @@ public class PostTargetCommand extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelGroupService;
|
||||
import dev.sheldan.abstracto.core.service.management.ChannelManagementService;
|
||||
@@ -44,7 +44,7 @@ public class RemoveFromChannelGroup extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("removeFromChannelGroup")
|
||||
.module(ChannelsModuleInterface.CHANNELS)
|
||||
.module(ChannelsModuleDefinition.CHANNELS)
|
||||
.aliases(aliases)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
@@ -55,7 +55,7 @@ public class RemoveFromChannelGroup extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.CacheServiceBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -33,7 +33,7 @@ public class ClearCache extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("clearCache")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
@@ -43,7 +43,7 @@ public class ClearCache extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package dev.sheldan.abstracto.core.commands.config;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ConfigModuleInterface implements ModuleInterface {
|
||||
public class ConfigModuleDefinition implements ModuleDefinition {
|
||||
|
||||
public static final String CONFIG = "config";
|
||||
|
||||
@@ -4,11 +4,11 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.ConfigurationKeyNotFoundException;
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import dev.sheldan.abstracto.core.service.management.DefaultConfigManagementService;
|
||||
@@ -56,7 +56,7 @@ public class ResetConfig extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("resetConfig")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
@@ -67,8 +67,8 @@ public class ResetConfig extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ServerService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -35,7 +35,7 @@ public class SetAdminMode extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setAdminMode")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -45,7 +45,7 @@ public class SetAdminMode extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -38,7 +38,7 @@ public class SetConfig extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setConfig")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -48,7 +48,7 @@ public class SetConfig extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.ParameterValidator;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -38,7 +38,7 @@ public class SetPrefix extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setPrefix")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
@@ -48,7 +48,7 @@ public class SetPrefix extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
|
||||
import dev.sheldan.abstracto.core.interactive.InteractiveService;
|
||||
import dev.sheldan.abstracto.core.models.AServerChannelUserId;
|
||||
@@ -61,7 +61,7 @@ public class SetupFeature extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setupFeature")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
@@ -72,7 +72,7 @@ public class SetupFeature extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -72,7 +72,7 @@ public class Allow extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("allow")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.help(helpInfo)
|
||||
@@ -81,7 +81,7 @@ public class Allow extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -51,8 +51,8 @@ public class AllowRole extends AbstractConditionableCommand {
|
||||
ARole fakeRole = (ARole) commandContext.getParameters().getParameters().get(1);
|
||||
ARole actualRole = roleManagementService.findRole(fakeRole.getId());
|
||||
if(featureManagementService.featureExists(name)) {
|
||||
FeatureEnum featureEnum = featureFlagService.getFeatureEnum(name);
|
||||
commandService.allowFeatureForRole(featureEnum, actualRole);
|
||||
FeatureDefinition featureDefinition = featureFlagService.getFeatureEnum(name);
|
||||
commandService.allowFeatureForRole(featureDefinition, actualRole);
|
||||
} else if(commandManagementService.doesCommandExist(name)) {
|
||||
ACommand command = commandManagementService.findCommandByName(name);
|
||||
commandService.allowCommandForRole(command, actualRole);
|
||||
@@ -70,7 +70,7 @@ public class AllowRole extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("allowRole")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.help(helpInfo)
|
||||
@@ -79,7 +79,7 @@ public class AllowRole extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -70,7 +70,7 @@ public class DisAllowRole extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("disAllowRole")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.templated(true)
|
||||
@@ -79,7 +79,7 @@ public class DisAllowRole extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@ import dev.sheldan.abstracto.core.command.condition.CommandCondition;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.EnableModel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||
@@ -73,7 +73,7 @@ public class DisableFeature extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("disableFeature")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.async(true)
|
||||
.help(helpInfo)
|
||||
@@ -84,8 +84,8 @@ public class DisableFeature extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
@@ -44,10 +44,10 @@ public class DisableMode extends AbstractConditionableCommand {
|
||||
public CommandResult execute(CommandContext commandContext) {
|
||||
String featureName = (String) commandContext.getParameters().getParameters().get(0);
|
||||
String modeName = (String) commandContext.getParameters().getParameters().get(1);
|
||||
FeatureEnum featureEnum = featureConfigService.getFeatureEnum(featureName);
|
||||
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
||||
FeatureMode featureMode = featureModeService.getFeatureModeForKey(modeName);
|
||||
AServer server = serverManagementService.loadServer(commandContext.getGuild());
|
||||
featureModeService.disableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
featureModeService.disableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
return CommandResult.fromSuccess();
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public class DisableMode extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("disableMode")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -69,7 +69,7 @@ public class DisableMode extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@ import dev.sheldan.abstracto.core.command.condition.CommandCondition;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.FeatureValidationResult;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.EnableModel;
|
||||
@@ -83,7 +83,7 @@ public class EnableFeature extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("enableFeature")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.async(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -94,8 +94,8 @@ public class EnableFeature extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
@@ -44,10 +44,10 @@ public class EnableMode extends AbstractConditionableCommand {
|
||||
public CommandResult execute(CommandContext commandContext) {
|
||||
String featureName = (String) commandContext.getParameters().getParameters().get(0);
|
||||
String modeName = (String) commandContext.getParameters().getParameters().get(1);
|
||||
FeatureEnum featureEnum = featureConfigService.getFeatureEnum(featureName);
|
||||
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
||||
FeatureMode featureMode = featureModeService.getFeatureModeForKey(modeName);
|
||||
AServer server = serverManagementService.loadServer(commandContext.getGuild().getIdLong());
|
||||
featureModeService.enableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
featureModeService.enableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
return CommandResult.fromSuccess();
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public class EnableMode extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("enableMode")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -69,7 +69,7 @@ public class EnableMode extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.FeatureModeDisplay;
|
||||
@@ -53,8 +53,8 @@ public class FeatureModes extends AbstractConditionableCommand {
|
||||
featureModes = featureModeService.getEffectiveFeatureModes(server);
|
||||
} else {
|
||||
String featureName = (String) commandContext.getParameters().getParameters().get(0);
|
||||
FeatureEnum featureEnum = featureConfigService.getFeatureEnum(featureName);
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
featureModes = featureModeService.getEffectiveFeatureModes(server, feature);
|
||||
}
|
||||
FeatureModesModel model = FeatureModesModel.builder().featureModes(featureModes).build();
|
||||
@@ -69,7 +69,7 @@ public class FeatureModes extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("featureModes")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -80,7 +80,7 @@ public class FeatureModes extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@ package dev.sheldan.abstracto.core.commands.config.features;
|
||||
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.converter.FeatureFlagConverter;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
@@ -79,7 +79,7 @@ public class Features extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("features")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -89,7 +89,7 @@ public class Features extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -71,7 +71,7 @@ public class MakeAffected extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("makeAffected")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.templated(true)
|
||||
@@ -80,7 +80,7 @@ public class MakeAffected extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -71,7 +71,7 @@ public class MakeImmune extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("makeImmune")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.help(helpInfo)
|
||||
@@ -80,7 +80,7 @@ public class MakeImmune extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
@@ -12,8 +12,8 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.CommandServiceBean;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
|
||||
@@ -73,7 +73,7 @@ public class Restrict extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("restrict")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.help(helpInfo)
|
||||
@@ -82,7 +82,7 @@ public class Restrict extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.AllowedMentionService;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,7 +37,7 @@ public class AllowMention extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("allowMention")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -47,7 +47,7 @@ public class AllowMention extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.AllowedMentionService;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -38,7 +38,7 @@ public class DisallowMention extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("disallowMention")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
@@ -48,8 +48,8 @@ public class DisallowMention extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.CustomTemplateNotFoundException;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.GetCustomTemplateModel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||
@@ -69,7 +69,7 @@ public class GetCustomTemplate extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("getCustomTemplate")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.async(true)
|
||||
@@ -80,7 +80,7 @@ public class GetCustomTemplate extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.TemplateNotFoundException;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.GetTemplateModel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||
@@ -71,7 +71,7 @@ public class GetTemplate extends AbstractConditionableCommand {
|
||||
List<Parameter> parameters = Arrays.asList(templateKeyParameter);
|
||||
return CommandConfiguration.builder()
|
||||
.name("getTemplate")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.supportsEmbedException(true)
|
||||
.async(true)
|
||||
.parameters(parameters)
|
||||
@@ -82,7 +82,7 @@ public class GetTemplate extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.CustomTemplateNotFoundException;
|
||||
import dev.sheldan.abstracto.core.templating.model.database.CustomTemplate;
|
||||
import dev.sheldan.abstracto.core.templating.service.TemplateService;
|
||||
@@ -48,7 +48,7 @@ public class ResetTemplate extends AbstractConditionableCommand {
|
||||
List<Parameter> parameters = Arrays.asList(templateKeyParameter);
|
||||
return CommandConfiguration.builder()
|
||||
.name("resetTemplate")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
@@ -58,7 +58,7 @@ public class ResetTemplate extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.templating.service.TemplateService;
|
||||
import dev.sheldan.abstracto.core.templating.service.management.CustomTemplateManagementService;
|
||||
import dev.sheldan.abstracto.core.utils.FileService;
|
||||
@@ -60,8 +60,8 @@ public class SetTemplate extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,7 +72,7 @@ public class SetTemplate extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setTemplate")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.commands.help;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.config.*;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
|
||||
@@ -13,10 +13,10 @@ import dev.sheldan.abstracto.core.command.service.CommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.ModuleRegistry;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.help.HelpCommandDetailsModel;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.help.HelpModuleDetailsModel;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.help.HelpModuleOverviewModel;
|
||||
@@ -75,7 +75,7 @@ public class Help implements Command {
|
||||
CounterMetric
|
||||
.builder()
|
||||
.name(HELP_COMMAND_EXECUTED_METRIC)
|
||||
.tagList(Arrays.asList(MetricTag.getTag(CATEGORY, "no.parmeter")))
|
||||
.tagList(Arrays.asList(MetricTag.getTag(CATEGORY, "no.parameter")))
|
||||
.build();
|
||||
|
||||
private static final CounterMetric HELP_COMMAND_MODULE_METRIC =
|
||||
@@ -109,9 +109,9 @@ public class Help implements Command {
|
||||
String parameter = (String) parameters.get(0);
|
||||
if(moduleService.moduleExists(parameter)){
|
||||
metricService.incrementCounter(HELP_COMMAND_MODULE_METRIC);
|
||||
ModuleInterface moduleInterface = moduleService.getModuleByName(parameter);
|
||||
log.trace("Displaying help for module {}.", moduleInterface.getInfo().getName());
|
||||
SingleLevelPackedModule module = moduleService.getPackedModule(moduleInterface);
|
||||
ModuleDefinition moduleDefinition = moduleService.getModuleByName(parameter);
|
||||
log.trace("Displaying help for module {}.", moduleDefinition.getInfo().getName());
|
||||
SingleLevelPackedModule module = moduleService.getPackedModule(moduleDefinition);
|
||||
List<Command> commands = module.getCommands();
|
||||
List<Command> filteredCommands = new ArrayList<>();
|
||||
commands.forEach(command -> {
|
||||
@@ -120,7 +120,7 @@ public class Help implements Command {
|
||||
}
|
||||
});
|
||||
module.setCommands(filteredCommands);
|
||||
List<ModuleInterface> subModules = moduleService.getSubModules(moduleInterface);
|
||||
List<ModuleDefinition> subModules = moduleService.getSubModules(moduleDefinition);
|
||||
HelpModuleDetailsModel model = (HelpModuleDetailsModel) ContextConverter.fromCommandContext(commandContext, HelpModuleDetailsModel.class);
|
||||
model.setModule(module);
|
||||
model.setSubModules(subModules);
|
||||
@@ -153,8 +153,8 @@ public class Help implements Command {
|
||||
|
||||
private CompletableFuture<CommandResult> displayHelpOverview(CommandContext commandContext) {
|
||||
log.trace("Displaying help overview response.");
|
||||
ModuleInterface moduleInterface = moduleService.getDefaultModule();
|
||||
List<ModuleInterface> subModules = moduleService.getSubModules(moduleInterface);
|
||||
ModuleDefinition moduleDefinition = moduleService.getDefaultModule();
|
||||
List<ModuleDefinition> subModules = moduleService.getSubModules(moduleDefinition);
|
||||
HelpModuleOverviewModel model = (HelpModuleOverviewModel) ContextConverter.fromCommandContext(commandContext, HelpModuleOverviewModel.class);
|
||||
model.setModules(subModules);
|
||||
MessageToSend messageToSend = templateService.renderEmbedTemplate("help_module_overview_response", model);
|
||||
@@ -174,7 +174,7 @@ public class Help implements Command {
|
||||
return CommandConfiguration.builder()
|
||||
.name("help")
|
||||
.async(true)
|
||||
.module(SupportModuleInterface.SUPPORT)
|
||||
.module(SupportModuleDefinition.SUPPORT)
|
||||
.parameters(Collections.singletonList(moduleOrCommandName))
|
||||
.help(helpInfo)
|
||||
.templated(true)
|
||||
@@ -183,8 +183,8 @@ public class Help implements Command {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package dev.sheldan.abstracto.core.commands.help;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class SupportModuleInterface implements ModuleInterface {
|
||||
public class SupportModuleDefinition implements ModuleDefinition {
|
||||
|
||||
|
||||
public static final String SUPPORT = "support";
|
||||
@@ -1,14 +1,14 @@
|
||||
package dev.sheldan.abstracto.core.commands.utility;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.UtilityModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.UtilityModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.EchoModel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||
import dev.sheldan.abstracto.core.templating.service.TemplateService;
|
||||
@@ -48,7 +48,7 @@ public class Echo extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("echo")
|
||||
.module(UtilityModuleInterface.UTILITY)
|
||||
.module(UtilityModuleDefinition.UTILITY)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(false)
|
||||
@@ -58,7 +58,7 @@ public class Echo extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.commands.utility;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.UtilityModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.UtilityModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.PingModel;
|
||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||
import dev.sheldan.abstracto.core.service.MessageService;
|
||||
@@ -40,7 +40,7 @@ public class Ping implements Command {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("ping")
|
||||
.module(UtilityModuleInterface.UTILITY)
|
||||
.module(UtilityModuleDefinition.UTILITY)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
.help(helpInfo)
|
||||
@@ -49,8 +49,8 @@ public class Ping implements Command {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@ import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||
import dev.sheldan.abstracto.core.command.config.HelpInfo;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.ParameterValidator;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatures;
|
||||
import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleInterface;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.commands.config.ConfigModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AEmote;
|
||||
import dev.sheldan.abstracto.core.service.EmoteService;
|
||||
import dev.sheldan.abstracto.core.service.management.EmoteManagementService;
|
||||
@@ -47,7 +47,7 @@ public class SetEmote extends AbstractConditionableCommand {
|
||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
|
||||
return CommandConfiguration.builder()
|
||||
.name("setEmote")
|
||||
.module(ConfigModuleInterface.CONFIG)
|
||||
.module(ConfigModuleDefinition.CONFIG)
|
||||
.parameters(parameters)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
@@ -57,7 +57,7 @@ public class SetEmote extends AbstractConditionableCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import ch.qos.logback.core.net.ssl.SecureRandomFactoryBean;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.jagrosh.jdautilities.commons.waiter.EventWaiter;
|
||||
import dev.sheldan.abstracto.core.metrics.OkHttpMetrics;
|
||||
import dev.sheldan.abstracto.core.metric.OkHttpMetrics;
|
||||
import dev.sheldan.abstracto.core.service.BotService;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.converter;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
||||
import dev.sheldan.abstracto.core.models.property.FeatureFlagProperty;
|
||||
import dev.sheldan.abstracto.core.models.template.commands.DefaultFeatureFlagDisplay;
|
||||
@@ -20,8 +20,8 @@ public class FeatureFlagConverter {
|
||||
private FeatureConfigService featureFlagService;
|
||||
|
||||
public FeatureFlagDisplay fromAFeatureFlag(AFeatureFlag featureFlag) {
|
||||
FeatureEnum featureEnum = featureFlagService.getFeatureEnum(featureFlag.getFeature().getKey());
|
||||
FeatureConfig forFeature = featureFlagService.getFeatureDisplayForFeature(featureEnum);
|
||||
FeatureDefinition featureDefinition = featureFlagService.getFeatureEnum(featureFlag.getFeature().getKey());
|
||||
FeatureConfig forFeature = featureFlagService.getFeatureDisplayForFeature(featureDefinition);
|
||||
return FeatureFlagDisplay
|
||||
.builder()
|
||||
.featureConfig(forFeature)
|
||||
@@ -30,8 +30,8 @@ public class FeatureFlagConverter {
|
||||
}
|
||||
|
||||
public DefaultFeatureFlagDisplay fromFeatureFlagProperty(FeatureFlagProperty featureFlagProperty) {
|
||||
FeatureEnum featureEnum = featureFlagService.getFeatureEnum(featureFlagProperty.getFeatureName());
|
||||
FeatureConfig forFeature = featureFlagService.getFeatureDisplayForFeature(featureEnum);
|
||||
FeatureDefinition featureDefinition = featureFlagService.getFeatureEnum(featureFlagProperty.getFeatureName());
|
||||
FeatureConfig forFeature = featureFlagService.getFeatureDisplayForFeature(featureDefinition);
|
||||
return DefaultFeatureFlagDisplay
|
||||
.builder()
|
||||
.featureConfig(forFeature)
|
||||
|
||||
@@ -3,9 +3,9 @@ package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.exception.ChannelNotInGuildException;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.AServerAChannelAUser;
|
||||
import dev.sheldan.abstracto.core.models.GuildChannelMember;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
|
||||
@@ -3,9 +3,9 @@ package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
import dev.sheldan.abstracto.core.command.service.ExceptionService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.execution.result.MessageReceivedListenerResult;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.service.BotService;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
|
||||
@@ -2,9 +2,9 @@ package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.metrics;
|
||||
package dev.sheldan.abstracto.core.metric;
|
||||
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Request;
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.metrics.OkHttpMetrics;
|
||||
import dev.sheldan.abstracto.core.metric.OkHttpMetrics;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.dv8tion.jda.api.JDA;
|
||||
import net.dv8tion.jda.api.JDABuilder;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.*;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.config.PostTargetEnum;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
@@ -43,12 +43,12 @@ public class FeatureConfigServiceBean implements FeatureConfigService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureConfig getFeatureDisplayForFeature(FeatureEnum featureEnum) {
|
||||
Optional<FeatureConfig> any = getAllFeatureConfigs().stream().filter(featureDisplay -> featureDisplay.getFeature().equals(featureEnum)).findAny();
|
||||
public FeatureConfig getFeatureDisplayForFeature(FeatureDefinition featureDefinition) {
|
||||
Optional<FeatureConfig> any = getAllFeatureConfigs().stream().filter(featureDisplay -> featureDisplay.getFeature().equals(featureDefinition)).findAny();
|
||||
if(any.isPresent()) {
|
||||
return any.get();
|
||||
}
|
||||
throw new FeatureNotFoundException(featureEnum.getKey(), getFeaturesAsList());
|
||||
throw new FeatureNotFoundException(featureDefinition.getKey(), getFeaturesAsList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -81,7 +81,7 @@ public class FeatureConfigServiceBean implements FeatureConfigService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeatureEnum(String key) {
|
||||
public FeatureDefinition getFeatureEnum(String key) {
|
||||
Optional<FeatureConfig> foundFeature = availableFeatures.stream().filter(featureDisplay -> featureDisplay.getFeature().getKey().equalsIgnoreCase(key)).findAny();
|
||||
if(foundFeature.isPresent()) {
|
||||
return foundFeature.get().getFeature();
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
||||
@@ -52,7 +52,7 @@ public class FeatureFlagServiceBean implements FeatureFlagService {
|
||||
|
||||
@Override
|
||||
public void enableFeature(FeatureConfig name, AServer server) {
|
||||
FeatureEnum feature = name.getFeature();
|
||||
FeatureDefinition feature = name.getFeature();
|
||||
if(!featureConfigService.doesFeatureExist(name)) {
|
||||
throw new FeatureNotFoundException(feature.getKey(), featureConfigService.getFeaturesAsList());
|
||||
}
|
||||
@@ -67,7 +67,7 @@ public class FeatureFlagServiceBean implements FeatureFlagService {
|
||||
|
||||
@Override
|
||||
public void disableFeature(FeatureConfig name, AServer server) {
|
||||
FeatureEnum feature = name.getFeature();
|
||||
FeatureDefinition feature = name.getFeature();
|
||||
if(!featureConfigService.doesFeatureExist(name)) {
|
||||
throw new FeatureNotFoundException(feature.getKey(), featureConfigService.getFeaturesAsList());
|
||||
}
|
||||
@@ -75,25 +75,25 @@ public class FeatureFlagServiceBean implements FeatureFlagService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AFeatureFlag createInstanceFromDefaultConfig(FeatureEnum name, Long serverId) {
|
||||
public AFeatureFlag createInstanceFromDefaultConfig(FeatureDefinition name, Long serverId) {
|
||||
FeatureFlagProperty defaultFeatureFlag = defaultFeatureFlagManagementService.getDefaultFeatureFlagProperty(name);
|
||||
return updateFeatureFlag(name, serverId, defaultFeatureFlag.getEnabled());
|
||||
}
|
||||
|
||||
@Override
|
||||
public AFeatureFlag createInstanceFromDefaultConfig(FeatureEnum name, AServer server) {
|
||||
public AFeatureFlag createInstanceFromDefaultConfig(FeatureDefinition name, AServer server) {
|
||||
FeatureFlagProperty defaultFeatureFlag = defaultFeatureFlagManagementService.getDefaultFeatureFlagProperty(name);
|
||||
return updateFeatureFlag(name, server, defaultFeatureFlag.getEnabled());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getFeatureFlagValue(FeatureEnum key, Long serverId) {
|
||||
public boolean getFeatureFlagValue(FeatureDefinition key, Long serverId) {
|
||||
AServer server = serverManagementService.loadOrCreate(serverId);
|
||||
return getFeatureFlagValue(key, server);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getFeatureFlagValue(FeatureEnum key, AServer server) {
|
||||
public boolean getFeatureFlagValue(FeatureDefinition key, AServer server) {
|
||||
AFeature feature = featureManagementService.getFeature(key.getKey());
|
||||
Optional<AFeatureFlag> featureFlagOptional = managementService.getFeatureFlag(feature, server);
|
||||
return featureFlagOptional
|
||||
@@ -102,13 +102,13 @@ public class FeatureFlagServiceBean implements FeatureFlagService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AFeatureFlag updateFeatureFlag(FeatureEnum key, Long serverId, Boolean newValue) {
|
||||
public AFeatureFlag updateFeatureFlag(FeatureDefinition key, Long serverId, Boolean newValue) {
|
||||
AServer server = serverManagementService.loadOrCreate(serverId);
|
||||
return updateFeatureFlag(key, server, newValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AFeatureFlag updateFeatureFlag(FeatureEnum key, AServer server, Boolean newValue) {
|
||||
public AFeatureFlag updateFeatureFlag(FeatureDefinition key, AServer server, Boolean newValue) {
|
||||
AFeature feature = featureManagementService.getFeature(key.getKey());
|
||||
return managementService.setFeatureFlagValue(feature, server, newValue);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.command.exception.IncorrectFeatureModeException;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureModeNotFoundException;
|
||||
import dev.sheldan.abstracto.core.models.database.*;
|
||||
@@ -46,39 +46,39 @@ public class FeatureModeServiceBean implements FeatureModeService {
|
||||
private ServerManagementService serverManagementService;
|
||||
|
||||
@Override
|
||||
public void enableFeatureModeForFeature(FeatureEnum featureEnum, AServer server, FeatureMode mode) {
|
||||
setOrCreateFeatureMode(featureEnum, server, mode, true);
|
||||
public void enableFeatureModeForFeature(FeatureDefinition featureDefinition, AServer server, FeatureMode mode) {
|
||||
setOrCreateFeatureMode(featureDefinition, server, mode, true);
|
||||
}
|
||||
|
||||
private void setOrCreateFeatureMode(FeatureEnum featureEnum, AServer server, FeatureMode mode, boolean featureModeState) {
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
private void setOrCreateFeatureMode(FeatureDefinition featureDefinition, AServer server, FeatureMode mode, boolean featureModeState) {
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
Optional<AFeatureMode> existing = featureModeManagementService.getFeatureMode(feature, server, mode);
|
||||
if (existing.isPresent()) {
|
||||
existing.get().setEnabled(featureModeState);
|
||||
} else {
|
||||
Optional<AFeatureFlag> featureFlagOptional = featureFlagManagementService.getFeatureFlag(feature, server);
|
||||
AFeatureFlag featureFlagInstance = featureFlagOptional.orElseGet(() -> featureFlagService.createInstanceFromDefaultConfig(featureEnum, server));
|
||||
AFeatureFlag featureFlagInstance = featureFlagOptional.orElseGet(() -> featureFlagService.createInstanceFromDefaultConfig(featureDefinition, server));
|
||||
featureModeManagementService.createMode(featureFlagInstance, mode, featureModeState);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFutureModeForFuture(FeatureEnum featureEnum, AServer server, FeatureMode mode, Boolean newValue) {
|
||||
public void setFutureModeForFuture(FeatureDefinition featureDefinition, AServer server, FeatureMode mode, Boolean newValue) {
|
||||
if(newValue) {
|
||||
enableFeatureModeForFeature(featureEnum, server, mode);
|
||||
enableFeatureModeForFeature(featureDefinition, server, mode);
|
||||
} else {
|
||||
disableFeatureModeForFeature(featureEnum, server, mode);
|
||||
disableFeatureModeForFeature(featureDefinition, server, mode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableFeatureModeForFeature(FeatureEnum featureEnum, AServer server, FeatureMode mode) {
|
||||
setOrCreateFeatureMode(featureEnum, server, mode, false);
|
||||
public void disableFeatureModeForFeature(FeatureDefinition featureDefinition, AServer server, FeatureMode mode) {
|
||||
setOrCreateFeatureMode(featureDefinition, server, mode, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean featureModeActive(FeatureEnum featureEnum, AServer server, FeatureMode mode) {
|
||||
AFeature feature = featureManagementService.getFeature(featureEnum.getKey());
|
||||
public boolean featureModeActive(FeatureDefinition featureDefinition, AServer server, FeatureMode mode) {
|
||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
||||
if(featureModeManagementService.doesFeatureModeExist(feature, server, mode)) {
|
||||
return featureModeManagementService.isFeatureModeActive(feature, server, mode);
|
||||
} else {
|
||||
@@ -87,16 +87,16 @@ public class FeatureModeServiceBean implements FeatureModeService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean featureModeActive(FeatureEnum featureEnum, Long serverId, FeatureMode mode) {
|
||||
public boolean featureModeActive(FeatureDefinition featureDefinition, Long serverId, FeatureMode mode) {
|
||||
AServer server = serverManagementService.loadServer(serverId);
|
||||
return featureModeActive(featureEnum, server, mode);
|
||||
return featureModeActive(featureDefinition, server, mode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validateActiveFeatureMode(Long serverId, FeatureEnum featureEnum, FeatureMode mode) {
|
||||
boolean featureModeActive = featureModeActive(featureEnum, serverId, mode);
|
||||
public void validateActiveFeatureMode(Long serverId, FeatureDefinition featureDefinition, FeatureMode mode) {
|
||||
boolean featureModeActive = featureModeActive(featureDefinition, serverId, mode);
|
||||
if(!featureModeActive) {
|
||||
throw new IncorrectFeatureModeException(featureEnum, Arrays.asList(mode));
|
||||
throw new IncorrectFeatureModeException(featureDefinition, Arrays.asList(mode));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,9 +178,9 @@ public class FeatureModeServiceBean implements FeatureModeService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean necessaryFeatureModesMet(FeatureEnum featureEnum, List<FeatureMode> featureModes, Long serverId) {
|
||||
public boolean necessaryFeatureModesMet(FeatureDefinition featureDefinition, List<FeatureMode> featureModes, Long serverId) {
|
||||
for (FeatureMode featureMode : featureModes) {
|
||||
if(featureModeActive(featureEnum, serverId, featureMode)) {
|
||||
if(featureModeActive(featureDefinition, serverId, featureMode)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
|
||||
@@ -2,9 +2,9 @@ package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.ConfiguredEmoteNotUsableException;
|
||||
import dev.sheldan.abstracto.core.exception.EmoteNotInServerException;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedEmote;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
|
||||
@@ -4,9 +4,9 @@ import dev.sheldan.abstracto.core.exception.GuildNotFoundException;
|
||||
import dev.sheldan.abstracto.core.exception.RoleDeletedException;
|
||||
import dev.sheldan.abstracto.core.exception.RoleNotFoundInDBException;
|
||||
import dev.sheldan.abstracto.core.exception.RoleNotFoundInGuildException;
|
||||
import dev.sheldan.abstracto.core.metrics.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metrics.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.metric.service.CounterMetric;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricService;
|
||||
import dev.sheldan.abstracto.core.metric.service.MetricTag;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.DefaultConfigProperties;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.property.FeatureFlagProperty;
|
||||
@@ -28,7 +28,7 @@ public class DefaultFeatureFlagManagementServiceBean implements DefaultFeatureF
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureFlagProperty getDefaultFeatureFlagProperty(FeatureEnum feature) {
|
||||
public FeatureFlagProperty getDefaultFeatureFlagProperty(FeatureDefinition feature) {
|
||||
return findFeatureFlagPropertyViaFeatureKey(feature.getKey());
|
||||
}
|
||||
|
||||
|
||||
@@ -11,13 +11,11 @@
|
||||
<property name="utilityModule" value="(SELECT id FROM module WHERE name = 'utility')"/>
|
||||
<property name="channelsModule" value="(SELECT id FROM module WHERE name = 'channels')"/>
|
||||
<property name="configModule" value="(SELECT id FROM module WHERE name = 'config')"/>
|
||||
<property name="today" value="(SELECT NOW())"/>
|
||||
<changeSet author="Sheldan" id="core-help-commands">
|
||||
<insert tableName="command">
|
||||
<column name="name" value="help"/>
|
||||
<column name="module_id" valueComputed="${helpModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="core-utility-commands" >
|
||||
@@ -25,13 +23,11 @@
|
||||
<column name="name" value="ping"/>
|
||||
<column name="module_id" valueComputed="${utilityModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="echo"/>
|
||||
<column name="module_id" valueComputed="${utilityModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="core-channels-commands" >
|
||||
@@ -39,49 +35,41 @@
|
||||
<column name="name" value="addToChannelGroup"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="createChannelGroup"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="deleteChannelGroup"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="disableCommand"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="enableCommand"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="listChannelGroups"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="posttarget"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="removeFromChannelGroup"/>
|
||||
<column name="module_id" valueComputed="${channelsModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="core-config-commands" >
|
||||
@@ -89,151 +77,126 @@
|
||||
<column name="name" value="clearCache"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setConfig"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setAdminMode"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="resetConfig"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setPrefix"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setTemplate"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="getTemplate"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="resetTemplate"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="getCustomTemplate"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setupFeature"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="allow"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="allowRole"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="disableFeature"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="disAllowRole"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="enableFeature"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="features"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="makeAffected"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="makeImmune"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="restrict"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="enableMode"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="disableMode"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="featureModes"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="setEmote"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="allowMention"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="command">
|
||||
<column name="name" value="disallowMention"/>
|
||||
<column name="module_id" valueComputed="${configModule}"/>
|
||||
<column name="feature_id" valueComputed="${coreFeature}"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -6,27 +6,22 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
|
||||
<property name="today" value="(SELECT NOW())"/>
|
||||
<changeSet author="Sheldan" id="core_default_emote-insert">
|
||||
<insert tableName="default_emote">
|
||||
<column name="emote_key" value="warnReaction"/>
|
||||
<column name="name" value="⚠️"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="default_emote">
|
||||
<column name="emote_key" value="successReaction"/>
|
||||
<column name="name" value="✅"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="default_emote">
|
||||
<column name="emote_key" value="confirmation"/>
|
||||
<column name="name" value="✅"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="default_emote">
|
||||
<column name="emote_key" value="denial"/>
|
||||
<column name="name" value="❌"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -6,11 +6,9 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
|
||||
<property name="today" value="(SELECT NOW())"/>
|
||||
<changeSet author="Sheldan" id="feature-insertion">
|
||||
<insert tableName="feature">
|
||||
<column name="key" value="core"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -6,23 +6,18 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
|
||||
<property name="today" value="(SELECT NOW())"/>
|
||||
<changeSet author="Sheldan" id="core-module-insertion">
|
||||
<insert tableName="module">
|
||||
<column name="name" value="support"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="module">
|
||||
<column name="name" value="utility"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="module">
|
||||
<column name="name" value="channels"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
<insert tableName="module">
|
||||
<column name="name" value="config"/>
|
||||
<column name="created" valueComputed="${today}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -14,7 +14,7 @@
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="admin_only" type="BOOLEAN">
|
||||
<column name="admin_mode" type="BOOLEAN">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.commands.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureModeNotFoundException;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
|
||||
@@ -43,8 +43,8 @@ public class DisableFeatureModeTest {
|
||||
public void testExecuteDisable() {
|
||||
String featureName = "text";
|
||||
String modeName = "mode";
|
||||
FeatureEnum featureEnum = Mockito.mock(FeatureEnum.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureEnum);
|
||||
FeatureDefinition featureDefinition = Mockito.mock(FeatureDefinition.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureDefinition);
|
||||
FeatureMode featureMode = Mockito.mock(FeatureMode.class);
|
||||
when(featureModeService.getFeatureModeForKey(modeName)).thenReturn(featureMode);
|
||||
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
|
||||
@@ -52,7 +52,7 @@ public class DisableFeatureModeTest {
|
||||
when(serverManagementService.loadServer(context.getGuild())).thenReturn(server);
|
||||
CommandResult commandResultCompletableFuture = testUnit.execute(context);
|
||||
CommandTestUtilities.checkSuccessfulCompletion(commandResultCompletableFuture);
|
||||
verify(featureModeService, times(1)).disableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
verify(featureModeService, times(1)).disableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
}
|
||||
|
||||
@Test(expected = FeatureNotFoundException.class)
|
||||
@@ -68,8 +68,8 @@ public class DisableFeatureModeTest {
|
||||
public void testExecuteDisableNotExistingFeatureMode() {
|
||||
String featureName = "text";
|
||||
String modeName = "mode";
|
||||
FeatureEnum featureEnum = Mockito.mock(FeatureEnum.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureEnum);
|
||||
FeatureDefinition featureDefinition = Mockito.mock(FeatureDefinition.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureDefinition);
|
||||
when(featureModeService.getFeatureModeForKey(modeName)).thenThrow(new FeatureModeNotFoundException(modeName, new ArrayList<>()));
|
||||
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
|
||||
testUnit.execute(context);
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.commands.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureModeNotFoundException;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
|
||||
@@ -46,8 +46,8 @@ public class EnableFeatureModeTest {
|
||||
public void testExecuteDisable() {
|
||||
String featureName = "text";
|
||||
String modeName = "mode";
|
||||
FeatureEnum featureEnum = Mockito.mock(FeatureEnum.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureEnum);
|
||||
FeatureDefinition featureDefinition = Mockito.mock(FeatureDefinition.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureDefinition);
|
||||
FeatureMode featureMode = Mockito.mock(FeatureMode.class);
|
||||
when(featureModeService.getFeatureModeForKey(modeName)).thenReturn(featureMode);
|
||||
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
|
||||
@@ -56,7 +56,7 @@ public class EnableFeatureModeTest {
|
||||
when(serverManagementService.loadServer(SERVER_ID)).thenReturn(server);
|
||||
CommandResult commandResultCompletableFuture = testUnit.execute(context);
|
||||
CommandTestUtilities.checkSuccessfulCompletion(commandResultCompletableFuture);
|
||||
verify(featureModeService, times(1)).enableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
verify(featureModeService, times(1)).enableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
}
|
||||
|
||||
@Test(expected = FeatureNotFoundException.class)
|
||||
@@ -72,8 +72,8 @@ public class EnableFeatureModeTest {
|
||||
public void testExecuteDisableNotExistingFeatureMode() {
|
||||
String featureName = "text";
|
||||
String modeName = "mode";
|
||||
FeatureEnum featureEnum = Mockito.mock(FeatureEnum.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureEnum);
|
||||
FeatureDefinition featureDefinition = Mockito.mock(FeatureDefinition.class);
|
||||
when(featureConfigService.getFeatureEnum(featureName)).thenReturn(featureDefinition);
|
||||
when(featureModeService.getFeatureModeForKey(modeName)).thenThrow(new FeatureModeNotFoundException(modeName, new ArrayList<>()));
|
||||
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
|
||||
testUnit.execute(context);
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.commands.config.features;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
@@ -77,9 +77,9 @@ public class FeatureModesTest {
|
||||
public void testExecuteFeatureParameter() {
|
||||
CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(FEATURE_NAME));
|
||||
FeatureModeDisplay display1 = Mockito.mock(FeatureModeDisplay.class);
|
||||
FeatureEnum featureEnum = Mockito.mock(FeatureEnum.class);
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureConfigService.getFeatureEnum(FEATURE_NAME)).thenReturn(featureEnum);
|
||||
FeatureDefinition featureDefinition = Mockito.mock(FeatureDefinition.class);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureConfigService.getFeatureEnum(FEATURE_NAME)).thenReturn(featureDefinition);
|
||||
AFeature feature = Mockito.mock(AFeature.class);
|
||||
when(featureManagementService.getFeature(FEATURE_NAME)).thenReturn(feature);
|
||||
List<FeatureModeDisplay> featureModeDisplays = Arrays.asList(display1);
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import dev.sheldan.abstracto.core.models.database.*;
|
||||
import dev.sheldan.abstracto.core.models.property.FeatureModeProperty;
|
||||
@@ -56,7 +56,7 @@ public class FeatureModeServiceBeanTest {
|
||||
private AServer server;
|
||||
|
||||
@Mock
|
||||
private FeatureEnum featureEnum;
|
||||
private FeatureDefinition featureDefinition;
|
||||
|
||||
@Mock
|
||||
private AFeature feature;
|
||||
@@ -75,79 +75,79 @@ public class FeatureModeServiceBeanTest {
|
||||
|
||||
@Test
|
||||
public void enableFeatureModeForFeatureWhichAlreadyExists() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.of(aFeatureMode));
|
||||
testUnit.enableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
testUnit.enableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
verify(aFeatureMode, times(1)).setEnabled(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void enableFeatureModeForFeatureCreatingNewMode() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.empty());
|
||||
when(featureFlagManagementService.getFeatureFlag(feature, server)).thenReturn(Optional.of(featureFlag));
|
||||
testUnit.enableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
testUnit.enableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
verify(featureModeManagementService, times(1)).createMode(featureFlag, featureMode, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setFutureModeForFutureEnable() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.of(aFeatureMode));
|
||||
testUnit.setFutureModeForFuture(featureEnum, server, featureMode, true);
|
||||
testUnit.setFutureModeForFuture(featureDefinition, server, featureMode, true);
|
||||
verify(aFeatureMode, times(1)).setEnabled(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setFutureModeForFutureDisable() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.of(aFeatureMode));
|
||||
testUnit.setFutureModeForFuture(featureEnum, server, featureMode, false);
|
||||
testUnit.setFutureModeForFuture(featureDefinition, server, featureMode, false);
|
||||
verify(aFeatureMode, times(1)).setEnabled(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void disableFeatureModeForFeatureWhichAlreadyExists() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.of(aFeatureMode));
|
||||
testUnit.disableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
testUnit.disableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
verify(aFeatureMode, times(1)).setEnabled(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void disableFeatureModeForFeatureCreatingNewMode() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.getFeatureMode(feature, server, featureMode)).thenReturn(Optional.empty());
|
||||
when(featureFlagManagementService.getFeatureFlag(feature, server)).thenReturn(Optional.of(featureFlag));
|
||||
testUnit.disableFeatureModeForFeature(featureEnum, server, featureMode);
|
||||
testUnit.disableFeatureModeForFeature(featureDefinition, server, featureMode);
|
||||
verify(featureModeManagementService, times(1)).createMode(featureFlag, featureMode, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeatureModeActiveForCustomizedFeatureMode() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.doesFeatureModeExist(feature, server, featureMode)).thenReturn(true);
|
||||
when(featureModeManagementService.isFeatureModeActive(feature, server, featureMode)).thenReturn(true);
|
||||
boolean actualResult = testUnit.featureModeActive(featureEnum, server, featureMode);
|
||||
boolean actualResult = testUnit.featureModeActive(featureDefinition, server, featureMode);
|
||||
Assert.assertTrue(actualResult);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeatureModeActiveForDefaultFeatureMode() {
|
||||
when(featureEnum.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureDefinition.getKey()).thenReturn(FEATURE_NAME);
|
||||
when(featureMode.getKey()).thenReturn(FEATURE_MODE);
|
||||
when(featureManagementService.getFeature(featureEnum.getKey())).thenReturn(feature);
|
||||
when(featureManagementService.getFeature(featureDefinition.getKey())).thenReturn(feature);
|
||||
when(featureModeManagementService.doesFeatureModeExist(feature, server, featureMode)).thenReturn(false);
|
||||
when(defaultFeatureModeManagement.getFeatureMode(feature, FEATURE_MODE)).thenReturn(defaultFeatureMode);
|
||||
when(defaultFeatureMode.getEnabled()).thenReturn(true);
|
||||
boolean actualResult = testUnit.featureModeActive(featureEnum, server, featureMode);
|
||||
boolean actualResult = testUnit.featureModeActive(featureDefinition, server, featureMode);
|
||||
Assert.assertTrue(actualResult);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user