Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import hanium.modic.backend.domain.user.entity.UserUpdateToken;
import hanium.modic.backend.domain.user.repository.UserEntityRepository;
import hanium.modic.backend.domain.user.repository.UserUpdateTokenRepository;
import hanium.modic.backend.web.user.dto.response.SearchUsersResponse;
import hanium.modic.backend.web.user.dto.response.UserCreateResponse;
import hanium.modic.backend.web.user.dto.response.UserInfoResponse;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -94,7 +93,7 @@ public UserInfoResponse getUserInfo(UserEntity user) {

// 이름으로 회원 목록 조회
@Transactional(readOnly = true)
public Page<SearchUsersResponse> searchUsersByName(final String keyword, final int page, final int size) {
public Page<UserInfoResponse> searchUsersByName(final String keyword, final int page, final int size) {
Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.ASC, "name"));

// 1. 이름으로 유저 목록 조회
Expand All @@ -107,10 +106,9 @@ public Page<SearchUsersResponse> searchUsersByName(final String keyword, final i

// 3. 각 유저의 이미지 URL 조회 및 응답 변환
return users.map(user -> {
final boolean hasUserImage = imageGetUrlMap.containsKey(user.getId());
final String resolvedImageUrl = imageGetUrlMap.getOrDefault(user.getId(), null);
final String userImageUrl = imageGetUrlMap.getOrDefault(user.getId(), null);

return SearchUsersResponse.of(user, hasUserImage, resolvedImageUrl);
return UserInfoResponse.of(user, userImageUrl);
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import hanium.modic.backend.web.user.dto.request.UserCreateRequest;
import hanium.modic.backend.web.user.dto.response.GetCoinBalanceResponse;
import hanium.modic.backend.web.user.dto.response.GetUserUpdateTokenResponse;
import hanium.modic.backend.web.user.dto.response.SearchUsersResponse;
import hanium.modic.backend.web.user.dto.response.UserCreateResponse;
import hanium.modic.backend.web.user.dto.response.UserInfoResponse;
import io.swagger.v3.oas.annotations.Operation;
Expand Down Expand Up @@ -109,12 +108,12 @@ public ResponseEntity<AppResponse<UserInfoResponse>> getUserInfo(@CurrentUser Us
description = "검색어를 기반으로 사용자 목록을 페이지 단위로 조회합니다. page는 0부터 시작합니다."
)
@ApiErrorMapping({USER_INPUT_EXCEPTION})
public ResponseEntity<AppResponse<PageResponse<SearchUsersResponse>>> searchUsersByName(
public ResponseEntity<AppResponse<PageResponse<UserInfoResponse>>> searchUsersByName(
@RequestParam @NotBlank(message = "검색어는 필수입니다.") String keyword,
@RequestParam(required = false, defaultValue = "0") @Min(value = 0, message = "페이지 번호는 0 이상이어야 합니다") Integer page,
@RequestParam(required = false, defaultValue = "10") @Min(value = 10, message = "페이지 크기는 10 이상이어야 합니다.") @Max(value = 20, message = "페이지 크기는 20 이하여야 합니다.") Integer size
) {
Page<SearchUsersResponse> result = userService.searchUsersByName(
Page<UserInfoResponse> result = userService.searchUsersByName(
keyword.strip(), page, size
);
return ResponseEntity.ok(AppResponse.ok(PageResponse.of(result)));
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import hanium.modic.backend.domain.user.repository.UserEntityRepository;
import hanium.modic.backend.domain.user.repository.UserImageEntityRepository;
import hanium.modic.backend.domain.user.repository.UserUpdateTokenRepository;
import hanium.modic.backend.web.user.dto.response.SearchUsersResponse;
import hanium.modic.backend.web.user.dto.response.UserCreateResponse;
import hanium.modic.backend.web.user.dto.response.UserInfoResponse;

Expand Down Expand Up @@ -153,7 +152,7 @@ void searchUsersByName_success() {
when(userEntityRepository.findByNameContainingIgnoreCase(eq("user"), any(Pageable.class))).thenReturn(users);
when(userImageService.createImageGetUrlMap(List.of(1L, 2L))).thenReturn(Map.of());

Page<SearchUsersResponse> result = userService.searchUsersByName(keyword, page, size);
Page<UserInfoResponse> result = userService.searchUsersByName(keyword, page, size);

assertThat(result.getContent()).hasSize(2);
assertThat(result.getContent().get(0).userImageUrl()).isEqualTo(null);
Expand Down Expand Up @@ -182,7 +181,7 @@ void searchUsersByName_emptyResult() {
when(userEntityRepository.findByNameContainingIgnoreCase(eq("absent"), any(Pageable.class)))
.thenReturn(emptyPage);

Page<SearchUsersResponse> result = userService.searchUsersByName(keyword, page, size);
Page<UserInfoResponse> result = userService.searchUsersByName(keyword, page, size);

assertThat(result.getContent()).isEmpty();
assertThat(result.getTotalElements()).isZero();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.MediaType;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
Expand All @@ -38,7 +36,6 @@
import hanium.modic.backend.web.user.dto.request.UserCreateRequest;
import hanium.modic.backend.web.user.dto.request.GetUserUpdateTokenRequest;
import hanium.modic.backend.web.user.dto.request.UpdateUserEmailRequest;
import hanium.modic.backend.web.user.dto.response.SearchUsersResponse;
import hanium.modic.backend.web.user.dto.response.UserInfoResponse;

@WebMvcTest(controllers = UserController.class)
Expand Down