diff --git a/kustomize/base/flais.yaml b/kustomize/base/flais.yaml index 9cd3bb4..2ffb180 100644 --- a/kustomize/base/flais.yaml +++ b/kustomize/base/flais.yaml @@ -42,7 +42,7 @@ spec: - name: fint.flyt.resource-server.security.api.internal.enabled value: "true" - name: fint.flyt.resource-server.user-permissions-consumer.enabled - value: "false" + value: "true" resources: limits: memory: "2048Mi" diff --git a/src/main/java/no/fintlabs/repositories/EventRepository.java b/src/main/java/no/fintlabs/repositories/EventRepository.java index 9ff589d..7e382eb 100644 --- a/src/main/java/no/fintlabs/repositories/EventRepository.java +++ b/src/main/java/no/fintlabs/repositories/EventRepository.java @@ -44,12 +44,18 @@ Page findAllByInstanceFlowHeadersSourceApplicationIdAndInstanceFlowHeader ) Page findLatestEventPerSourceApplicationInstanceId(Pageable pageable); - @Query(value = "SELECT e FROM Event e " + - "WHERE e.instanceFlowHeaders.sourceApplicationId IN :sourceApplicationIds " + - "AND e.timestamp = (SELECT MAX(e2.timestamp) " + - "FROM Event e2 " + - "WHERE e2.instanceFlowHeaders.sourceApplicationInstanceId = e.instanceFlowHeaders.sourceApplicationInstanceId " + - "AND e2.instanceFlowHeaders.sourceApplicationId IN :sourceApplicationIds) ") + @Query(value = "SELECT e.* " + + "FROM event AS e " + + "INNER JOIN ( " + + " SELECT source_application_instance_id, MAX(timestamp) AS timestampMax " + + " FROM event " + + " WHERE source_application_id IN :sourceApplicationIds " + + " GROUP BY source_application_instance_id " + + ") AS eMax " + + "ON e.source_application_instance_id = eMax.source_application_instance_id " + + "AND e.timestamp = eMax.timestampMax " + + "WHERE e.source_application_id IN :sourceApplicationIds", + nativeQuery = true) Page findLatestEventPerSourceApplicationInstanceIdAndSourceApplicationIdIn( @Param("sourceApplicationIds") List sourceApplicationIds, Pageable pageable);