mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-20 05:24:09 +00:00
migrated some exceptions to use templates
fixed missed hard coded value in template fixed listing of channels in channel groups fixed template loading
This commit is contained in:
@@ -7,7 +7,7 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
|
|||||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||||
import dev.sheldan.abstracto.core.exception.RoleException;
|
import dev.sheldan.abstracto.core.exception.RoleNotFoundInGuildException;
|
||||||
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;
|
||||||
import dev.sheldan.abstracto.core.service.RoleService;
|
import dev.sheldan.abstracto.core.service.RoleService;
|
||||||
@@ -45,7 +45,7 @@ public class SetExpRole extends AbstractConditionableCommand {
|
|||||||
ARole role = roleOpt.get();
|
ARole role = roleOpt.get();
|
||||||
AServer server = commandContext.getUserInitiatedContext().getServer();
|
AServer server = commandContext.getUserInitiatedContext().getServer();
|
||||||
if(!roleService.isRoleInServer(role)) {
|
if(!roleService.isRoleInServer(role)) {
|
||||||
throw new RoleException("Role not found.");
|
throw new RoleNotFoundInGuildException(role.getId(), server.getId());
|
||||||
}
|
}
|
||||||
log.info("Setting role {} to be used for level {} on server {}", roleId, level, server.getId());
|
log.info("Setting role {} to be used for level {} on server {}", roleId, level, server.getId());
|
||||||
experienceRoleService.setRoleToLevel(role, level, server, commandContext.getUserInitiatedContext().getChannel());
|
experienceRoleService.setRoleToLevel(role, level, server, commandContext.getUserInitiatedContext().getChannel());
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"title": {
|
"title": {
|
||||||
"title": "Warnings have been decayed"
|
"title": "<#include "warnDecay_title">"
|
||||||
},
|
},
|
||||||
"color" : {
|
"color" : {
|
||||||
"r": 200,
|
"r": 200,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.modmail.service;
|
|||||||
import com.jagrosh.jdautilities.commons.waiter.EventWaiter;
|
import com.jagrosh.jdautilities.commons.waiter.EventWaiter;
|
||||||
import com.jagrosh.jdautilities.menu.ButtonMenu;
|
import com.jagrosh.jdautilities.menu.ButtonMenu;
|
||||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||||
import dev.sheldan.abstracto.core.exception.PostTargetException;
|
import dev.sheldan.abstracto.core.exception.PostTargetNotValidException;
|
||||||
import dev.sheldan.abstracto.core.models.FullGuild;
|
import dev.sheldan.abstracto.core.models.FullGuild;
|
||||||
import dev.sheldan.abstracto.core.models.FullUser;
|
import dev.sheldan.abstracto.core.models.FullUser;
|
||||||
import dev.sheldan.abstracto.core.models.UndoActionInstance;
|
import dev.sheldan.abstracto.core.models.UndoActionInstance;
|
||||||
@@ -398,7 +398,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
|||||||
log.error("Failed to log messages for mod mail thread {}.", modMailThreadId, innerThrowable);
|
log.error("Failed to log messages for mod mail thread {}.", modMailThreadId, innerThrowable);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
} catch (PostTargetException po) {
|
} catch (PostTargetNotValidException po) {
|
||||||
log.error("Failed to log mod mail messages", po);
|
log.error("Failed to log mod mail messages", po);
|
||||||
sendModMailFailure("modmail_exception_post_target_not_defined", innerModMailThread.getUser(), modMailThreadId, feedBack, po);
|
sendModMailFailure("modmail_exception_post_target_not_defined", innerModMailThread.getUser(), modMailThreadId, feedBack, po);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.command.exception.ChannelGroupException;
|
import dev.sheldan.abstracto.core.command.exception.ChannelGroupNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.command.exception.CommandException;
|
import dev.sheldan.abstracto.core.command.exception.CommandException;
|
||||||
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
import dev.sheldan.abstracto.core.command.models.database.ACommand;
|
||||||
import dev.sheldan.abstracto.core.command.service.management.ChannelGroupCommandManagementService;
|
import dev.sheldan.abstracto.core.command.service.management.ChannelGroupCommandManagementService;
|
||||||
@@ -68,7 +68,7 @@ public class ChannelGroupServiceBean implements ChannelGroupService {
|
|||||||
AServer server = serverManagementService.loadOrCreate(channel.getServer().getId());
|
AServer server = serverManagementService.loadOrCreate(channel.getServer().getId());
|
||||||
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
||||||
if(channelGroup == null) {
|
if(channelGroup == null) {
|
||||||
throw new ChannelGroupException(String.format(CHANNEL_GROUP_NOT_FOUND, channelGroupName));
|
throw new ChannelGroupNotFoundException(channelGroupName, channelGroupManagementService.getAllAvailableAsString(server));
|
||||||
}
|
}
|
||||||
channelGroupManagementService.addChannelToChannelGroup(channelGroup, channel);
|
channelGroupManagementService.addChannelToChannelGroup(channelGroup, channel);
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,7 @@ public class ChannelGroupServiceBean implements ChannelGroupService {
|
|||||||
AServer server = serverManagementService.loadOrCreate(channel.getServer().getId());
|
AServer server = serverManagementService.loadOrCreate(channel.getServer().getId());
|
||||||
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
||||||
if(channelGroup == null) {
|
if(channelGroup == null) {
|
||||||
throw new ChannelGroupException(String.format(CHANNEL_GROUP_NOT_FOUND, channelGroupName));
|
throw new ChannelGroupNotFoundException(channelGroupName, channelGroupManagementService.getAllAvailableAsString(server));
|
||||||
}
|
}
|
||||||
channelGroupManagementService.removeChannelFromChannelGroup(channelGroup, channel);
|
channelGroupManagementService.removeChannelFromChannelGroup(channelGroup, channel);
|
||||||
}
|
}
|
||||||
@@ -100,7 +100,7 @@ public class ChannelGroupServiceBean implements ChannelGroupService {
|
|||||||
AServer server = serverManagementService.loadOrCreate(serverId);
|
AServer server = serverManagementService.loadOrCreate(serverId);
|
||||||
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
||||||
if(channelGroup == null) {
|
if(channelGroup == null) {
|
||||||
throw new ChannelGroupException(String.format(CHANNEL_GROUP_NOT_FOUND, channelGroupName));
|
throw new ChannelGroupNotFoundException(channelGroupName, channelGroupManagementService.getAllAvailableAsString(server));
|
||||||
}
|
}
|
||||||
ACommand command = commandManagementService.findCommandByName(commandName);
|
ACommand command = commandManagementService.findCommandByName(commandName);
|
||||||
if(command == null) {
|
if(command == null) {
|
||||||
@@ -114,7 +114,7 @@ public class ChannelGroupServiceBean implements ChannelGroupService {
|
|||||||
AServer server = serverManagementService.loadOrCreate(serverId);
|
AServer server = serverManagementService.loadOrCreate(serverId);
|
||||||
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
AChannelGroup channelGroup = channelGroupManagementService.findByNameAndServer(channelGroupName, server);
|
||||||
if(channelGroup == null) {
|
if(channelGroup == null) {
|
||||||
throw new ChannelGroupException(String.format(CHANNEL_GROUP_NOT_FOUND, channelGroupName));
|
throw new ChannelGroupNotFoundException(channelGroupName, channelGroupManagementService.getAllAvailableAsString(server));
|
||||||
}
|
}
|
||||||
ACommand command = commandManagementService.findCommandByName(commandName);
|
ACommand command = commandManagementService.findCommandByName(commandName);
|
||||||
if(command == null) {
|
if(command == null) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.exception.ConfigurationException;
|
import dev.sheldan.abstracto.core.exception.ConfigurationKeyNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.service.management.ConfigManagementService;
|
import dev.sheldan.abstracto.core.service.management.ConfigManagementService;
|
||||||
import dev.sheldan.abstracto.core.models.database.AConfig;
|
import dev.sheldan.abstracto.core.models.database.AConfig;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -54,7 +54,7 @@ public class ConfigServiceBean implements ConfigService{
|
|||||||
if(configManagementService.configExists(serverId, name)) {
|
if(configManagementService.configExists(serverId, name)) {
|
||||||
configManagementService.setDoubleValue(serverId, name, value);
|
configManagementService.setDoubleValue(serverId, name, value);
|
||||||
} else {
|
} else {
|
||||||
throw new ConfigurationException(String.format("Key %s does not exist.", name));
|
throw new ConfigurationKeyNotFoundException(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ public class ConfigServiceBean implements ConfigService{
|
|||||||
if(configManagementService.configExists(serverId, name)) {
|
if(configManagementService.configExists(serverId, name)) {
|
||||||
configManagementService.setLongValue(serverId, name, value);
|
configManagementService.setLongValue(serverId, name, value);
|
||||||
} else {
|
} else {
|
||||||
throw new ConfigurationException(String.format("Key %s does not exist.", name));
|
throw new ConfigurationKeyNotFoundException(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ public class ConfigServiceBean implements ConfigService{
|
|||||||
setStringValue(name, serverId, value);
|
setStringValue(name, serverId, value);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new ConfigurationException(String.format("Key %s does not exist.", name));
|
throw new ConfigurationKeyNotFoundException(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -89,7 +89,7 @@ public class ConfigServiceBean implements ConfigService{
|
|||||||
if(configManagementService.configExists(serverId, name)) {
|
if(configManagementService.configExists(serverId, name)) {
|
||||||
configManagementService.setStringValue(serverId, name, value);
|
configManagementService.setStringValue(serverId, name, value);
|
||||||
} else {
|
} else {
|
||||||
throw new ConfigurationException(String.format("Key %s does not exist.", name));
|
throw new ConfigurationKeyNotFoundException(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
||||||
import dev.sheldan.abstracto.core.exception.EmoteException;
|
import dev.sheldan.abstracto.core.exception.EmoteNotDefinedException;
|
||||||
import dev.sheldan.abstracto.core.models.database.AEmote;
|
import dev.sheldan.abstracto.core.models.database.AEmote;
|
||||||
import dev.sheldan.abstracto.core.service.management.EmoteManagementService;
|
import dev.sheldan.abstracto.core.service.management.EmoteManagementService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -79,7 +79,7 @@ public class EmoteServiceBean implements EmoteService {
|
|||||||
@Override
|
@Override
|
||||||
public void throwIfEmoteDoesNotExist(String emoteKey, Long serverId) {
|
public void throwIfEmoteDoesNotExist(String emoteKey, Long serverId) {
|
||||||
if(!emoteManagementService.loadEmoteByName(emoteKey, serverId).isPresent()) {
|
if(!emoteManagementService.loadEmoteByName(emoteKey, serverId).isPresent()) {
|
||||||
throw new EmoteException(String.format("Emote %s not defined.", emoteKey));
|
throw new EmoteNotDefinedException(emoteKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.exception.EmoteException;
|
import dev.sheldan.abstracto.core.exception.EmoteNotDefinedException;
|
||||||
import dev.sheldan.abstracto.core.exception.GuildException;
|
import dev.sheldan.abstracto.core.exception.GuildException;
|
||||||
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
import dev.sheldan.abstracto.core.service.management.EmoteManagementService;
|
import dev.sheldan.abstracto.core.service.management.EmoteManagementService;
|
||||||
@@ -14,8 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@@ -52,7 +49,7 @@ public class MessageServiceBean implements MessageService {
|
|||||||
message.addReaction(emoteById).queue();
|
message.addReaction(emoteById).queue();
|
||||||
} else {
|
} else {
|
||||||
log.error("Emote with key {} and id {} for guild {} was not found.", emoteKey, emote.getEmoteId(), guild.getId());
|
log.error("Emote with key {} and id {} for guild {} was not found.", emoteKey, emote.getEmoteId(), guild.getId());
|
||||||
throw new EmoteException(String.format("Emote with key `%s` and id %s in guild %s was not found. Check whether or not the configured emote is available.", emoteKey, emote.getEmoteId(), guild.getIdLong()));
|
throw new EmoteNotDefinedException(emoteKey);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
message.addReaction(emote.getEmoteKey()).queue();
|
message.addReaction(emote.getEmoteKey()).queue();
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.core.service;
|
|||||||
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
||||||
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.exception.GuildException;
|
import dev.sheldan.abstracto.core.exception.GuildException;
|
||||||
import dev.sheldan.abstracto.core.exception.PostTargetException;
|
import dev.sheldan.abstracto.core.exception.PostTargetNotValidException;
|
||||||
import dev.sheldan.abstracto.core.service.management.PostTargetManagement;
|
import dev.sheldan.abstracto.core.service.management.PostTargetManagement;
|
||||||
import dev.sheldan.abstracto.core.models.database.PostTarget;
|
import dev.sheldan.abstracto.core.models.database.PostTarget;
|
||||||
import dev.sheldan.abstracto.templating.model.MessageToSend;
|
import dev.sheldan.abstracto.templating.model.MessageToSend;
|
||||||
@@ -70,7 +70,7 @@ public class PostTargetServiceBean implements PostTargetService {
|
|||||||
return postTarget;
|
return postTarget;
|
||||||
} else {
|
} else {
|
||||||
log.error("PostTarget {} in server {} was not found!", postTargetName, serverId);
|
log.error("PostTarget {} in server {} was not found!", postTargetName, serverId);
|
||||||
throw new PostTargetException(String.format("Incorrect post target configuration: Post target %s was not found.", postTargetName));
|
throw new PostTargetNotValidException(postTargetName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ public class PostTargetServiceBean implements PostTargetService {
|
|||||||
public void throwIfPostTargetIsNotDefined(String name, Long serverId) {
|
public void throwIfPostTargetIsNotDefined(String name, Long serverId) {
|
||||||
PostTarget postTarget = postTargetManagement.getPostTarget(name, serverId);
|
PostTarget postTarget = postTargetManagement.getPostTarget(name, serverId);
|
||||||
if(postTarget == null) {
|
if(postTarget == null) {
|
||||||
throw new PostTargetException(String.format("Post target %s is not defined.", name));
|
throw new PostTargetNotValidException(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.exception.GuildException;
|
import dev.sheldan.abstracto.core.exception.GuildException;
|
||||||
import dev.sheldan.abstracto.core.exception.RoleException;
|
import dev.sheldan.abstracto.core.exception.RoleNotFoundInDBException;
|
||||||
|
import dev.sheldan.abstracto.core.exception.RoleNotFoundInGuildException;
|
||||||
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;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
@@ -10,7 +11,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.dv8tion.jda.api.entities.Guild;
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.Role;
|
import net.dv8tion.jda.api.entities.Role;
|
||||||
import org.aspectj.lang.annotation.Around;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ public class RoleServiceBean implements RoleService {
|
|||||||
if(roleById != null) {
|
if(roleById != null) {
|
||||||
guild.addRoleToMember(aUserInAServer.getUserReference().getId(), roleById).queue();
|
guild.addRoleToMember(aUserInAServer.getUserReference().getId(), roleById).queue();
|
||||||
} else {
|
} else {
|
||||||
throw new RoleException(String.format("Failed to load role %s in guild %s", role.getId(), aUserInAServer.getServerReference().getId()));
|
throw new RoleNotFoundInGuildException(role.getId(), aUserInAServer.getServerReference().getId());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new GuildException(String.format("Failed to load guild %s.", aUserInAServer.getServerReference().getId()));
|
throw new GuildException(String.format("Failed to load guild %s.", aUserInAServer.getServerReference().getId()));
|
||||||
@@ -53,7 +53,7 @@ public class RoleServiceBean implements RoleService {
|
|||||||
if(roleById != null) {
|
if(roleById != null) {
|
||||||
guild.removeRoleFromMember(aUserInAServer.getUserReference().getId(), roleById).queue();
|
guild.removeRoleFromMember(aUserInAServer.getUserReference().getId(), roleById).queue();
|
||||||
} else {
|
} else {
|
||||||
throw new RoleException(String.format("Failed to load role %s in guild %s", role.getId(), aUserInAServer.getServerReference().getId()));
|
throw new RoleNotFoundInGuildException(role.getId(), aUserInAServer.getServerReference().getId());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new GuildException(String.format("Failed to load guild %s.", aUserInAServer.getServerReference().getId()));
|
throw new GuildException(String.format("Failed to load guild %s.", aUserInAServer.getServerReference().getId()));
|
||||||
@@ -68,7 +68,7 @@ public class RoleServiceBean implements RoleService {
|
|||||||
@Override
|
@Override
|
||||||
public void markDeleted(Long id, AServer server) {
|
public void markDeleted(Long id, AServer server) {
|
||||||
Optional<ARole> role = roleManagementService.findRole(id, server);
|
Optional<ARole> role = roleManagementService.findRole(id, server);
|
||||||
ARole role1 = role.orElseThrow(() -> new RoleException(String.format("Cannot find role %s to mark as deleted.", id)));
|
ARole role1 = role.orElseThrow(() -> new RoleNotFoundInDBException(id, server.getId()));
|
||||||
roleManagementService.markDeleted(role1);
|
roleManagementService.markDeleted(role1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package dev.sheldan.abstracto.core.service;
|
package dev.sheldan.abstracto.core.service;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.exception.UndoActionException;
|
|
||||||
import dev.sheldan.abstracto.core.models.UndoAction;
|
import dev.sheldan.abstracto.core.models.UndoAction;
|
||||||
import dev.sheldan.abstracto.core.models.UndoActionInstance;
|
import dev.sheldan.abstracto.core.models.UndoActionInstance;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.service.management;
|
package dev.sheldan.abstracto.core.service.management;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.command.exception.ChannelGroupException;
|
import dev.sheldan.abstracto.core.command.exception.ChannelGroupExistsException;
|
||||||
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
import dev.sheldan.abstracto.core.command.exception.ChannelGroupNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ChannelGroupManagementServiceBean implements ChannelGroupManagementService {
|
public class ChannelGroupManagementServiceBean implements ChannelGroupManagementService {
|
||||||
@@ -25,7 +26,7 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
|
|||||||
public AChannelGroup createChannelGroup(String name, AServer server) {
|
public AChannelGroup createChannelGroup(String name, AServer server) {
|
||||||
name = name.toLowerCase();
|
name = name.toLowerCase();
|
||||||
if(doesChannelGroupExist(name, server)) {
|
if(doesChannelGroupExist(name, server)) {
|
||||||
throw new ChannelGroupException("Channel group already exists.");
|
throw new ChannelGroupExistsException(name);
|
||||||
}
|
}
|
||||||
AChannelGroup channelGroup = AChannelGroup
|
AChannelGroup channelGroup = AChannelGroup
|
||||||
.builder()
|
.builder()
|
||||||
@@ -46,7 +47,7 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
|
|||||||
name = name.toLowerCase();
|
name = name.toLowerCase();
|
||||||
AChannelGroup existing = findByNameAndServer(name, server);
|
AChannelGroup existing = findByNameAndServer(name, server);
|
||||||
if(existing == null) {
|
if(existing == null) {
|
||||||
throw new ChannelGroupException(String.format("Channel group %s does not exist", name));
|
throw new ChannelGroupNotFoundException(name, getAllAvailableAsString(server));
|
||||||
}
|
}
|
||||||
channelGroupRepository.delete(existing);
|
channelGroupRepository.delete(existing);
|
||||||
}
|
}
|
||||||
@@ -54,11 +55,8 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
|
|||||||
@Override
|
@Override
|
||||||
public AChannelGroup addChannelToChannelGroup(AChannelGroup channelGroup, AChannel channel) {
|
public AChannelGroup addChannelToChannelGroup(AChannelGroup channelGroup, AChannel channel) {
|
||||||
Predicate<AChannel> channelInGroupPredicate = channel1 -> channel1.getId().equals(channel.getId());
|
Predicate<AChannel> channelInGroupPredicate = channel1 -> channel1.getId().equals(channel.getId());
|
||||||
if(channelGroup == null) {
|
|
||||||
throw new ChannelGroupException("Channel group was not found.");
|
|
||||||
}
|
|
||||||
if(channelGroup.getChannels().stream().anyMatch(channelInGroupPredicate)) {
|
if(channelGroup.getChannels().stream().anyMatch(channelInGroupPredicate)) {
|
||||||
throw new ChannelGroupException(String.format("Channel %s is already part of group %s.", channel.getId(), channelGroup.getGroupName()));
|
throw new ChannelGroupExistsException(String.format("Channel %s is already part of group %s.", channel.getId(), channelGroup.getGroupName()));
|
||||||
}
|
}
|
||||||
channelGroup.getChannels().add(channel);
|
channelGroup.getChannels().add(channel);
|
||||||
channel.getGroups().add(channelGroup);
|
channel.getGroups().add(channelGroup);
|
||||||
@@ -69,7 +67,7 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
|
|||||||
public void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel) {
|
public void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel) {
|
||||||
Predicate<AChannel> channelInGroupPredicate = channel1 -> channel1.getId().equals(channel.getId());
|
Predicate<AChannel> channelInGroupPredicate = channel1 -> channel1.getId().equals(channel.getId());
|
||||||
if(channelGroup.getChannels().stream().noneMatch(channelInGroupPredicate)) {
|
if(channelGroup.getChannels().stream().noneMatch(channelInGroupPredicate)) {
|
||||||
throw new ChannelGroupException(String.format("Channel %s is not part of group %s.", channel.getId(), channelGroup.getGroupName()));
|
throw new ChannelGroupExistsException(String.format("Channel %s is not part of group %s.", channel.getId(), channelGroup.getGroupName()));
|
||||||
}
|
}
|
||||||
channelGroup.getChannels().removeIf(channelInGroupPredicate);
|
channelGroup.getChannels().removeIf(channelInGroupPredicate);
|
||||||
channel.getGroups().removeIf(channelGroup1 -> channelGroup1.getId().equals(channelGroup.getId()));
|
channel.getGroups().removeIf(channelGroup1 -> channelGroup1.getId().equals(channelGroup.getId()));
|
||||||
@@ -86,6 +84,11 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
|
|||||||
return channelGroupRepository.findByServer(server);
|
return channelGroupRepository.findByServer(server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getAllAvailableAsString(AServer server) {
|
||||||
|
return findAllInServer(server).stream().map(AChannelGroup::getGroupName).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AChannelGroup> findAllInServer(Long serverId) {
|
public List<AChannelGroup> findAllInServer(Long serverId) {
|
||||||
AServer server = serverManagementService.loadOrCreate(serverId);
|
AServer server = serverManagementService.loadOrCreate(serverId);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.core.service.management;
|
package dev.sheldan.abstracto.core.service.management;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
||||||
import dev.sheldan.abstracto.core.exception.EmoteException;
|
import dev.sheldan.abstracto.core.exception.EmoteNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.models.database.AEmote;
|
import dev.sheldan.abstracto.core.models.database.AEmote;
|
||||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.repository.EmoteRepository;
|
import dev.sheldan.abstracto.core.repository.EmoteRepository;
|
||||||
@@ -148,7 +148,7 @@ public class EmoteManagementServiceBean implements EmoteManagementService {
|
|||||||
private void validateEmoteName(String name) {
|
private void validateEmoteName(String name) {
|
||||||
List<String> possibleEmotes = dynamicKeyLoader.getEmoteNamesAsList();
|
List<String> possibleEmotes = dynamicKeyLoader.getEmoteNamesAsList();
|
||||||
if(!possibleEmotes.contains(name)) {
|
if(!possibleEmotes.contains(name)) {
|
||||||
throw new EmoteException("Emote `" + name + "` is not defined. Possible values are: " + String.join(", ", possibleEmotes));
|
throw new EmoteNotFoundException(name, possibleEmotes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.core.service.management;
|
|||||||
|
|
||||||
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
||||||
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
||||||
import dev.sheldan.abstracto.core.exception.PostTargetException;
|
import dev.sheldan.abstracto.core.exception.PostTargetNotFoundException;
|
||||||
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.PostTarget;
|
import dev.sheldan.abstracto.core.models.database.PostTarget;
|
||||||
@@ -36,7 +36,7 @@ public class PostTargetManagementBean implements PostTargetManagement {
|
|||||||
@Override
|
@Override
|
||||||
public PostTarget createPostTarget(String name, AServer server, AChannel targetChannel) {
|
public PostTarget createPostTarget(String name, AServer server, AChannel targetChannel) {
|
||||||
if(!postTargetService.validPostTarget(name)) {
|
if(!postTargetService.validPostTarget(name)) {
|
||||||
throw new PostTargetException("PostTarget not found. Possible values are: " + String.join(", ", dynamicKeyLoader.getPostTargetsAsList()));
|
throw new PostTargetNotFoundException(name, dynamicKeyLoader.getPostTargetsAsList());
|
||||||
}
|
}
|
||||||
log.info("Creating post target {} pointing towards {}", name, targetChannel);
|
log.info("Creating post target {} pointing towards {}", name, targetChannel);
|
||||||
PostTarget build = PostTarget.builder().name(name).channelReference(targetChannel).serverReference(server).build();
|
PostTarget build = PostTarget.builder().name(name).channelReference(targetChannel).serverReference(server).build();
|
||||||
|
|||||||
@@ -15,10 +15,7 @@
|
|||||||
{
|
{
|
||||||
"name": "${group.name}",
|
"name": "${group.name}",
|
||||||
"value": "
|
"value": "
|
||||||
<#list group.channels as channel>
|
<#list group.channels as channel>${channel.discordChannel.asMention}<#sep>,</#list>
|
||||||
${channel.discordChannel.asMention}
|
|
||||||
<#sep>,
|
|
||||||
</#list>
|
|
||||||
"
|
"
|
||||||
}<#sep>,
|
}<#sep>,
|
||||||
<#else>
|
<#else>
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.command.exception;
|
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
|
||||||
|
|
||||||
public class ChannelGroupException extends AbstractoRunTimeException {
|
|
||||||
public ChannelGroupException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package dev.sheldan.abstracto.core.command.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class ChannelGroupExistsException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public ChannelGroupExistsException(String name) {
|
||||||
|
super("");
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "channel_group_exists_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("name", this.name);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package dev.sheldan.abstracto.core.command.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ChannelGroupNotFoundException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private List<String> available;
|
||||||
|
|
||||||
|
public ChannelGroupNotFoundException(String key, List<String> available) {
|
||||||
|
super("");
|
||||||
|
this.name = key;
|
||||||
|
this.available = available;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "channel_group_not_found_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("name", this.name);
|
||||||
|
param.put("available", String.join(", ", this.available));
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class ConfigurationException extends AbstractoRunTimeException {
|
|
||||||
public ConfigurationException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class ConfigurationKeyNotFoundException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
public ConfigurationKeyNotFoundException(String key) {
|
||||||
|
super("");
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "config_key_not_found_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("key", this.key);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class EmoteException extends AbstractoRunTimeException {
|
|
||||||
public EmoteException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class EmoteNotDefinedException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String emoteKey;
|
||||||
|
|
||||||
|
public EmoteNotDefinedException(String key) {
|
||||||
|
super("");
|
||||||
|
this.emoteKey = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "emote_not_defined_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("emoteKey", this.emoteKey);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class EmoteNotFoundException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String emoteKey;
|
||||||
|
private List<String> available;
|
||||||
|
|
||||||
|
public EmoteNotFoundException(String key, List<String> availableEmotes) {
|
||||||
|
super("");
|
||||||
|
this.emoteKey = key;
|
||||||
|
this.available = availableEmotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "emote_not_found_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("emoteKey", this.emoteKey);
|
||||||
|
param.put("available", String.join(",", this.available));
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class FeatureDisabledException extends AbstractoRunTimeException {
|
|
||||||
public FeatureDisabledException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,19 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
public class GuildException extends AbstractoRunTimeException {
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
public class GuildException extends AbstractoRunTimeException implements Templatable {
|
||||||
public GuildException(String message) {
|
public GuildException(String message) {
|
||||||
super(message);
|
super(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class PostTargetException extends AbstractoRunTimeException {
|
|
||||||
public PostTargetException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PostTargetNotFoundException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String postTargetKey;
|
||||||
|
private List<String> availableTargets;
|
||||||
|
|
||||||
|
public PostTargetNotFoundException(String key, List<String> available) {
|
||||||
|
super("");
|
||||||
|
this.postTargetKey = key;
|
||||||
|
this.availableTargets = available;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "post_target_not_found";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("key", this.postTargetKey);
|
||||||
|
param.put("available", String.join(",", this.availableTargets));
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class PostTargetNotValidException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private String postTargetKey;
|
||||||
|
|
||||||
|
public PostTargetNotValidException(String key) {
|
||||||
|
super("");
|
||||||
|
this.postTargetKey = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "post_target_not_valid";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, String> param = new HashMap<>();
|
||||||
|
param.put("key", this.postTargetKey);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class RoleException extends AbstractoRunTimeException {
|
|
||||||
public RoleException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class RoleNotFoundInDBException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private Long roleId;
|
||||||
|
private Long serverId;
|
||||||
|
|
||||||
|
public RoleNotFoundInDBException(Long roleId, Long serverId) {
|
||||||
|
super("");
|
||||||
|
this.roleId = roleId;
|
||||||
|
this.serverId = serverId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "role_not_found_in_db_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, Long> param = new HashMap<>();
|
||||||
|
param.put("roleId", this.roleId);
|
||||||
|
param.put("serverId", this.serverId);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.sheldan.abstracto.core.exception;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.templating.Templatable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class RoleNotFoundInGuildException extends AbstractoRunTimeException implements Templatable {
|
||||||
|
|
||||||
|
private Long roleId;
|
||||||
|
private Long serverId;
|
||||||
|
|
||||||
|
public RoleNotFoundInGuildException(Long roleId, Long serverId) {
|
||||||
|
super("");
|
||||||
|
this.roleId = roleId;
|
||||||
|
this.serverId = serverId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTemplateName() {
|
||||||
|
return "role_not_found_in_guild_exception";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getTemplateModel() {
|
||||||
|
HashMap<String, Long> param = new HashMap<>();
|
||||||
|
param.put("roleId", this.roleId);
|
||||||
|
param.put("serverId", this.serverId);
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class UndoActionException extends AbstractoRunTimeException {
|
|
||||||
public UndoActionException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package dev.sheldan.abstracto.core.exception;
|
|
||||||
|
|
||||||
public class UserException extends AbstractoRunTimeException {
|
|
||||||
public UserException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -14,5 +14,6 @@ public interface ChannelGroupManagementService {
|
|||||||
void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel);
|
void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel);
|
||||||
AChannelGroup findByNameAndServer(String name, AServer server);
|
AChannelGroup findByNameAndServer(String name, AServer server);
|
||||||
List<AChannelGroup> findAllInServer(AServer server);
|
List<AChannelGroup> findAllInServer(AServer server);
|
||||||
|
List<String> getAllAvailableAsString(AServer server);
|
||||||
List<AChannelGroup> findAllInServer(Long serverId);
|
List<AChannelGroup> findAllInServer(Long serverId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Channel group ${name} already exists.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Channel group ${name} does not exist. The available channel groups are ${available}.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
The key ${key} was not found.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
The emote ${emoteKey} was not defined for this server.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
The emote ${emoteKey} was not found. The available emotes are: ${available}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Post target ${key} was not found.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Post target ${key} is not available. The possible post targets are: ${available}.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Role ${roleId} was not found in the database.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Role ${roleId} was not found in server ${serverId}.
|
||||||
@@ -32,7 +32,8 @@ public class DatabaseTemplateLoader implements TemplateLoader {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object findTemplateSource(String s) throws IOException {
|
public Object findTemplateSource(String s) throws IOException {
|
||||||
return templateManagementService.getTemplateByKey(s);
|
Optional<Template> templateByKey = templateManagementService.getTemplateByKey(s);
|
||||||
|
return templateByKey.orElseThrow(() -> new IOException(String.format("Failed to load template. %s", s)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user