Conversation
Walkthrough이미지 업로드 기능이 추가되고 등록 흐름이 변경되었습니다. PillService에 사진 업로드(프리사인드 URL 획득·S3 업로드)와 삭제 API가 도입되었고, addPills 요청에 fileName이 포함됩니다. 히스토리 화면은 약 삭제(낙관적 업데이트), 이미지 표시, 시간 버튼 레이아웃이 개선되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User as 사용자
participant Add as AddPillScreen
participant Prefs as PrefsManager
participant Svc as PillService
participant API as Backend API
participant S3 as S3 (Presigned)
User->>Add: 이미지 선택
Add->>Svc: getPillPhotoPresignedUrl()
Svc->>API: GET presigned URL
API-->>Svc: { presignedUrl, fileName }
Svc-->>Add: 전달
Add->>Prefs: getUserUuid()
Prefs-->>Add: uploaderUuid
Add->>Svc: uploadPillPhotoToS3(presignedUrl, file, uploaderUuid)
Svc->>S3: PUT file bytes (+headers)
S3-->>Svc: 200/OK
Svc-->>Add: 완료(fileName 유지)
note over Add: _uploadedFileName 저장, UI 스피너 해제
User->>Add: 등록 버튼 탭
Add->>Svc: addPills(..., fileName)
Svc->>API: POST /pills { ... , fileName }
API-->>Svc: 201/OK
Svc-->>Add: 결과
Add-->>User: pop(true) 후 PillUpdatePopup로 네비게이션
sequenceDiagram
autonumber
actor User as 사용자
participant Hist as PillHistoryScreen
participant Svc as PillService
participant API as Backend API
User->>Hist: 카드 우상단 삭제 아이콘 탭
Hist->>User: 확인 다이얼로그
User-->>Hist: 확인
rect rgba(200,230,255,0.25)
note right of Hist: 낙관적 업데이트
Hist->>Hist: 리스트에서 즉시 제거, 카운트 재계산
end
Hist->>Svc: deletePill(pillId)
Svc->>API: DELETE /pills/{id}
alt 성공
API-->>Svc: 200/204
Svc-->>Hist: OK
Hist-->>User: "약이 삭제되었습니다." 스낵바
else 실패
API-->>Svc: 오류
Svc-->>Hist: 예외
Hist->>Svc: 오늘 스케줄 재조회
Hist-->>User: 오류 스낵바
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit