Conversation
Walkthroughκ΄λ¦¬μμ© PDF μ λ‘λμ μ¬μ μλͺ URL(put) νλ¦μ μΆκ°νκ³ , μ λ‘λ μν μ‘°ν APIλ₯Ό λμ νλ€. AWS ꡬμ±μ S3Presigner λΉμ λ±λ‘νκ³ S3Utilμ presign μμ± λ° CloudFront μλͺ ν€ λ‘λ©μ μΆκ°νλ€. 컨νΈλ‘€λ¬ μλν¬μΈνΈμ DTO, μ μ€μΌμ΄μ€/μλΉμ€, μ λ‘λ μν enumμ νμ₯νλ€. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Admin as Admin
participant CmdCtrl as OrderAdminCommandV1Controller
participant UseCase as UploadAdminDocumentsPdfWithPresignedUrlService
participant Repo as PdfRepository
participant S3U as S3Util
participant Presigner as S3Presigner
Admin->>CmdCtrl: POST /documents/{documentId}/pdfs (νμΌλͺ
리μ€νΈ)
CmdCtrl->>UseCase: execute(documentId, requestDto)
UseCase->>UseCase: νμΌλͺ
μ ν¨μ±/μ€λ³΅ κ²μ¬
UseCase->>Repo: Pdf μν°ν° μμ±(μν=IN_PROGRESS) λ°°μΉ μ μ₯
loop κ° νμΌ
UseCase->>S3U: getPresignedPutUrlForPdf(document, storedFileName, originalName, 15m)
S3U->>Presigner: Presign PUT(Object)
Presigner-->>S3U: Presigned URL + Headers
S3U-->>UseCase: URL, Headers
end
UseCase-->>CmdCtrl: μ
λ‘λ μ 보 리μ€νΈ μλ΅
CmdCtrl-->>Admin: 200 OK (pdfId, url, headers)
sequenceDiagram
autonumber
actor Admin as Admin
participant QryCtrl as OrderAdminQueryV1Controller
participant UC as ReadAdminPdfUploadStatusService
participant Repo as PdfRepository
Admin->>QryCtrl: GET /orders/documents/pdfs/{pdfId}/upload-status
QryCtrl->>UC: execute(pdfId)
UC->>Repo: findByIdOrElseThrow(pdfId)
Repo-->>UC: Pdf
UC-->>QryCtrl: ReadAdminPdfUploadStatusResponseDto
QryCtrl-->>Admin: 200 OK (upload_status, pdf_url_for_admin?, name)
Estimated code review effortπ― 3 (Moderate) | β±οΈ ~25 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 Review profile: CHILL Plan: Free π‘ Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. π Files selected for processing (12)
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 (
|
Related issue π
closed #796
μ΄λ€ λ³κ²½μ¬νμ΄ μμλμ?
CheckPoint β
PRμ΄ λ€μ μꡬ μ¬νμ μΆ©μ‘±νλμ§ νμΈνμΈμ.
Work Description βοΈ
κ΄λ¦¬μκ° PDF νμΌμ μ λ‘λν λ presigned urlμ μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈμμ μ§μ S3μ μ λ‘λν μ μλλ‘ μμ νμ΅λλ€.
μ£Όμ λ³κ²½μ¬ν
μλ‘μ΄ API μΆκ°:
/v1/admins/orders/{orderId}/documents/pdf-presigned-urlPDF μ λ‘λ μν μ‘°ν API μΆκ°:
/v1/admins/orders/{orderId}/pdf-upload-statusλλ©μΈ λͺ¨λΈ κ°μ :
S3 μ νΈλ¦¬ν° κ°μ :
Uncompleted Tasks π
N/A
To Reviewers π’