mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-25 11:22:06 +00:00
[AB-xxx] fixing not removing component payloads for message embed cleanup job
This commit is contained in:
@@ -168,6 +168,12 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
.stream()
|
.stream()
|
||||||
.map(EmbeddedMessage::getEmbeddingMessageId)
|
.map(EmbeddedMessage::getEmbeddingMessageId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
List<String> componentPayloadsToDelete = embeddedMessages
|
||||||
|
.stream()
|
||||||
|
.map(EmbeddedMessage::getDeletionComponentId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
List<CompletableFuture<Message>> reactionMessageFutures = messageService.retrieveMessages(reactionChannelMessages);
|
List<CompletableFuture<Message>> reactionMessageFutures = messageService.retrieveMessages(reactionChannelMessages);
|
||||||
List<CompletableFuture<Message>> buttonMessageFutures = messageService.retrieveMessages(buttonChannelMessages);
|
List<CompletableFuture<Message>> buttonMessageFutures = messageService.retrieveMessages(buttonChannelMessages);
|
||||||
CompletableFutureList<Message> reactionFutureList = new CompletableFutureList<>(reactionMessageFutures);
|
CompletableFutureList<Message> reactionFutureList = new CompletableFutureList<>(reactionMessageFutures);
|
||||||
@@ -193,7 +199,7 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
if(throwable != null) {
|
if(throwable != null) {
|
||||||
log.warn("Embedded message button clearing failed.", throwable);
|
log.warn("Embedded message button clearing failed.", throwable);
|
||||||
}
|
}
|
||||||
self.deleteEmbeddedMessages(embeddedMessagesHandled);
|
self.deleteEmbeddedMessages(embeddedMessagesHandled, componentPayloadsToDelete);
|
||||||
})
|
})
|
||||||
.exceptionally(throwable -> {
|
.exceptionally(throwable -> {
|
||||||
log.error("Failed to clean up embedded messages.", throwable);
|
log.error("Failed to clean up embedded messages.", throwable);
|
||||||
@@ -231,8 +237,9 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void deleteEmbeddedMessages(List<Long> embeddedMessagesToDelete) {
|
public void deleteEmbeddedMessages(List<Long> embeddedMessagesToDelete, List<String> componentPayloadsToDelete) {
|
||||||
messageEmbedPostManagementService.deleteEmbeddedMessagesViaId(embeddedMessagesToDelete);
|
messageEmbedPostManagementService.deleteEmbeddedMessagesViaId(embeddedMessagesToDelete);
|
||||||
|
componentPayloadManagementService.deletePayloads(componentPayloadsToDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|||||||
@@ -10,4 +10,5 @@ import java.util.List;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface ComponentPayloadRepository extends JpaRepository<ComponentPayload, String> {
|
public interface ComponentPayloadRepository extends JpaRepository<ComponentPayload, String> {
|
||||||
List<ComponentPayload> findByServerAndOrigin(AServer server, String buttonOrigin);
|
List<ComponentPayload> findByServerAndOrigin(AServer server, String buttonOrigin);
|
||||||
|
void deleteByIdIn(List<String> componentIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,11 @@ public class ComponentPayloadManagementServiceBean implements ComponentPayloadMa
|
|||||||
repository.deleteById(id);
|
repository.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deletePayloads(List<String> ids) {
|
||||||
|
repository.deleteByIdIn(ids);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deletePayload(ComponentPayload payload) {
|
public void deletePayload(ComponentPayload payload) {
|
||||||
repository.delete(payload);
|
repository.delete(payload);
|
||||||
|
|||||||
@@ -14,5 +14,6 @@ public interface ComponentPayloadManagementService {
|
|||||||
Optional<ComponentPayload> findPayload(String id);
|
Optional<ComponentPayload> findPayload(String id);
|
||||||
List<ComponentPayload> findPayloadsOfOriginInServer(String buttonOrigin, AServer server);
|
List<ComponentPayload> findPayloadsOfOriginInServer(String buttonOrigin, AServer server);
|
||||||
void deletePayload(String id);
|
void deletePayload(String id);
|
||||||
|
void deletePayloads(List<String> id);
|
||||||
void deletePayload(ComponentPayload payload);
|
void deletePayload(ComponentPayload payload);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user