mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 03:45:57 +00:00
[AB-57] [AB-61] reworked commands and services to work with completable futures and moved the database operations to the very last operation so we have transaction safety in more areas
added some cache annotations to the default repository functions reworked how the undo cations are processed within commands, they are executed in a post command listener when the state is error added a counter id to generate ids to be unique within servers, changed a few tables to be unique within a server added future utils class for wrapping a list of futures into one moved abstracto tables to separate schema in the installer refactored experience gain to work with more futures and delayed database access
This commit is contained in:
@@ -2,7 +2,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 dev.sheldan.abstracto.utility.models.SuggestionState;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
@@ -12,7 +12,8 @@ import net.dv8tion.jda.api.entities.Member;
|
||||
@Setter
|
||||
@SuperBuilder
|
||||
public class SuggestionLog extends UserInitiatedServerContext {
|
||||
private Suggestion suggestion;
|
||||
private Long suggestionId;
|
||||
private SuggestionState state;
|
||||
private Member suggester;
|
||||
private AUserInAServer suggesterUser;
|
||||
private String text;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.utility.models.template.commands;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
|
||||
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
@@ -9,6 +9,6 @@ import net.dv8tion.jda.api.entities.Member;
|
||||
@Getter
|
||||
@Setter
|
||||
@SuperBuilder
|
||||
public class UserInfoModel extends UserInitiatedServerContext {
|
||||
public class UserInfoModel extends SlimUserInitiatedServerContext {
|
||||
private Member memberInfo;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import net.dv8tion.jda.api.entities.Member;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public interface SuggestionService {
|
||||
CompletableFuture<Void> createSuggestion(Member member, String text, SuggestionLog log);
|
||||
CompletableFuture<Void> createSuggestionMessage(Member member, String text, SuggestionLog log);
|
||||
CompletableFuture<Void> acceptSuggestion(Long suggestionId, String text, SuggestionLog log);
|
||||
CompletableFuture<Void> rejectSuggestion(Long suggestionId, String text, SuggestionLog log);
|
||||
}
|
||||
|
||||
@@ -9,9 +9,8 @@ import net.dv8tion.jda.api.entities.Message;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface SuggestionManagementService {
|
||||
Suggestion createSuggestion(Member suggester, String text);
|
||||
Suggestion createSuggestion(AUserInAServer suggester, String text);
|
||||
Suggestion createSuggestion(Member suggester, String text, Message message, Long suggestionId);
|
||||
Suggestion createSuggestion(AUserInAServer suggester, String text, Message message, Long suggestionId);
|
||||
Optional<Suggestion> getSuggestion(Long suggestionId);
|
||||
void setPostedMessage(Suggestion suggestion, Message message);
|
||||
void setSuggestionState(Suggestion suggestion, SuggestionState newState);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user