-
Notifications
You must be signed in to change notification settings - Fork 6
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] 모각코 참가자 관련 로직 구현 및 Swagger 설정 #143
[Feat] 모각코 참가자 관련 로직 구현 및 Swagger 설정 #143
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3: 로직에 큰 문제는 없어보입니다. 제가 코멘트 한 부분만 소명되면 머지해도 좋습니다.
|
||
const existingParticipant = await this.prisma.participant.findUnique({ | ||
where: { | ||
postId_userId: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
얜 다른 where랑 구조가 좀 다르네요? postId_userId 이유가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where 옵션은 조회 조건을 지정하는데, 해당 부분은 중첩된 객체로 구성되어 있습니다. 구체적으로는 postId_userId라는 객체 속성을 가지고 있습니다.
처음에 where로 코드를 작성했는데 오류가 나서 chatGPT한테 물어봤는데 다음과 같이 수정해줘서 코드를 작성했습니다.
|
||
async cancelMogacoJoin(id: number, member: Member): Promise<void> { | ||
const mogaco = await this.prisma.mogaco.findUnique({ | ||
where: { id, deletedAt: null }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 라인은 조건 두개여도 잘되는거 같은데요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
postId_userId는 Prisma에서 사용되는 복합 키(composite key)의 일부입니다. 이 키는 participant 테이블에서 두 개의 컬럼을 합쳐서 하나의 고유한 식별자로 사용하는 방식입니다.
여기서 postId는 Mogaco 게시물의 ID이고, userId는 참가자(사용자)의 ID입니다. 이 두 값이 결합되어서 postId_userId로 사용되고, 이를 통해 특정 Mogaco 게시물에 대한 특정 사용자의 참가 여부를 확인할 수 있습니다.
예를 들어, 특정 Mogaco 게시물에 참가한 사용자의 ID가 1이라면, 이를 postId_userId로 표현하면 { postId: 특정게시물ID, userId: 1 }이 됩니다. 이렇게 복합 키를 사용함으로써 특정 Mogaco 게시물과 사용자의 조합이 고유하게 식별되도록 합니다.
저도 확실한 이유에 대해 몰라서 좀 더 찾아봤습니다.
질문 감사합니다 백지님!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저게 where의 and 조건이라는 얘길까요? 전 이해가 잘 안되네요
설명
모각코에 다른 사용자들이 참가, 참가 취소, 참가자 확인하는 API를 작성합니다.
완료한 기능 명세
스크린샷
스크린샷 기록소
리뷰 요청 사항
현재 Swagger 설정 부분 코드가 상당히 더럽습니다.
1차원적으로 깎지 않고 바로 작성했습니다.
chatGPT로 한번 깎아보려고 했는데 코드 바꾸고 swagger를 본 결과 많이 달라져서 Reset Hard 처리하였습니다..
우선 swagger를 짜는데 생각보다 체력과 안구에 힘이 드는 관계로 프로젝트 마무리 즈음에 코드 정리를 할 때 시도해보면 좋을 것 같습니다.