chore: Remove unused UserRepository.findAllByEmails method (#30645)
This repository query method is unused in both repos, except for a test which is only asserting the behaviour of this method istelf.
This commit is contained in:
parent
1842d1495c
commit
9cd2e74038
|
|
@ -3,31 +3,15 @@ package com.appsmith.server.repositories.ce;
|
|||
import com.appsmith.server.acl.AclPermission;
|
||||
import com.appsmith.server.domains.User;
|
||||
import com.appsmith.server.repositories.AppsmithRepository;
|
||||
import com.querydsl.core.types.dsl.StringPath;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
public interface CustomUserRepositoryCE extends AppsmithRepository<User> {
|
||||
|
||||
Mono<User> findByEmail(String email, AclPermission aclPermission);
|
||||
|
||||
Flux<User> findAllByEmails(Set<String> emails);
|
||||
|
||||
Mono<User> findByCaseInsensitiveEmail(String email);
|
||||
|
||||
Mono<User> findByEmailAndTenantId(String email, String tenantId);
|
||||
|
||||
Mono<Boolean> isUsersEmpty();
|
||||
|
||||
Flux<User> getAllByEmails(
|
||||
Set<String> emails,
|
||||
Optional<AclPermission> aclPermission,
|
||||
int limit,
|
||||
int skip,
|
||||
StringPath sortKey,
|
||||
Sort.Direction sortDirection);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,19 +6,15 @@ import com.appsmith.server.domains.QUser;
|
|||
import com.appsmith.server.domains.User;
|
||||
import com.appsmith.server.repositories.BaseAppsmithRepositoryImpl;
|
||||
import com.appsmith.server.repositories.CacheableRepositoryHelper;
|
||||
import com.querydsl.core.types.dsl.StringPath;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
|
||||
import org.springframework.data.mongodb.core.convert.MongoConverter;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
|
@ -41,14 +37,6 @@ public class CustomUserRepositoryCEImpl extends BaseAppsmithRepositoryImpl<User>
|
|||
return queryOne(List.of(emailCriteria), aclPermission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<User> findAllByEmails(Set<String> emails) {
|
||||
Criteria emailCriteria = where(fieldName(QUser.user.email)).in(emails);
|
||||
Query query = new Query();
|
||||
query.addCriteria(emailCriteria);
|
||||
return mongoOperations.find(query, User.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<User> findByCaseInsensitiveEmail(String email) {
|
||||
String findEmailRegex = String.format("^%s$", Pattern.quote(email));
|
||||
|
|
@ -90,19 +78,6 @@ public class CustomUserRepositoryCEImpl extends BaseAppsmithRepositoryImpl<User>
|
|||
.map(count -> count == 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<User> getAllByEmails(
|
||||
Set<String> emails,
|
||||
Optional<AclPermission> aclPermission,
|
||||
int limit,
|
||||
int skip,
|
||||
StringPath sortKey,
|
||||
Sort.Direction sortDirection) {
|
||||
Sort sortBy = Sort.by(sortDirection, fieldName(sortKey));
|
||||
Criteria emailCriteria = where(fieldName(QUser.user.email)).in(emails);
|
||||
return queryAll(List.of(emailCriteria), Optional.empty(), aclPermission, sortBy, limit, skip);
|
||||
}
|
||||
|
||||
protected Set<String> getSystemGeneratedUserEmails() {
|
||||
Set<String> systemGeneratedEmails = new HashSet<>();
|
||||
systemGeneratedEmails.add(FieldName.ANONYMOUS_USER);
|
||||
|
|
|
|||
|
|
@ -3,14 +3,19 @@ package com.appsmith.server.repositories.ce;
|
|||
import com.appsmith.server.domains.User;
|
||||
import com.appsmith.server.repositories.BaseRepository;
|
||||
import com.appsmith.server.repositories.CustomUserRepository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public interface UserRepositoryCE extends BaseRepository<User, String>, CustomUserRepository {
|
||||
|
||||
Mono<User> findByEmail(String email);
|
||||
|
||||
Mono<User> findByCaseInsensitiveEmail(String email);
|
||||
|
||||
Flux<User> findAllByEmailIn(Set<String> emails);
|
||||
|
||||
/**
|
||||
* This method returns the count of all users that are not deleted and are not system generated.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -751,7 +751,7 @@ public class UserServiceCEImpl extends BaseService<UserRepository, User, String>
|
|||
|
||||
@Override
|
||||
public Flux<User> getAllByEmails(Set<String> emails, AclPermission permission) {
|
||||
return repository.findAllByEmails(emails);
|
||||
return repository.findAllByEmailIn(emails);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.appsmith.server.repositories;
|
||||
|
||||
import com.appsmith.server.domains.QUser;
|
||||
import com.appsmith.server.domains.User;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
|
|
@ -8,21 +7,16 @@ import org.junit.jupiter.api.BeforeEach;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static com.appsmith.server.repositories.ce.BaseAppsmithRepositoryCEImpl.fieldName;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@SpringBootTest
|
||||
|
|
@ -130,56 +124,16 @@ public class UserRepositoryTest {
|
|||
.limit(countOfUsersToBeCreated)
|
||||
.mapToObj(index -> uuid + "_" + index + "@gmail.com")
|
||||
.toList();
|
||||
List<String> sortedEmails = new ArrayList<>(unsortedEmails);
|
||||
Collections.sort(sortedEmails);
|
||||
List<User> createdUsers = unsortedEmails.stream()
|
||||
.map(email -> {
|
||||
User user = new User();
|
||||
user.setEmail(email);
|
||||
return userRepository.save(user).block();
|
||||
})
|
||||
.toList();
|
||||
unsortedEmails.forEach(email -> {
|
||||
User user = new User();
|
||||
user.setEmail(email);
|
||||
userRepository.save(user).block();
|
||||
});
|
||||
|
||||
List<User> allCreatedUsers = userRepository
|
||||
.findAllByEmails(new HashSet<>(unsortedEmails))
|
||||
.findAllByEmailIn(new HashSet<>(unsortedEmails))
|
||||
.collectList()
|
||||
.block();
|
||||
assertEquals(countOfUsersToBeCreated, allCreatedUsers.size());
|
||||
|
||||
Sort sortByEmailAsc = Sort.by(Sort.Direction.ASC, fieldName(QUser.user.email));
|
||||
final int skip1 = 0;
|
||||
int limit1 = 10;
|
||||
List<User> usersFrom0To10 = userRepository
|
||||
.getAllByEmails(
|
||||
new HashSet<>(unsortedEmails),
|
||||
Optional.empty(),
|
||||
limit1,
|
||||
skip1,
|
||||
QUser.user.email,
|
||||
Sort.Direction.ASC)
|
||||
.collectList()
|
||||
.block();
|
||||
assertEquals(usersFrom0To10.size(), limit1);
|
||||
List<String> subList0To10 = sortedEmails.subList(skip1, skip1 + limit1);
|
||||
IntStream.range(skip1, skip1 + limit1).forEach(index -> {
|
||||
usersFrom0To10.get(index - skip1).getEmail().equals(subList0To10.get(index - skip1));
|
||||
});
|
||||
|
||||
final int skip2 = 9, limit2 = 10;
|
||||
List<User> usersFrom9To19 = userRepository
|
||||
.getAllByEmails(
|
||||
new HashSet<>(unsortedEmails),
|
||||
Optional.empty(),
|
||||
limit2,
|
||||
skip2,
|
||||
QUser.user.email,
|
||||
Sort.Direction.ASC)
|
||||
.collectList()
|
||||
.block();
|
||||
assertEquals(usersFrom9To19.size(), limit2);
|
||||
List<String> subList9To19 = sortedEmails.subList(skip2, skip2 + limit2);
|
||||
IntStream.range(skip2, skip2 + limit2).forEach(index -> {
|
||||
usersFrom9To19.get(index - skip2).getEmail().equals(subList9To19.get(index - skip2));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user