added overview to existing post targets if no parameter is provided for the post target command

This commit is contained in:
Sheldan
2020-06-05 17:33:41 +02:00
parent 601c4b7121
commit d14e917329
18 changed files with 135 additions and 8 deletions

View File

@@ -0,0 +1,15 @@
package dev.sheldan.abstracto.core.models.template.commands;
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import java.util.List;
@Getter
@Setter
@SuperBuilder
public class PostTargetDisplayModel extends UserInitiatedServerContext {
private List<PostTargetModelEntry> postTargets;
}

View File

@@ -0,0 +1,15 @@
package dev.sheldan.abstracto.core.models.template.commands;
import dev.sheldan.abstracto.core.models.database.PostTarget;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import net.dv8tion.jda.api.entities.TextChannel;
@Getter
@Setter
@Builder
public class PostTargetModelEntry {
private PostTarget postTarget;
private TextChannel channel;
}

View File

@@ -31,4 +31,5 @@ public interface ChannelService {
List<CompletableFuture<Message>> sendEmbedTemplateInChannel(String templateKey, Object model, MessageChannel channel);
CompletableFuture<TextChannel> createTextChannel(String name, AServer server, Long categoryId);
Optional<TextChannel> getChannelFromAChannel(AChannel channel);
}

View File

@@ -1,6 +1,7 @@
package dev.sheldan.abstracto.core.service;
import dev.sheldan.abstracto.core.config.PostTargetEnum;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.PostTarget;
import dev.sheldan.abstracto.templating.model.MessageToSend;
import net.dv8tion.jda.api.entities.Message;
@@ -24,5 +25,7 @@ public interface PostTargetService {
void editOrCreatedInPostTarget(Long messageId, MessageToSend messageToSend, PostTargetEnum postTarget, Long serverId, List<CompletableFuture<Message>> future);
void throwIfPostTargetIsNotDefined(PostTargetEnum name, Long serverId);
boolean validPostTarget(String name);
List<PostTarget> getPostTargets(AServer server);
List<String> getAvailablePostTargets();
List<String> getPostTargetsOfEnabledFeatures(AServer server);
}

View File

@@ -4,6 +4,8 @@ import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.PostTarget;
import java.util.List;
public interface PostTargetManagement {
PostTarget createPostTarget(String name, AServer server, AChannel targetChanel);
PostTarget createOrUpdate(String name, AServer server, AChannel targetChannel);
@@ -14,4 +16,5 @@ public interface PostTargetManagement {
Boolean postTargetExists(String name, AServer server);
boolean postTargetExists(String name, Long serverId);
PostTarget updatePostTarget(PostTarget target, AServer server, AChannel newTargetChannel);
List<PostTarget> getPostTargetsInServer(AServer server);
}