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

[내 프로필 수정] 내 프로필을 수정할 수 있음(#38) #67

Merged
merged 56 commits into from
May 8, 2024

Conversation

Minjae-An
Copy link
Contributor

@Minjae-An Minjae-An commented Apr 17, 2024

작업 대상

  • 내 프로필 수정 비즈니스 로직
  • 내 프로필 수정 API
  • 이메일 연관 로직

📄 작업 내용

  • 내 프로필 수정 비즈니스 로직 및 API 구성
  • 나이, 키 관련 검증 로직 추가 및 변경, 연관 로직 수정
  • 사용자 엔티티의 불필요한 이메일 필드 삭제, 연관 로직 삭제

🙋🏻 주의 사항

  • 나이의 경우 20~40세 범위 내인 지 검증, 선호하는 나이 하한/상한에도 적용
  • 키의 경우 130~220cm 범위 내인 지 검증, 선호하는 키 하한/상한에도 적용
  • 선호하는 키, 나이의 경우 범위 형태로 하한/상한을 저장
  • 사용자가 하한/상한 중 하나의 조건만 설정할 수 있음, 이에 따라 nullable하게 요청 가능하도록 구성
  • 하한/상한 값이 존재할 경우 0 이상이어야 하도록 검증
  • 하한/상한 값이 둘 다 존재할 경우 하한 <= 상한을 충족하는 지 검증

📎 관련 이슈

  • 조회 로직에서 null로 저장된 하한/상한 값을 고려할 예정

레퍼런스

병합 과정에서 잘못 설정된 enum 통합
기본 타입으로 설정할 경우 명세시 @NotNull 제약 조건이 적용되지
않고 null과 매핑될 경우 예외 가능. 이에 기존 기본 타입 필드들
일괄적으로 wrapper 타입으로 변경
- 성인이 아닌 경우
- 하한 값이 상한 값보다 큰 경우
- 요구사항 변경에 따른 필드 추가
- 필드별 검증 조건 추가
- 명세 수정
내 프로필 수정은 다음 과정을 거친다.
1. 사용자 및 사용자 선호 조건 조회(존재 여부 검증)
2. 갱신된 생년월일로 성인 여부 검증 및 새로운 나이 계산
3. 갱신된 음역대, 선호하는 음역대 조회(존재 여부 검증)
4. 갱신된 동물상, 선호하는 동물상 조회(존재 여부 검증)
5. 갱신된 활동 지역, 선호하는 지역 조회(존재 여부 검증)
6. 선호하는 나이 하한 <= 상한 검증
7. 선호하는 키 하한 <= 상한 검증
8. 사용자 프로필, 사용자 선호 조건 업데이트
- 기존에는 정상 처리시 별도의 응답 데이터가 없을 경우 202 코드 사용
- 하지만 202 코드는 작업이 아직 완료되지 않았다는 의미를 내포
- 응답 데이터를 제공하지 않는 경우도 일괄적으로 200으로 처리
- 하한, 상한 값을 null로 요청 가능
- 하한, 상한 값이 존재할 경우 0 이상이어야 함
- 하한, 상한 값이 null로 요청될 수 있음
- 하한, 상한 값이 둘 다 존재할 경우에 하한 > 상한 여부를 검증토록 수정
- 음역대, 동물상, 지역을 조회하지 못하는 경우는 회원 관련 플로우에서 발생
- 회원가입 관련 예외만 모아놓는 JoinException이 아닌 UserException에 소속되도록 위치 변경
날짜를 저장한다는 의미를 잘 나타낼 수 있도록 변경
@Minjae-An Minjae-An added the ✨ feat 새로운 기능 추가 label Apr 17, 2024
@Minjae-An Minjae-An requested a review from acceptor-gyu April 17, 2024 09:52
@Minjae-An Minjae-An self-assigned this Apr 17, 2024
@Minjae-An Minjae-An linked an issue Apr 17, 2024 that may be closed by this pull request
@Minjae-An Minjae-An reopened this Apr 28, 2024
Copy link
Contributor

@acceptor-gyu acceptor-gyu left a comment

Choose a reason for hiding this comment

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

request에서 필수 입력값이라면 primitive type을 사용하신다고 말씀하시지 않으셨나요? 제가 잘못 이해한건가요? 해당 comment에 대한 답변 남겨주시면 리뷰 진행하겠습니다.

@Minjae-An Minjae-An requested a review from acceptor-gyu April 29, 2024 04:06
@Minjae-An Minjae-An reopened this May 1, 2024
@Minjae-An Minjae-An closed this May 1, 2024
Minjae-An added 6 commits May 1, 2024 17:37
- 선호하는 나이 하한/상한은 20~40 내 범위 값만 가능
- 키, 선호하는 키 하한/상한은 130~220 내 범위 값만 가능
- 기존에는 사용자 나이가 성인(만 18세이상)인 지만 검증
- 서비스 이용 가능 사용자 나이 범위가 정해짐에 따라 로직 재구성
@Minjae-An Minjae-An reopened this May 1, 2024
@Minjae-An Minjae-An requested a review from acceptor-gyu May 2, 2024 04:31
@Minjae-An Minjae-An merged commit 68154a2 into dev May 8, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feat 새로운 기능 추가
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BE] 내 프로필 수정 기능 구현
2 participants