mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-17 12:34:46 +00:00
added tests for utility module
refactored various commands and services optimized code for message embeds removed emoteUtils completely and moved to service removed suggestion validation, because its now done via feature config fixed regex for discord links changed template to handle the case in which a member which suggested it originally left the server added suggestion update exception in cases the message to edit, does not qualify as a suggestion added check to not allow cross server quoting and added test case refactored mocking for jda objects
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.utility.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
|
||||
public class CrossServerEmbedException extends AbstractoRunTimeException {
|
||||
public CrossServerEmbedException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.utility.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
|
||||
public class SuggestionUpdateException extends AbstractoRunTimeException {
|
||||
public SuggestionUpdateException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package dev.sheldan.abstracto.utility.models.template.commands;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.database.Suggestion;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -13,6 +14,7 @@ import net.dv8tion.jda.api.entities.Member;
|
||||
public class SuggestionLog extends UserInitiatedServerContext {
|
||||
private Suggestion suggestion;
|
||||
private Member suggester;
|
||||
private AUserInAServer suggesterUser;
|
||||
private String text;
|
||||
private String reason;
|
||||
private Long originalMessageId;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package dev.sheldan.abstracto.utility.models.template.commands.starboard;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||
import dev.sheldan.abstracto.core.utils.MessageUtils;
|
||||
import dev.sheldan.abstracto.utility.models.database.StarboardPost;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -19,15 +17,4 @@ public class StarStatsPost {
|
||||
public String getMessageUrl() {
|
||||
return MessageUtils.buildMessageUrl(serverId ,channelId, messageId);
|
||||
}
|
||||
|
||||
public static StarStatsPost fromStarboardPost(StarboardPost starboardPost) {
|
||||
AChannel channel = starboardPost.getStarboardChannel();
|
||||
return StarStatsPost
|
||||
.builder()
|
||||
.serverId(channel.getServer().getId())
|
||||
.channelId(channel.getId())
|
||||
.messageId(starboardPost.getPostMessageId())
|
||||
.starCount(starboardPost.getReactions().size())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package dev.sheldan.abstracto.utility.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.reminder.ReminderModel;
|
||||
import dev.sheldan.abstracto.utility.models.database.Reminder;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
public interface ReminderService {
|
||||
void createReminderInForUser(AUserInAServer user, String remindText, Duration remindIn, ReminderModel reminderModel);
|
||||
Reminder createReminderInForUser(AUserInAServer user, String remindText, Duration remindIn, Message message);
|
||||
void executeReminder(Long reminderId);
|
||||
void unRemind(Long reminderId, AUserInAServer userInAServer);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.database.StarboardPost;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsModel;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsPost;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -12,4 +13,5 @@ public interface StarboardService {
|
||||
void updateStarboardPost(StarboardPost post, CachedMessage message, List<AUserInAServer> userExceptAuthor);
|
||||
void deleteStarboardMessagePost(StarboardPost message);
|
||||
StarStatsModel retrieveStarStats(Long serverId);
|
||||
StarStatsPost fromStarboardPost(StarboardPost starboardPost);
|
||||
}
|
||||
|
||||
@@ -7,5 +7,4 @@ public interface SuggestionService {
|
||||
void createSuggestion(Member member, String text, SuggestionLog log);
|
||||
void acceptSuggestion(Long suggestionId, String text, SuggestionLog log);
|
||||
void rejectSuggestion(Long suggestionId, String text, SuggestionLog log);
|
||||
void validateSetup(Long serverId);
|
||||
}
|
||||
|
||||
@@ -11,5 +11,4 @@ public interface MessageEmbedPostManagementService {
|
||||
void createMessageEmbed(CachedMessage embeddedMessage, Message messageContainingEmbed, AUserInAServer cause);
|
||||
Optional<EmbeddedMessage> findEmbeddedPostByMessageId(Long messageId);
|
||||
void deleteEmbeddedMessage(EmbeddedMessage embeddedMessage);
|
||||
void deleteEmbeddedMessageTransactional(EmbeddedMessage embeddedMessage);
|
||||
}
|
||||
|
||||
@@ -14,5 +14,5 @@ public interface ReminderManagementService {
|
||||
void setReminded(Reminder reminder);
|
||||
Reminder saveReminder(Reminder reminder);
|
||||
List<Reminder> getActiveRemindersForUser(AUserInAServer aUserInAServer);
|
||||
Reminder getReminderByAndByUserNotReminded(AUserInAServer aUserInAServer, Long reminderId);
|
||||
Optional<Reminder> getReminderByAndByUserNotReminded(AUserInAServer aUserInAServer, Long reminderId);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface StarboardPostManagementService {
|
||||
StarboardPost createStarboardPost(CachedMessage starredMessage, AUserInAServer starredUser, AUserInAServer starringUser, AServerAChannelMessage starboardPost);
|
||||
StarboardPost createStarboardPost(CachedMessage starredMessage, AUserInAServer starredUser, AServerAChannelMessage starboardPost);
|
||||
void setStarboardPostMessageId(StarboardPost post, Long messageId);
|
||||
List<StarboardPost> retrieveTopPosts(Long serverId, Integer count);
|
||||
List<StarboardPost> retrieveAllPosts(Long serverId);
|
||||
|
||||
Reference in New Issue
Block a user