mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-26 22:02:40 +00:00
[AB-205] making exception message for command not found configurable
making feature config classes more unified in the naming
This commit is contained in:
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.moderation.job;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
|
||||
import dev.sheldan.abstracto.moderation.service.WarnService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.quartz.DisallowConcurrentExecution;
|
||||
@@ -31,7 +31,7 @@ public class WarnDecayJob extends QuartzJobBean {
|
||||
private FeatureFlagService featureFlagService;
|
||||
|
||||
@Autowired
|
||||
private WarningDecayFeature warningDecayFeature;
|
||||
private WarningDecayFeatureConfig warningDecayFeatureConfig;
|
||||
|
||||
@Autowired
|
||||
private WarnService warnService;
|
||||
@@ -42,7 +42,7 @@ public class WarnDecayJob extends QuartzJobBean {
|
||||
List<AServer> allServers = serverManagementService.getAllServers();
|
||||
log.info("Executing warn decay job.");
|
||||
allServers.forEach(server -> {
|
||||
boolean featureEnabled = featureFlagService.isFeatureEnabled(warningDecayFeature, server);
|
||||
boolean featureEnabled = featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, server);
|
||||
if(featureEnabled) {
|
||||
log.info("Executing warn decay for server {}.", server.getId());
|
||||
warnService.decayWarningsForServer(server);
|
||||
|
||||
@@ -11,7 +11,7 @@ import dev.sheldan.abstracto.core.service.management.ServerManagementService;
|
||||
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.utils.FutureUtils;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.ModerationFeatureDefinition;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.mode.WarnDecayMode;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.mode.WarningMode;
|
||||
import dev.sheldan.abstracto.moderation.config.posttarget.WarnDecayPostTarget;
|
||||
@@ -130,8 +130,8 @@ public class WarnServiceBean implements WarnService {
|
||||
@Override
|
||||
@Transactional
|
||||
public CompletableFuture<Void> decayWarningsForServer(AServer server) {
|
||||
Long defaultDays = defaultConfigManagementService.getDefaultConfig(WarningDecayFeature.DECAY_DAYS_KEY).getLongValue();
|
||||
Long days = configService.getLongValue(WarningDecayFeature.DECAY_DAYS_KEY, server.getId(), defaultDays);
|
||||
Long defaultDays = defaultConfigManagementService.getDefaultConfig(WarningDecayFeatureConfig.DECAY_DAYS_KEY).getLongValue();
|
||||
Long days = configService.getLongValue(WarningDecayFeatureConfig.DECAY_DAYS_KEY, server.getId(), defaultDays);
|
||||
Instant cutOffDay = Instant.now().minus(days, ChronoUnit.DAYS);
|
||||
log.info("Decaying warnings on server {} which are older than {}.", server.getId(), cutOffDay);
|
||||
List<Warning> warningsToDecay = warnManagementService.getActiveWarningsInServerOlderThan(server, cutOffDay);
|
||||
|
||||
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
|
||||
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
|
||||
import dev.sheldan.abstracto.moderation.model.template.command.MyWarningsModel;
|
||||
import dev.sheldan.abstracto.moderation.service.management.WarnManagementService;
|
||||
import org.junit.Assert;
|
||||
@@ -35,7 +35,7 @@ public class MyWarningsTest {
|
||||
private FeatureFlagService featureFlagService;
|
||||
|
||||
@Mock
|
||||
private WarningDecayFeature warningDecayFeature;
|
||||
private WarningDecayFeatureConfig warningDecayFeatureConfig;
|
||||
|
||||
@Mock
|
||||
private UserInServerManagementService userInServerManagementService;
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.moderation.job;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.FeatureFlagService;
|
||||
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
|
||||
import dev.sheldan.abstracto.moderation.service.WarnService;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@@ -34,7 +34,7 @@ public class WarnDecayJobTest {
|
||||
private FeatureFlagService featureFlagService;
|
||||
|
||||
@Mock
|
||||
private WarningDecayFeature warningDecayFeature;
|
||||
private WarningDecayFeatureConfig warningDecayFeatureConfig;
|
||||
|
||||
@Mock
|
||||
private WarnService warnService;
|
||||
@@ -52,7 +52,7 @@ public class WarnDecayJobTest {
|
||||
public void executeJobForNoServers() throws JobExecutionException {
|
||||
when(serverManagementService.getAllServers()).thenReturn(Collections.emptyList());
|
||||
testUnit.executeInternal(null);
|
||||
verify(featureFlagService, times(0)).isFeatureEnabled(eq(warningDecayFeature), any(AServer.class));
|
||||
verify(featureFlagService, times(0)).isFeatureEnabled(eq(warningDecayFeatureConfig), any(AServer.class));
|
||||
verify(warnService, times(0)).decayWarningsForServer(any(AServer.class));
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public class WarnDecayJobTest {
|
||||
public void executeJobForAEnabledServer() throws JobExecutionException {
|
||||
when(firstServer.getId()).thenReturn(SERVER_ID);
|
||||
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer));
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
|
||||
testUnit.executeInternal(null);
|
||||
verify(warnService, times(1)).decayWarningsForServer(eq(firstServer));
|
||||
}
|
||||
@@ -68,7 +68,7 @@ public class WarnDecayJobTest {
|
||||
@Test
|
||||
public void executeJobForADisabledServer() throws JobExecutionException {
|
||||
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer));
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(false);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(false);
|
||||
testUnit.executeInternal(null);
|
||||
verify(warnService, times(0)).decayWarningsForServer(eq(firstServer));
|
||||
}
|
||||
@@ -77,8 +77,8 @@ public class WarnDecayJobTest {
|
||||
public void executeJobForMixedServers() throws JobExecutionException {
|
||||
when(firstServer.getId()).thenReturn(SERVER_ID);
|
||||
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer, secondServer));
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, secondServer)).thenReturn(false);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, secondServer)).thenReturn(false);
|
||||
testUnit.executeInternal(null);
|
||||
verify(warnService, times(1)).decayWarningsForServer(eq(firstServer));
|
||||
}
|
||||
@@ -88,8 +88,8 @@ public class WarnDecayJobTest {
|
||||
when(firstServer.getId()).thenReturn(SERVER_ID);
|
||||
when(secondServer.getId()).thenReturn(SERVER_ID_2);
|
||||
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer, secondServer));
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeature, secondServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
|
||||
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, secondServer)).thenReturn(true);
|
||||
testUnit.executeInternal(null);
|
||||
ArgumentCaptor<AServer> serverCaptor = ArgumentCaptor.forClass(AServer.class);
|
||||
verify(warnService, times(2)).decayWarningsForServer(serverCaptor.capture());
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.sheldan.abstracto.core.service.management.DefaultConfigManagementServ
|
||||
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
|
||||
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.ModerationFeatureDefinition;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.mode.WarnDecayMode;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.mode.WarningMode;
|
||||
import dev.sheldan.abstracto.moderation.config.posttarget.WarningPostTarget;
|
||||
@@ -254,8 +254,8 @@ public class WarnServiceBeanTest {
|
||||
SystemConfigProperty defaultDecayDays = Mockito.mock(SystemConfigProperty.class);
|
||||
Long defaultDayCount = 4L;
|
||||
when(defaultDecayDays.getLongValue()).thenReturn(defaultDayCount);
|
||||
when(defaultConfigManagementService.getDefaultConfig(WarningDecayFeature.DECAY_DAYS_KEY)).thenReturn(defaultDecayDays);
|
||||
when(configService.getLongValue(WarningDecayFeature.DECAY_DAYS_KEY, SERVER_ID, defaultDayCount)).thenReturn(5L);
|
||||
when(defaultConfigManagementService.getDefaultConfig(WarningDecayFeatureConfig.DECAY_DAYS_KEY)).thenReturn(defaultDecayDays);
|
||||
when(configService.getLongValue(WarningDecayFeatureConfig.DECAY_DAYS_KEY, SERVER_ID, defaultDayCount)).thenReturn(5L);
|
||||
List<Warning> warnings = Arrays.asList(firstWarning, secondWarning);
|
||||
when(memberService.getMemberInServerAsync(warningUser)).thenReturn(CompletableFuture.completedFuture(warningMember));
|
||||
when(memberService.getMemberInServerAsync(firstWarnedUser)).thenReturn(CompletableFuture.completedFuture(warnedMember));
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class InviteFilterFeature implements FeatureConfig {
|
||||
public class InviteFilterFeatureConfig implements FeatureConfig {
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
return ModerationFeatureDefinition.INVITE_FILTER;
|
||||
@@ -10,7 +10,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class LoggingFeature implements FeatureConfig {
|
||||
public class LoggingFeatureConfig implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
@@ -12,7 +12,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class ModerationFeature implements FeatureConfig {
|
||||
public class ModerationFeatureConfig implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
@@ -12,7 +12,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class MutingFeature implements FeatureConfig {
|
||||
public class MutingFeatureConfig implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
@@ -5,7 +5,7 @@ import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class UserNoteFeature implements FeatureConfig {
|
||||
public class UserNoteFeatureConfig implements FeatureConfig {
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
return ModerationFeatureDefinition.USER_NOTES;
|
||||
@@ -13,12 +13,12 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class WarningDecayFeature implements FeatureConfig {
|
||||
public class WarningDecayFeatureConfig implements FeatureConfig {
|
||||
|
||||
public static final String DECAY_DAYS_KEY = "decayDays";
|
||||
@Autowired
|
||||
private WarningFeature warningFeature;
|
||||
|
||||
@Autowired
|
||||
private WarningFeatureConfig warningFeatureConfig;
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
@@ -32,7 +32,7 @@ public class WarningDecayFeature implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public List<FeatureConfig> getRequiredFeatures() {
|
||||
return Arrays.asList(warningFeature);
|
||||
return Arrays.asList(warningFeatureConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -13,10 +13,10 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class WarningFeature implements FeatureConfig {
|
||||
public class WarningFeatureConfig implements FeatureConfig {
|
||||
|
||||
@Autowired
|
||||
private WarningDecayFeature warningDecayFeature;
|
||||
private WarningDecayFeatureConfig warningDecayFeatureConfig;
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
@@ -25,7 +25,7 @@ public class WarningFeature implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public List<FeatureConfig> getDependantFeatures() {
|
||||
return Arrays.asList(warningDecayFeature);
|
||||
return Arrays.asList(warningDecayFeatureConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
Reference in New Issue
Block a user