-
Notifications
You must be signed in to change notification settings - Fork 0
chore: develop → main 릴리즈 (마이페이지 figma 명세 정합화 8건) #81
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
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
00a87fd
chore(gitignore): figma 작업 디렉터리 ignore 추가
chanwoo7 f59f382
feat(user): 생년월일 1900-01-01 이전 입력 거부
chanwoo7 7cfb5ea
fix(user): normalizeBirthDate UTC 기준 정규화로 timezone 의존성 제거
chanwoo7 c210942
Merge pull request #75 from CaQuick/feat/mypage-figma-birth-date-floor
chanwoo7 f10dc2c
feat(user): 전화번호 정규식 010-XXXX-XXXX 고정으로 강화
chanwoo7 7af4b11
Merge pull request #76 from CaQuick/feat/mypage-figma-phone-regex
chanwoo7 4e7a443
feat(user): 회원정보 수정에 name 필드 추가 + 필수값 검증
chanwoo7 defcddb
Merge pull request #77 from CaQuick/feat/mypage-figma-profile-name
chanwoo7 e8c4717
feat(user): 리뷰 미디어 분리 제한 (사진 10 / 동영상 1)
chanwoo7 063910c
Merge pull request #78 from CaQuick/feat/mypage-figma-review-media-split
chanwoo7 75a36e8
feat(user): 주문 카드에 hasReviewableItem 노출
chanwoo7 0779ac9
test(user): listMyOrders 주문 0건 케이스 회귀 추가
chanwoo7 ef9eb87
Merge pull request #79 from CaQuick/feat/mypage-figma-order-card-cta
chanwoo7 9a0f2d7
feat(user): 찜 토글 mutation + isWishlisted 노출 + 카운트 일관성 수정
chanwoo7 02be4b2
fix(user): wishlistCount와 myWishlist 가시성 기준 통일
chanwoo7 911dfec
Merge pull request #80 from CaQuick/feat/mypage-figma-wishlist-toggle
chanwoo7 4c35731
fix(user): wishlist 가시성 일관성 + 목록 정렬 안정화 (PR #81 리뷰 반영)
chanwoo7 97af31f
Merge pull request #82 from CaQuick/fix/coderabbit-codex-pr81-feedback
chanwoo7 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,3 +84,5 @@ docs/* | |
| .env.example | ||
| caquick_ddl.sql | ||
| src/features/example/* | ||
|
|
||
| .figma/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| export const USER_WISHLIST_ERRORS = { | ||
| PRODUCT_NOT_FOUND: '상품을 찾을 수 없습니다.', | ||
| INVALID_OFFSET: '오프셋은 0 이상이어야 합니다.', | ||
| INVALID_LIMIT: '조회 개수는 1~50 사이여야 합니다.', | ||
| } as const; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
src/features/user/resolvers/user-wishlist-mutation.resolver.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| import { UseGuards } from '@nestjs/common'; | ||
| import { Args, Mutation, Resolver } from '@nestjs/graphql'; | ||
|
|
||
| import { UserWishlistService } from '@/features/user/services/user-wishlist.service'; | ||
| import { | ||
| CurrentUser, | ||
| JwtAuthGuard, | ||
| parseAccountId, | ||
| type JwtUser, | ||
| } from '@/global/auth'; | ||
|
|
||
| @Resolver('Mutation') | ||
| @UseGuards(JwtAuthGuard) | ||
| export class UserWishlistMutationResolver { | ||
| constructor(private readonly wishlistService: UserWishlistService) {} | ||
|
|
||
| @Mutation('addToWishlist') | ||
| addToWishlist( | ||
| @CurrentUser() user: JwtUser, | ||
| @Args('productId') productId: string, | ||
| ): Promise<boolean> { | ||
| return this.wishlistService.addToWishlist(parseAccountId(user), productId); | ||
| } | ||
|
|
||
| @Mutation('removeFromWishlist') | ||
| removeFromWishlist( | ||
| @CurrentUser() user: JwtUser, | ||
| @Args('productId') productId: string, | ||
| ): Promise<boolean> { | ||
| return this.wishlistService.removeFromWishlist( | ||
| parseAccountId(user), | ||
| productId, | ||
| ); | ||
| } | ||
| } |
28 changes: 28 additions & 0 deletions
28
src/features/user/resolvers/user-wishlist-query.resolver.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| import { UseGuards } from '@nestjs/common'; | ||
| import { Args, Query, Resolver } from '@nestjs/graphql'; | ||
|
|
||
| import { UserWishlistService } from '@/features/user/services/user-wishlist.service'; | ||
| import type { | ||
| MyWishlistConnection, | ||
| MyWishlistInput, | ||
| } from '@/features/user/types/user-wishlist-output.type'; | ||
| import { | ||
| CurrentUser, | ||
| JwtAuthGuard, | ||
| parseAccountId, | ||
| type JwtUser, | ||
| } from '@/global/auth'; | ||
|
|
||
| @Resolver('Query') | ||
| @UseGuards(JwtAuthGuard) | ||
| export class UserWishlistQueryResolver { | ||
| constructor(private readonly wishlistService: UserWishlistService) {} | ||
|
|
||
| @Query('myWishlist') | ||
| myWishlist( | ||
| @CurrentUser() user: JwtUser, | ||
| @Args('input') input?: MyWishlistInput, | ||
| ): Promise<MyWishlistConnection> { | ||
| return this.wishlistService.myWishlist(parseAccountId(user), input); | ||
| } | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
findWishlistedProductIdsonly checksaccount_id,deleted_at, andproduct_id, while this same commit mademyWishlist/wishlistCountdepend on stricter visibility (product.is_activeandstore.is_active, non-deleted). Because recent-view queries still include products from inactive stores, this can returnisWishlisted=truefor items that are excluded from bothmyWishlistand the wishlist count, creating inconsistent mypage/recent-view state for users. Reuse the same visibility predicate here to keep the flag aligned with the exposed wishlist surface.Useful? React with 👍 / 👎.