diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java index 62e5d4dc1..bdd3e9e7d 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java @@ -221,8 +221,8 @@ public void rejectOutdatedOnboardings(Onboarding onboarding) { LocalDateTime now = LocalDateTime.now(); onboardingRepository .update("status = ?1 and updatedAt = ?2 ", REJECTED, now) - .where("productId = ?1 and institution.origin = ?2 and institution.originId = ?3 and status IN ('PENDING', 'TOBEVALIDATED')", - onboarding.getProductId(), onboarding.getInstitution().getOrigin(), onboarding.getInstitution().getOriginId()); + .where("productId = ?1 and institution.origin = ?2 and institution.originId = ?3 and _id != ?4 (status = PENDING or status = TOBEVALIDATED)", + onboarding.getProductId(), onboarding.getInstitution().getOrigin(), onboarding.getInstitution().getOriginId(), onboarding.getId()); } @Override diff --git a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest.java b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest.java index 0ab7514e7..d6bc00382 100644 --- a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest.java +++ b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest.java @@ -209,8 +209,8 @@ void rejectOutdatedOnboardings(){ onboarding.getInstitution().setOrigin(Origin.IPA); PanacheUpdate panacheUpdateMock = mock(PanacheUpdate.class); - when(panacheUpdateMock.where("productId = ?1 and institution.origin = ?2 and institution.originId = ?3 and status IN ('PENDING', 'TOBEVALIDATED')", - onboarding.getProductId(), onboarding.getInstitution().getOrigin(), onboarding.getInstitution().getOriginId())) + when(panacheUpdateMock.where("productId = ?1 and institution.origin = ?2 and institution.originId = ?3 and _id != ?4 (status = PENDING or status = TOBEVALIDATED)", + onboarding.getProductId(), onboarding.getInstitution().getOrigin(), onboarding.getInstitution().getOriginId(), onboarding.getId())) .thenReturn(Long.valueOf(1)); when(onboardingRepository.update("status = ?1 and updatedAt = ?2 ", any(), any())) .thenReturn(panacheUpdateMock); diff --git a/infra/mongo/mongo_db.tf b/infra/mongo/mongo_db.tf index ee7ec7e52..a410fdee5 100644 --- a/infra/mongo/mongo_db.tf +++ b/infra/mongo/mongo_db.tf @@ -20,10 +20,6 @@ module "mongodb_collection_onboardings" { { keys = ["createdAt"] unique = false - }, - { - keys = ["productId", "institution.origin", "institution.originId"] - unique = false } ]