mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 11:48:16 +00:00
[AB-99/AB-66] changed commands to use embeds for exceptions instead of direct messages
added models instead of using HashMaps for exceptions added a lot of exceptions for different cases refactored a few commands to be fully async instead of fire and forget
This commit is contained in:
@@ -39,6 +39,7 @@ public class ActivateAssignableRolePlace extends AbstractConditionableCommand {
|
||||
.name("activateAssignableRolePlace")
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -62,7 +62,7 @@ public class AddRoleToAssignableRolePost extends AbstractConditionableCommand {
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.async(true)
|
||||
.reportsException(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -42,6 +42,7 @@ public class ChangeAssignablePlaceDescription extends AbstractConditionableComma
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class ChangeAssignableRolePlaceConfig extends AbstractConditionableComman
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
.reportsException(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -52,7 +52,7 @@ public class CreateAssignableRolePost extends AbstractConditionableCommand {
|
||||
.name("createAssignableRolePlace")
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.reportsException(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.aliases(aliases)
|
||||
|
||||
@@ -39,6 +39,7 @@ public class DeactivateAssignableRolePlace extends AbstractConditionableCommand
|
||||
.name("deactivateAssignableRolePlace")
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -40,6 +40,7 @@ public class DeleteAssignableRolePlace extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -45,6 +45,7 @@ public class EditAssignableRolePlaceText extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -43,6 +43,7 @@ public class MoveAssignableRolePlace extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -43,6 +43,7 @@ public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableComm
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -29,12 +29,6 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
|
||||
String name = (String) parameters.get(0);
|
||||
FullEmote emote = (FullEmote) parameters.get(1);
|
||||
Integer newPosition = (Integer) parameters.get(2);
|
||||
if(!service.hasAssignableRolePlaceEmote(commandContext.getUserInitiatedContext().getServer(), name, emote.getFakeEmote())) {
|
||||
return CommandResult.fromError("Place does not have emote assigned.");
|
||||
}
|
||||
if(service.isPositionUsed(commandContext.getUserInitiatedContext().getServer(), name, newPosition)) {
|
||||
return CommandResult.fromError("Position is already used");
|
||||
}
|
||||
service.setEmoteToPosition(commandContext.getUserInitiatedContext().getServer(), name, emote, newPosition);
|
||||
return CommandResult.fromSuccess();
|
||||
}
|
||||
@@ -51,6 +45,7 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -47,7 +47,7 @@ public class SetupAssignableRolePlace extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.async(true)
|
||||
.reportsException(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
|
||||
@@ -41,6 +41,7 @@ public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ShowAssignableRolePlaces extends AbstractConditionableCommand {
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.async(true)
|
||||
.reportsException(true)
|
||||
.supportsEmbedException(true)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ public class SwapAssignableRolePosition extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -40,6 +40,7 @@ public class TestAssignableRolePlace extends AbstractConditionableCommand {
|
||||
.module(AssignableRoleModule.ASSIGNABLE_ROLES)
|
||||
.templated(true)
|
||||
.causesReaction(true)
|
||||
.supportsEmbedException(true)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.build();
|
||||
|
||||
@@ -12,6 +12,7 @@ import dev.sheldan.abstracto.assignableroles.models.templates.*;
|
||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementService;
|
||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlaceManagementService;
|
||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
|
||||
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
|
||||
import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
||||
@@ -111,6 +112,12 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Void> setEmoteToPosition(AServer server, String placeName, FullEmote emote, Integer position) {
|
||||
if(isPositionUsed(server, placeName, position)) {
|
||||
throw new AbstractoTemplatedException("Position is already used", "assignable_role_place_position_exists_exception");
|
||||
}
|
||||
if(!hasAssignableRolePlaceEmote(server, placeName, emote.getFakeEmote())) {
|
||||
throw new AbstractoTemplatedException("Place does not have emote assigned.", "assignable_role_place_position_exists_exception");
|
||||
}
|
||||
Integer emoteId = emote.getFakeEmote().getId();
|
||||
AssignableRolePlace assignableRolePlace = rolePlaceManagementService.findByServerAndKey(server, placeName);
|
||||
Optional<AssignableRole> emoteOptional = assignableRolePlace.getAssignableRoles().stream().filter(role -> role.getEmote().getId().equals(emoteId)).findFirst();
|
||||
@@ -584,7 +591,7 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
|
||||
setAssignablePlaceActiveTo(server, name, booleanValue);
|
||||
return CompletableFuture.completedFuture(null);
|
||||
default:
|
||||
throw new IllegalArgumentException("Illegal assignable role place parameter key was passed.");
|
||||
throw new AbstractoTemplatedException("Illegal configuration key was passed", "assignable_role_place_illegal_configuration_key_exception");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user