Skip to content

[Document][P0] 문서 상세 조회·상태 표현·HWP/HWPX 업로드 보완 #80

Description

@chaeliki

배경

fowoco/client PR #174, #228에서 fowoco/server의 통합 문서함 API(#13)를
실제 화면에 연동하며 발견된 문제들을 정리합니다.

1. GET /documents 응답에 version 필드 누락

PATCH /workers/{workerId}/documents/{documentId}는 expected_version이
필수인데, GET /documents 응답(DocumentItemResponse)에 이 값이 없어
DocumentDetailPage의 확인/반려 버튼이 실제 연동이 안 되고 있습니다.
WorkerDocument 도메인엔 이미 version이 있어 응답 DTO
노출만 하면 해결됩니다.

2. 단건 조회 API 부재

GET /documents/{documentId}가 없어서, 프론트가 전체 목록을 받아
worker_document_id로 직접 찾는 방식으로 우회하고 있습니다.

3. HWP/HWPX 업로드 지원 추가

POST /files가 image/jpeg·png·webp, application/pdf만 허용합니다.
HWP/HWPX 업로드가 실제로 필요하므로 지원을 추가합니다.

참고

완료 조건

  • DocumentItemResponse에 version 필드 추가
  • GET /documents/{documentId} 단건 조회 API 신설
  • HWP/HWPX MIME 타입을 ALLOWED_MIME_TYPES에 추가

2026-08-04 · PWF3 문서함 보완 원칙

단건 응답은 화면이 목록 전체를 다시 받지 않아도 검토·반려를 수행할 수 있도록 다음 값을 함께 반환합니다.

  • version: 수정 충돌을 막는 expectedVersion의 기준값
  • Worker·Task 참조와 문서 유형
  • 제출 상태와 만료일
  • 연결된 파일의 ID·표시 파일명·MIME·크기·검사 상태

서로 다른 상태를 하나의 status에 섞지 않습니다.

상태 소유 모델
파일 검사 상태 StoredFile.scanStatus
근로자 서류 제출 상태 WorkerDocument — enum·DB 제약 변경은 #60 소유
유효·만료 판단 서류 만료일을 기준으로 Server가 계산
업무 준비도 기존 GET /tasks/{taskId}/document-readiness가 계산

HWP/HWPX 허용 시 확장자만 믿지 않고 MIME·크기·파일 시그니처 정책과 다운로드 권한을 함께 검증합니다.

Metadata

Metadata

Assignees

Labels

area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P0MVP 진행을 막는 최우선 핵심 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업status:in-progress담당자가 현재 구현 중인 작업type:feature사용자 또는 Agent가 사용하는 기능 개발

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions