feat: auto-create default environment on tenant provisioning
This commit is contained in:
@@ -2,6 +2,7 @@ package net.siegeln.cameleer.saas.tenant;
|
|||||||
|
|
||||||
import net.siegeln.cameleer.saas.audit.AuditAction;
|
import net.siegeln.cameleer.saas.audit.AuditAction;
|
||||||
import net.siegeln.cameleer.saas.audit.AuditService;
|
import net.siegeln.cameleer.saas.audit.AuditService;
|
||||||
|
import net.siegeln.cameleer.saas.environment.EnvironmentService;
|
||||||
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
|
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
|
||||||
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
|
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -16,11 +17,13 @@ public class TenantService {
|
|||||||
private final TenantRepository tenantRepository;
|
private final TenantRepository tenantRepository;
|
||||||
private final AuditService auditService;
|
private final AuditService auditService;
|
||||||
private final LogtoManagementClient logtoClient;
|
private final LogtoManagementClient logtoClient;
|
||||||
|
private final EnvironmentService environmentService;
|
||||||
|
|
||||||
public TenantService(TenantRepository tenantRepository, AuditService auditService, LogtoManagementClient logtoClient) {
|
public TenantService(TenantRepository tenantRepository, AuditService auditService, LogtoManagementClient logtoClient, EnvironmentService environmentService) {
|
||||||
this.tenantRepository = tenantRepository;
|
this.tenantRepository = tenantRepository;
|
||||||
this.auditService = auditService;
|
this.auditService = auditService;
|
||||||
this.logtoClient = logtoClient;
|
this.logtoClient = logtoClient;
|
||||||
|
this.environmentService = environmentService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TenantEntity create(CreateTenantRequest request, UUID actorId) {
|
public TenantEntity create(CreateTenantRequest request, UUID actorId) {
|
||||||
@@ -44,6 +47,8 @@ public class TenantService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
environmentService.createDefaultForTenant(saved.getId());
|
||||||
|
|
||||||
auditService.log(actorId, null, saved.getId(),
|
auditService.log(actorId, null, saved.getId(),
|
||||||
AuditAction.TENANT_CREATE, saved.getSlug(),
|
AuditAction.TENANT_CREATE, saved.getSlug(),
|
||||||
null, null, "SUCCESS", null);
|
null, null, "SUCCESS", null);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package net.siegeln.cameleer.saas.tenant;
|
|||||||
|
|
||||||
import net.siegeln.cameleer.saas.audit.AuditAction;
|
import net.siegeln.cameleer.saas.audit.AuditAction;
|
||||||
import net.siegeln.cameleer.saas.audit.AuditService;
|
import net.siegeln.cameleer.saas.audit.AuditService;
|
||||||
|
import net.siegeln.cameleer.saas.environment.EnvironmentService;
|
||||||
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
|
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
|
||||||
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
|
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
@@ -32,11 +33,14 @@ class TenantServiceTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private LogtoManagementClient logtoClient;
|
private LogtoManagementClient logtoClient;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private EnvironmentService environmentService;
|
||||||
|
|
||||||
private TenantService tenantService;
|
private TenantService tenantService;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
tenantService = new TenantService(tenantRepository, auditService, logtoClient);
|
tenantService = new TenantService(tenantRepository, auditService, logtoClient, environmentService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user