Skip to content

통합 문서함/근로자 서류 실제 API 연동 (Document) #174

Description

@BcKmini

배경

fowoco/server에 통합 문서함·파일 업로드·문서 준비도 API가 새로 병합됐다 (fowoco/server#57). DocumentListPage/DocumentDetailPage/WorkerDetailPage 서류 섹션이 지금 정적 demo 데이터를 쓴다.

실제 서버 API

GET  /api/v1/documents                          (통합 문서함, workerId/documentType/status/expiryBefore 필터)
POST /api/v1/files                               (파일 업로드, image/jpeg·png·webp + application/pdf만 허용)
GET  /api/v1/tasks/{taskId}/document-readiness   (업무별 서류 준비도)
PUT  /api/v1/tasks/{taskId}/document-request-draft (누락 서류 요청 초안 저장)

DocumentType: PASSPORT_COPY, ARC, CONTRACT, PERMIT (4종 — 데모의 "건강진단서"/"숙소 임대차 계약서" 등은 대응 없음)
SubmissionStatus: MISSING, SUBMITTED, VERIFIED

완료된 것

  • DocumentListPageGET /documents로 실제 목록. 검색 파라미터가 없어 클라이언트 필터링, 탭 카운트도 받아온 페이지 기준으로 계산
  • DocumentDetailPage — 단건 조회 API가 없어 전체 목록에서 worker_document_id로 찾음. 근로자 링크는 실제 worker_id로 연결 (기존 이름 매칭 제거)
  • WorkerDetailPage 서류 섹션 — GET /documents?workerId=로 실제 연동
  • 이제 완전히 안 쓰는 workerListData.ts/documentListData.ts 삭제

알아두면 좋은 것 (구현하다 발견)

  • DocumentItemResponseversion 필드가 없다. PATCH /workers/{workerId}/documents/{id}expected_version이 필요한데 목록 응답에서 그 값을 알 방법이 없어서, DocumentDetailPage의 "확인 완료"/"반려" 액션은 안전하게 실제 API를 호출할 수 없다 — 화면에서만 반영되는 채로 남겨둠. 서버에 version 필드 추가를 요청하면 좋을 듯
  • POST /files는 image/jpeg·png·webp·application/pdf만 허용 — HWP/HWPX는 지원 안 함. 그래서 #158에서 만든 HWP/HWPX 업로드 데모는 이 API로 못 바꿈 (그대로 데모 유지)
  • 후속 후보: document-readiness/document-request-draft는 아직 안 붙임 — CaseDetailPage의 "완료 조건"·"문서" 탭에 연결하면 좋을 듯 (다음 이슈로 분리 가능)

테스트

  • 테스트 작성 (284개 통과)

Metadata

Metadata

Assignees

Labels

area:document문서관리·OCR 화면priority:P1핵심 작업 다음으로 중요한 작업type:feature사용자 기능 개발

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions