mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-27 23:09:05 +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()
|
||||
.map(EmbeddedMessage::getEmbeddingMessageId)
|
||||
.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>> buttonMessageFutures = messageService.retrieveMessages(buttonChannelMessages);
|
||||
CompletableFutureList<Message> reactionFutureList = new CompletableFutureList<>(reactionMessageFutures);
|
||||
@@ -193,7 +199,7 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
||||
if(throwable != null) {
|
||||
log.warn("Embedded message button clearing failed.", throwable);
|
||||
}
|
||||
self.deleteEmbeddedMessages(embeddedMessagesHandled);
|
||||
self.deleteEmbeddedMessages(embeddedMessagesHandled, componentPayloadsToDelete);
|
||||
})
|
||||
.exceptionally(throwable -> {
|
||||
log.error("Failed to clean up embedded messages.", throwable);
|
||||
@@ -231,8 +237,9 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteEmbeddedMessages(List<Long> embeddedMessagesToDelete) {
|
||||
public void deleteEmbeddedMessages(List<Long> embeddedMessagesToDelete, List<String> componentPayloadsToDelete) {
|
||||
messageEmbedPostManagementService.deleteEmbeddedMessagesViaId(embeddedMessagesToDelete);
|
||||
componentPayloadManagementService.deletePayloads(componentPayloadsToDelete);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
||||
@@ -10,4 +10,5 @@ import java.util.List;
|
||||
@Repository
|
||||
public interface ComponentPayloadRepository extends JpaRepository<ComponentPayload, String> {
|
||||
List<ComponentPayload> findByServerAndOrigin(AServer server, String buttonOrigin);
|
||||
void deleteByIdIn(List<String> componentIds);
|
||||
}
|
||||
|
||||
@@ -58,6 +58,11 @@ public class ComponentPayloadManagementServiceBean implements ComponentPayloadMa
|
||||
repository.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePayloads(List<String> ids) {
|
||||
repository.deleteByIdIn(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePayload(ComponentPayload payload) {
|
||||
repository.delete(payload);
|
||||
|
||||
@@ -14,5 +14,6 @@ public interface ComponentPayloadManagementService {
|
||||
Optional<ComponentPayload> findPayload(String id);
|
||||
List<ComponentPayload> findPayloadsOfOriginInServer(String buttonOrigin, AServer server);
|
||||
void deletePayload(String id);
|
||||
void deletePayloads(List<String> id);
|
||||
void deletePayload(ComponentPayload payload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user