📌 Description
업로드된 문서의 현재 검색 가능 버전과 처리 중 버전의 인덱싱 상태를 함께 조회하는 API를 구현합니다.
GET /api/documents/{documentId}/status
Authorization: Bearer {token}
최초 버전 처리 중에는 currentVersion을 null로 반환하고, 새 버전 처리 중에는 기존 INDEXED 버전을 currentVersion으로 유지합니다.
✅ To-do
📦 응답 예시
{
"documentId": 10,
"documentStatus": "INDEXED",
"currentVersion": {
"versionNo": 1,
"status": "INDEXED"
},
"processingVersion": {
"versionNo": 2,
"status": "PARSING",
"jobStatus": "PROCESSING"
}
}
🔒 상태 계약
currentVersion: INDEXED 상태인 경우에만 반환
processingVersion: UPLOADED, PARSING, CHUNKED, EMBEDDING 중 하나
- 처리 중 Version의 Job 상태:
PENDING 또는 PROCESSING
- 상태 조회는 읽기 전용이며 Entity 상태를 변경하지 않음
🚫 제외 범위
- Worker 및 파싱·청킹·임베딩 실행
- 인덱싱 완료와
current_version_id 교체
- 실패·자동 재시도
- 수동 재처리
- DB 스키마 변경
✅ 완료 기준
📌 Description
업로드된 문서의 현재 검색 가능 버전과 처리 중 버전의 인덱싱 상태를 함께 조회하는 API를 구현합니다.
최초 버전 처리 중에는
currentVersion을null로 반환하고, 새 버전 처리 중에는 기존INDEXED버전을currentVersion으로 유지합니다.✅ To-do
OWNER/PUBLIC/USER_CACHE/ROLE/DEPARTMENT) 검증DocumentStatusResponse및 중첩 Version 상태 DTO 구현DocumentQueryService및DocumentQueryController구현GET /api/documents/{documentId}/statusSwagger 명세 작성currentVersion=null계약 적용INDEXED currentVersion유지📦 응답 예시
{ "documentId": 10, "documentStatus": "INDEXED", "currentVersion": { "versionNo": 1, "status": "INDEXED" }, "processingVersion": { "versionNo": 2, "status": "PARSING", "jobStatus": "PROCESSING" } }🔒 상태 계약
currentVersion:INDEXED상태인 경우에만 반환processingVersion:UPLOADED,PARSING,CHUNKED,EMBEDDING중 하나PENDING또는PROCESSING🚫 제외 범위
current_version_id교체✅ 완료 기준
null이다.INDEXEDVersion이 유지된다.