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

장바구니 조회 서비스 및 JWT 토큰 검증 개선 #177

Merged
merged 3 commits into from
Mar 18, 2024
Merged

Conversation

jihwooon
Copy link
Owner

@jihwooon jihwooon commented Mar 18, 2024

작업 내용 (Content)

  • 장바구니 조회 서비스 (server/src/cartItems/application/cartItem-list.service.ts)를 업데이트했습니다.
    • JWT 라이브러리(jsonwebtoken)를 추가하여 토큰 유효성 검증을 강화했습니다.
    • 잘못된 토큰에 대한 에러 처리를 개선했습니다.
  • 만료된 토큰에 대한 별도 에러 처리 추가 (토큰 만료 메시지 반환)
    • 서비스 함수의 유형 정보를 명시했습니다.
    • 장바구니 조회 컨트롤러 (server/src/cartItems/web/cartItem-list.controller.ts)를 업데이트했습니다.
    • 요청 헤더에서 Authorization 필드를 추출하여 JWT 토큰을 가져옵니다.
  • JWT 토큰 검증 로직 (server/src/users/jwt/jwt.provider.ts)을 업데이트했습니다.
    • JWT 라이브러리 오류 처리를 개선하여 만료된 토큰과 잘못된 토큰에 대한 구체적인 에러를 발생시킵니다.

링크 (Links)

기타 사항 (Etc)

Merge 전 필요 작업 (Checklist before merge)

  • PR 올리기 전 rebase 동기화를 하셨나요?
  • 마지막 줄에 공백 처리를 하셨나요?
  • 커밋 단위를 의미 단위로 나눴나요?
    • 예시
      • 코드 가독성을 위해 메서드를 추출하라
      • if-else 문을 if 문으로 분리하라
      • 불필요한 메서드를 인라인화하라
  • 커밋 본문을 작성하셨나요?
    • 예시
      • 함수는 한 가지 일을 해야 한다는 원칙에 따라 메서드를 추출합니다.
      • if-else는 컴파일 시 처리가 되어 재컴파일 없이 수정 할 수 없습니다.
        이에 따라 코드가 실행되는 순간에 실행이 결정되는 if 문으로 수정합니다.
  • CI 파이프라인이 통과가 되었나요?
  • 리뷰 요청 전 Self-Review로 의문점을 해결 하셨나요?
  • PR 리뷰 가능한 크기를 유지하셨나요?

- 장바구니 조회 서비스 (server/src/cartItems/application/cartItem-list.service.ts)를 업데이트했습니다.
  - JWT 라이브러리(jsonwebtoken)를 추가하여 토큰 유효성 검증을 강화했습니다.
  - 잘못된 토큰에 대한 에러 처리를 개선했습니다.
- 만료된 토큰에 대한 별도 에러 처리 추가 (토큰 만료 메시지 반환)
  - 서비스 함수의 유형 정보를 명시했습니다.
  - 장바구니 조회 컨트롤러 (server/src/cartItems/web/cartItem-list.controller.ts)를 업데이트했습니다.
  - 요청 헤더에서 Authorization 필드를 추출하여 JWT 토큰을 가져옵니다.
- JWT 토큰 검증 로직 (server/src/users/jwt/jwt.provider.ts)을 업데이트했습니다.
  - JWT 라이브러리 오류 처리를 개선하여 만료된 토큰과 잘못된 토큰에 대한 구체적인 에러를 발생시킵니다.
- 장바구니 도서 상세 조회 기능을 추가했습니다.
  - 새로운 도메인 함수 findCartItemAndBook(userId: number)를 추가했습니다.
  - 이 함수는 장바구니 정보와 함께 연결된 도서 정보를 상세하게 조회합니다.
- 장바구니 조회 API를 분리했습니다.
  - 기존 cartItem-list.service를 cartItem-list-existed-select.service로 이름을 변경했습니다.
  - 이 서비스는 선택된 상품 목록에 대한 상세 정보를 조회합니다.
- 새로운 서비스 cartItem-list-non-existed-select.service를 추가했습니다.
  - 이 서비스는 선택되지 않은 전체 장바구니 목록을 조회합니다.
- cartItem-list.controller.ts를 업데이트하여 상황에 따라 적합한 서비스를 호출합니다.
  - 요청 body에 선택된 상품 목록 (selectedId)이 존재하지 않으면 전체 목록 조회 서비스를 호출합니다.
  - 선택된 상품 목록이 존재하면 상세 정보 조회 서비스를 호출합니다.
- 테스트 코드를 업데이트했습니다.
  - 서비스 분리에 따라 테스트 코드 파일 이름과 모킹 객체를 수정했습니다.
@jihwooon jihwooon merged commit 7d1b8aa into main Mar 18, 2024
1 check passed
@jihwooon jihwooon deleted the issue-103 branch March 18, 2024 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant