mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-15 20:16:34 +00:00
[AB-215] adding create alias and delete alias commands to create service specific aliases for commands
renaming package in commands package defaulting to latest in docker compose build for deployment container fixing jacoco configuration changing that if there are no parameters required, parameters are accepted
This commit is contained in:
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.condition.detail.CommandDisabledDetail;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.service.ChannelGroupCommandService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -3,8 +3,8 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.condition.detail.InsufficientPermissionConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
|
||||
@@ -3,8 +3,8 @@ package dev.sheldan.abstracto.core.command.condition;
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.condition.detail.ImmuneUserConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.command.service.management.CommandManagementService;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.condition.detail;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.condition.ConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.models.condition.FeatureDisabledConditionDetailModel;
|
||||
import dev.sheldan.abstracto.core.command.model.condition.FeatureDisabledConditionDetailModel;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.condition.detail;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.condition.ConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.models.condition.ImmuneUserConditionDetailModel;
|
||||
import dev.sheldan.abstracto.core.command.model.condition.ImmuneUserConditionDetailModel;
|
||||
import net.dv8tion.jda.api.entities.Role;
|
||||
|
||||
public class ImmuneUserConditionDetail implements ConditionDetail {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.condition.detail;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.condition.ConditionDetail;
|
||||
import dev.sheldan.abstracto.core.command.models.condition.InsufficientPermissionCondtionDetailModel;
|
||||
import dev.sheldan.abstracto.core.command.model.condition.InsufficientPermissionCondtionDetailModel;
|
||||
import net.dv8tion.jda.api.entities.Role;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.ChannelAlreadyInChannelGroupExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.ChannelAlreadyInChannelGroupExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.ChannelGroupExistsExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.ChannelGroupExistsExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.ChannelGroupIncorrectTypeExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.ChannelGroupIncorrectTypeExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.ChannelGroupNotFoundExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.ChannelGroupNotFoundExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.ChannelNotInChannelGroupExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.ChannelNotInChannelGroupExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.model.exception.CommandAliasAlreadyExistsModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
public class CommandAliasAlreadyExistsException extends AbstractoRunTimeException implements Templatable {
|
||||
|
||||
private final CommandAliasAlreadyExistsModel model;
|
||||
|
||||
public CommandAliasAlreadyExistsException(String existingCommand) {
|
||||
this.model = CommandAliasAlreadyExistsModel
|
||||
.builder()
|
||||
.existingCommand(existingCommand)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "command_in_server_alias_already_exists_exception";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return model;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
public class CommandAliasDoesNotExistsException extends AbstractoRunTimeException implements Templatable {
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "command_in_server_alias_not_exists_exists_exception";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.model.exception.CommandAliasHidesCommandModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
public class CommandAliasHidesCommandException extends AbstractoRunTimeException implements Templatable {
|
||||
|
||||
private final CommandAliasHidesCommandModel model;
|
||||
|
||||
public CommandAliasHidesCommandException(String existingCommand) {
|
||||
this.model = CommandAliasHidesCommandModel
|
||||
.builder()
|
||||
.existingCommand(existingCommand)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplateName() {
|
||||
return "command_in_server_alias_hides_command_exception";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTemplateModel() {
|
||||
return model;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.exception.CommandParameterKeyValueWrongTypeExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.CommandParameterKeyValueWrongTypeExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.validator.ValidatorParam;
|
||||
import dev.sheldan.abstracto.core.command.models.exception.CommandParameterValidationExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.CommandParameterValidationExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.models.exception.IncorrectParameterExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.IncorrectParameterExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.command.models.exception.InsufficientParametersExceptionModel;
|
||||
import dev.sheldan.abstracto.core.command.model.exception.InsufficientParametersExceptionModel;
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.templating.Templatable;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models;
|
||||
package dev.sheldan.abstracto.core.command.model;
|
||||
|
||||
public enum TableLocks {
|
||||
CHANNELS, USER_IN_SERVER, USER
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.condition;
|
||||
package dev.sheldan.abstracto.core.command.model.condition;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import lombok.Builder;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.condition;
|
||||
package dev.sheldan.abstracto.core.command.model.condition;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.condition.ConditionDetail;
|
||||
import dev.sheldan.abstracto.core.models.GuildChannelMember;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.condition;
|
||||
package dev.sheldan.abstracto.core.command.model.condition;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.condition;
|
||||
package dev.sheldan.abstracto.core.command.model.condition;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.database;
|
||||
package dev.sheldan.abstracto.core.command.model.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroupCommand;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.database;
|
||||
package dev.sheldan.abstracto.core.command.model.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
@@ -47,6 +47,9 @@ public class ACommandInAServer implements Serializable {
|
||||
@Getter
|
||||
private List<ARole> immuneRoles;
|
||||
|
||||
@OneToMany(mappedBy = "commandInAServer", fetch = FetchType.LAZY)
|
||||
private List<ACommandInServerAlias> aliases;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Column(name = "restricted")
|
||||
@@ -0,0 +1,29 @@
|
||||
package dev.sheldan.abstracto.core.command.model.database;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
|
||||
@Entity(name = "command_in_server_alias")
|
||||
@Getter
|
||||
@Builder
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public class ACommandInServerAlias implements Serializable {
|
||||
|
||||
@EmbeddedId
|
||||
private CommandInServerAliasId aliasId;
|
||||
|
||||
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||
@MapsId("commandInServerId")
|
||||
@JoinColumn(name = "command_in_server_id", referencedColumnName = "command_in_server_id", nullable = false)
|
||||
private ACommandInAServer commandInAServer;
|
||||
|
||||
@Column(name = "created")
|
||||
private Instant created;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.database;
|
||||
package dev.sheldan.abstracto.core.command.model.database;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package dev.sheldan.abstracto.core.command.model.database;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Embeddable;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Embeddable
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@EqualsAndHashCode
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CommandInServerAliasId implements Serializable {
|
||||
@Column(name = "command_in_server_id")
|
||||
private Long commandInServerId;
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
@@ -0,0 +1,12 @@
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public class CommandAliasAlreadyExistsModel implements Serializable {
|
||||
private final String existingCommand;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public class CommandAliasHidesCommandModel implements Serializable {
|
||||
private final String existingCommand;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class CommandParameterKeyValueWrongTypeExceptionModel implements Serializable {
|
||||
private List<String> expectedValues;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.config.validator.ValidatorParam;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FullUser;
|
||||
import dev.sheldan.abstracto.core.models.FullUserInServer;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import lombok.Builder;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.Command;
|
||||
import lombok.Builder;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
package dev.sheldan.abstracto.core.command.model.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -1,14 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.command.models.exception;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class CommandParameterKeyValueWrongTypeExceptionModel {
|
||||
private List<String> expectedValues;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
|
||||
public interface ChannelGroupCommandService {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.command.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInServerAlias;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CommandInServerAliasService {
|
||||
ACommandInServerAlias createAliasForCommandInServer(Long serverId, String commandName, String alias);
|
||||
Optional<ACommandInServerAlias> getCommandInServerAlias(Long serverId, String text);
|
||||
void deleteCommandInServerAlias(Long serverId, String name);
|
||||
List<String> getAliasesForCommand(Long serverId, String commandName);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.command.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
public interface CommandInServerService {
|
||||
ACommandInAServer getCommandInAServer(Long serverId, String name);
|
||||
ACommandInAServer getCommandInAServer(AServer server, String name);
|
||||
}
|
||||
@@ -7,14 +7,16 @@ import dev.sheldan.abstracto.core.command.execution.UnParsedCommandParameter;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CommandRegistry {
|
||||
Command findCommandByParameters(String name, UnParsedCommandParameter context);
|
||||
Command findCommand(String message);
|
||||
Command findCommandByParameters(String name, UnParsedCommandParameter context, Long serverId);
|
||||
Command findCommandViaName(String message);
|
||||
List<Command> getAllCommands();
|
||||
List<Command> getAllCommandsFromModule(ModuleDefinition module);
|
||||
boolean isCommand(Message message);
|
||||
boolean commandExists(String name);
|
||||
Command getCommandByName(String name);
|
||||
boolean commandExists(String name, boolean searchAliases, Long serverId);
|
||||
Command getCommandByName(String name, boolean searchAliases, Long serverId);
|
||||
Optional<Command> getCommandByNameOptional(String name, boolean searchAliases, Long serverId);
|
||||
String getCommandName(String input, Long serverId);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import dev.sheldan.abstracto.core.command.condition.ConditionResult;
|
||||
import dev.sheldan.abstracto.core.command.config.Parameters;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.UnParsedCommandParameter;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroupCommand;
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package dev.sheldan.abstracto.core.command.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInServerAlias;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CommandInServerAliasManagementService {
|
||||
|
||||
List<ACommandInServerAlias> getAliasesInServer(AServer server);
|
||||
boolean doesCommandInServerAliasExist(AServer server, String alias);
|
||||
Optional<ACommandInServerAlias> getCommandInServerAlias(AServer server, String alias);
|
||||
ACommandInServerAlias createAliasForCommand(ACommandInAServer commandInAServer, String alias);
|
||||
void deleteCommandInServerAlias(ACommandInServerAlias alias);
|
||||
List<ACommandInServerAlias> getAliasesForCommandInServer(AServer server, String commandName);
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package dev.sheldan.abstracto.core.command.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommandInAServer;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
public interface CommandInServerManagementService {
|
||||
ACommandInAServer crateCommandInServer(ACommand command, AServer server);
|
||||
ACommandInAServer createCommandInServer(ACommand command, AServer server);
|
||||
boolean doesCommandExistInServer(ACommand command, AServer server);
|
||||
ACommandInAServer getCommandForServer(ACommand command, AServer server);
|
||||
ACommandInAServer getCommandForServer(ACommand command, Long serverId);
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package dev.sheldan.abstracto.core.command.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.models.database.AModule;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.AModule;
|
||||
import dev.sheldan.abstracto.core.models.database.AFeature;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CommandManagementService {
|
||||
@@ -12,4 +13,5 @@ public interface CommandManagementService {
|
||||
Optional<ACommand> findCommandByNameOptional(String name);
|
||||
ACommand findCommandByName(String name);
|
||||
boolean doesCommandExist(String name);
|
||||
List<ACommand> getAllCommands();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.command.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.AModule;
|
||||
import dev.sheldan.abstracto.core.command.model.database.AModule;
|
||||
|
||||
public interface ModuleManagementService {
|
||||
AModule createModule(String name);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import lombok.*;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.command.model.database.ACommand;
|
||||
import dev.sheldan.abstracto.core.models.SnowFlake;
|
||||
import lombok.*;
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import java.util.List;
|
||||
@SuperBuilder
|
||||
public class HelpCommandDetailsModel extends UserInitiatedServerContext {
|
||||
private CommandConfiguration command;
|
||||
private List<String> serverSpecificAliases;
|
||||
private String usage;
|
||||
private List<Role> allowedRoles;
|
||||
private List<Role> immuneRoles;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.TableLocks;
|
||||
import dev.sheldan.abstracto.core.command.model.TableLocks;
|
||||
|
||||
public interface LockService {
|
||||
void lockTable(TableLocks toLock);
|
||||
|
||||
Reference in New Issue
Block a user