added listener to listen for all reactions removed

This commit is contained in:
Sheldan
2020-05-17 00:40:16 +02:00
parent db8edb26f0
commit 59ff1f1f40
5 changed files with 41 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.utility.listener.starboard;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.listener.ReactedAddedListener;
import dev.sheldan.abstracto.core.listener.ReactedRemovedListener;
import dev.sheldan.abstracto.core.listener.ReactionClearedListener;
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
import dev.sheldan.abstracto.core.models.cache.CachedReaction;
import dev.sheldan.abstracto.core.models.database.AEmote;
@@ -30,7 +31,7 @@ import java.util.stream.Collectors;
@Component
@Slf4j
public class StarboardListener implements ReactedAddedListener, ReactedRemovedListener {
public class StarboardListener implements ReactedAddedListener, ReactedRemovedListener, ReactionClearedListener {
public static final String STAR_EMOTE = "star";
@@ -148,4 +149,14 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
public FeatureEnum getFeature() {
return UtilityFeature.STARBOARD;
}
@Override
public void executeReactionCleared(CachedMessage message) {
Optional<StarboardPost> starboardPostOptional = starboardPostManagementService.findByMessageId(message.getMessageId());
starboardPostOptional.ifPresent(starboardPost -> {
starboardPostReactorManagementService.removeReactors(starboardPost);
completelyRemoveStarboardPost(starboardPost);
});
}
}

View File

@@ -84,6 +84,7 @@ public class StarboardPostManagementServiceBean implements StarboardPostManageme
@Override
public void removePost(StarboardPost starboardPost) {
starboardPost.getReactions().clear();
repository.delete(starboardPost);
}