[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:
Sheldan
2021-03-12 17:29:49 +01:00
parent e2da800d84
commit 2ed456c164
835 changed files with 12790 additions and 3310 deletions

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +18,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* Command used to activate an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to activate an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class ActivateAssignableRolePlace extends AbstractConditionableCommand { public class ActivateAssignableRolePlace extends AbstractConditionableCommand {
@@ -45,7 +45,7 @@ public class ActivateAssignableRolePlace extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("activateAssignableRolePlace") .name("activateAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -55,7 +55,7 @@ public class ActivateAssignableRolePlace extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRoleAlreadyDefinedException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRoleAlreadyDefinedException;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRoleNotUsableException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRoleNotUsableException;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -10,7 +10,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.models.FullRole; import dev.sheldan.abstracto.core.models.FullRole;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
@@ -24,8 +24,8 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to add an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole assignableRole} * Command used to add an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole assignableRole}
* to an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * to an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class AddRoleToAssignableRolePost extends AbstractConditionableCommand { public class AddRoleToAssignableRolePost extends AbstractConditionableCommand {
@@ -67,7 +67,7 @@ public class AddRoleToAssignableRolePost extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("addRoleToAssignableRolePlace") .name("addRoleToAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
@@ -78,7 +78,7 @@ public class AddRoleToAssignableRolePost extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.core.command.config.ModuleInfo; 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; import org.springframework.stereotype.Component;
@Component @Component
public class AssignableRoleModule implements ModuleInterface { public class AssignableRoleModuleDefinition implements ModuleDefinition {
public static final String ASSIGNABLE_ROLES = "assignableRole"; public static final String ASSIGNABLE_ROLES = "assignableRole";
@Override @Override

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey; import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -9,7 +9,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to change one attribute of an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to change one attribute of an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
@Slf4j @Slf4j
@@ -55,7 +55,7 @@ public class ChangeAssignableRolePlaceConfig extends AbstractConditionableComman
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("changeAssignableRolePlaceConfig") .name("changeAssignableRolePlaceConfig")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -66,7 +66,7 @@ public class ChangeAssignableRolePlaceConfig extends AbstractConditionableComman
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -11,7 +11,7 @@ import dev.sheldan.abstracto.core.command.config.ParameterValidator;
import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator; import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.models.database.AChannel;
import dev.sheldan.abstracto.core.service.management.ChannelManagementService; import dev.sheldan.abstracto.core.service.management.ChannelManagementService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
@@ -57,7 +57,7 @@ public class CreateAssignableRolePost extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("createAssignableRolePlace") .name("createAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -68,7 +68,7 @@ public class CreateAssignableRolePost extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +18,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* Command used to deactive an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to deactive an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class DeactivateAssignableRolePlace extends AbstractConditionableCommand { public class DeactivateAssignableRolePlace extends AbstractConditionableCommand {
@@ -45,7 +45,7 @@ public class DeactivateAssignableRolePlace extends AbstractConditionableCommand
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("deactivateAssignableRolePlace") .name("deactivateAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -55,7 +55,7 @@ public class DeactivateAssignableRolePlace extends AbstractConditionableCommand
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to delete an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to delete an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class DeleteAssignableRolePlace extends AbstractConditionableCommand { public class DeleteAssignableRolePlace extends AbstractConditionableCommand {
@@ -46,7 +46,7 @@ public class DeleteAssignableRolePlace extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("deleteAssignableRolePlace") .name("deleteAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
@@ -57,7 +57,7 @@ public class DeleteAssignableRolePlace extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -11,7 +11,7 @@ import dev.sheldan.abstracto.core.command.config.ParameterValidator;
import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator; import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -52,7 +52,7 @@ public class EditAssignableRolePlaceText extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("editAssignableRolePlaceText") .name("editAssignableRolePlaceText")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -63,7 +63,7 @@ public class EditAssignableRolePlaceText extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.TextChannel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +18,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* Command used to move an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to move an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
* to another {@link dev.sheldan.abstracto.core.models.database.AChannel channel} * to another {@link dev.sheldan.abstracto.core.models.database.AChannel channel}
*/ */
@Component @Component
@@ -47,7 +47,7 @@ public class MoveAssignableRolePlace extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("moveAssignableRolePlace") .name("moveAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -57,7 +57,7 @@ public class MoveAssignableRolePlace extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
@@ -20,8 +20,8 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to remove a {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * Command used to remove a {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
* from an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * from an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableCommand { public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableCommand {
@@ -50,7 +50,7 @@ public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableComm
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("removeRoleFromAssignableRolePlace") .name("removeRoleFromAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
@@ -61,7 +61,7 @@ public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableComm
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
@@ -19,8 +19,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* Command used to set the position of one individual {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole assignableRole} * Command used to set the position of one individual {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole assignableRole}
* within an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * within an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class SetAssignableRolePosition extends AbstractConditionableCommand { public class SetAssignableRolePosition extends AbstractConditionableCommand {
@@ -51,7 +51,7 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("setAssignableRolePosition") .name("setAssignableRolePosition")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -61,7 +61,7 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to render the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to render the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
* and create the {@link net.dv8tion.jda.api.entities.Message messages} used to add {@link net.dv8tion.jda.api.entities.MessageReaction reactions} to * and create the {@link net.dv8tion.jda.api.entities.Message messages} used to add {@link net.dv8tion.jda.api.entities.MessageReaction reactions} to
*/ */
@Component @Component
@@ -53,7 +53,7 @@ public class SetupAssignableRolePlace extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("setupAssignableRolePlace") .name("setupAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -64,7 +64,7 @@ public class SetupAssignableRolePlace extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to show the configuration of an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to show the configuration of an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand { public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand {
@@ -48,7 +48,7 @@ public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("showAssignableRolePlaceConfig") .name("showAssignableRolePlaceConfig")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.causesReaction(true) .causesReaction(true)
@@ -59,7 +59,7 @@ public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,13 +1,13 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
import dev.sheldan.abstracto.core.command.config.HelpInfo; import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Component;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to show all {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace places} * Command used to show all {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace places}
* within the current {@link AServer server} * within the current {@link AServer server}
*/ */
@Component @Component
@@ -40,7 +40,7 @@ public class ShowAssignableRolePlaces extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("showAssignableRolePlaces") .name("showAssignableRolePlaces")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
@@ -50,7 +50,7 @@ public class ShowAssignableRolePlaces extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.exceptions.EmoteNotInAssignableRolePlaceException; import dev.sheldan.abstracto.assignableroles.exception.EmoteNotInAssignableRolePlaceException;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -9,7 +9,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.EmoteService; import dev.sheldan.abstracto.core.service.EmoteService;
@@ -21,8 +21,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* Command used to swap the positions of two {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole roles} * Command used to swap the positions of two {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole roles}
* within one {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * within one {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Component @Component
public class SwapAssignableRolePosition extends AbstractConditionableCommand { public class SwapAssignableRolePosition extends AbstractConditionableCommand {
@@ -65,7 +65,7 @@ public class SwapAssignableRolePosition extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("swapAssignableRolePosition") .name("swapAssignableRolePosition")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true) .supportsEmbedException(true)
@@ -75,7 +75,7 @@ public class SwapAssignableRolePosition extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.command; package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
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;
@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; 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.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.ServerManagementService; import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
/** /**
* Command used to show how an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Command used to show how an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
* would look like in the current {@link net.dv8tion.jda.api.entities.TextChannel channel} * would look like in the current {@link net.dv8tion.jda.api.entities.TextChannel channel}
*/ */
@Component @Component
@@ -47,7 +47,7 @@ public class TestAssignableRolePlace extends AbstractConditionableCommand {
HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("testAssignableRolePlace") .name("testAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModuleDefinition.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
@@ -58,7 +58,7 @@ public class TestAssignableRolePlace extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,10 +1,10 @@
package dev.sheldan.abstracto.assignableroles.listener; package dev.sheldan.abstracto.assignableroles.listener;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
import dev.sheldan.abstracto.core.config.FeatureEnum; import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.listener.async.jda.AsyncMessageDeletedListener; import dev.sheldan.abstracto.core.listener.async.jda.AsyncMessageDeletedListener;
import dev.sheldan.abstracto.core.models.cache.CachedMessage; import dev.sheldan.abstracto.core.models.cache.CachedMessage;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -36,8 +36,8 @@ public class AssignablePostDeletedListener implements AsyncMessageDeletedListene
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,17 +1,17 @@
package dev.sheldan.abstracto.assignableroles.listener; package dev.sheldan.abstracto.assignableroles.listener;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService; import dev.sheldan.abstracto.assignableroles.service.AssignableRolePlaceService;
import dev.sheldan.abstracto.assignableroles.service.AssignableRoleServiceBean; import dev.sheldan.abstracto.assignableroles.service.AssignableRoleServiceBean;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementService;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlaceManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlaceManagementService;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementService;
import dev.sheldan.abstracto.core.config.FeatureEnum; import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.listener.async.jda.AsyncReactionAddedListener; import dev.sheldan.abstracto.core.listener.async.jda.AsyncReactionAddedListener;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.cache.CachedMessage; import dev.sheldan.abstracto.core.models.cache.CachedMessage;
@@ -172,8 +172,8 @@ public class AssignablePostReactionAdded implements AsyncReactionAddedListener {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
} }

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.assignableroles.listener; package dev.sheldan.abstracto.assignableroles.listener;
import dev.sheldan.abstracto.assignableroles.config.features.AssignableRoleFeature; import dev.sheldan.abstracto.assignableroles.config.AssignableRoleFeatureDefinition;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.service.AssignableRoleService; import dev.sheldan.abstracto.assignableroles.service.AssignableRoleService;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
import dev.sheldan.abstracto.core.config.FeatureEnum; import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.listener.async.jda.AsyncReactionRemovedListener; import dev.sheldan.abstracto.core.listener.async.jda.AsyncReactionRemovedListener;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.cache.CachedMessage; import dev.sheldan.abstracto.core.models.cache.CachedMessage;
@@ -35,8 +35,8 @@ public class AssignablePostReactionRemoved implements AsyncReactionRemovedListen
private AssignableRoleService assignableRoleService; private AssignableRoleService assignableRoleService;
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES; return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
} }
/** /**

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.repository; package dev.sheldan.abstracto.assignableroles.repository;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.repository; package dev.sheldan.abstracto.assignableroles.repository;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.repository; package dev.sheldan.abstracto.assignableroles.repository;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.repository; package dev.sheldan.abstracto.assignableroles.repository;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;

View File

@@ -1,14 +1,14 @@
package dev.sheldan.abstracto.assignableroles.service; package dev.sheldan.abstracto.assignableroles.service;
import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey; import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceAlreadyExistsException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceAlreadyExistsException;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceChannelDoesNotExistException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceChannelDoesNotExistException;
import dev.sheldan.abstracto.assignableroles.exceptions.EmoteNotInAssignableRolePlaceException; import dev.sheldan.abstracto.assignableroles.exception.EmoteNotInAssignableRolePlaceException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.assignableroles.models.templates.*; import dev.sheldan.abstracto.assignableroles.model.template.*;
import dev.sheldan.abstracto.assignableroles.service.management.*; import dev.sheldan.abstracto.assignableroles.service.management.*;
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException; import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException; import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException;
@@ -877,8 +877,6 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
*/ */
@Transactional @Transactional
public CompletableFuture<Void> addEmotes(List<CompletableFuture<Message>> assignablePlacePostsMessageFutures, Long assignablePlaceId) { public CompletableFuture<Void> addEmotes(List<CompletableFuture<Message>> assignablePlacePostsMessageFutures, Long assignablePlaceId) {
Message firstMessage = assignablePlacePostsMessageFutures.get(0).join();
AssignableRolePlace innerRolePlace = rolePlaceManagementService.findByPlaceId(assignablePlaceId); AssignableRolePlace innerRolePlace = rolePlaceManagementService.findByPlaceId(assignablePlaceId);
log.info("Adding emotes to assignable role place {}.", innerRolePlace); log.info("Adding emotes to assignable role place {}.", innerRolePlace);
log.trace("We have {} posts and {} roles.", assignablePlacePostsMessageFutures.size(), innerRolePlace.getAssignableRoles().size()); log.trace("We have {} posts and {} roles.", assignablePlacePostsMessageFutures.size(), innerRolePlace.getAssignableRoles().size());

View File

@@ -1,14 +1,14 @@
package dev.sheldan.abstracto.assignableroles.service; package dev.sheldan.abstracto.assignableroles.service;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementServiceBean; import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementServiceBean;
import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementService; import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementService;
import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementServiceBean; import dev.sheldan.abstracto.assignableroles.service.management.AssignedRoleUserManagementServiceBean;
import dev.sheldan.abstracto.core.metrics.service.CounterMetric; import dev.sheldan.abstracto.core.metric.service.CounterMetric;
import dev.sheldan.abstracto.core.metrics.service.MetricService; import dev.sheldan.abstracto.core.metric.service.MetricService;
import dev.sheldan.abstracto.core.metrics.service.MetricTag; import dev.sheldan.abstracto.core.metric.service.MetricTag;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.service.MemberService; import dev.sheldan.abstracto.core.service.MemberService;

View File

@@ -1,9 +1,9 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.repository.AssignableRoleRepository; import dev.sheldan.abstracto.assignableroles.repository.AssignableRoleRepository;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.models.cache.CachedEmote; import dev.sheldan.abstracto.core.models.cache.CachedEmote;

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlaceRepository; import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlaceRepository;
import dev.sheldan.abstracto.core.models.database.AChannel; import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlacePostNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlacePostNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlacePostRepository; import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlacePostRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignedUserNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignedUserNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.assignableroles.repository.AssignedRoleUserRepository; import dev.sheldan.abstracto.assignableroles.repository.AssignedRoleUserRepository;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;

View File

@@ -8,97 +8,81 @@
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" > http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
<property name="experienceModule" value="(SELECT id FROM module WHERE name = 'assignableRoles')"/> <property name="experienceModule" value="(SELECT id FROM module WHERE name = 'assignableRoles')"/>
<property name="experienceFeature" value="(SELECT id FROM feature WHERE key = 'assignableRole')"/> <property name="experienceFeature" value="(SELECT id FROM feature WHERE key = 'assignableRole')"/>
<property name="today" value="(SELECT NOW())"/>
<changeSet author="Sheldan" id="assignable_roles-commands"> <changeSet author="Sheldan" id="assignable_roles-commands">
<insert tableName="command"> <insert tableName="command">
<column name="name" value="addRoleToAssignableRolePlace"/> <column name="name" value="addRoleToAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="setupAssignableRolePlace"/> <column name="name" value="setupAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="activateAssignableRolePlace"/> <column name="name" value="activateAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="deactivateAssignableRolePlace"/> <column name="name" value="deactivateAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="removeRoleFromAssignableRolePlace"/> <column name="name" value="removeRoleFromAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="changeAssignableRolePlaceConfig"/> <column name="name" value="changeAssignableRolePlaceConfig"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="setAssignableRolePosition"/> <column name="name" value="setAssignableRolePosition"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="swapAssignableRolePosition"/> <column name="name" value="swapAssignableRolePosition"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="testAssignableRolePlace"/> <column name="name" value="testAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="deleteAssignableRolePlace"/> <column name="name" value="deleteAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="createAssignableRolePlace"/> <column name="name" value="createAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="showAssignableRolePlaceConfig"/> <column name="name" value="showAssignableRolePlaceConfig"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="editAssignableRolePlaceText"/> <column name="name" value="editAssignableRolePlaceText"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="moveAssignableRolePlace"/> <column name="name" value="moveAssignableRolePlace"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
<insert tableName="command"> <insert tableName="command">
<column name="name" value="showAssignableRolePlaces"/> <column name="name" value="showAssignableRolePlaces"/>
<column name="module_id" valueComputed="${experienceModule}"/> <column name="module_id" valueComputed="${experienceModule}"/>
<column name="feature_id" valueComputed="${experienceFeature}"/> <column name="feature_id" valueComputed="${experienceFeature}"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
</changeSet> </changeSet>

View File

@@ -6,11 +6,9 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd 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/dbchangelog-ext ../../dbchangelog-3.8.xsd
http://www.liquibase.org/xml/ns/pro ../../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="assignable_role-feature-insertion"> <changeSet author="Sheldan" id="assignable_role-feature-insertion">
<insert tableName="feature"> <insert tableName="feature">
<column name="key" value="assignableRole"/> <column name="key" value="assignableRole"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -6,11 +6,9 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd 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/dbchangelog-ext ../../dbchangelog-3.8.xsd
http://www.liquibase.org/xml/ns/pro ../../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="assignable_role-module-insertion"> <changeSet author="Sheldan" id="assignable_role-module-insertion">
<insert tableName="module"> <insert tableName="module">
<column name="name" value="assignableRoles"/> <column name="name" value="assignableRoles"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -0,0 +1,13 @@
package dev.sheldan.abstracto.assignableroles.config;
import dev.sheldan.abstracto.core.config.FeatureConfig;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import org.springframework.stereotype.Component;
@Component
public class AssignableFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {
return AssignableRoleFeatureDefinition.ASSIGNABLE_ROLES;
}
}

View File

@@ -0,0 +1,15 @@
package dev.sheldan.abstracto.assignableroles.config;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import lombok.Getter;
@Getter
public enum AssignableRoleFeatureDefinition implements FeatureDefinition {
ASSIGNABLE_ROLES("assignableRole");
private String key;
AssignableRoleFeatureDefinition(String key) {
this.key = key;
}
}

View File

@@ -4,7 +4,7 @@ import dev.sheldan.abstracto.core.command.execution.CommandParameterKey;
import lombok.Getter; import lombok.Getter;
/** /**
* This enum is used to define the different key for which there exist properties on an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace}. * This enum is used to define the different key for which there exist properties on an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace}.
* And is used for the command parameter when changing the value of an attribute on this place. * And is used for the command parameter when changing the value of an attribute on this place.
*/ */
@Getter @Getter

View File

@@ -1,13 +0,0 @@
package dev.sheldan.abstracto.assignableroles.config.features;
import dev.sheldan.abstracto.core.config.FeatureConfig;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import org.springframework.stereotype.Component;
@Component
public class AssignableFeatureConfig implements FeatureConfig {
@Override
public FeatureEnum getFeature() {
return AssignableRoleFeature.ASSIGNABLE_ROLES;
}
}

View File

@@ -1,15 +0,0 @@
package dev.sheldan.abstracto.assignableroles.config.features;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import lombok.Getter;
@Getter
public enum AssignableRoleFeature implements FeatureEnum {
ASSIGNABLE_ROLES("assignableRole");
private String key;
AssignableRoleFeature(String key) {
this.key = key;
}
}

View File

@@ -1,13 +1,13 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRoleAlreadyDefinedExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRoleAlreadyDefinedExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception thrown in case the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole} has already been * Exception thrown in case the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole} has already been
* defined for an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace}. This is identified * defined for an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace}. This is identified
* via the {@link net.dv8tion.jda.api.entities.Emote} which is used to react. * via the {@link net.dv8tion.jda.api.entities.Emote} which is used to react.
*/ */
public class AssignableRoleAlreadyDefinedException extends AbstractoRunTimeException implements Templatable { public class AssignableRoleAlreadyDefinedException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRoleNotUsableExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRoleNotUsableExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.models.FullRole; import dev.sheldan.abstracto.core.models.FullRole;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceAlreadyExistsExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRolePlaceAlreadyExistsExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception thrown in case the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Exception thrown in case the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
* identified by {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace#key} * identified by {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace#key}
*/ */
public class AssignableRolePlaceAlreadyExistsException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceAlreadyExistsException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceChannelDoesNotExistExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRolePlaceChannelDoesNotExistExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception thrown in case the {@link dev.sheldan.abstracto.core.models.database.AChannel channel} in which a * Exception thrown in case the {@link dev.sheldan.abstracto.core.models.database.AChannel channel} in which a
* {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} is defined, does not exist * {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place} is defined, does not exist
*/ */
public class AssignableRolePlaceChannelDoesNotExistException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceChannelDoesNotExistException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceNotFoundExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRolePlaceNotFoundExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception which is thrown in case a {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * Exception which is thrown in case a {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
* defined by a {@link String key} does not exist * defined by a {@link String key} does not exist
*/ */
public class AssignableRolePlaceNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceNotFoundException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlacePostNotFoundExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignableRolePlacePostNotFoundExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception which is thrown, in case the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost post} * Exception which is thrown, in case the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost post}
* was not found via its message ID * was not found via its message ID
*/ */
public class AssignableRolePlacePostNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlacePostNotFoundException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignedUserNotFoundExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.AssignedUserNotFoundExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception which is thrown in case an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser user} * Exception which is thrown in case an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser user}
* was not found. * was not found.
*/ */
public class AssignedUserNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignedUserNotFoundException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,13 +1,13 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exception;
import dev.sheldan.abstracto.assignableroles.models.exception.EmoteNotInAssignableRolePlaceExceptionModel; import dev.sheldan.abstracto.assignableroles.model.exception.EmoteNotInAssignableRolePlaceExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import dev.sheldan.abstracto.core.templating.Templatable; import dev.sheldan.abstracto.core.templating.Templatable;
/** /**
* Exception which is thrown in case a given {@link dev.sheldan.abstracto.core.models.database.AEmote} was not found * Exception which is thrown in case a given {@link dev.sheldan.abstracto.core.models.database.AEmote} was not found
* in the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace}, when it was tried to switch * in the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace}, when it was tried to switch
* or move the emotes around. * or move the emotes around.
*/ */
public class EmoteNotInAssignableRolePlaceException extends AbstractoRunTimeException implements Templatable { public class EmoteNotInAssignableRolePlaceException extends AbstractoRunTimeException implements Templatable {

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.database; package dev.sheldan.abstracto.assignableroles.model.database;
import dev.sheldan.abstracto.core.models.database.AEmote; import dev.sheldan.abstracto.core.models.database.AEmote;
import dev.sheldan.abstracto.core.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.database; package dev.sheldan.abstracto.assignableroles.model.database;
import dev.sheldan.abstracto.core.models.database.AChannel; import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.database; package dev.sheldan.abstracto.assignableroles.model.database;
import dev.sheldan.abstracto.core.models.database.AChannel; import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.database; package dev.sheldan.abstracto.assignableroles.model.database;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import lombok.*; import lombok.*;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import lombok.Builder; import lombok.Builder;
@@ -7,18 +7,18 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignableRoleAlreadyDefinedException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignableRoleAlreadyDefinedException}
*/ */
@Getter @Getter
@Builder @Builder
public class AssignableRoleAlreadyDefinedExceptionModel implements Serializable { public class AssignableRoleAlreadyDefinedExceptionModel implements Serializable {
/** /**
* The {@link FullEmote emote} which was tried to be added to a {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * The {@link FullEmote emote} which was tried to be added to a {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
private final FullEmote emote; private final FullEmote emote;
/** /**
* The key of the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace} for which it was tried to add a * The key of the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace} for which it was tried to add a
* {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private final String placeName; private final String placeName;
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import dev.sheldan.abstracto.core.models.FullRole; import dev.sheldan.abstracto.core.models.FullRole;
import lombok.Builder; import lombok.Builder;
@@ -8,13 +8,13 @@ import net.dv8tion.jda.api.entities.Guild;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException}
*/ */
@Getter @Getter
@Builder @Builder
public class AssignableRoleNotUsableExceptionModel implements Serializable { public class AssignableRoleNotUsableExceptionModel implements Serializable {
/** /**
* The {@link FullRole role} which is not usable as an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * The {@link FullRole role} which is not usable as an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private final FullRole role; private final FullRole role;
/** /**

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@@ -6,13 +6,13 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceAlreadyExistsException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceAlreadyExistsException}
*/ */
@Getter @Getter
@Builder @Builder
public class AssignableRolePlaceAlreadyExistsExceptionModel implements Serializable { public class AssignableRolePlaceAlreadyExistsExceptionModel implements Serializable {
/** /**
* The key which collides with an existing {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace} * The key which collides with an existing {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace}
*/ */
private final String name; private final String name;
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceChannelDoesNotExistException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceChannelDoesNotExistException;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@@ -17,7 +17,7 @@ public class AssignableRolePlaceChannelDoesNotExistExceptionModel implements Ser
*/ */
private final Long channelId; private final Long channelId;
/** /**
* The key of the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} for which * The key of the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place} for which
* the channel does not exist anymore in the {@link net.dv8tion.jda.api.entities.Guild} * the channel does not exist anymore in the {@link net.dv8tion.jda.api.entities.Guild}
*/ */
private final String placeName; private final String placeName;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@@ -6,13 +6,13 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException}
*/ */
@Getter @Getter
@Builder @Builder
public class AssignableRolePlaceNotFoundExceptionModel implements Serializable { public class AssignableRolePlaceNotFoundExceptionModel implements Serializable {
/** /**
* The ID of the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} which was not found * The ID of the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place} which was not found
*/ */
private final Long placeId; private final Long placeId;
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@@ -6,13 +6,13 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlacePostNotFoundException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlacePostNotFoundException}
*/ */
@Getter @Getter
@Builder @Builder
public class AssignableRolePlacePostNotFoundExceptionModel implements Serializable { public class AssignableRolePlacePostNotFoundExceptionModel implements Serializable {
/** /**
* The ID of the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost post} which was not found in the database * The ID of the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost post} which was not found in the database
*/ */
private final Long messageId; private final Long messageId;
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import lombok.Builder; import lombok.Builder;
@@ -7,7 +7,7 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.AssignedUserNotFoundException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.AssignedUserNotFoundException}
*/ */
@Getter @Getter
@Builder @Builder

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.model.exception;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
import lombok.Builder; import lombok.Builder;
@@ -7,17 +7,17 @@ import lombok.Getter;
import java.io.Serializable; import java.io.Serializable;
/** /**
* Contains the model for {@link dev.sheldan.abstracto.assignableroles.exceptions.EmoteNotInAssignableRolePlaceException} * Contains the model for {@link dev.sheldan.abstracto.assignableroles.exception.EmoteNotInAssignableRolePlaceException}
*/ */
@Getter @Getter
@Builder @Builder
public class EmoteNotInAssignableRolePlaceExceptionModel implements Serializable { public class EmoteNotInAssignableRolePlaceExceptionModel implements Serializable {
/** /**
* The {@link FullEmote emote} which was not found in the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * The {@link FullEmote emote} which was not found in the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
private final FullEmote emote; private final FullEmote emote;
/** /**
* The key of the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} for which the emote was not found in * The key of the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place} for which the emote was not found in
*/ */
private final String placeName; private final String placeName;
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.models.templates; package dev.sheldan.abstracto.assignableroles.model.template;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.models.templates; package dev.sheldan.abstracto.assignableroles.model.template;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -23,7 +23,7 @@ public class AssignablePostMessage {
*/ */
private List<AssignablePostRole> roles; private List<AssignablePostRole> roles;
/** /**
* The highest number of the position within the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole} of the * The highest number of the position within the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole} of the
* {@link AssignableRolePlace place} * {@link AssignableRolePlace place}
*/ */
private Integer maxPosition; private Integer maxPosition;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.templates; package dev.sheldan.abstracto.assignableroles.model.template;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
@@ -7,8 +7,8 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* The model which is used to render the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost post} * The model which is used to render the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost post}
* to a {@link dev.sheldan.abstracto.core.templating.model.MessageToSend messageToSend} for one individual {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * to a {@link dev.sheldan.abstracto.core.templating.model.MessageToSend messageToSend} for one individual {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
@Getter @Getter
@Setter @Setter
@@ -23,8 +23,8 @@ public class AssignablePostRole {
*/ */
private String description; private String description;
/** /**
* The relative position within the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} of this * The relative position within the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place} of this
* {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private Integer position; private Integer position;
/** /**

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.models.templates; package dev.sheldan.abstracto.assignableroles.model.template;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.assignableroles.models.templates; package dev.sheldan.abstracto.assignableroles.model.template;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
@@ -8,19 +8,19 @@ import lombok.Setter;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;
/** /**
* Model used to display the configuration of an individual {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole} * Model used to display the configuration of an individual {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole}
* within an {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace place} * within an {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace place}
*/ */
@Getter @Getter
@Setter @Setter
@Builder @Builder
public class AssignableRolePlaceConfigRole { public class AssignableRolePlaceConfigRole {
/** /**
* The description used for the field for this {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * The description used for the field for this {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private String description; private String description;
/** /**
* The position of this {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * The position of this {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private Integer position; private Integer position;
/** /**
@@ -28,7 +28,7 @@ public class AssignableRolePlaceConfigRole {
*/ */
private Boolean inline; private Boolean inline;
/** /**
* The {@link FullEmote emote} which is associated with this {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRole role} * The {@link FullEmote emote} which is associated with this {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRole role}
*/ */
private FullEmote emote; private FullEmote emote;
/** /**

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.assignableroles.service; package dev.sheldan.abstracto.assignableroles.service;
import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey; import dev.sheldan.abstracto.assignableroles.config.AssignableRolePlaceParameterKey;
import dev.sheldan.abstracto.assignableroles.exceptions.EmoteNotInAssignableRolePlaceException; import dev.sheldan.abstracto.assignableroles.exception.EmoteNotInAssignableRolePlaceException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException; import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
import dev.sheldan.abstracto.core.exception.ChannelNotInGuildException; import dev.sheldan.abstracto.core.exception.ChannelNotInGuildException;
import dev.sheldan.abstracto.core.models.FullEmote; import dev.sheldan.abstracto.core.models.FullEmote;
@@ -31,7 +31,7 @@ public interface AssignableRolePlaceService {
* the {@link AServer server} in which the place should reside in. This {@link AServer server} needs to be unique in combination with the * the {@link AServer server} in which the place should reside in. This {@link AServer server} needs to be unique in combination with the
* key * key
* @param text The description of the {@link AssignableRolePlace place} which is displayed in the first post of the place * @param text The description of the {@link AssignableRolePlace place} which is displayed in the first post of the place
* @throws dev.sheldan.abstracto.assignableroles.exceptions.AssignableRoleAlreadyDefinedException if the combination of {@link AServer server} * @throws dev.sheldan.abstracto.assignableroles.exception.AssignableRoleAlreadyDefinedException if the combination of {@link AServer server}
* and {@link AssignableRolePlace#key} already exists * and {@link AssignableRolePlace#key} already exists
*/ */
void createAssignableRolePlace(String name, AChannel channel, String text); void createAssignableRolePlace(String name, AChannel channel, String text);

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.assignableroles.service; package dev.sheldan.abstracto.assignableroles.service;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
@@ -39,11 +39,11 @@ public interface AssignableRoleService {
/** /**
* Assigns the given {@link AssignableRole role} to the {@link Member member} and stores the assignment as a * Assigns the given {@link AssignableRole role} to the {@link Member member} and stores the assignment as a
* {@link dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser} * {@link dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser}
* @param assignableRoleId The ID of an {@link AssignableRole assignableRole} to be added to the {@link Member member} * @param assignableRoleId The ID of an {@link AssignableRole assignableRole} to be added to the {@link Member member}
* @param toAdd The {@link Member member} to add the role to * @param toAdd The {@link Member member} to add the role to
* @return A {@link CompletableFuture future} which completes when the {@link net.dv8tion.jda.api.entities.Role role} has * @return A {@link CompletableFuture future} which completes when the {@link net.dv8tion.jda.api.entities.Role role} has
* been added and the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser user} has been persisted * been added and the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser user} has been persisted
*/ */
CompletableFuture<Void> fullyAssignAssignableRoleToUser(Long assignableRoleId, Member toAdd); CompletableFuture<Void> fullyAssignAssignableRoleToUser(Long assignableRoleId, Member toAdd);
@@ -76,11 +76,11 @@ public interface AssignableRoleService {
/** /**
* Removes the given {@link AssignableRole role} from the {@link ServerUser serverUser} and stores the assignment as a * Removes the given {@link AssignableRole role} from the {@link ServerUser serverUser} and stores the assignment as a
* {@link dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser} * {@link dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser}
* @param assignableRole The {@link AssignableRole assignableRole} to be removed from the {@link ServerUser serverUser} * @param assignableRole The {@link AssignableRole assignableRole} to be removed from the {@link ServerUser serverUser}
* @param serverUser The {@link ServerUser serverUser} to remove the role from * @param serverUser The {@link ServerUser serverUser} to remove the role from
* @return A {@link CompletableFuture future} which completes when the {@link net.dv8tion.jda.api.entities.Role role} has * @return A {@link CompletableFuture future} which completes when the {@link net.dv8tion.jda.api.entities.Role role} has
* been removed and the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser user} has been persisted * been removed and the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser user} has been persisted
*/ */
CompletableFuture<Void> fullyRemoveAssignableRoleFromUser(AssignableRole assignableRole, ServerUser serverUser); CompletableFuture<Void> fullyRemoveAssignableRoleFromUser(AssignableRole assignableRole, ServerUser serverUser);

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import dev.sheldan.abstracto.core.models.cache.CachedEmote; import dev.sheldan.abstracto.core.models.cache.CachedEmote;
import dev.sheldan.abstracto.core.models.database.AEmote; import dev.sheldan.abstracto.core.models.database.AEmote;
import dev.sheldan.abstracto.core.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.core.models.database.AChannel; import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
@@ -15,7 +15,7 @@ public interface AssignableRolePlaceManagementService {
/** /**
* Creates an {@link AssignableRolePlace place} with the given attributes * Creates an {@link AssignableRolePlace place} with the given attributes
* @param name The key of the {@link AssignableRolePlace place} to identify it with * @param name The key of the {@link AssignableRolePlace place} to identify it with
* @param channel The {@link AChannel channel} in which the {@link dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost posts} * @param channel The {@link AChannel channel} in which the {@link dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost posts}
* should be created in * should be created in
* @param text The text which should be shown in the description * @param text The text which should be shown in the description
* @return The {@link AssignableRolePlace place} which was created * @return The {@link AssignableRolePlace place} which was created
@@ -34,7 +34,7 @@ public interface AssignableRolePlaceManagementService {
* Retrieves an {@link AssignableRolePlace place} identified by the given key in the {@link AServer server} * Retrieves an {@link AssignableRolePlace place} identified by the given key in the {@link AServer server}
* @param server The {@link AServer server} to search in * @param server The {@link AServer server} to search in
* @param name The key of the {@link AssignableRolePlace place} to search for * @param name The key of the {@link AssignableRolePlace place} to search for
* @throws dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException if not found * @throws dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException if not found
* @return Returns an instance of {@link AssignableRolePlace place}, if it was found * @return Returns an instance of {@link AssignableRolePlace place}, if it was found
*/ */
AssignableRolePlace findByServerAndKey(AServer server, String name); AssignableRolePlace findByServerAndKey(AServer server, String name);
@@ -50,7 +50,7 @@ public interface AssignableRolePlaceManagementService {
/** /**
* Retrieves an {@link AssignableRolePlace place} via its ID * Retrieves an {@link AssignableRolePlace place} via its ID
* @param id The ID to search for * @param id The ID to search for
* @throws dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlaceNotFoundException if not found * @throws dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlaceNotFoundException if not found
* @return Returns an {@link AssignableRolePlace place} if one was found with this ID * @return Returns an {@link AssignableRolePlace place} if one was found with this ID
*/ */
AssignableRolePlace findByPlaceId(Long id); AssignableRolePlace findByPlaceId(Long id);

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignableRolePlacePostNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignableRolePlacePostNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRolePlacePost;
import java.util.Optional; import java.util.Optional;

View File

@@ -1,8 +1,8 @@
package dev.sheldan.abstracto.assignableroles.service.management; package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.exceptions.AssignedUserNotFoundException; import dev.sheldan.abstracto.assignableroles.exception.AssignedUserNotFoundException;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRole; import dev.sheldan.abstracto.assignableroles.model.database.AssignableRole;
import dev.sheldan.abstracto.assignableroles.models.database.AssignedRoleUser; import dev.sheldan.abstracto.assignableroles.model.database.AssignedRoleUser;
import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>entertainment</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>entertainment-impl</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/liquibase.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>entertainment-int</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>dev.sheldan.abstracto.core</groupId>
<artifactId>metrics-int</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>dev.sheldan.abstracto.core</groupId>
<artifactId>core-int</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,18 @@
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>liquibase</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<outputDirectory>.</outputDirectory>
<directory>${project.basedir}/src/main/resources/migrations</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@@ -1,6 +1,5 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.UtilityModuleInterface;
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;
import dev.sheldan.abstracto.core.command.config.HelpInfo; import dev.sheldan.abstracto.core.command.config.HelpInfo;
@@ -8,12 +7,13 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter; 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.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.utils.FutureUtils; import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.utility.config.features.UtilityFeature; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeatureDefinition;
import dev.sheldan.abstracto.utility.models.template.commands.ChooseResponseModel; import dev.sheldan.abstracto.entertainment.config.EntertainmentModuleDefinition;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.model.ChooseResponseModel;
import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -49,7 +49,7 @@ public class Choose extends AbstractConditionableCommand {
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("choose") .name("choose")
.async(true) .async(true)
.module(UtilityModuleInterface.UTILITY) .module(EntertainmentModuleDefinition.ENTERTAINMENT)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -59,7 +59,7 @@ public class Choose extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return UtilityFeature.UTILITY; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
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;
@@ -7,14 +7,14 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter; 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.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.utils.FutureUtils; import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.core.templating.service.TemplateService; import dev.sheldan.abstracto.core.templating.service.TemplateService;
import dev.sheldan.abstracto.utility.config.EntertainmentModuleInterface; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeatureDefinition;
import dev.sheldan.abstracto.utility.config.features.UtilityFeature; import dev.sheldan.abstracto.entertainment.config.EntertainmentModuleDefinition;
import dev.sheldan.abstracto.utility.models.template.commands.EightBallResponseModel; import dev.sheldan.abstracto.entertainment.model.EightBallResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -53,7 +53,7 @@ public class EightBall extends AbstractConditionableCommand {
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("8Ball") .name("8Ball")
.async(true) .async(true)
.module(EntertainmentModuleInterface.ENTERTAINMENT) .module(EntertainmentModuleDefinition.ENTERTAINMENT)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -63,7 +63,7 @@ public class EightBall extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return UtilityFeature.ENTERTAINMENT; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
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;
@@ -7,13 +7,13 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter; 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.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.utils.FutureUtils; import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.utility.config.EntertainmentModuleInterface; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeatureDefinition;
import dev.sheldan.abstracto.utility.config.features.UtilityFeature; import dev.sheldan.abstracto.entertainment.config.EntertainmentModuleDefinition;
import dev.sheldan.abstracto.utility.models.template.commands.LoveCalcResponseModel; import dev.sheldan.abstracto.entertainment.model.LoveCalcResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -55,7 +55,7 @@ public class LoveCalc extends AbstractConditionableCommand {
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("loveCalc") .name("loveCalc")
.async(true) .async(true)
.module(EntertainmentModuleInterface.ENTERTAINMENT) .module(EntertainmentModuleDefinition.ENTERTAINMENT)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -65,7 +65,7 @@ public class LoveCalc extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return UtilityFeature.ENTERTAINMENT; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
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;
@@ -8,14 +8,15 @@ import dev.sheldan.abstracto.core.command.config.validator.MinIntegerValueValida
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter; 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.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.service.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
import dev.sheldan.abstracto.core.utils.FutureUtils; import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.utility.config.EntertainmentModuleInterface; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeature;
import dev.sheldan.abstracto.utility.config.features.UtilityFeature; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeatureDefinition;
import dev.sheldan.abstracto.utility.models.template.commands.RollResponseModel; import dev.sheldan.abstracto.entertainment.config.EntertainmentModuleDefinition;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.model.RollResponseModel;
import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -24,8 +25,6 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.config.features.EntertainmentFeature.ROLL_DEFAULT_HIGH_KEY;
@Component @Component
public class Roll extends AbstractConditionableCommand { public class Roll extends AbstractConditionableCommand {
@@ -43,7 +42,7 @@ public class Roll extends AbstractConditionableCommand {
@Override @Override
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) { public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
List<Object> parameters = commandContext.getParameters().getParameters(); List<Object> parameters = commandContext.getParameters().getParameters();
Integer high = configService.getLongValue(ROLL_DEFAULT_HIGH_KEY, commandContext.getGuild().getIdLong()).intValue(); Integer high = configService.getLongValue(EntertainmentFeature.ROLL_DEFAULT_HIGH_KEY, commandContext.getGuild().getIdLong()).intValue();
Integer low = 1; Integer low = 1;
if(parameters.size() > 1) { if(parameters.size() > 1) {
low = (Integer) parameters.get(1); low = (Integer) parameters.get(1);
@@ -68,7 +67,7 @@ public class Roll extends AbstractConditionableCommand {
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("roll") .name("roll")
.async(true) .async(true)
.module(EntertainmentModuleInterface.ENTERTAINMENT) .module(EntertainmentModuleDefinition.ENTERTAINMENT)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -78,7 +77,7 @@ public class Roll extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return UtilityFeature.ENTERTAINMENT; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
} }

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
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;
@@ -7,13 +7,13 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter; 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.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.utils.FutureUtils; import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.utility.config.EntertainmentModuleInterface; import dev.sheldan.abstracto.entertainment.config.EntertainmentFeatureDefinition;
import dev.sheldan.abstracto.utility.config.features.UtilityFeature; import dev.sheldan.abstracto.entertainment.config.EntertainmentModuleDefinition;
import dev.sheldan.abstracto.utility.models.template.commands.RouletteResponseModel; import dev.sheldan.abstracto.entertainment.model.RouletteResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -47,7 +47,7 @@ public class Roulette extends AbstractConditionableCommand {
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("roulette") .name("roulette")
.async(true) .async(true)
.module(EntertainmentModuleInterface.ENTERTAINMENT) .module(EntertainmentModuleDefinition.ENTERTAINMENT)
.templated(true) .templated(true)
.supportsEmbedException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
@@ -57,7 +57,7 @@ public class Roulette extends AbstractConditionableCommand {
} }
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return UtilityFeature.ENTERTAINMENT; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
} }

View File

@@ -0,0 +1,10 @@
package dev.sheldan.abstracto.entertainment.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
@PropertySource("classpath:entertainment-config.properties")
public class EntertainmentConfig {
}

View File

@@ -1,6 +1,7 @@
package dev.sheldan.abstracto.utility.service; package dev.sheldan.abstracto.entertainment.service;
import dev.sheldan.abstracto.core.service.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
import dev.sheldan.abstracto.entertainment.config.EntertainmentFeature;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -9,8 +10,6 @@ import java.security.SecureRandom;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import static dev.sheldan.abstracto.utility.config.features.EntertainmentFeature.ROULETTE_BULLETS_CONFIG_KEY;
@Component @Component
public class EntertainmentServiceBean implements EntertainmentService { public class EntertainmentServiceBean implements EntertainmentService {
@@ -46,7 +45,7 @@ public class EntertainmentServiceBean implements EntertainmentService {
@Override @Override
public boolean executeRoulette(Member memberExecuting) { public boolean executeRoulette(Member memberExecuting) {
Long possibilities = configService.getLongValue(ROULETTE_BULLETS_CONFIG_KEY, memberExecuting.getGuild().getIdLong()); Long possibilities = configService.getLongValue(EntertainmentFeature.ROULETTE_BULLETS_CONFIG_KEY, memberExecuting.getGuild().getIdLong());
// 1/possibilities of chance, we don't have a state, each time its reset // 1/possibilities of chance, we don't have a state, each time its reset
return secureRandom.nextInt(possibilities.intValue()) == 0; return secureRandom.nextInt(possibilities.intValue()) == 0;
} }

View File

@@ -0,0 +1,8 @@
abstracto.systemConfigs.rouletteBullets.name=rouletteBullets
abstracto.systemConfigs.rouletteBullets.longValue=6
abstracto.systemConfigs.rollDefaultHigh.name=rollDefaultHigh
abstracto.systemConfigs.rollDefaultHigh.longValue=6
abstracto.featureFlags.entertainment.featureName=entertainment
abstracto.featureFlags.entertainment.enabled=false

View File

@@ -0,0 +1,10 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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" >
<include file="entertainment-seedData/data.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,40 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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="entertainmentModule" value="(SELECT id FROM module WHERE name = 'entertainment')"/>
<property name="entertainmentFeature" value="(SELECT id FROM feature WHERE key = 'entertainment')"/>
<changeSet author="Sheldan" id="entertainment-commands">
<insert tableName="command">
<column name="name" value="8Ball"/>
<column name="module_id" valueComputed="${entertainmentModule}"/>
<column name="feature_id" valueComputed="${entertainmentFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="loveCalc"/>
<column name="module_id" valueComputed="${entertainmentModule}"/>
<column name="feature_id" valueComputed="${entertainmentFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="roll"/>
<column name="module_id" valueComputed="${entertainmentModule}"/>
<column name="feature_id" valueComputed="${entertainmentFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="roulette"/>
<column name="module_id" valueComputed="${entertainmentModule}"/>
<column name="feature_id" valueComputed="${entertainmentFeature}"/>
</insert>
<insert tableName="command">
<column name="name" value="choose"/>
<column name="module_id" valueComputed="${entertainmentModule}"/>
<column name="feature_id" valueComputed="${entertainmentFeature}"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,12 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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" >
<include file="feature.xml" relativeToChangelogFile="true"/>
<include file="module.xml" relativeToChangelogFile="true"/>
<include file="command.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,14 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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" >
<changeSet author="Sheldan" id="entertainment_feature-insertion">
<insert tableName="feature">
<column name="key" value="entertainment"/>
</insert>
</changeSet>
</databaseChangeLog>

View File

@@ -6,17 +6,9 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd 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/dbchangelog-ext ../../dbchangelog-3.8.xsd
http://www.liquibase.org/xml/ns/pro ../../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="utility-module-insertion">
<insert tableName="module">
<column name="name" value="repostDetection"/>
<column name="created" valueComputed="${today}"/>
</insert>
</changeSet>
<changeSet author="Sheldan" id="entertainment-module-insertion"> <changeSet author="Sheldan" id="entertainment-module-insertion">
<insert tableName="module"> <insert tableName="module">
<column name="name" value="entertainment"/> <column name="name" value="entertainment"/>
<column name="created" valueComputed="${today}"/>
</insert> </insert>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -0,0 +1,10 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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" >
<include file="1.0-entertainment/collection.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator; import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities; import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.utility.models.template.commands.ChooseResponseModel; import dev.sheldan.abstracto.entertainment.model.ChooseResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -20,7 +20,6 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.commands.entertainment.Choose.CHOOSE_RESPONSE_TEMPLATE_KEY;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -44,7 +43,7 @@ public class ChooseTest {
List<String> choices = Arrays.asList("choice1", "choice2"); List<String> choices = Arrays.asList("choice1", "choice2");
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(choices)); CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(choices));
when(entertainmentService.takeChoice(choices, parameters.getAuthor())).thenReturn(choices.get(0)); when(entertainmentService.takeChoice(choices, parameters.getAuthor())).thenReturn(choices.get(0));
when(channelService.sendEmbedTemplateInTextChannelList(eq(CHOOSE_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(parameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(Choose.CHOOSE_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(parameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters); CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(result); CommandTestUtilities.checkSuccessfulCompletionAsync(result);
Assert.assertEquals(choices.get(0), responseModelArgumentCaptor.getValue().getChosenValue()); Assert.assertEquals(choices.get(0), responseModelArgumentCaptor.getValue().getChosenValue());

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator; import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities; import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.utility.models.template.commands.EightBallResponseModel; import dev.sheldan.abstracto.entertainment.model.EightBallResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -19,7 +19,6 @@ import org.mockito.junit.MockitoJUnitRunner;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.commands.entertainment.EightBall.EIGHT_BALL_RESPONSE_TEMPLATE_KEY;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -44,7 +43,7 @@ public class EightBallTest {
String chosenKey = "key"; String chosenKey = "key";
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(inputText)); CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(inputText));
when(entertainmentService.getEightBallValue(inputText)).thenReturn(chosenKey); when(entertainmentService.getEightBallValue(inputText)).thenReturn(chosenKey);
when(channelService.sendEmbedTemplateInTextChannelList(eq(EIGHT_BALL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(parameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(EightBall.EIGHT_BALL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(parameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters); CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(result); CommandTestUtilities.checkSuccessfulCompletionAsync(result);
Assert.assertEquals(chosenKey, responseModelArgumentCaptor.getValue().getChosenKey()); Assert.assertEquals(chosenKey, responseModelArgumentCaptor.getValue().getChosenKey());

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator; import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities; import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.utility.models.template.commands.LoveCalcResponseModel; import dev.sheldan.abstracto.entertainment.model.LoveCalcResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -19,7 +19,7 @@ import org.mockito.junit.MockitoJUnitRunner;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.commands.entertainment.LoveCalc.LOVE_CALC_RESPONSE_TEMPLATE_KEY; import static dev.sheldan.abstracto.entertainment.command.LoveCalc.LOVE_CALC_RESPONSE_TEMPLATE_KEY;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
@@ -6,8 +6,8 @@ import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.service.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator; import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities; import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.utility.models.template.commands.RollResponseModel; import dev.sheldan.abstracto.entertainment.model.RollResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -20,8 +20,7 @@ import org.mockito.junit.MockitoJUnitRunner;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.commands.entertainment.Roll.ROLL_RESPONSE_TEMPLATE_KEY; import static dev.sheldan.abstracto.entertainment.config.EntertainmentFeature.ROLL_DEFAULT_HIGH_KEY;
import static dev.sheldan.abstracto.utility.config.features.EntertainmentFeature.ROLL_DEFAULT_HIGH_KEY;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -52,7 +51,7 @@ public class RollTest {
when(noParameters.getGuild().getIdLong()).thenReturn(serverId); when(noParameters.getGuild().getIdLong()).thenReturn(serverId);
when(configService.getLongValue(ROLL_DEFAULT_HIGH_KEY, serverId)).thenReturn(max.longValue()); when(configService.getLongValue(ROLL_DEFAULT_HIGH_KEY, serverId)).thenReturn(max.longValue());
when(entertainmentService.calculateRollResult(1, max)).thenReturn(result); when(entertainmentService.calculateRollResult(1, max)).thenReturn(result);
when(channelService.sendEmbedTemplateInTextChannelList(eq(ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(Roll.ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters); CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult); CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult);
Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue()); Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue());
@@ -63,7 +62,7 @@ public class RollTest {
CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(20)); CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(20));
Integer result = 4; Integer result = 4;
when(entertainmentService.calculateRollResult(1, 20)).thenReturn(result); when(entertainmentService.calculateRollResult(1, 20)).thenReturn(result);
when(channelService.sendEmbedTemplateInTextChannelList(eq(ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(Roll.ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters); CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult); CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult);
Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue()); Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue());
@@ -74,7 +73,7 @@ public class RollTest {
CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(20, 10)); CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(20, 10));
Integer result = 4; Integer result = 4;
when(entertainmentService.calculateRollResult(10, 20)).thenReturn(result); when(entertainmentService.calculateRollResult(10, 20)).thenReturn(result);
when(channelService.sendEmbedTemplateInTextChannelList(eq(ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(Roll.ROLL_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters); CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult); CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult);
Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue()); Assert.assertEquals(4, responseModelArgumentCaptor.getValue().getRolled().intValue());

View File

@@ -1,12 +1,12 @@
package dev.sheldan.abstracto.utility.commands.entertainment; package dev.sheldan.abstracto.entertainment.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext; import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator; import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities; import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.utility.models.template.commands.RouletteResponseModel; import dev.sheldan.abstracto.entertainment.model.RouletteResponseModel;
import dev.sheldan.abstracto.utility.service.EntertainmentService; import dev.sheldan.abstracto.entertainment.service.EntertainmentService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -18,7 +18,6 @@ import org.mockito.junit.MockitoJUnitRunner;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import static dev.sheldan.abstracto.utility.commands.entertainment.Roulette.ROULETTE_RESPONSE_TEMPLATE_KEY;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -42,7 +41,7 @@ public class RouletteTest {
CommandContext noParameters = CommandTestUtilities.getNoParameters(); CommandContext noParameters = CommandTestUtilities.getNoParameters();
Boolean result = false; Boolean result = false;
when(entertainmentService.executeRoulette(noParameters.getAuthor())).thenReturn(result); when(entertainmentService.executeRoulette(noParameters.getAuthor())).thenReturn(result);
when(channelService.sendEmbedTemplateInTextChannelList(eq(ROULETTE_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList()); when(channelService.sendEmbedTemplateInTextChannelList(eq(Roulette.ROULETTE_RESPONSE_TEMPLATE_KEY), responseModelArgumentCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(CommandTestUtilities.messageFutureList());
CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters); CompletableFuture<CommandResult> futureResult = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult); CommandTestUtilities.checkSuccessfulCompletionAsync(futureResult);
Assert.assertEquals(result, responseModelArgumentCaptor.getValue().getResult()); Assert.assertEquals(result, responseModelArgumentCaptor.getValue().getResult());

View File

@@ -1,6 +1,7 @@
package dev.sheldan.abstracto.utility.service; package dev.sheldan.abstracto.entertainment.service;
import dev.sheldan.abstracto.core.service.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
import dev.sheldan.abstracto.entertainment.config.EntertainmentFeature;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import org.junit.Assert; import org.junit.Assert;
@@ -15,8 +16,6 @@ import java.security.SecureRandom;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import static dev.sheldan.abstracto.utility.config.features.EntertainmentFeature.ROULETTE_BULLETS_CONFIG_KEY;
import static dev.sheldan.abstracto.utility.service.EntertainmentServiceBean.EIGHT_BALL_ANSWER_KEYS;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
@@ -35,9 +34,9 @@ public class EntertainmentServiceBeanTest {
@Test @Test
public void testEightBallChoice() { public void testEightBallChoice() {
when(secureRandom.nextInt(EIGHT_BALL_ANSWER_KEYS.size())).thenReturn(RANDOM_VALUE); when(secureRandom.nextInt(EntertainmentServiceBean.EIGHT_BALL_ANSWER_KEYS.size())).thenReturn(RANDOM_VALUE);
String chosenKey = testUnit.getEightBallValue(INPUT_TEXT); String chosenKey = testUnit.getEightBallValue(INPUT_TEXT);
Assert.assertEquals(EIGHT_BALL_ANSWER_KEYS.get(RANDOM_VALUE), chosenKey); Assert.assertEquals(EntertainmentServiceBean.EIGHT_BALL_ANSWER_KEYS.get(RANDOM_VALUE), chosenKey);
} }
@Test @Test
@@ -80,7 +79,7 @@ public class EntertainmentServiceBeanTest {
when(guild.getIdLong()).thenReturn(serverId); when(guild.getIdLong()).thenReturn(serverId);
when(member.getGuild()).thenReturn(guild); when(member.getGuild()).thenReturn(guild);
Long sides = 6L; Long sides = 6L;
when(configService.getLongValue(ROULETTE_BULLETS_CONFIG_KEY, serverId)).thenReturn(sides); when(configService.getLongValue(EntertainmentFeature.ROULETTE_BULLETS_CONFIG_KEY, serverId)).thenReturn(sides);
when(secureRandom.nextInt(sides.intValue())).thenReturn(randomValue); when(secureRandom.nextInt(sides.intValue())).thenReturn(randomValue);
boolean shot = testUnit.executeRoulette(member); boolean shot = testUnit.executeRoulette(member);
Assert.assertEquals(randomValue == 0, shot); Assert.assertEquals(randomValue == 0, shot);

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>entertainment</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>entertainment-int</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>

View File

@@ -1,22 +1,20 @@
package dev.sheldan.abstracto.utility.config.features; package dev.sheldan.abstracto.entertainment.config;
import dev.sheldan.abstracto.core.config.FeatureConfig; 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 org.springframework.stereotype.Component;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import static dev.sheldan.abstracto.utility.config.features.UtilityFeature.ENTERTAINMENT;
@Component @Component
public class EntertainmentFeature implements FeatureConfig { public class EntertainmentFeature implements FeatureConfig {
public static final String ROULETTE_BULLETS_CONFIG_KEY = "rouletteBullets"; public static final String ROULETTE_BULLETS_CONFIG_KEY = "rouletteBullets";
public static final String ROLL_DEFAULT_HIGH_KEY = "rollDefaultHigh"; public static final String ROLL_DEFAULT_HIGH_KEY = "rollDefaultHigh";
@Override @Override
public FeatureEnum getFeature() { public FeatureDefinition getFeature() {
return ENTERTAINMENT; return EntertainmentFeatureDefinition.ENTERTAINMENT;
} }
@Override @Override

View File

@@ -0,0 +1,15 @@
package dev.sheldan.abstracto.entertainment.config;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import lombok.Getter;
@Getter
public enum EntertainmentFeatureDefinition implements FeatureDefinition {
ENTERTAINMENT("entertainment");
private String key;
EntertainmentFeatureDefinition(String key) {
this.key = key;
}
}

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.utility.config; package dev.sheldan.abstracto.entertainment.config;
import dev.sheldan.abstracto.core.command.config.ModuleInfo; 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; import org.springframework.stereotype.Component;
@Component @Component
public class EntertainmentModuleInterface implements ModuleInterface { public class EntertainmentModuleDefinition implements ModuleDefinition {
public static final String ENTERTAINMENT = "entertainment"; public static final String ENTERTAINMENT = "entertainment";

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.models.template.commands; package dev.sheldan.abstracto.entertainment.model;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext; import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.models.template.commands; package dev.sheldan.abstracto.entertainment.model;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext; import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.models.template.commands; package dev.sheldan.abstracto.entertainment.model;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext; import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.models.template.commands; package dev.sheldan.abstracto.entertainment.model;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext; import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.utility.models.template.commands; package dev.sheldan.abstracto.entertainment.model;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext; import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter; import lombok.Getter;

Some files were not shown because too many files have changed in this diff Show More