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

restaurants api 추가 #15

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from
Open

restaurants api 추가 #15

wants to merge 14 commits into from

Conversation

yesjuhee
Copy link
Collaborator

Related to #{이슈 번호 기입}

체크 리스트

  • 적절한 제목으로 수정했나요?
  • 상단에 이슈 번호를 기입했나요?
  • Target Branch를 올바르게 설정했나요?
  • Label을 알맞게 설정했나요?

작업 내역

  • 맛집 API

    • getRestaurants API : 모든 맛집 불러오기, 페이지네이션 적용
    • getRestaurant API : 하나의 맛집 불어오기
    • getRestaurantsOfGroup API : 그룹의 모든 맛집 불러오기, 페이지네이션 적용
    • createRestaurant API : 맛집 생성
    • patchRestaurant API : 맛집 수정
    • deleteRestaurant API : 맛집 삭제
  • common source

    • dtos : 페이지네이션 관련 dto, 졸논 프로젝트 참고해서 작성했습니다.
      • PageQueryDto
      • PageResponseDto
    • ParseBigintPipe : @taeboranger 님 코드 참고 + validation 하나 추가했습니다.
    • softDeleteRecord 함수 : utils 폴더에 작성했습니다.

비고

  1. isActivated
    : users api 추가 #11 에서 언급된 것처럼 Restaurant model의 isActivated 칼럼이 불필요해서 삭제해야 할 것 같습니다. soft delete 여부는 deleteAt 칼럼으로 구분하니까 필요가 없네요! 이부분 확정 된 부분이면 일괄 적용하겠습니다. (User, Restaurant, Registration 세 모델의 스키마에서 isActivated 칼럼이 확인됩니다.)
  2. 맛집 정보 수정 권한
    : 해당 슬랙 스레드 참고. 일반 멤버가 자신이 등록한 맛집 수정이 가능하도록 수정한 버전을 주석 처리로 올려놨습니다. 의견 수합 되면 반영하겠습니다.
  3. getRestaurants 평점 높은 순 정렬 방식
    : getRestaurant API에서 sort === "topRated" 일 때 맛집을 리뷰 평균 점수 순으로 정렬하여 반환합니다. 코드 보시면 알겠지만 prisma의 olderBy 옵션을 사용하지 못해서 좀 괴상하게 코드가 작성되었습니다😢 만약 Restaurant 모델에 "averageScore" 필드를 추가하고 리뷰가 추가될 때마다 연관 필드를 갱신한다면 해당 부분 코드가 좀 더 깔끔해질 수 있을 것 같습니다. 해당 부분 관련해서 @hoon5083 PM님과 리뷰 API 담당인 @R3gardless 님 의견이 궁금합니다! 혹시 모델 변경하지 않고도 코드를 개선할 수 있는 방법을 찾으신다면.. 알려주세욥
  4. Oauth2Guard({ strict: false })
    : 가드 옵션을 위와 같이 하면 미로그인 한 유저의 경우 CurrentUser 데코레이터에서 null이 아니라 undefined를 반환하는 것을 확인했습니다. 아마 거의 strict:true로 쓰실 것 같긴 한데 코드 작성할 때 참고하세요!

@yesjuhee yesjuhee added the enhancement New feature or request label Oct 19, 2023
@yesjuhee yesjuhee mentioned this pull request Oct 23, 2023
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant