RED-5293: 500 for invalid tenant

This commit is contained in:
Ali Oezyetimoglu 2022-11-04 13:25:39 +01:00
parent a42c5efdc9
commit cf32e1684f
2 changed files with 6 additions and 11 deletions

View File

@ -22,8 +22,8 @@ public class TenantRequest {
@NotBlank
private String jdbcUrl;
@NotBlank
private String user;
private String databaseUser;
@NotBlank
private String password;
private String databasePassword;
}

View File

@ -2,7 +2,6 @@ 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;
@ -14,13 +13,9 @@ 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,20 +58,20 @@ public class TenantManagementService {
if (tenantRepository.findById(tenantRequest.getTenantId()).isEmpty()) {
String encryptedPassword = encryptionService.encrypt(tenantRequest.getPassword());
String encryptedPassword = encryptionService.encrypt(tenantRequest.getDatabasePassword());
try (Connection connection = DriverManager.getConnection(tenantRequest.getJdbcUrl(), tenantRequest.getUser(), tenantRequest.getPassword())) {
try (Connection connection = DriverManager.getConnection(tenantRequest.getJdbcUrl(), tenantRequest.getDatabaseUser(), tenantRequest.getDatabasePassword())) {
DataSource tenantDataSource = new SingleConnectionDataSource(connection, false);
runLiquibase(tenantDataSource);
} catch (PSQLException e) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage());
throw new BadRequestException(e.getMessage(), e);
}
TenantEntity tenantEntity = TenantEntity.builder()
.tenantId(tenantRequest.getTenantId())
.displayName(tenantRequest.getDisplayName())
.guid(UUID.randomUUID().toString())
.username(tenantRequest.getUser())
.username(tenantRequest.getDatabaseUser())
.jdbcUrl(tenantRequest.getJdbcUrl())
.password(encryptedPassword)
.build();