mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-05-06 09:47:06 +00:00
[AB-xxx] refactoring enable/disableMode to the modes coming from the feature instead of the ones already present in the server
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.commands.config.features;
|
package dev.sheldan.abstracto.core.commands.config.features;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||||
|
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.CoreSlashCommandNames;
|
import dev.sheldan.abstracto.core.interaction.slash.CoreSlashCommandNames;
|
||||||
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
||||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||||
@@ -15,9 +16,7 @@ import dev.sheldan.abstracto.core.config.FeatureMode;
|
|||||||
import dev.sheldan.abstracto.core.interaction.InteractionService;
|
import dev.sheldan.abstracto.core.interaction.InteractionService;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandPrivilegeLevels;
|
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandPrivilegeLevels;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandAutoCompleteService;
|
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandAutoCompleteService;
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeatureMode;
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||||
import dev.sheldan.abstracto.core.service.FeatureModeService;
|
import dev.sheldan.abstracto.core.service.FeatureModeService;
|
||||||
@@ -59,12 +58,6 @@ public class DisableMode extends AbstractConditionableCommand {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private FeatureFlagManagementService featureFlagManagementService;
|
private FeatureFlagManagementService featureFlagManagementService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private FeatureModeManagementService featureModeManagementService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private FeatureManagementService featureManagementService;
|
|
||||||
|
|
||||||
private static final String DISABLE_MODE_RESPONSE_KEY = "disableMode_response";
|
private static final String DISABLE_MODE_RESPONSE_KEY = "disableMode_response";
|
||||||
private static final String FEATURE_PARAMETER = "feature";
|
private static final String FEATURE_PARAMETER = "feature";
|
||||||
private static final String MODE_PARAMETER = "mode";
|
private static final String MODE_PARAMETER = "mode";
|
||||||
@@ -99,11 +92,11 @@ public class DisableMode extends AbstractConditionableCommand {
|
|||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
||||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
FeatureConfig feature = featureConfigService.getFeatureDisplayForFeature(featureDefinition);
|
||||||
List<AFeatureMode> modes = featureModeManagementService.getFeatureModesOfFeatureInServer(server, feature);
|
List<FeatureMode> modes = feature.getAvailableModes();
|
||||||
return modes
|
return modes
|
||||||
.stream()
|
.stream()
|
||||||
.map(mode -> mode.getFeatureMode().toLowerCase())
|
.map(mode -> mode.getKey().toLowerCase())
|
||||||
.filter(string -> string.startsWith(input))
|
.filter(string -> string.startsWith(input))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.commands.config.features;
|
package dev.sheldan.abstracto.core.commands.config.features;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
import dev.sheldan.abstracto.core.command.service.management.FeatureManagementService;
|
||||||
|
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.CoreSlashCommandNames;
|
import dev.sheldan.abstracto.core.interaction.slash.CoreSlashCommandNames;
|
||||||
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand;
|
||||||
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
|
||||||
@@ -15,9 +16,7 @@ import dev.sheldan.abstracto.core.config.FeatureMode;
|
|||||||
import dev.sheldan.abstracto.core.interaction.InteractionService;
|
import dev.sheldan.abstracto.core.interaction.InteractionService;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandPrivilegeLevels;
|
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandPrivilegeLevels;
|
||||||
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandAutoCompleteService;
|
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandAutoCompleteService;
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
import dev.sheldan.abstracto.core.models.database.AFeatureFlag;
|
||||||
import dev.sheldan.abstracto.core.models.database.AFeatureMode;
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
import dev.sheldan.abstracto.core.service.FeatureConfigService;
|
||||||
import dev.sheldan.abstracto.core.service.FeatureModeService;
|
import dev.sheldan.abstracto.core.service.FeatureModeService;
|
||||||
@@ -59,12 +58,6 @@ public class EnableMode extends AbstractConditionableCommand {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private FeatureFlagManagementService featureFlagManagementService;
|
private FeatureFlagManagementService featureFlagManagementService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private FeatureModeManagementService featureModeManagementService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private FeatureManagementService featureManagementService;
|
|
||||||
|
|
||||||
private static final String ENABLE_MODE_RESPONSE_KEY = "enableMode_response";
|
private static final String ENABLE_MODE_RESPONSE_KEY = "enableMode_response";
|
||||||
private static final String FEATURE_PARAMETER = "feature";
|
private static final String FEATURE_PARAMETER = "feature";
|
||||||
private static final String MODE_PARAMETER = "mode";
|
private static final String MODE_PARAMETER = "mode";
|
||||||
@@ -99,11 +92,11 @@ public class EnableMode extends AbstractConditionableCommand {
|
|||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
FeatureDefinition featureDefinition = featureConfigService.getFeatureEnum(featureName);
|
||||||
AFeature feature = featureManagementService.getFeature(featureDefinition.getKey());
|
FeatureConfig feature = featureConfigService.getFeatureDisplayForFeature(featureDefinition);
|
||||||
List<AFeatureMode> modes = featureModeManagementService.getFeatureModesOfFeatureInServer(server, feature);
|
List<FeatureMode> modes = feature.getAvailableModes();
|
||||||
return modes
|
return modes
|
||||||
.stream()
|
.stream()
|
||||||
.map(mode -> mode.getFeatureMode().toLowerCase())
|
.map(mode -> mode.getKey().toLowerCase())
|
||||||
.filter(string -> string.startsWith(input))
|
.filter(string -> string.startsWith(input))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user