RED-5293: 500 for invalid tenant
This commit is contained in:
parent
a42c5efdc9
commit
cf32e1684f
@ -22,8 +22,8 @@ public class TenantRequest {
|
|||||||
@NotBlank
|
@NotBlank
|
||||||
private String jdbcUrl;
|
private String jdbcUrl;
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String user;
|
private String databaseUser;
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String password;
|
private String databasePassword;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.iqser.red.service.peristence.v1.server.service;
|
|||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
import java.time.OffsetDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.stream.Collectors;
|
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.autoconfigure.liquibase.LiquibaseProperties;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.core.io.ResourceLoader;
|
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.jdbc.datasource.SingleConnectionDataSource;
|
||||||
import org.springframework.stereotype.Service;
|
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.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||||
@ -63,20 +58,20 @@ public class TenantManagementService {
|
|||||||
|
|
||||||
if (tenantRepository.findById(tenantRequest.getTenantId()).isEmpty()) {
|
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);
|
DataSource tenantDataSource = new SingleConnectionDataSource(connection, false);
|
||||||
runLiquibase(tenantDataSource);
|
runLiquibase(tenantDataSource);
|
||||||
} catch (PSQLException e) {
|
} catch (PSQLException e) {
|
||||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage());
|
throw new BadRequestException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
TenantEntity tenantEntity = TenantEntity.builder()
|
TenantEntity tenantEntity = TenantEntity.builder()
|
||||||
.tenantId(tenantRequest.getTenantId())
|
.tenantId(tenantRequest.getTenantId())
|
||||||
.displayName(tenantRequest.getDisplayName())
|
.displayName(tenantRequest.getDisplayName())
|
||||||
.guid(UUID.randomUUID().toString())
|
.guid(UUID.randomUUID().toString())
|
||||||
.username(tenantRequest.getUser())
|
.username(tenantRequest.getDatabaseUser())
|
||||||
.jdbcUrl(tenantRequest.getJdbcUrl())
|
.jdbcUrl(tenantRequest.getJdbcUrl())
|
||||||
.password(encryptedPassword)
|
.password(encryptedPassword)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user