RED-5293: 500 for invalid tenant

This commit is contained in:
Ali Oezyetimoglu 2022-11-03 11:54:34 +01:00
parent 92326e82f5
commit a42c5efdc9
2 changed files with 8 additions and 0 deletions

View File

@ -19,6 +19,7 @@ public class TenantRequest {
@NotBlank
private String displayName;
private String guid;
@NotBlank
private String jdbcUrl;
@NotBlank
private String user;

View File

@ -2,6 +2,7 @@ package com.iqser.red.service.peristence.v1.server.service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
@ -13,9 +14,13 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.core.io.ResourceLoader;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
import org.springframework.stereotype.Service;
import org.springframework.web.server.ResponseStatusException;
import com.iqser.red.commons.spring.ErrorMessage;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
@ -63,6 +68,8 @@ public class TenantManagementService {
try (Connection connection = DriverManager.getConnection(tenantRequest.getJdbcUrl(), tenantRequest.getUser(), tenantRequest.getPassword())) {
DataSource tenantDataSource = new SingleConnectionDataSource(connection, false);
runLiquibase(tenantDataSource);
} catch (PSQLException e) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage());
}
TenantEntity tenantEntity = TenantEntity.builder()