diff --git a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningService.java b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningService.java index 8c42bac9..b5b3bf81 100644 --- a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningService.java +++ b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningService.java @@ -141,7 +141,7 @@ public class PersonalNamespaceProvisioningService { boolean truncated = false; for (int page = 0; !truncated; page++) { - Page batch = userAccountRepository.findByStatus(UserStatus.ACTIVE, + Page batch = userAccountRepository.search(null, UserStatus.ACTIVE, PageRequest.of(page, BACKFILL_PAGE_SIZE, Sort.by("id"))); if (batch.isEmpty()) { break; diff --git a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/user/UserAccountRepository.java b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/user/UserAccountRepository.java index bcfbb3b3..c0f4f295 100644 --- a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/user/UserAccountRepository.java +++ b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/user/UserAccountRepository.java @@ -14,16 +14,5 @@ public interface UserAccountRepository { List findByIdIn(List ids); Optional findByEmailIgnoreCase(String email); Page search(String keyword, UserStatus status, Pageable pageable); - - /** - * Lists accounts in one status. - * - *

Separate from {@link #search} on purpose: that query compares the keyword with - * {@code lower(...)}, and passing a null keyword leaves PostgreSQL to infer the bind type as - * {@code bytea}, which fails with "function lower(bytea) does not exist". Callers that want - * every account in a status have no keyword to give, so they get a query without one. - */ - Page findByStatus(UserStatus status, Pageable pageable); - UserAccount save(UserAccount user); } diff --git a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningServiceTest.java b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningServiceTest.java index e3b8503a..559ff271 100644 --- a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningServiceTest.java +++ b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/namespace/PersonalNamespaceProvisioningServiceTest.java @@ -63,7 +63,7 @@ class PersonalNamespaceProvisioningServiceTest { } private void directoryContains(UserAccount... users) { - when(userAccountRepository.findByStatus(eq(UserStatus.ACTIVE), any())) + when(userAccountRepository.search(isNull(), eq(UserStatus.ACTIVE), any())) .thenReturn(new PageImpl<>(List.of(users))); }