Skip to content

feat: 문서 안전 보관과 업무 조회 제외 구현 - #194

Merged
hywznn merged 1 commit into
mainfrom
feat/192-document-archive
Aug 16, 2026
Merged

feat: 문서 안전 보관과 업무 조회 제외 구현#194
hywznn merged 1 commit into
mainfrom
feat/192-document-archive

Conversation

@hywznn

@hywznn hywznn commented Aug 16, 2026

Copy link
Copy Markdown
Member

한 줄 요약

문서를 즉시 지우지 않고 안전하게 보관하여 일반 문서함·업무 계산·AI/OCR 신규 처리에서는 제외하되, 원본 파일과 과거 이력은 유지합니다.

Closes #192

왜 필요한가요?

worker_document는 Stored File, OCR 실행, Task와 연결되어 있습니다. DB 행이나 파일을 바로 삭제하면 승인·업무·감사 이력을 다시 확인하기 어렵고 연결 무결성도 깨질 수 있습니다.

따라서 화면의 "삭제" 의미를 MVP에서는 보관(soft delete) 으로 구현했습니다.

무엇이 바뀌나요?

  • POST /api/v1/documents/{documentId}/archive
  • 요청값: expected_version, reason
  • HR·ADMIN만 실행 가능
  • 타 사업장 문서는 404, 오래된 version은 409
  • 같은 문서에 재요청하면 감사로그를 중복 생성하지 않고 204
  • 보관 시각·처리자·사유를 worker_document에 저장
  • DOCUMENT_ARCHIVED 감사로그 저장
  • 일반 목록·상세·문서 준비도·Case 문서 수·AI Context·OCR 신규 처리에서 보관 문서 제외
  • Stored File과 기존 OCR·Task 참조는 물리 삭제하지 않음

DB

  • Flyway V52__archive_worker_document.sql
  • archived_at, archived_by, archive_reason
  • 처리자 tenant FK, 보관 metadata 일관성 CHECK, 조회 index 추가

후속 PR #195는 다음 번호인 Flyway V53을 사용하므로 이 PR을 먼저 병합합니다.

검증·병합 체크리스트

  • ./gradlew clean test 성공
  • 문서 보관 대상 통합 테스트 성공
  • PostgreSQL 16 임시 환경 PostgreSqlMigrationTests 성공
  • 보관 후 목록·상세·준비도 제외 및 파일 유지 검증
  • tenant·version·중복 요청 멱등성·감사로그 검증
  • GitHub CI 전체 성공
  • Draft 해제
  • Squash Merge

영향 범위

  • Server만 변경합니다.
  • Client의 삭제 버튼·확인 모달·사용자 문구는 사용자 검수 후 별도 작업합니다.
  • Infra 변경은 없습니다.

@hywznn
hywznn marked this pull request as ready for review August 16, 2026 14:31
@hywznn hywznn added the status:in-review 구현을 마치고 리뷰 또는 병합을 기다리는 작업 label Aug 16, 2026
@hywznn
hywznn merged commit 25f77fb into main Aug 16, 2026
4 checks passed
@hywznn
hywznn deleted the feat/192-document-archive branch August 16, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:in-review 구현을 마치고 리뷰 또는 병합을 기다리는 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Document][P1] 문서 안전 보관·목록 제외·감사로그 구현

1 participant