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

Feature/#92 - 채팅 좋아요 취소 기능 구현 #197

Merged
merged 13 commits into from
Nov 20, 2024
Merged

Conversation

xjfcnfw3
Copy link
Collaborator

close #92

✅ 작업 내용

  • 좋아요 취소 기능 구현
  • 채팅 좋아요 이벤트 발생 시 해당 방에 브로드캐스트
  • 각 채팅 별 좋아요 여부도 추가

😎 체크 사항

  • label 설정 확인
  • 브랜치 방향 확인

@xjfcnfw3 xjfcnfw3 added ✨feature 기능 개발 BE labels Nov 19, 2024
@xjfcnfw3 xjfcnfw3 requested a review from a team November 19, 2024 14:32
@xjfcnfw3
Copy link
Collaborator Author

#193 먼저 머지 후 머지해주세요!

Copy link
Contributor

@demian-m00n demian-m00n left a comment

Choose a reason for hiding this comment

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

Lego Disney - Glasses

디자인 예뻐요 색도 저희 서비스 디자인 시스템과 잘 맞고 글씨도 깔끔해서 좋습니다.

Copy link
Collaborator

@baegyeong baegyeong left a comment

Choose a reason for hiding this comment

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

수고하셨습니다!!

async getAuthenticatedUser(socket: Socket) {
const cookieValue = websocketCookieParse(socket);
const session = await this.getSession(cookieValue);
return session ? session.passport.user : undefined;
Copy link
Collaborator

Choose a reason for hiding this comment

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

session이 없을 때 undefined를 반환하는 이유가 무엇인가요? 명시적으로 값이 없음을 반환하는 거라면 null이 좋을 것 같아서요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

원래 세션 값을 SessionSocket에 넣는 방식을 생각했습니다. 해당 소켓 내부에 session이라는 필드가 있습니다. 해당 필드는 쿠키의 값으로 세션을 꺼낸 후 넣는 방식이기 때문에 세션을 받기 전에 undefined와 세션을 받은 후 User타입으로 나타납니다.
따라서 SessionSocket의 타입을 맞추기 위해 undefined를 했지만, SessionSocket에 넣을 필요가 없다는 것을 느껴서 null로 바꾸겠습니다!

Copy link
Collaborator Author

@xjfcnfw3 xjfcnfw3 Nov 19, 2024

Choose a reason for hiding this comment

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

그리고 웹소켓 핸드쉐이킹 과정에서 SessionSocket에 세션 값을 넣으려는 이유는 채팅을 보낼 때마다 가드 내의 세션 메모리를 사용하지 않고 Socket 내부의 값을 사용하려 했지만, 쿠키 타임아웃을 검증할 때 세션 메모리를 사용할 필요가 있어서 세션값을 소켓에 넣지 않기로 했습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

확장자쪽에 .. 이 있네요..!

@xjfcnfw3 xjfcnfw3 merged commit 8f16568 into dev-be Nov 20, 2024
@xjfcnfw3 xjfcnfw3 deleted the feature/#92 branch November 25, 2024 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE ✨feature 기능 개발
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants