Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat : 호스트 유저 관리 기능 구현 #200

Merged
merged 8 commits into from
Jan 26, 2023
Merged

Conversation

gengminy
Copy link
Member

@gengminy gengminy commented Jan 26, 2023

개요

작업사항

  • 호스트 유저인지 확인하는 Validate 메소드 추가
  • 유저 초대 및 초대 수락 기능 분리
  • HostUser 에 Active 필드 추가하여 수락시에 Active = true 가 되어 기능 사용 가능
  • 이메일로 유저 검색 기능 추가
  • 유저 검색용 기능 정보 처리를 위한 UserProfileVo 추가 -> 나중에 단순 프로필 미리보기 용으로 써도 좋을듯

image

  • 유저 이메일 검색을 쿼리 파라미터로 받고, 검증하기 위해 ConstraintViolationExceptionHandler 추가 구현
  • @Valid 와 던지는 예외가 아예 달라서 추가했습니다

image

  • 컨트롤러 상단에 @Validated 추가해주면 Constraints 관련 어노테이션 RequestParam 에도 사용 가능합니다

변경로직

  • 위와 같음

@gengminy gengminy added For: API [이슈 대상] 외부 API Type: Feature [이슈 목적] 새로운 기능 추가 Type: Refactor [이슈 목적] 프로덕션 코드 리팩토링 labels Jan 26, 2023
@gengminy gengminy requested a review from ImNM as a code owner January 26, 2023 07:24
@gengminy gengminy self-assigned this Jan 26, 2023
Copy link
Member

@ImNM ImNM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

굿~

private final UserUtils userUtils;
private final HostMapper hostMapper;

public List<UserProfileVo> execute(Long hostId, @Valid @Email String email) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요기 valid들어간 이유 알수 있을까염?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요기 valid들어간 이유 알수 있을까염?

까먹고 안지웠네요 지우고 커밋할게용

Comment on lines 42 to 45
public void activate() {
this.active = true;
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이미 activate 된 상태인경우
밸리데이션을 추가하는게 좋을까요...?
승인 버튼을 여러번 클릭하면 이미 승인된 호스트입니다 이렇게 출력하거나..

Copy link
Member Author

@gengminy gengminy Jan 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이미 activate 된 상태인경우 밸리데이션을 추가하는게 좋을까요...? 승인 버튼을 여러번 클릭하면 이미 승인된 호스트입니다 이렇게 출력하거나..

검증이 서비스 단에서 이뤄지고 있긴 한데 호스트 도메인 내부에서 이뤄지는 게 맞는 거 같네요

Comment on lines 46 to 48
public List<User> queryUserByEmailContains(String email) {
return userRepository.findByProfileEmailContains(email);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

contains 보다는
완벽 일치해서 유저 가져오는게 어떨까유?

자동완성 없이
그냥 water0641@naver.com 이라고 똑바로 쳐야
그때 검색해서 있으면 초대하고
없으면 초대 불가 하는 식으로요!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

contains 보다는 완벽 일치해서 유저 가져오는게 어떨까유?

자동완성 없이 그냥 water0641@naver.com 이라고 똑바로 쳐야 그때 검색해서 있으면 초대하고 없으면 초대 불가 하는 식으로요!

contains1@naver.com 이런 식으로 해도 검증 통과하더라구요 찬진님 방식이 좋은 거 같습니다

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 228 Code Smells

12.3% 12.3% Coverage
1.2% 1.2% Duplication

Copy link
Member

@sanbonai06 sanbonai06 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ⭐

private String email;

@Schema(defaultValue = "HOST", description = "호스트 유저 역할")
@Enum(message = "HOST 또는 SUPER_HOST 만 허용됩니다")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@enum 안붙여도 원래 검증되는 부분으로 알고있는데 메시지 노출때문에 넣으신건가요?!?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@enum 안붙여도 원래 검증되는 부분으로 알고있는데 메시지 노출때문에 넣으신건가요?!?

넹 맞습니다

Copy link
Member

@cofls6581 cofls6581 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니당~~

@gengminy gengminy merged commit 8e4a909 into dev Jan 26, 2023
@gengminy gengminy deleted the feature/198-host-member branch January 26, 2023 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For: API [이슈 대상] 외부 API Type: Feature [이슈 목적] 새로운 기능 추가 Type: Refactor [이슈 목적] 프로덕션 코드 리팩토링
Projects
None yet
Development

Successfully merging this pull request may close these issues.

🚀 [feature] 호스트 멤버 관리 기능
4 participants