mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 03:45:57 +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:
@@ -1,12 +1,12 @@
|
||||
package dev.sheldan.abstracto.core;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public interface FeatureAware {
|
||||
FeatureEnum getFeature();
|
||||
FeatureDefinition getFeature();
|
||||
default List<FeatureMode> getFeatureModeLimitations() { return Collections.emptyList();}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package dev.sheldan.abstracto.core.command;
|
||||
|
||||
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 UtilityModuleInterface implements ModuleInterface {
|
||||
public class UtilityModuleDefinition implements ModuleDefinition {
|
||||
|
||||
public static final String UTILITY = "utility";
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.condition.detail.FeatureDisabledConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||
import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -22,7 +22,7 @@ public class FeatureEnabledCondition implements CommandCondition {
|
||||
|
||||
@Override
|
||||
public ConditionResult shouldExecute(CommandContext context, Command command) {
|
||||
FeatureEnum feature = command.getFeature();
|
||||
FeatureDefinition feature = command.getFeature();
|
||||
boolean featureFlagValue = true;
|
||||
if(feature != null) {
|
||||
featureFlagValue = featureFlagService.getFeatureFlagValue(feature, context.getGuild().getIdLong());
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.condition.detail.IncorrectFeatureModeConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
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.service.FeatureModeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -18,7 +18,7 @@ public class FeatureModeCondition implements CommandCondition {
|
||||
@Override
|
||||
public ConditionResult shouldExecute(CommandContext context, Command command) {
|
||||
if(!command.getFeatureModeLimitations().isEmpty()){
|
||||
FeatureEnum feature = command.getFeature();
|
||||
FeatureDefinition feature = command.getFeature();
|
||||
if(feature != null) {
|
||||
for (FeatureMode featureModeLimitation : command.getFeatureModeLimitations()) {
|
||||
if(modeService.featureModeActive(feature, context.getUserInitiatedContext().getGuild().getIdLong(), featureModeLimitation)) {
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.command.condition.detail;
|
||||
|
||||
|
||||
import dev.sheldan.abstracto.core.command.condition.ConditionDetail;
|
||||
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.exception.IncorrectFeatureModeModel;
|
||||
|
||||
@@ -12,8 +12,8 @@ public class IncorrectFeatureModeConditionDetail implements ConditionDetail {
|
||||
|
||||
private final IncorrectFeatureModeModel model;
|
||||
|
||||
public IncorrectFeatureModeConditionDetail(FeatureEnum featureEnum, List<FeatureMode> requiredModes) {
|
||||
this.model = IncorrectFeatureModeModel.builder().featureEnum(featureEnum).requiredModes(requiredModes).build();
|
||||
public IncorrectFeatureModeConditionDetail(FeatureDefinition featureDefinition, List<FeatureMode> requiredModes) {
|
||||
this.model = IncorrectFeatureModeModel.builder().featureDefinition(featureDefinition).requiredModes(requiredModes).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.command.config;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class AbstractoModuleInterface implements ModuleInterface {
|
||||
public class AbstractoModuleDefinition implements ModuleDefinition {
|
||||
@Override
|
||||
public ModuleInfo getInfo() {
|
||||
return ModuleInfo.builder().name("default").templated(true).build();
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.config;
|
||||
|
||||
|
||||
public interface ModuleInterface {
|
||||
public interface ModuleDefinition {
|
||||
ModuleInfo getInfo();
|
||||
String getParentModule();
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
@Builder
|
||||
@Getter
|
||||
public class PackedModule {
|
||||
private ModuleInterface moduleInterface;
|
||||
private ModuleDefinition moduleDefinition;
|
||||
private PackedModule parentModule;
|
||||
private List<PackedModule> subModules;
|
||||
private List<Command> commands;
|
||||
|
||||
@@ -11,6 +11,6 @@ import java.util.List;
|
||||
@Setter
|
||||
@Getter
|
||||
public class SingleLevelPackedModule {
|
||||
private ModuleInterface moduleInterface;
|
||||
private ModuleDefinition moduleDefinition;
|
||||
private List<Command> commands;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -11,8 +11,8 @@ import java.util.List;
|
||||
public class CoreFeature implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public FeatureEnum getFeature() {
|
||||
return CoreFeatures.CORE_FEATURE;
|
||||
public FeatureDefinition getFeature() {
|
||||
return CoreFeatureDefinition.CORE_FEATURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.command.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CoreFeatures implements FeatureEnum {
|
||||
public enum CoreFeatureDefinition implements FeatureDefinition {
|
||||
CORE_FEATURE("core");
|
||||
|
||||
private String key;
|
||||
|
||||
CoreFeatures(String key) {
|
||||
CoreFeatureDefinition(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
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.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.models.exception.IncorrectFeatureModeModel;
|
||||
@@ -11,8 +11,8 @@ import java.util.List;
|
||||
public class IncorrectFeatureModeException extends AbstractoRunTimeException implements Templatable {
|
||||
private final IncorrectFeatureModeModel model;
|
||||
|
||||
public IncorrectFeatureModeException(FeatureEnum featureEnum, List<FeatureMode> requiredModes) {
|
||||
this.model = IncorrectFeatureModeModel.builder().featureEnum(featureEnum).requiredModes(requiredModes).build();
|
||||
public IncorrectFeatureModeException(FeatureDefinition featureDefinition, List<FeatureMode> requiredModes) {
|
||||
this.model = IncorrectFeatureModeModel.builder().featureDefinition(featureDefinition).requiredModes(requiredModes).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,7 +2,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.execution.UnParsedCommandParameter;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
@@ -12,7 +12,7 @@ public interface CommandRegistry {
|
||||
Command findCommandByParameters(String name, UnParsedCommandParameter context);
|
||||
Command findCommand(String message);
|
||||
List<Command> getAllCommands();
|
||||
List<Command> getAllCommandsFromModule(ModuleInterface module);
|
||||
List<Command> getAllCommandsFromModule(ModuleDefinition module);
|
||||
boolean isCommand(Message message);
|
||||
boolean commandExists(String name);
|
||||
Command getCommandByName(String name);
|
||||
|
||||
@@ -6,7 +6,7 @@ import dev.sheldan.abstracto.core.command.config.Parameters;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.UnParsedCommandParameter;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
@@ -14,17 +14,17 @@ import net.dv8tion.jda.api.entities.Message;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public interface CommandService {
|
||||
ACommand createCommand(String name, String moduleName, FeatureEnum featureEnum);
|
||||
ACommand createCommand(String name, String moduleName, FeatureDefinition featureDefinition);
|
||||
boolean doesCommandExist(String name);
|
||||
void allowCommandForRole(ACommand aCommand, ARole role);
|
||||
void allowFeatureForRole(FeatureEnum featureEnum, ARole role);
|
||||
void allowFeatureForRole(FeatureDefinition featureDefinition, ARole role);
|
||||
void makeRoleImmuneForCommand(ACommand aCommand, ARole role);
|
||||
void makeRoleAffectedByCommand(ACommand aCommand, ARole role);
|
||||
void restrictCommand(ACommand aCommand, AServer server);
|
||||
String generateUsage(Command command);
|
||||
void unRestrictCommand(ACommand aCommand, AServer server);
|
||||
void disAllowCommandForRole(ACommand aCommand, ARole role);
|
||||
void disAllowFeatureForRole(FeatureEnum featureEnum, ARole role);
|
||||
void disAllowFeatureForRole(FeatureDefinition featureDefinition, ARole role);
|
||||
ConditionResult isCommandExecutable(Command command, CommandContext commandContext);
|
||||
UnParsedCommandParameter getUnParsedCommandParameter(String messageContent, Message message);
|
||||
CompletableFuture<Parameters> getParametersForCommand(String commandName, Message messageContainingContent);
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package dev.sheldan.abstracto.core.command.service;
|
||||
|
||||
|
||||
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 java.util.List;
|
||||
|
||||
public interface ModuleRegistry {
|
||||
List<ModuleInterface> getModuleInterfaces();
|
||||
SingleLevelPackedModule getPackedModule(ModuleInterface moduleInterface);
|
||||
List<ModuleDefinition> getModuleInterfaces();
|
||||
SingleLevelPackedModule getPackedModule(ModuleDefinition moduleDefinition);
|
||||
boolean moduleExists(String name);
|
||||
ModuleInterface getModuleByName(String name);
|
||||
List<ModuleInterface> getSubModules(ModuleInterface moduleInterface);
|
||||
ModuleInterface getDefaultModule();
|
||||
ModuleDefinition getModuleByName(String name);
|
||||
List<ModuleDefinition> getSubModules(ModuleDefinition moduleDefinition);
|
||||
ModuleDefinition getDefaultModule();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public interface FeatureConfig extends Serializable {
|
||||
FeatureEnum getFeature();
|
||||
FeatureDefinition getFeature();
|
||||
default List<FeatureConfig> getRequiredFeatures() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,6 @@ package dev.sheldan.abstracto.core.config;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface FeatureEnum extends Serializable {
|
||||
public interface FeatureDefinition extends Serializable {
|
||||
String getKey();
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -14,5 +14,5 @@ import java.util.List;
|
||||
@Builder
|
||||
public class IncorrectFeatureModeModel implements Serializable {
|
||||
private List<FeatureMode> requiredModes;
|
||||
private FeatureEnum featureEnum;
|
||||
private FeatureDefinition featureDefinition;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.template.commands.help;
|
||||
|
||||
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 dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
|
||||
import lombok.Getter;
|
||||
@@ -14,5 +14,5 @@ import java.util.List;
|
||||
@SuperBuilder
|
||||
public class HelpModuleDetailsModel extends UserInitiatedServerContext {
|
||||
private SingleLevelPackedModule module;
|
||||
private List<ModuleInterface> subModules;
|
||||
private List<ModuleDefinition> subModules;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.template.commands.help;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
|
||||
import dev.sheldan.abstracto.core.command.config.ModuleDefinition;
|
||||
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -12,5 +12,5 @@ import java.util.List;
|
||||
@Setter
|
||||
@SuperBuilder
|
||||
public class HelpModuleOverviewModel extends UserInitiatedServerContext {
|
||||
private List<ModuleInterface> modules;
|
||||
private List<ModuleDefinition> modules;
|
||||
}
|
||||
|
||||
@@ -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.models.FeatureValidationResult;
|
||||
@@ -13,13 +13,13 @@ import java.util.List;
|
||||
public interface FeatureConfigService {
|
||||
List<String> getAllFeatures();
|
||||
List<FeatureConfig> getAllFeatureConfigs();
|
||||
FeatureConfig getFeatureDisplayForFeature(FeatureEnum featureEnum);
|
||||
FeatureConfig getFeatureDisplayForFeature(FeatureDefinition featureDefinition);
|
||||
FeatureConfig getFeatureDisplayForFeature(String key);
|
||||
boolean doesFeatureExist(FeatureConfig name);
|
||||
boolean doesFeatureExist(String name);
|
||||
List<String> getFeaturesAsList();
|
||||
List<String> getFeatureModesFromFeatureAsString(String featureName);
|
||||
FeatureEnum getFeatureEnum(String key);
|
||||
FeatureDefinition getFeatureEnum(String key);
|
||||
PostTargetEnum getPostTargetEnumByKey(String key);
|
||||
FeatureValidationResult validateFeatureSetup(FeatureConfig featureConfig, AServer server);
|
||||
FeatureMode getFeatureModeByKey(FeatureConfig featureConfig, String key);
|
||||
|
||||
@@ -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.models.database.AFeatureFlag;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
@@ -12,10 +12,10 @@ public interface FeatureFlagService {
|
||||
void enableFeature(FeatureConfig name, AServer server);
|
||||
void disableFeature(FeatureConfig name, Long serverId);
|
||||
void disableFeature(FeatureConfig name, AServer server);
|
||||
AFeatureFlag createInstanceFromDefaultConfig(FeatureEnum name, Long serverId);
|
||||
AFeatureFlag createInstanceFromDefaultConfig(FeatureEnum name, AServer server);
|
||||
boolean getFeatureFlagValue(FeatureEnum key, Long serverId);
|
||||
boolean getFeatureFlagValue(FeatureEnum key, AServer server);
|
||||
AFeatureFlag updateFeatureFlag(FeatureEnum key, Long serverId, Boolean newValue);
|
||||
AFeatureFlag updateFeatureFlag(FeatureEnum key, AServer server, Boolean newValue);
|
||||
AFeatureFlag createInstanceFromDefaultConfig(FeatureDefinition name, Long serverId);
|
||||
AFeatureFlag createInstanceFromDefaultConfig(FeatureDefinition name, AServer server);
|
||||
boolean getFeatureFlagValue(FeatureDefinition key, Long serverId);
|
||||
boolean getFeatureFlagValue(FeatureDefinition key, AServer server);
|
||||
AFeatureFlag updateFeatureFlag(FeatureDefinition key, Long serverId, Boolean newValue);
|
||||
AFeatureFlag updateFeatureFlag(FeatureDefinition key, AServer server, Boolean newValue);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
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.AFeature;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
@@ -11,16 +11,16 @@ import java.util.List;
|
||||
|
||||
public interface FeatureModeService {
|
||||
|
||||
void enableFeatureModeForFeature(FeatureEnum featureEnum, AServer server, FeatureMode mode);
|
||||
void setFutureModeForFuture(FeatureEnum featureEnum, AServer server, FeatureMode mode, Boolean newValue);
|
||||
void disableFeatureModeForFeature(FeatureEnum featureEnum, AServer server, FeatureMode mode);
|
||||
boolean featureModeActive(FeatureEnum featureEnum, AServer server, FeatureMode mode);
|
||||
boolean featureModeActive(FeatureEnum featureEnum, Long serverId, FeatureMode mode);
|
||||
void validateActiveFeatureMode(Long serverId, FeatureEnum featureEnum, FeatureMode mode);
|
||||
void enableFeatureModeForFeature(FeatureDefinition featureDefinition, AServer server, FeatureMode mode);
|
||||
void setFutureModeForFuture(FeatureDefinition featureDefinition, AServer server, FeatureMode mode, Boolean newValue);
|
||||
void disableFeatureModeForFeature(FeatureDefinition featureDefinition, AServer server, FeatureMode mode);
|
||||
boolean featureModeActive(FeatureDefinition featureDefinition, AServer server, FeatureMode mode);
|
||||
boolean featureModeActive(FeatureDefinition featureDefinition, Long serverId, FeatureMode mode);
|
||||
void validateActiveFeatureMode(Long serverId, FeatureDefinition featureDefinition, FeatureMode mode);
|
||||
FeatureMode getFeatureModeForKey(String key);
|
||||
List<FeatureMode> getAllAvailableFeatureModes();
|
||||
List<FeatureModeDisplay> getEffectiveFeatureModes(AServer server);
|
||||
List<FeatureModeDisplay> getEffectiveFeatureModes(AServer server, AFeature feature);
|
||||
boolean necessaryFeatureModesMet(FeatureEnum featureEnum, List<FeatureMode> featureModes, Long serverId);
|
||||
boolean necessaryFeatureModesMet(FeatureDefinition featureDefinition, List<FeatureMode> featureModes, Long serverId);
|
||||
boolean necessaryFeatureModesMet(FeatureAware featureAware, Long serverId);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.service.management;
|
||||
|
||||
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.property.FeatureFlagProperty;
|
||||
|
||||
@@ -9,6 +9,6 @@ import java.util.List;
|
||||
public interface DefaultFeatureFlagManagementService {
|
||||
List<String> getDefaultFeatureKeys();
|
||||
FeatureFlagProperty getDefaultFeatureFlagProperty(AFeature feature);
|
||||
FeatureFlagProperty getDefaultFeatureFlagProperty(FeatureEnum feature);
|
||||
FeatureFlagProperty getDefaultFeatureFlagProperty(FeatureDefinition feature);
|
||||
List<FeatureFlagProperty> getAllDefaultFeatureFlags();
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
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.context.UserInitiatedServerContext;
|
||||
import dev.sheldan.abstracto.core.service.FeatureModeService;
|
||||
@@ -38,7 +38,7 @@ public class FeatureModeConditionTest {
|
||||
private FeatureMode featureMode;
|
||||
|
||||
@Mock
|
||||
private FeatureEnum featureEnum;
|
||||
private FeatureDefinition featureDefinition;
|
||||
|
||||
@Mock
|
||||
private Guild server;
|
||||
@@ -59,8 +59,8 @@ public class FeatureModeConditionTest {
|
||||
when(commandContext.getUserInitiatedContext()).thenReturn(userInitiatedServerContext);
|
||||
when(server.getIdLong()).thenReturn(SERVER_ID);
|
||||
when(userInitiatedServerContext.getGuild()).thenReturn(server);
|
||||
when(command.getFeature()).thenReturn(featureEnum);
|
||||
when(modeService.featureModeActive(featureEnum, SERVER_ID, featureMode)).thenReturn(true);
|
||||
when(command.getFeature()).thenReturn(featureDefinition);
|
||||
when(modeService.featureModeActive(featureDefinition, SERVER_ID, featureMode)).thenReturn(true);
|
||||
when(command.getFeatureModeLimitations()).thenReturn(Arrays.asList(featureMode));
|
||||
CommandTestUtilities.checkSuccessfulCondition(testUnit.shouldExecute(commandContext, command));
|
||||
}
|
||||
@@ -70,8 +70,8 @@ public class FeatureModeConditionTest {
|
||||
when(commandContext.getUserInitiatedContext()).thenReturn(userInitiatedServerContext);
|
||||
when(server.getIdLong()).thenReturn(SERVER_ID);
|
||||
when(userInitiatedServerContext.getGuild()).thenReturn(server);
|
||||
when(command.getFeature()).thenReturn(featureEnum);
|
||||
when(modeService.featureModeActive(featureEnum, SERVER_ID, featureMode)).thenReturn(false);
|
||||
when(command.getFeature()).thenReturn(featureDefinition);
|
||||
when(modeService.featureModeActive(featureDefinition, SERVER_ID, featureMode)).thenReturn(false);
|
||||
when(command.getFeatureModeLimitations()).thenReturn(Arrays.asList(featureMode));
|
||||
CommandTestUtilities.checkUnmetCondition(testUnit.shouldExecute(commandContext, command));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user