[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:
Sheldan
2020-08-29 01:24:06 +02:00
parent fbb36ae9d5
commit 552ecc26b8
285 changed files with 1607 additions and 847 deletions

View File

@@ -39,6 +39,7 @@ public class ActivateAssignableRolePlace extends AbstractConditionableCommand {
.name("activateAssignableRolePlace") .name("activateAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -62,7 +62,7 @@ public class AddRoleToAssignableRolePost extends AbstractConditionableCommand {
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
.reportsException(true) .supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -42,6 +42,7 @@ public class ChangeAssignablePlaceDescription extends AbstractConditionableComma
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -48,7 +48,7 @@ public class ChangeAssignableRolePlaceConfig extends AbstractConditionableComman
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.reportsException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -52,7 +52,7 @@ public class CreateAssignableRolePost extends AbstractConditionableCommand {
.name("createAssignableRolePlace") .name("createAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.reportsException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.aliases(aliases) .aliases(aliases)

View File

@@ -39,6 +39,7 @@ public class DeactivateAssignableRolePlace extends AbstractConditionableCommand
.name("deactivateAssignableRolePlace") .name("deactivateAssignableRolePlace")
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -40,6 +40,7 @@ public class DeleteAssignableRolePlace extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -45,6 +45,7 @@ public class EditAssignableRolePlaceText extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -43,6 +43,7 @@ public class MoveAssignableRolePlace extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -43,6 +43,7 @@ public class RemoveRoleFromAssignableRolePlace extends AbstractConditionableComm
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -29,12 +29,6 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
String name = (String) parameters.get(0); String name = (String) parameters.get(0);
FullEmote emote = (FullEmote) parameters.get(1); FullEmote emote = (FullEmote) parameters.get(1);
Integer newPosition = (Integer) parameters.get(2); 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); service.setEmoteToPosition(commandContext.getUserInitiatedContext().getServer(), name, emote, newPosition);
return CommandResult.fromSuccess(); return CommandResult.fromSuccess();
} }
@@ -51,6 +45,7 @@ public class SetAssignableRolePosition extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -47,7 +47,7 @@ public class SetupAssignableRolePlace extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.async(true) .async(true)
.reportsException(true) .supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -41,6 +41,7 @@ public class ShowAssignableRolePlaceConfig extends AbstractConditionableCommand
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -35,7 +35,7 @@ public class ShowAssignableRolePlaces extends AbstractConditionableCommand {
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.async(true) .async(true)
.reportsException(true) .supportsEmbedException(true)
.help(helpInfo) .help(helpInfo)
.build(); .build();
} }

View File

@@ -61,6 +61,7 @@ public class SwapAssignableRolePosition extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -40,6 +40,7 @@ public class TestAssignableRolePlace extends AbstractConditionableCommand {
.module(AssignableRoleModule.ASSIGNABLE_ROLES) .module(AssignableRoleModule.ASSIGNABLE_ROLES)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -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.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.core.command.exception.AbstractoTemplatedException;
import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException; import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException; import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
@@ -111,6 +112,12 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
@Override @Override
public CompletableFuture<Void> setEmoteToPosition(AServer server, String placeName, FullEmote emote, Integer position) { 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(); Integer emoteId = emote.getFakeEmote().getId();
AssignableRolePlace assignableRolePlace = rolePlaceManagementService.findByServerAndKey(server, placeName); AssignableRolePlace assignableRolePlace = rolePlaceManagementService.findByServerAndKey(server, placeName);
Optional<AssignableRole> emoteOptional = assignableRolePlace.getAssignableRoles().stream().filter(role -> role.getEmote().getId().equals(emoteId)).findFirst(); 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); setAssignablePlaceActiveTo(server, name, booleanValue);
return CompletableFuture.completedFuture(null); return CompletableFuture.completedFuture(null);
default: 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");
} }
} }

View File

@@ -1,16 +1,16 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlacePostNotFoundModel; import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlacePostNotFoundExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignablePlacePostNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignablePlacePostNotFoundException extends AbstractoRunTimeException implements Templatable {
private final AssignableRolePlacePostNotFoundModel model; private final AssignableRolePlacePostNotFoundExceptionModel model;
public AssignablePlacePostNotFoundException(Long messageId) { public AssignablePlacePostNotFoundException(Long messageId) {
super("Assignable place post not found."); super("Assignable place post not found.");
this.model = AssignableRolePlacePostNotFoundModel.builder().messageId(messageId).build(); this.model = AssignableRolePlacePostNotFoundExceptionModel.builder().messageId(messageId).build();
} }
@Override @Override

View File

@@ -1,16 +1,16 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRoleAlreadyDefinedModel; import dev.sheldan.abstracto.assignableroles.models.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.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignableRoleAlreadyDefinedException extends AbstractoRunTimeException implements Templatable { public class AssignableRoleAlreadyDefinedException extends AbstractoRunTimeException implements Templatable {
private final AssignableRoleAlreadyDefinedModel model; private final AssignableRoleAlreadyDefinedExceptionModel model;
public AssignableRoleAlreadyDefinedException(FullEmote emote, String placeName) { public AssignableRoleAlreadyDefinedException(FullEmote emote, String placeName) {
super("Assignable role already assigned"); super("Assignable role already assigned");
this.model = AssignableRoleAlreadyDefinedModel.builder().emote(emote).placeName(placeName).build(); this.model = AssignableRoleAlreadyDefinedExceptionModel.builder().emote(emote).placeName(placeName).build();
} }
@Override @Override

View File

@@ -1,17 +1,17 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRoleNotUsableModel; import dev.sheldan.abstracto.assignableroles.models.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.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
public class AssignableRoleNotUsableException extends AbstractoRunTimeException implements Templatable { public class AssignableRoleNotUsableException extends AbstractoRunTimeException implements Templatable {
private final AssignableRoleNotUsableModel model; private final AssignableRoleNotUsableExceptionModel model;
public AssignableRoleNotUsableException(FullRole role, Guild guild) { public AssignableRoleNotUsableException(FullRole role, Guild guild) {
super("Role is not usable as assignable role"); super("Role is not usable as assignable role");
this.model = AssignableRoleNotUsableModel.builder().role(role).guild(guild).build(); this.model = AssignableRoleNotUsableExceptionModel.builder().role(role).guild(guild).build();
} }
@Override @Override

View File

@@ -1,16 +1,16 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceAlreadyExistsModel; import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceAlreadyExistsExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignableRolePlaceAlreadyExistsException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceAlreadyExistsException extends AbstractoRunTimeException implements Templatable {
private final AssignableRolePlaceAlreadyExistsModel model; private final AssignableRolePlaceAlreadyExistsExceptionModel model;
public AssignableRolePlaceAlreadyExistsException(String name) { public AssignableRolePlaceAlreadyExistsException(String name) {
super("Assignable role place already exists"); super("Assignable role place already exists");
this.model = AssignableRolePlaceAlreadyExistsModel.builder().name(name).build(); this.model = AssignableRolePlaceAlreadyExistsExceptionModel.builder().name(name).build();
} }
@Override @Override

View File

@@ -1,16 +1,16 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceChannelDoesNotExistModel; import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceChannelDoesNotExistExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignableRolePlaceChannelDoesNotExist extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceChannelDoesNotExist extends AbstractoRunTimeException implements Templatable {
private final AssignableRolePlaceChannelDoesNotExistModel model; private final AssignableRolePlaceChannelDoesNotExistExceptionModel model;
public AssignableRolePlaceChannelDoesNotExist(Long channelId, String placeName) { public AssignableRolePlaceChannelDoesNotExist(Long channelId, String placeName) {
super("Assignable role place channel does not exist"); super("Assignable role place channel does not exist");
this.model = AssignableRolePlaceChannelDoesNotExistModel.builder().channelId(channelId).placeName(placeName).build(); this.model = AssignableRolePlaceChannelDoesNotExistExceptionModel.builder().channelId(channelId).placeName(placeName).build();
} }
@Override @Override

View File

@@ -1,16 +1,16 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceNotFoundModel; import dev.sheldan.abstracto.assignableroles.models.exception.AssignableRolePlaceNotFoundExceptionModel;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignableRolePlaceNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignableRolePlaceNotFoundException extends AbstractoRunTimeException implements Templatable {
private final AssignableRolePlaceNotFoundModel model; private final AssignableRolePlaceNotFoundExceptionModel model;
public AssignableRolePlaceNotFoundException(Long placeId) { public AssignableRolePlaceNotFoundException(Long placeId) {
super("Assignable role place not found"); super("Assignable role place not found");
this.model = AssignableRolePlaceNotFoundModel.builder().placeId(placeId).build(); this.model = AssignableRolePlaceNotFoundExceptionModel.builder().placeId(placeId).build();
} }
@Override @Override

View File

@@ -1,17 +1,17 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.AssignedUserNotFoundModel; import dev.sheldan.abstracto.assignableroles.models.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.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class AssignedUserNotFoundException extends AbstractoRunTimeException implements Templatable { public class AssignedUserNotFoundException extends AbstractoRunTimeException implements Templatable {
private final AssignedUserNotFoundModel model; private final AssignedUserNotFoundExceptionModel model;
public AssignedUserNotFoundException(AUserInAServer userInAServer) { public AssignedUserNotFoundException(AUserInAServer userInAServer) {
super("Assigned user was not found"); super("Assigned user was not found");
this.model = AssignedUserNotFoundModel.builder().aUserInAServer(userInAServer).build(); this.model = AssignedUserNotFoundExceptionModel.builder().aUserInAServer(userInAServer).build();
} }
@Override @Override

View File

@@ -1,17 +1,17 @@
package dev.sheldan.abstracto.assignableroles.exceptions; package dev.sheldan.abstracto.assignableroles.exceptions;
import dev.sheldan.abstracto.assignableroles.models.exception.EmoteNotInAssignableRolePlaceModel; import dev.sheldan.abstracto.assignableroles.models.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.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class EmoteNotInAssignableRolePlaceException extends AbstractoRunTimeException implements Templatable { public class EmoteNotInAssignableRolePlaceException extends AbstractoRunTimeException implements Templatable {
private final EmoteNotInAssignableRolePlaceModel model; private final EmoteNotInAssignableRolePlaceExceptionModel model;
public EmoteNotInAssignableRolePlaceException(FullEmote emote, String placeName) { public EmoteNotInAssignableRolePlaceException(FullEmote emote, String placeName) {
super("Emote not found in assignable role place"); super("Emote not found in assignable role place");
this.model = EmoteNotInAssignableRolePlaceModel.builder().emote(emote).placeName(placeName).build(); this.model = EmoteNotInAssignableRolePlaceExceptionModel.builder().emote(emote).placeName(placeName).build();
} }
@Override @Override

View File

@@ -6,6 +6,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -18,7 +19,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AssignableRole { public class AssignableRole implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)

View File

@@ -6,6 +6,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -18,7 +19,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AssignableRolePlace { public class AssignableRolePlace implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -17,7 +18,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AssignableRolePlacePost { public class AssignableRolePlacePost implements Serializable {
@Id @Id
private Long id; private Long id;

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -17,7 +18,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AssignedRoleUser { public class AssignedRoleUser implements Serializable {
@Id @Id
private Long id; private Long id;

View File

@@ -8,9 +8,8 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRoleAlreadyDefinedModel implements Serializable { public class AssignableRoleAlreadyDefinedExceptionModel implements Serializable {
private FullEmote emote; private final FullEmote emote;
private String placeName; private final String placeName;
} }

View File

@@ -3,15 +3,13 @@ package dev.sheldan.abstracto.assignableroles.models.exception;
import dev.sheldan.abstracto.core.models.FullRole; import dev.sheldan.abstracto.core.models.FullRole;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import java.io.Serializable; import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRoleNotUsableModel implements Serializable { public class AssignableRoleNotUsableExceptionModel implements Serializable {
private FullRole role; private final FullRole role;
private Guild guild; private final transient Guild guild;
} }

View File

@@ -7,9 +7,7 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRolePlaceChannelDoesNotExistModel implements Serializable { public class AssignableRolePlaceAlreadyExistsExceptionModel implements Serializable {
private Long channelId; private final String name;
private String placeName;
} }

View File

@@ -1,12 +0,0 @@
package dev.sheldan.abstracto.assignableroles.models.exception;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Builder
public class AssignableRolePlaceAlreadyExistsModel {
private String name;
}

View File

@@ -0,0 +1,14 @@
package dev.sheldan.abstracto.assignableroles.models.exception;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Builder
public class AssignableRolePlaceChannelDoesNotExistExceptionModel implements Serializable {
private final Long channelId;
private final String placeName;
}

View File

@@ -1,19 +1,20 @@
package dev.sheldan.abstracto.assignableroles.models.exception; package dev.sheldan.abstracto.assignableroles.models.exception;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace; import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRolePlaceExceptionModel { public class AssignableRolePlaceExceptionModel implements Serializable {
private AssignableRolePlace rolePlace; private final AssignableRolePlace rolePlace;
private FullUser user; private final FullUserInServer user;
private Throwable throwable; private final Throwable throwable;
public Templatable getTemplate() { public Templatable getTemplate() {
Throwable current = throwable; Throwable current = throwable;

View File

@@ -7,8 +7,7 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRolePlacePostNotFoundModel implements Serializable { public class AssignableRolePlaceNotFoundExceptionModel implements Serializable {
private Long messageId; private final Long placeId;
} }

View File

@@ -4,9 +4,10 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignableRolePlaceNotFoundModel { public class AssignableRolePlacePostNotFoundExceptionModel implements Serializable {
private Long placeId; private final Long messageId;
} }

View File

@@ -5,9 +5,10 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class AssignedUserNotFoundModel { public class AssignedUserNotFoundExceptionModel implements Serializable {
private AUserInAServer aUserInAServer; private final AUserInAServer aUserInAServer;
} }

View File

@@ -8,9 +8,8 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
@Getter @Getter
@Setter
@Builder @Builder
public class EmoteNotInAssignableRolePlaceModel implements Serializable { public class EmoteNotInAssignableRolePlaceExceptionModel implements Serializable {
private FullEmote emote; private final FullEmote emote;
private String placeName; private final String placeName;
} }

View File

@@ -45,6 +45,7 @@ public class DisableExpForRole extends AbstractConditionableCommand {
.name("disableExpForRole") .name("disableExpForRole")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -48,6 +48,7 @@ public class DisableExpGain extends AbstractConditionableCommand {
.name("disableExpGain") .name("disableExpGain")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.templated(true) .templated(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -45,6 +45,7 @@ public class EnableExpForRole extends AbstractConditionableCommand {
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -48,6 +48,7 @@ public class EnableExpGain extends AbstractConditionableCommand {
.name("enableExpGain") .name("enableExpGain")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.templated(true) .templated(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -48,6 +48,7 @@ public class ExpScale extends AbstractConditionableCommand {
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.causesReaction(true) .causesReaction(true)
.templated(true) .templated(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -72,6 +72,7 @@ public class LeaderBoardCommand extends AbstractConditionableCommand {
.name("leaderboard") .name("leaderboard")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -63,6 +63,7 @@ public class ListDisabledExperienceRoles extends AbstractConditionableCommand {
.name("listDisabledExperienceRoles") .name("listDisabledExperienceRoles")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.aliases(aliases) .aliases(aliases)
.parameters(parameters) .parameters(parameters)

View File

@@ -69,6 +69,7 @@ public class Rank extends AbstractConditionableCommand {
.name("rank") .name("rank")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -57,6 +57,7 @@ public class SetExpRole extends AbstractConditionableCommand {
.name("setExpRole") .name("setExpRole")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -46,6 +46,7 @@ public class SyncRoles extends AbstractConditionableCommand {
.name("syncExpRoles") .name("syncExpRoles")
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -46,6 +46,7 @@ public class UnSetExpRole extends AbstractConditionableCommand {
.module(ExperienceModule.EXPERIENCE) .module(ExperienceModule.EXPERIENCE)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;
@@ -28,12 +28,12 @@ public class DisableExpForRoleTest {
@Mock @Mock
private DisabledExpRoleManagementService disabledExpRoleManagementService; private DisabledExpRoleManagementService disabledExpRoleManagementService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -34,12 +34,12 @@ public class DisableExpGainTest {
@Mock @Mock
private UserInServerManagementService userInServerManagementService; private UserInServerManagementService userInServerManagementService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;
@@ -28,12 +28,12 @@ public class EnableExpForRoleTest {
@Mock @Mock
private DisabledExpRoleManagementService disabledExpRoleManagementService; private DisabledExpRoleManagementService disabledExpRoleManagementService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -34,12 +34,12 @@ public class EnableExpGainTest {
@Mock @Mock
private UserInServerManagementService userInServerManagementService; private UserInServerManagementService userInServerManagementService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
@@ -26,12 +26,12 @@ public class ExpScaleTest {
@Mock @Mock
private ConfigService configService; private ConfigService configService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
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;
@@ -43,7 +43,7 @@ public class LeaderBoardCommandTest {
@Mock @Mock
private LeaderBoardModelConverter converter; private LeaderBoardModelConverter converter;
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.exception.RoleNotFoundInGuildException; import dev.sheldan.abstracto.core.exception.RoleNotFoundInGuildException;
@@ -33,23 +33,23 @@ public class SetExpRoleTest {
@Mock @Mock
private RoleService roleService; private RoleService roleService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testRoleMissing() { public void testRoleMissing() {
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(4)); CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(4));
testUnit.execute(context); testUnit.execute(context);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testLevelProvidedButNotRole() { public void testLevelProvidedButNotRole() {
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(4, "")); CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(4, ""));
testUnit.execute(context); testUnit.execute(context);

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.commands; package dev.sheldan.abstracto.experience.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;
@@ -29,12 +29,12 @@ public class UnSetExpRoleTest {
@Mock @Mock
private ExperienceRoleService experienceRoleService; private ExperienceRoleService experienceRoleService;
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -14,7 +14,6 @@ import java.util.List;
* Model used to render an overview of the roles for which experience gain has been disabled on the current server. * Model used to render an overview of the roles for which experience gain has been disabled on the current server.
*/ */
@Getter @Getter
@Setter
@SuperBuilder @SuperBuilder
public class DisabledExperienceRolesModel extends UserInitiatedServerContext { public class DisabledExperienceRolesModel extends UserInitiatedServerContext {
@Builder.Default @Builder.Default

View File

@@ -6,16 +6,17 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import java.io.Serializable;
/** /**
* Model used in the list of members when rendering the leader board template. The reason this is necessary, * Model used in the list of members when rendering the leader board template. The reason this is necessary,
* is because we need more than just the {@link AUserExperience} object, we also need the position of the user in this * is because we need more than just the {@link AUserExperience} object, we also need the position of the user in this
* guild and the {@link Member} for convenience in the templates. * guild and the {@link Member} for convenience in the templates.
*/ */
@Getter @Getter
@Setter
@Builder @Builder
public class LeaderBoardEntryModel { public class LeaderBoardEntryModel implements Serializable {
private AUserExperience experience; private AUserExperience experience;
private Member member; private transient Member member;
private Integer rank; private Integer rank;
} }

View File

@@ -57,6 +57,7 @@ public class Ban extends AbstractConditionableCommand {
.name("ban") .name("ban")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -52,6 +52,7 @@ public class BanId extends AbstractConditionableCommand {
.name("banId") .name("banId")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -41,6 +41,7 @@ public class DecayAllWarnings extends AbstractConditionableCommand {
.name("decayAllWarnings") .name("decayAllWarnings")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -36,6 +36,7 @@ public class DecayWarnings extends AbstractConditionableCommand {
.name("decayWarnings") .name("decayWarnings")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -48,6 +48,7 @@ public class DeleteNote extends AbstractConditionableCommand {
.name("deleteNote") .name("deleteNote")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -48,6 +48,7 @@ public class DeleteWarning extends AbstractConditionableCommand {
.name("deleteWarning") .name("deleteWarning")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.aliases(aliases) .aliases(aliases)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)

View File

@@ -55,6 +55,7 @@ public class Kick extends AbstractConditionableCommand {
.name("kick") .name("kick")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -50,6 +50,7 @@ public class MyWarnings extends AbstractConditionableCommand {
.name("myWarnings") .name("myWarnings")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.aliases(aliases) .aliases(aliases)
.parameters(parameters) .parameters(parameters)

View File

@@ -55,6 +55,7 @@ public class Purge extends AbstractConditionableCommand {
.name("purge") .name("purge")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -55,6 +55,7 @@ public class SlowMode extends AbstractConditionableCommand {
.name("slowmode") .name("slowmode")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -49,6 +49,7 @@ public class UserNoteCommand extends AbstractConditionableCommand {
.name("userNote") .name("userNote")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -8,7 +8,7 @@ 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.FeatureEnum;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService; import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
@@ -55,7 +55,7 @@ public class UserNotes extends AbstractConditionableCommand {
Member member = (Member) parameters.get(0); Member member = (Member) parameters.get(0);
AUserInAServer userInAServer = userInServerManagementService.loadUser(member); AUserInAServer userInAServer = userInServerManagementService.loadUser(member);
userNotes = userNoteManagementService.loadNotesForUser(userInAServer); userNotes = userNoteManagementService.loadNotesForUser(userInAServer);
FullUser specifiedUser = FullUser FullUserInServer specifiedUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userInAServer) .aUserInAServer(userInAServer)
.member(member) .member(member)
@@ -79,6 +79,7 @@ public class UserNotes extends AbstractConditionableCommand {
.name("userNotes") .name("userNotes")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -57,6 +57,7 @@ public class Warn extends AbstractConditionableCommand {
.name("warn") .name("warn")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -75,6 +75,7 @@ public class Warnings extends AbstractConditionableCommand {
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -55,6 +55,7 @@ public class Mute extends AbstractConditionableCommand {
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.causesReaction(true) .causesReaction(true)
.supportsEmbedException(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)
.build(); .build();

View File

@@ -40,6 +40,7 @@ public class SetMuteRole extends AbstractConditionableCommand {
.name("setMuteRole") .name("setMuteRole")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -57,6 +57,7 @@ public class UnMute extends AbstractConditionableCommand {
.name("unMute") .name("unMute")
.module(ModerationModule.MODERATION) .module(ModerationModule.MODERATION)
.templated(true) .templated(true)
.supportsEmbedException(true)
.causesReaction(true) .causesReaction(true)
.parameters(parameters) .parameters(parameters)
.help(helpInfo) .help(helpInfo)

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.converter; package dev.sheldan.abstracto.moderation.converter;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.service.BotService; import dev.sheldan.abstracto.core.service.BotService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService; import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
import dev.sheldan.abstracto.moderation.models.database.UserNote; import dev.sheldan.abstracto.moderation.models.database.UserNote;
@@ -22,7 +22,7 @@ public class UserNotesConverter {
public List<NoteEntryModel> fromNotes(List<UserNote> userNotes){ public List<NoteEntryModel> fromNotes(List<UserNote> userNotes){
List<NoteEntryModel> entryModels = new ArrayList<>(); List<NoteEntryModel> entryModels = new ArrayList<>();
userNotes.forEach(userNote -> { userNotes.forEach(userNote -> {
FullUser fullUser = FullUser FullUserInServer fullUser = FullUserInServer
.builder() .builder()
.member(botService.getMemberInServer(userNote.getUser())) .member(botService.getMemberInServer(userNote.getUser()))
.aUserInAServer(userNote.getUser()) .aUserInAServer(userNote.getUser())

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.converter; package dev.sheldan.abstracto.moderation.converter;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.service.BotService; import dev.sheldan.abstracto.core.service.BotService;
import dev.sheldan.abstracto.moderation.models.database.Warning; import dev.sheldan.abstracto.moderation.models.database.Warning;
import dev.sheldan.abstracto.moderation.models.template.commands.WarnEntry; import dev.sheldan.abstracto.moderation.models.template.commands.WarnEntry;
@@ -19,13 +19,13 @@ public class WarnEntryConverter {
public List<WarnEntry> fromWarnings(List<Warning> warnings) { public List<WarnEntry> fromWarnings(List<Warning> warnings) {
List<WarnEntry> entries = new ArrayList<>(); List<WarnEntry> entries = new ArrayList<>();
warnings.forEach(warning -> { warnings.forEach(warning -> {
FullUser warnedUser = FullUser FullUserInServer warnedUser = FullUserInServer
.builder() .builder()
.member(botService.getMemberInServer(warning.getWarnedUser())) .member(botService.getMemberInServer(warning.getWarnedUser()))
.aUserInAServer(warning.getWarnedUser()) .aUserInAServer(warning.getWarnedUser())
.build(); .build();
FullUser warningUser = FullUser FullUserInServer warningUser = FullUserInServer
.builder() .builder()
.member(botService.getMemberInServer(warning.getWarningUser())) .member(botService.getMemberInServer(warning.getWarningUser()))
.aUserInAServer(warning.getWarningUser()) .aUserInAServer(warning.getWarningUser())

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.service; package dev.sheldan.abstracto.moderation.service;
import dev.sheldan.abstracto.core.models.AServerAChannelMessage; import dev.sheldan.abstracto.core.models.AServerAChannelMessage;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
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;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -9,7 +9,7 @@ import dev.sheldan.abstracto.core.service.*;
import dev.sheldan.abstracto.core.service.management.ChannelManagementService; import dev.sheldan.abstracto.core.service.management.ChannelManagementService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService; import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
import dev.sheldan.abstracto.moderation.config.posttargets.MutingPostTarget; import dev.sheldan.abstracto.moderation.config.posttargets.MutingPostTarget;
import dev.sheldan.abstracto.moderation.exception.MuteException; import dev.sheldan.abstracto.moderation.exception.MuteRoleNotSetupException;
import dev.sheldan.abstracto.moderation.models.database.Mute; import dev.sheldan.abstracto.moderation.models.database.Mute;
import dev.sheldan.abstracto.moderation.models.database.MuteRole; import dev.sheldan.abstracto.moderation.models.database.MuteRole;
import dev.sheldan.abstracto.moderation.models.template.commands.MuteLog; import dev.sheldan.abstracto.moderation.models.template.commands.MuteLog;
@@ -83,13 +83,13 @@ public class MuteServiceBean implements MuteService {
@Override @Override
public Mute muteMember(Member memberToMute, Member mutingMember, String reason, Instant unMuteDate, Message message) { public Mute muteMember(Member memberToMute, Member mutingMember, String reason, Instant unMuteDate, Message message) {
FullUser mutedUser = FullUser FullUserInServer mutedUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userInServerManagementService.loadUser(memberToMute)) .aUserInAServer(userInServerManagementService.loadUser(memberToMute))
.member(memberToMute) .member(memberToMute)
.build(); .build();
FullUser mutingUser = FullUser FullUserInServer mutingUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userInServerManagementService.loadUser(mutingMember)) .aUserInAServer(userInServerManagementService.loadUser(mutingMember))
.member(mutingMember) .member(mutingMember)
@@ -99,13 +99,13 @@ public class MuteServiceBean implements MuteService {
@Override @Override
public Mute muteAUserInAServer(AUserInAServer userBeingMuted, AUserInAServer userMuting, String reason, Instant unMuteDate, Message message) { public Mute muteAUserInAServer(AUserInAServer userBeingMuted, AUserInAServer userMuting, String reason, Instant unMuteDate, Message message) {
FullUser mutedUser = FullUser FullUserInServer mutedUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userBeingMuted) .aUserInAServer(userBeingMuted)
.member(botService.getMemberInServer(userBeingMuted)) .member(botService.getMemberInServer(userBeingMuted))
.build(); .build();
FullUser mutingUser = FullUser FullUserInServer mutingUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userMuting) .aUserInAServer(userMuting)
.member(botService.getMemberInServer(userMuting)) .member(botService.getMemberInServer(userMuting))
@@ -114,11 +114,11 @@ public class MuteServiceBean implements MuteService {
} }
@Override @Override
public Mute muteUser(FullUser userBeingMuted, FullUser userMuting, String reason, Instant unMuteDate, Message message) { public Mute muteUser(FullUserInServer userBeingMuted, FullUserInServer userMuting, String reason, Instant unMuteDate, Message message) {
AServer serverBeingMutedIn = userBeingMuted.getAUserInAServer().getServerReference(); AServer serverBeingMutedIn = userBeingMuted.getAUserInAServer().getServerReference();
if(!muteRoleManagementService.muteRoleForServerExists(serverBeingMutedIn)) { if(!muteRoleManagementService.muteRoleForServerExists(serverBeingMutedIn)) {
log.error("Mute role for server {} has not been setup.", serverBeingMutedIn.getId()); log.error("Mute role for server {} has not been setup.", serverBeingMutedIn.getId());
throw new MuteException("Mute role for server has not been setup"); throw new MuteRoleNotSetupException();
} }
Member memberBeingMuted = userBeingMuted.getMember(); Member memberBeingMuted = userBeingMuted.getMember();
log.info("User {} mutes user {} until {}", log.info("User {} mutes user {} until {}",
@@ -152,7 +152,7 @@ public class MuteServiceBean implements MuteService {
messageService.sendMessageToUser(memberBeingMuted.getUser(), muteNotificationMessage, textChannel); messageService.sendMessageToUser(memberBeingMuted.getUser(), muteNotificationMessage, textChannel);
} }
private Mute createMuteObject(FullUser userMuting, String reason, Instant unMuteDate, Message message, AUserInAServer userInServerBeingMuted) { private Mute createMuteObject(FullUserInServer userMuting, String reason, Instant unMuteDate, Message message, AUserInAServer userInServerBeingMuted) {
AServerAChannelMessage origin = null; AServerAChannelMessage origin = null;
if(message != null) { if(message != null) {
long channelId = message.getChannel().getIdLong(); long channelId = message.getChannel().getIdLong();

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.service; package dev.sheldan.abstracto.moderation.service;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.ConfigService; import dev.sheldan.abstracto.core.service.ConfigService;
import dev.sheldan.abstracto.core.service.MessageService; import dev.sheldan.abstracto.core.service.MessageService;
@@ -60,13 +60,13 @@ public class WarnServiceBean implements WarnService {
@Override @Override
public Warning warnUser(AUserInAServer warnedAUserInAServer, AUserInAServer warningAUserInAServer, String reason, MessageChannel feedbackChannel) { public Warning warnUser(AUserInAServer warnedAUserInAServer, AUserInAServer warningAUserInAServer, String reason, MessageChannel feedbackChannel) {
FullUser warnedUser = FullUser FullUserInServer warnedUser = FullUserInServer
.builder() .builder()
.aUserInAServer(warnedAUserInAServer) .aUserInAServer(warnedAUserInAServer)
.member(botService.getMemberInServer(warnedAUserInAServer)) .member(botService.getMemberInServer(warnedAUserInAServer))
.build(); .build();
FullUser warningUser = FullUser FullUserInServer warningUser = FullUserInServer
.builder() .builder()
.aUserInAServer(warningAUserInAServer) .aUserInAServer(warningAUserInAServer)
.member(botService.getMemberInServer(warningAUserInAServer)) .member(botService.getMemberInServer(warningAUserInAServer))
@@ -76,13 +76,13 @@ public class WarnServiceBean implements WarnService {
@Override @Override
public Warning warnMember(Member warnedMember, Member warningMember, String reason, MessageChannel feedbackChannel) { public Warning warnMember(Member warnedMember, Member warningMember, String reason, MessageChannel feedbackChannel) {
FullUser warnedUser = FullUser FullUserInServer warnedUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userInServerManagementService.loadUser(warnedMember)) .aUserInAServer(userInServerManagementService.loadUser(warnedMember))
.member(warnedMember) .member(warnedMember)
.build(); .build();
FullUser warningUser = FullUser FullUserInServer warningUser = FullUserInServer
.builder() .builder()
.aUserInAServer(userInServerManagementService.loadUser(warningMember)) .aUserInAServer(userInServerManagementService.loadUser(warningMember))
.member(warningMember) .member(warningMember)
@@ -91,7 +91,7 @@ public class WarnServiceBean implements WarnService {
} }
@Override @Override
public Warning warnFullUser(FullUser warnedMember, FullUser warningMember, String reason, MessageChannel feedbackChannel) { public Warning warnFullUser(FullUserInServer warnedMember, FullUserInServer warningMember, String reason, MessageChannel feedbackChannel) {
Guild guild = warnedMember.getMember().getGuild(); Guild guild = warnedMember.getMember().getGuild();
log.info("User {} is warning {} in server {}", warnedMember.getMember().getId(), warningMember.getMember().getId(), guild.getIdLong()); log.info("User {} is warning {} in server {}", warnedMember.getMember().getId(), warningMember.getMember().getId(), guild.getIdLong());
Warning warning = warnManagementService.createWarning(warnedMember.getAUserInAServer(), warningMember.getAUserInAServer(), reason); Warning warning = warnManagementService.createWarning(warnedMember.getAUserInAServer(), warningMember.getAUserInAServer(), reason);

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.models.template.commands.BanIdLog; import dev.sheldan.abstracto.moderation.models.template.commands.BanIdLog;
@@ -70,12 +70,12 @@ public class BanIdTest {
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.models.template.commands.BanLog; import dev.sheldan.abstracto.moderation.models.template.commands.BanLog;
@@ -67,12 +67,12 @@ public class BanTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
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.moderation.service.WarnService; import dev.sheldan.abstracto.moderation.service.WarnService;
@@ -40,7 +40,7 @@ public class DecayAllWarningsTest {
CommandConfigValidator.validateCommandConfiguration(testUnit.getConfiguration()); CommandConfigValidator.validateCommandConfiguration(testUnit.getConfiguration());
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.ResultState; import dev.sheldan.abstracto.core.command.execution.ResultState;
@@ -53,12 +53,12 @@ public class DeleteNoteTest {
Assert.assertNotNull(result.getMessage()); Assert.assertNotNull(result.getMessage());
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
@@ -53,12 +53,12 @@ public class DeleteWarningTest {
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.models.template.commands.KickLogModel; import dev.sheldan.abstracto.moderation.models.template.commands.KickLogModel;
@@ -70,12 +70,12 @@ public class KickTest {
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.ResultState; import dev.sheldan.abstracto.core.command.execution.ResultState;
@@ -74,12 +74,12 @@ public class PurgeTest {
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.service.SlowModeService; import dev.sheldan.abstracto.moderation.service.SlowModeService;
@@ -67,12 +67,12 @@ public class SlowModeTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
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.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
@@ -47,7 +47,7 @@ public class UserNoteCommandTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
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.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -103,7 +103,7 @@ public class UserNotesTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands; package dev.sheldan.abstracto.moderation.commands;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.models.template.commands.WarnLog; import dev.sheldan.abstracto.moderation.models.template.commands.WarnLog;
@@ -65,12 +65,12 @@ public class WarnTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.moderation.commands;
import com.jagrosh.jdautilities.commons.waiter.EventWaiter; import com.jagrosh.jdautilities.commons.waiter.EventWaiter;
import com.jagrosh.jdautilities.menu.Paginator; import com.jagrosh.jdautilities.menu.Paginator;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
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.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -97,7 +97,7 @@ public class WarningsTest {
Assert.assertEquals(secondModelWarning, warningsModel.getWarnings().get(1)); Assert.assertEquals(secondModelWarning, warningsModel.getWarnings().get(1));
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands.mute; package dev.sheldan.abstracto.moderation.commands.mute;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.moderation.models.template.commands.MuteLog; import dev.sheldan.abstracto.moderation.models.template.commands.MuteLog;
@@ -47,12 +47,12 @@ public class MuteTest {
Assert.assertEquals(parameters.getAuthor(), muteLog.getMutingUser()); Assert.assertEquals(parameters.getAuthor(), muteLog.getMutingUser());
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands.mute; package dev.sheldan.abstracto.moderation.commands.mute;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;
@@ -36,12 +36,12 @@ public class SetMuteRoleTest {
CommandTestUtilities.checkSuccessfulCompletion(result); CommandTestUtilities.checkSuccessfulCompletion(result);
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.commands.mute; package dev.sheldan.abstracto.moderation.commands.mute;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameter; import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.exception.InsufficientParameters; import dev.sheldan.abstracto.core.command.exception.InsufficientParametersException;
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.ResultState; import dev.sheldan.abstracto.core.command.execution.ResultState;
@@ -66,12 +66,12 @@ public class UnMuteTest {
Assert.assertEquals(message, result.getMessage()); Assert.assertEquals(message, result.getMessage());
} }
@Test(expected = InsufficientParameters.class) @Test(expected = InsufficientParametersException.class)
public void testTooLittleParameters() { public void testTooLittleParameters() {
CommandTestUtilities.executeNoParametersTest(testUnit); CommandTestUtilities.executeNoParametersTest(testUnit);
} }
@Test(expected = IncorrectParameter.class) @Test(expected = IncorrectParameterException.class)
public void testIncorrectParameterType() { public void testIncorrectParameterType() {
CommandTestUtilities.executeWrongParametersTest(testUnit); CommandTestUtilities.executeWrongParametersTest(testUnit);
} }

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.moderation.service; package dev.sheldan.abstracto.moderation.service;
import dev.sheldan.abstracto.core.models.AServerAChannelMessage; import dev.sheldan.abstracto.core.models.AServerAChannelMessage;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.models.database.AChannel; import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.ARole; import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
@@ -13,7 +13,7 @@ import dev.sheldan.abstracto.core.service.RoleService;
import dev.sheldan.abstracto.core.service.management.ChannelManagementService; import dev.sheldan.abstracto.core.service.management.ChannelManagementService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService; import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
import dev.sheldan.abstracto.moderation.config.posttargets.MutingPostTarget; import dev.sheldan.abstracto.moderation.config.posttargets.MutingPostTarget;
import dev.sheldan.abstracto.moderation.exception.MuteException; import dev.sheldan.abstracto.moderation.exception.MuteRoleNotSetupException;
import dev.sheldan.abstracto.moderation.models.database.Mute; import dev.sheldan.abstracto.moderation.models.database.Mute;
import dev.sheldan.abstracto.moderation.models.database.MuteRole; import dev.sheldan.abstracto.moderation.models.database.MuteRole;
import dev.sheldan.abstracto.moderation.models.template.commands.MuteLog; import dev.sheldan.abstracto.moderation.models.template.commands.MuteLog;
@@ -153,8 +153,8 @@ public class MuteServiceBeanTest {
Instant unMuteDate = longerMute(); Instant unMuteDate = longerMute();
when(memberBeingMuted.getGuild()).thenReturn(guild); when(memberBeingMuted.getGuild()).thenReturn(guild);
when(memberBeingMuted.getUser()).thenReturn(jdaUserBeingMuted); when(memberBeingMuted.getUser()).thenReturn(jdaUserBeingMuted);
FullUser mutedUser = FullUser.builder().member(memberBeingMuted).aUserInAServer(userBeingMuted).build(); FullUserInServer mutedUser = FullUserInServer.builder().member(memberBeingMuted).aUserInAServer(userBeingMuted).build();
FullUser mutingUser = FullUser.builder().member(memberMuting).aUserInAServer(userMuting).build(); FullUserInServer mutingUser = FullUserInServer.builder().member(memberMuting).aUserInAServer(userMuting).build();
setupShortMute(unMuteDate); setupShortMute(unMuteDate);
when(schedulerService.executeJobWithParametersOnce(eq("unMuteJob"), eq("moderation"), any(JobDataMap.class), eq(Date.from(unMuteDate)))).thenReturn(TRIGGER); when(schedulerService.executeJobWithParametersOnce(eq("unMuteJob"), eq("moderation"), any(JobDataMap.class), eq(Date.from(unMuteDate)))).thenReturn(TRIGGER);
testUnit.muteUser(mutedUser, mutingUser, REASON, unMuteDate, cause); testUnit.muteUser(mutedUser, mutingUser, REASON, unMuteDate, cause);
@@ -167,19 +167,19 @@ public class MuteServiceBeanTest {
public void testMuteWithDirectUnMute() { public void testMuteWithDirectUnMute() {
when(memberBeingMuted.getGuild()).thenReturn(guild); when(memberBeingMuted.getGuild()).thenReturn(guild);
when(memberBeingMuted.getUser()).thenReturn(jdaUserBeingMuted); when(memberBeingMuted.getUser()).thenReturn(jdaUserBeingMuted);
FullUser mutedUser = FullUser.builder().member(memberBeingMuted).aUserInAServer(userBeingMuted).build(); FullUserInServer mutedUser = FullUserInServer.builder().member(memberBeingMuted).aUserInAServer(userBeingMuted).build();
FullUser mutingUser = FullUser.builder().member(memberMuting).aUserInAServer(userMuting).build(); FullUserInServer mutingUser = FullUserInServer.builder().member(memberMuting).aUserInAServer(userMuting).build();
Instant unMuteDate = shorterMute(); Instant unMuteDate = shorterMute();
setupShortMute(unMuteDate); setupShortMute(unMuteDate);
testUnit.muteUser(mutedUser, mutingUser, REASON, unMuteDate, cause); testUnit.muteUser(mutedUser, mutingUser, REASON, unMuteDate, cause);
verifyDirectMute(); verifyDirectMute();
} }
@Test(expected = MuteException.class) @Test(expected = MuteRoleNotSetupException.class)
public void testMuteUserWithoutMuteRole() { public void testMuteUserWithoutMuteRole() {
FullUser mutedUser = FullUser.builder().aUserInAServer(userBeingMuted).build(); FullUserInServer mutedUser = FullUserInServer.builder().aUserInAServer(userBeingMuted).build();
when(muteRoleManagementService.muteRoleForServerExists(server)).thenReturn(false); when(muteRoleManagementService.muteRoleForServerExists(server)).thenReturn(false);
testUnit.muteUser(mutedUser, FullUser.builder().build(), REASON, longerMute(), Mockito.mock(Message.class)); testUnit.muteUser(mutedUser, FullUserInServer.builder().build(), REASON, longerMute(), Mockito.mock(Message.class));
} }
@Test @Test

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.moderation.service; package dev.sheldan.abstracto.moderation.service;
import dev.sheldan.abstracto.core.models.FullUser; import dev.sheldan.abstracto.core.models.FullUserInServer;
import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.service.BotService; import dev.sheldan.abstracto.core.service.BotService;
@@ -163,8 +163,8 @@ public class WarnServiceBeanTest {
@Test @Test
public void testWarnFullUser() { public void testWarnFullUser() {
setupMocksForWarning(); setupMocksForWarning();
FullUser warnedFullUser = FullUser.builder().member(warnedMember).aUserInAServer(firstWarnedUser).build(); FullUserInServer warnedFullUser = FullUserInServer.builder().member(warnedMember).aUserInAServer(firstWarnedUser).build();
FullUser warningFullUser = FullUser.builder().member(warningMember).aUserInAServer(warningUser).build(); FullUserInServer warningFullUser = FullUserInServer.builder().member(warningMember).aUserInAServer(warningUser).build();
Warning warning = testUnit.warnFullUser(warnedFullUser, warningFullUser, REASON, feedBackChannel); Warning warning = testUnit.warnFullUser(warnedFullUser, warningFullUser, REASON, feedBackChannel);
verifyWarning(warning); verifyWarning(warning);
} }

View File

@@ -4,19 +4,19 @@ package dev.sheldan.abstracto.moderation.exception;
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException; import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
import dev.sheldan.abstracto.templating.Templatable; import dev.sheldan.abstracto.templating.Templatable;
public class MuteException extends AbstractoRunTimeException implements Templatable { public class MuteRoleNotSetupException extends AbstractoRunTimeException implements Templatable {
public MuteException(String message) { public MuteRoleNotSetupException() {
super(message); super("Mute role for server has not been setup");
} }
@Override @Override
public String getTemplateName() { public String getTemplateName() {
return "unMute_has_no_active_mute"; return "mute_role_has_not_been_setup_exception";
} }
@Override @Override
public Object getTemplateModel() { public Object getTemplateModel() {
return null; return new Object();
} }
} }

View File

@@ -5,7 +5,7 @@ import dev.sheldan.abstracto.templating.Templatable;
public class NoMessageFoundException extends AbstractoRunTimeException implements Templatable { public class NoMessageFoundException extends AbstractoRunTimeException implements Templatable {
public NoMessageFoundException() { public NoMessageFoundException() {
super(""); super("No message found");
} }
@Override @Override

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