feat(backend): 명함 받기 API — 코드로 미리보기·보관함 저장·삭제

다른 회원의 펫 명함을 코드(QR)로 받아 보관함에 두는 기능이다.

- PUT /pet-cards/:id/share-mode: 공유 시트를 열 때 앱이 공유 모양(간략히·상세히)을 알린다.
  받는 사람에게는 그 모양의 정보만 간다 — 간략히로 공유했는데 병원·건강 정보가 새지 않게. 기본은 간략히
- GET /shared-pet-cards/:code (+ /images/:kind): 받기 전 미리보기. 사진은 코드를 아는 회원에게 그 명함 사진만
- POST·GET·DELETE /received-cards: 보관함. 받는 순간의 사본을 저장하고 사진도 받는 사람 소유로 복사한다
  (보낸 사람이 아이를 지우거나 사진을 바꿔도 받은 명함은 그대로)
- 코드로 찾는 엔드포인트는 분당 30회로 막는다 (코드 추측 방지)
- CARD_002(코드에 맞는 명함 없음)·CARD_003(내 명함) 추가, 프론트·Flutter 사전 재생성

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-11 19:29:17 +09:00
parent 5331362215
commit f045e1599f
18 changed files with 1035 additions and 17 deletions
@@ -14,6 +14,8 @@ export const ERROR_CODE_MESSAGES = {
DIARY_001: '다이어리는 최대 6권까지 만들 수 있어요.',
DIARY_002: '오늘 기록은 이미 남겼어요. 내일 다시 작성할 수 있어요.',
CARD_001: '펫 명함은 최대 10장까지 만들 수 있어요.',
CARD_002: '명함을 찾을 수 없어요. 명함 코드를 다시 확인해 주세요.',
CARD_003: '내 명함은 받을 수 없어요.',
} as const
export type ErrorCode = keyof typeof ERROR_CODE_MESSAGES