[AB-203] using task executors for the async listeners

fixing starboard post listener and service method
This commit is contained in:
Sheldan
2021-03-21 21:00:21 +01:00
parent ebed1daadc
commit 5eefc3909e
28 changed files with 305 additions and 58 deletions

View File

@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.starboard.listener;
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
import dev.sheldan.abstracto.starboard.model.StarboardPostUpdatedModel;
import dev.sheldan.abstracto.starboard.model.StarboardPostCreatedModel;
public interface StarboardPostUpdatedListener extends FeatureAwareListener<StarboardPostUpdatedModel, DefaultListenerResult> {
public interface StarboardPostCreatedListener extends FeatureAwareListener<StarboardPostCreatedModel, DefaultListenerResult> {
}

View File

@@ -0,0 +1,8 @@
package dev.sheldan.abstracto.starboard.listener;
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
import dev.sheldan.abstracto.starboard.model.StarboardPostDeletedModel;
public interface StarboardPostDeletedListener extends FeatureAwareListener<StarboardPostDeletedModel, DefaultListenerResult> {
}

View File

@@ -1,5 +0,0 @@
package dev.sheldan.abstracto.starboard.listener;
public enum StarboardPostState {
CREATED, UPDATED, UPDATED_CHANGED_THRESHOLD, DELETED
}

View File

@@ -3,7 +3,6 @@ package dev.sheldan.abstracto.starboard.model;
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.starboard.listener.StarboardPostState;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
@@ -13,14 +12,13 @@ import java.util.List;
@Getter
@Setter
@Builder
public class StarboardPostUpdatedModel implements FeatureAwareListenerModel {
public class StarboardPostCreatedModel implements FeatureAwareListenerModel {
private ServerChannelMessage starredMessage;
private ServerChannelMessage starboardMessage;
private ServerUser starredUser;
private ServerUser lastStarrer;
private Long starboardPostId;
private List<Long> allStarrer;
private StarboardPostState newState;
@Override
public Long getServerId() {

View File

@@ -0,0 +1,27 @@
package dev.sheldan.abstracto.starboard.model;
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
import dev.sheldan.abstracto.core.models.ServerUser;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@Builder
public class StarboardPostDeletedModel implements FeatureAwareListenerModel {
private ServerChannelMessage starredMessage;
private ServerChannelMessage starboardMessage;
private ServerUser starredUser;
private ServerUser lastStarrer;
private Long starboardPostId;
private List<Long> allStarrer;
@Override
public Long getServerId() {
return starredUser.getServerId();
}
}

View File

@@ -20,6 +20,7 @@ public interface StarboardPostManagementService {
Integer getPostCount(Long serverId);
Optional<StarboardPost> findByMessageId(Long messageId);
Optional<StarboardPost> findByStarboardPostId(Long postId);
Optional<StarboardPost> findByStarboardPostMessageId(Long postId);
void setStarboardPostIgnored(Long starboardPostId, Boolean newValue);
boolean isStarboardPost(Long starboardPostId);
void removePost(StarboardPost starboardPost);