fix: allow slug reuse after tenant soft-delete
existsBySlug found DELETED records, blocking slug reuse. Changed to existsBySlugAndStatusNot(slug, DELETED) so deleted tenant slugs can be reclaimed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,4 +13,5 @@ public interface TenantRepository extends JpaRepository<TenantEntity, UUID> {
|
||||
Optional<TenantEntity> findByLogtoOrgId(String logtoOrgId);
|
||||
List<TenantEntity> findByStatus(TenantStatus status);
|
||||
boolean existsBySlug(String slug);
|
||||
boolean existsBySlugAndStatusNot(String slug, TenantStatus status);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ public class TenantService {
|
||||
}
|
||||
|
||||
public TenantEntity create(CreateTenantRequest request, UUID actorId) {
|
||||
if (tenantRepository.existsBySlug(request.slug())) {
|
||||
if (tenantRepository.existsBySlugAndStatusNot(request.slug(), TenantStatus.DELETED)) {
|
||||
throw new IllegalArgumentException("Slug already taken");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user