Skip to content

Commit

Permalink
Merge branch 'PIN-4084' into PIN-4257
Browse files Browse the repository at this point in the history
  • Loading branch information
nttdata-rtorsoli authored Nov 24, 2023
2 parents 5d0f9be + 5d4a125 commit 7bab2bc
Showing 1 changed file with 5 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import it.pagopa.interop.tenantprocess.api.adapters.TenantManagementAdapters._
import it.pagopa.interop.tenantprocess.error.ResponseHandlers._
import it.pagopa.interop.tenantprocess.error.TenantProcessErrors._
import it.pagopa.interop.tenantprocess.model._
import it.pagopa.interop.tenantprocess.model.{CompactTenant => TenantUUID}
import it.pagopa.interop.tenantprocess.service._
import it.pagopa.interop.tenantmanagement.model.tenant.PersistentExternalId

Expand Down Expand Up @@ -207,7 +208,7 @@ final case class TenantApiServiceImpl(

override def selfcareUpsertTenant(seed: SelfcareTenantSeed)(implicit
contexts: Seq[(String, String)],
toEntityMarshallerTenant: ToEntityMarshaller[CompactTenant],
toEntityMarshallerTenant: ToEntityMarshaller[TenantUUID],
toEntityMarshallerProblem: ToEntityMarshaller[Problem]
): Route = authorize(ADMIN_ROLE, API_ROLE, SECURITY_ROLE, INTERNAL_ROLE) {
val operationLabel = s"Creating tenant with external id ${seed.externalId} via SelfCare request"
Expand All @@ -229,18 +230,18 @@ final case class TenantApiServiceImpl(
tenant.selfcareId.fold(updateTenant())(verifyConflict)
}

val result: Future[CompactTenant] = for {
val result: Future[TenantUUID] = for {
existingTenant <- findTenant(seed.externalId)
_ <- existingTenant.traverse(t => assertResourceAllowed(t.id))
tenant <- existingTenant
.fold(createTenant(seed, Nil, now, getTenantKind(Nil, seed.externalId).fromAPI))(Future.successful)
tenantKind <- getTenantKindLoadingCertifiedAttributes(tenant.attributes, tenant.externalId)
_ <- updateSelfcareId(tenant, tenantKind)
_ <- tenantManagementService.addTenantMail(tenant.id, seed.digitalAddress.toDependency)
} yield CompactTenant(tenant.id, tenant.externalId)
} yield TenantUUID(tenant.id, tenant.externalId.toApi)

onComplete(result) {
selfcareUpsertTenantResponse[CompactTenant](operationLabel)(selfcareUpsertTenant200)
selfcareUpsertTenantResponse[TenantUUID](operationLabel)(selfcareUpsertTenant200)
}
}

Expand Down

0 comments on commit 7bab2bc

Please sign in to comment.