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

Fix/#232 프로필에 동일한 활동을 중복해서 등록할 수 있는 버그 #250

Conversation

amaran-th
Copy link
Collaborator

#️⃣연관된 이슈

#232

📝작업 내용

프로필에 동일한 활동을 중복해서 등록할 수 없도록 유효성 검증 코드를 추가하였습니다.

예상 소요 시간 및 실제 소요 시간

30분/2시간

💬리뷰 요구사항(선택)

온보딩된 사용자가 한 번 더 온보딩 API를 호출하는 것을 막아야 해서 테스트를 위해 test-data.sql에서 insert해준 member의 name을 null로 수정했습니다.

amaran-th added 2 commits August 7, 2023 22:11
- 온보딩을 완료한 사용자가 온보딩을 할 경우 예외 처리
- 활동 id 중 이미 존재하는 활동의 id가 포함되어 있을 경우 예외 반환
- 활동 id 목록에 중복 id가 포함되어 있을 경우 예외 반환

#232
@amaran-th amaran-th added 버그 개발자가 의도하지 않은 상황 Backend 백엔드 관련 이슈 Low Priority 리뷰 우선순위가 낮은 PR labels Aug 7, 2023
@amaran-th amaran-th added this to the 4차 스프린트 1주차 milestone Aug 7, 2023
@amaran-th amaran-th self-assigned this Aug 7, 2023
- 사용자 정보가 변경됨에 따라 깨진 테스트 코드를 일부 수정하였음.

#232
Copy link
Collaborator

@java-saeng java-saeng left a comment

Choose a reason for hiding this comment

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

고생하셨습니다 !

코멘트 답글 달아주시면 재요청 주세요!


private boolean hasDuplicateId(final List<MemberActivity> memberActivities,
final List<Long> activityIds) {
return activityIds.stream().distinct().count() != memberActivities.size();
Copy link
Collaborator

Choose a reason for hiding this comment

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

activityIds가 중복으로 들어오는 경우도 있는건가요??
distinct 를 해주신 이유가 궁긍합니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

현재 UI 상으로는 활동을 중복으로 선택하는 것이 불가능하기에 정상적인 경우 중복 데이터가 요청으로 들어올 일은 없을겁니다!
하지만 악의적으로 중복된 활동 id를 포함한 데이터를 담아 API 호출을 하는 경우, 예외를 반환하는 것이 옳은 대처라고 생각해서 유효성 검증을 추가해주었습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

넵 그러면 distinct 보다는 Set 어떠신가요? Long 사용하는거라 자료구조를 사용하면 더 좋아보여요!!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

반영하였습니다!

Copy link
Collaborator

@hong-sile hong-sile left a comment

Choose a reason for hiding this comment

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

-몇몇 부분에 대한 답 남겼으니 확인해주세요

INVALID_ACTIVITY_IDS(
HttpStatus.BAD_REQUEST,
"요청한 activity id들 중에 유효하지 않은 값이 존재합니다"
),

ALREADY_EXIST_ACTIVITY(
Copy link
Collaborator

Choose a reason for hiding this comment

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

여기서 이미 존재한다고 하는 것 보다, 이미 등록된 활동입니다. 정도로 표현하는건 어떨까요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

반영했습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

그거 그렇게 하는거 아닌데...

Copy link
Collaborator

@hong-sile hong-sile left a comment

Choose a reason for hiding this comment

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

반영되었네요!! approve하겠습니다.

@amaran-th amaran-th merged commit 7817355 into backend-main Aug 8, 2023
1 check passed
@hyeonjerry hyeonjerry deleted the Fix/#232-프로필에_동일한_활동을_중복해서_등록할_수_있는_버그 branch August 17, 2023 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend 백엔드 관련 이슈 Low Priority 리뷰 우선순위가 낮은 PR 버그 개발자가 의도하지 않은 상황
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants