Skip to content

Commit

Permalink
feat: 채팅방에서 프로필 조회 - #87
Browse files Browse the repository at this point in the history
Feature/#87 채팅방에서 프로필 조회
  • Loading branch information
aaahyunseo authored Aug 19, 2024
2 parents 2a23aae + f988cee commit c01118c
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
import com.example.swcompetitionproject.dto.request.user.CreateUserCategoryDto;
import com.example.swcompetitionproject.dto.request.user.ModifyUserInfoDto;
import com.example.swcompetitionproject.dto.request.user.UserInfoDto;
import com.example.swcompetitionproject.dto.request.user.UserProfileDto;
import com.example.swcompetitionproject.dto.response.ResponseDto;
import com.example.swcompetitionproject.dto.response.board.MyBoardListData;
import com.example.swcompetitionproject.dto.response.category.CategoryListData;
import com.example.swcompetitionproject.dto.response.user.UserProfileResponseDto;
import com.example.swcompetitionproject.dto.response.user.UserResponseDto;
import com.example.swcompetitionproject.entity.User;
import com.example.swcompetitionproject.service.MyPageService;
Expand Down Expand Up @@ -86,4 +88,13 @@ public ResponseEntity<ResponseDto<CategoryListData>> getUserCategoryList(@Authen
CategoryListData categoryList = myPageService.getUserCategoryList(user);
return new ResponseEntity<>(ResponseDto.res(HttpStatus.OK, "유저 카테고리 전체 조회 완료", categoryList), HttpStatus.OK);
}

/**
* 유저 프로필 조회
*/
@PostMapping("/profile")
public ResponseEntity<ResponseDto<UserProfileResponseDto>> getUserProfile(@AuthenticatedUser User user, @RequestBody UserProfileDto userProfileDto){
UserProfileResponseDto userProfileResponseDto=myPageService.getUserProfile(userProfileDto);
return new ResponseEntity<>(ResponseDto.res(HttpStatus.OK, "유저 프로필 조회 완료", userProfileResponseDto), HttpStatus.OK);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.example.swcompetitionproject.dto.request.user;

import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@AllArgsConstructor
@NoArgsConstructor
public class UserProfileDto {
@NotBlank(message = "조회 할 이름을 입력해 주세요.")
private String name;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.example.swcompetitionproject.dto.response.user;

import com.example.swcompetitionproject.dto.response.category.CategoryListData;

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class UserProfileResponseDto {
private String name;
private CategoryListData categoryListData;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
import com.example.swcompetitionproject.dto.request.user.CreateUserCategoryDto;
import com.example.swcompetitionproject.dto.request.user.ModifyUserInfoDto;
import com.example.swcompetitionproject.dto.request.user.UserInfoDto;
import com.example.swcompetitionproject.dto.request.user.UserProfileDto;
import com.example.swcompetitionproject.dto.response.board.MyBoardListData;
import com.example.swcompetitionproject.dto.response.category.CategoryListData;
import com.example.swcompetitionproject.dto.response.user.UserProfileResponseDto;
import com.example.swcompetitionproject.dto.response.user.UserResponseDto;
import com.example.swcompetitionproject.entity.*;
import com.example.swcompetitionproject.exception.ConflictException;
Expand Down Expand Up @@ -140,4 +142,22 @@ public GenderType genderValidate(String gender) {
}
throw new UnauthorizedException(ErrorCode.INVALID_GENDER);
}

/**
* 유저 프로필 조회
*/
public UserProfileResponseDto getUserProfile(UserProfileDto userProfileDto){
User profileUser=userRepository.findByName(userProfileDto.getName())
.orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND));

List<Category> categoriesLsit = categoryRepository.findAllByUserOrderByCreatedAtAsc(profileUser);
CategoryListData categories= CategoryListData.from(categoriesLsit);

UserProfileResponseDto userProfileResponseDto= UserProfileResponseDto.builder()
.categoryListData(categories)
.name(profileUser.getName())
.build();

return userProfileResponseDto;
}
}

0 comments on commit c01118c

Please sign in to comment.