diff --git a/src/main/java/com/knecon/fforesight/tenantusermanagement/api/internal/InternalTenantsResource.java b/src/main/java/com/knecon/fforesight/tenantusermanagement/api/internal/InternalTenantsResource.java index a679525..16edf02 100644 --- a/src/main/java/com/knecon/fforesight/tenantusermanagement/api/internal/InternalTenantsResource.java +++ b/src/main/java/com/knecon/fforesight/tenantusermanagement/api/internal/InternalTenantsResource.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseStatus; import com.fasterxml.jackson.databind.JsonNode; +import com.knecon.fforesight.tenantcommons.TenantApplicationType; import com.knecon.fforesight.tenantcommons.model.TenantResponse; import com.knecon.fforesight.tenantcommons.model.UpdateDetailsRequest; import com.knecon.fforesight.tenantusermanagement.model.DeploymentKeyResponse; @@ -43,13 +44,13 @@ public interface InternalTenantsResource { @GetMapping(value = "/tenants", produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Gets all existing tenant", description = "None") + @Operation(summary = "Gets all existing tenants", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) List getTenants(); @GetMapping(value = "/tenants/{tenantId}", produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Gets all existing tenant", description = "None") + @Operation(summary = "Get the given tenant", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) TenantResponse getTenant(@PathVariable("tenantId") String tenantId); @@ -77,4 +78,10 @@ public interface InternalTenantsResource { @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) void syncTenant(@PathVariable("tenantId") String tenantId, @RequestBody JsonNode payload); + + @GetMapping(value = {"/tenants/{tenantId}/application-type"}, produces = MediaType.APPLICATION_JSON_VALUE) + @Operation(summary = "Gets the application type of the given tenant", description = "None") + @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) + TenantApplicationType getTenantApplicationType(@PathVariable("tenantId") String tenantId); + } diff --git a/src/main/java/com/knecon/fforesight/tenantusermanagement/controller/internal/InternalTenantsController.java b/src/main/java/com/knecon/fforesight/tenantusermanagement/controller/internal/InternalTenantsController.java index 245af8d..28251d4 100644 --- a/src/main/java/com/knecon/fforesight/tenantusermanagement/controller/internal/InternalTenantsController.java +++ b/src/main/java/com/knecon/fforesight/tenantusermanagement/controller/internal/InternalTenantsController.java @@ -9,13 +9,14 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ResponseStatusException; import com.fasterxml.jackson.databind.JsonNode; +import com.knecon.fforesight.tenantcommons.TenantApplicationType; import com.knecon.fforesight.tenantcommons.model.TenantResponse; import com.knecon.fforesight.tenantcommons.model.UpdateDetailsRequest; import com.knecon.fforesight.tenantusermanagement.api.internal.InternalResource; import com.knecon.fforesight.tenantusermanagement.api.internal.InternalTenantsResource; +import com.knecon.fforesight.tenantusermanagement.model.CreateTenantRequest; import com.knecon.fforesight.tenantusermanagement.model.DeploymentKeyResponse; import com.knecon.fforesight.tenantusermanagement.model.SimpleTenantResponse; -import com.knecon.fforesight.tenantusermanagement.model.CreateTenantRequest; import com.knecon.fforesight.tenantusermanagement.model.UpdateTenantRequest; import com.knecon.fforesight.tenantusermanagement.service.DeploymentKeyService; import com.knecon.fforesight.tenantusermanagement.service.TenantManagementService; @@ -86,4 +87,10 @@ public class InternalTenantsController implements InternalTenantsResource, Inter } + + public TenantApplicationType getTenantApplicationType(@PathVariable(TENANT_ID_PARAM) String tenantId) { + + return tenantManagementService.getTenantApplicationType(tenantId); + } + } diff --git a/src/main/java/com/knecon/fforesight/tenantusermanagement/service/TenantManagementService.java b/src/main/java/com/knecon/fforesight/tenantusermanagement/service/TenantManagementService.java index cc13785..cee4606 100644 --- a/src/main/java/com/knecon/fforesight/tenantusermanagement/service/TenantManagementService.java +++ b/src/main/java/com/knecon/fforesight/tenantusermanagement/service/TenantManagementService.java @@ -140,7 +140,7 @@ public class TenantManagementService implements TenantProvider { .tenantId(tenantRequest.getTenantId()) .displayName(tenantRequest.getDisplayName()) .guid(UUID.randomUUID().toString()) - .applicationType(tenantRequest.getApplicationType()) + .applicationType(tenantRequest.getApplicationType() != null ? tenantRequest.getApplicationType() : TenantApplicationType.RedactManager) .databaseConnection(DatabaseConnectionEntity.builder() .driver(databaseConnection.getDriver()) .host(databaseConnection.getHost()) @@ -821,7 +821,6 @@ public class TenantManagementService implements TenantProvider { } - @Override public TenantApplicationType getTenantApplicationType(String tenantId) { return tenantRepository.findApplicationTypeByTenantId(tenantId) @@ -868,6 +867,7 @@ public class TenantManagementService implements TenantProvider { .guid(entity.getGuid()) .authDetails(authDetails) .details(entity.getDetails()) + .applicationType(entity.getApplicationType()) .databaseConnection(DatabaseConnection.builder() .driver(entity.getDatabaseConnection().getDriver()) .host(entity.getDatabaseConnection().getHost())