diff --git a/src/main/java/coop/libriciel/ipcore/services/redis/RedisMessageListenerService.java b/src/main/java/coop/libriciel/ipcore/services/redis/RedisMessageListenerService.java index e935de6ae38739c07c81d7a1ae9109489ada6d33..6e108ed781ba76b2baad6e47797f03014091816c 100644 --- a/src/main/java/coop/libriciel/ipcore/services/redis/RedisMessageListenerService.java +++ b/src/main/java/coop/libriciel/ipcore/services/redis/RedisMessageListenerService.java @@ -130,8 +130,16 @@ public class RedisMessageListenerService implements MessageListener { log.debug("Message received folder:{}", folder); + String subtypeId; + if (folder.getSubtype() != null) { + subtypeId = folder.getSubtype().getId(); + } else { + Folder folderUpdated = workflowService.getFolder(folder.getId(), task.getMetadata().get("tenantId"), false); + subtypeId = folderUpdated.getSubtype().getId(); + } + Subtype subtype = subtypeRepository - .findById(folder.getSubtype().getId()) + .findById(subtypeId) .orElseThrow(() -> new LocalizedStatusException(NOT_FOUND, "message.unknown_subtype_id")); Tenant tenant = subtype.getTenant();