Skip to content

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

Description

@hywznn

한 줄 목표

HR이 더 이상 사용하지 않는 문서를 안전하게 보관 처리하고, 일반 문서함에서는 숨기되 업무·OCR·감사 이력은 유지합니다.

왜 필요한가요?

현재 문서함에는 잘못 등록했거나 더 이상 사용하지 않는 문서를 정리할 기능이 없습니다. 하지만 worker_document는 파일, OCR 결과, Task와 연결되므로 DB 행과 원본 파일을 즉시 삭제하면 이력이 끊길 수 있습니다.

따라서 MVP의 "삭제"는 물리 삭제가 아닌 보관(soft delete) 으로 구현합니다.

Server 작업 범위

  • worker_document에 보관 시각·처리자·사유 저장
  • POST /api/v1/documents/{documentId}/archive
  • HR·ADMIN만 실행 가능, VIEWER 금지
  • expected_version으로 동시 수정 충돌 방지
  • 기본 목록·상세·업무 준비도·AI/OCR 조회에서 보관 문서 제외
  • 파일·OCR 실행·Task 연결·감사로그는 유지
  • 같은 요청을 다시 실행해도 안전한 멱등 동작
  • 타 사업장 문서는 404
  • DOCUMENT_ARCHIVED 감사로그 기록

이번 범위에서 하지 않는 것

  • 원본 파일 즉시 물리 삭제
  • 보유기간 만료 배치
  • Client 버튼·확인 모달
  • Infra 저장소 변경

Client·Infra 변경은 별도 검수 후 진행합니다.

완료 조건

  • 보관 후 일반 문서 목록과 상세 조회에서 보이지 않음
  • 업무 준비도·AI Context가 보관 문서를 사용하지 않음
  • 연결된 Task·OCR·감사 이력은 깨지지 않음
  • 권한·tenant·version·중복 요청 통합 테스트 통과
  • OpenAPI 요청·응답·오류 계약 문서화

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P1핵심 작업 다음으로 처리할 중요 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업status:in-review구현을 마치고 리뷰 또는 병합을 기다리는 작업type:feature사용자 또는 Agent가 사용하는 기능 개발

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions