feat(B03): 업로드 잠금에 이름을 붙임 — 지금 누가 올리는 중인지 화면에 뜸
계획서 0-8 의 남은 하나. 서버는 분석이 도는 동안 새 자료를 이미 막고 있었고 (`is_analysis_running`), 없던 것은 **막힌 까닭을 사람에게 보이는 것**이었음. 여럿이 한 프로젝트를 보면 「왜 안 올라가지」가 됨. - 분석을 띄우는 **경로 넷 모두** 시작한 사람을 `params.started_by` 로 담음. - `analysis_lock_owner` 가 그 id 로 이름을 붙여 냄 — 옛 자료는 id 가 없어 **이름 없이 잠금만** 돎(막는 것이 먼저). - `/upload-overview` 응답에 `analysis_lock` 을 실어 B03 화면이 띠로 보임. 화면 실측 — 「엄상돈 님이 올린 자료를 분석하는 중입니다」 띠가 경고색으로 뜸(응답을 잠깐 가로채 확인하고 곧바로 되돌림). 지금 도는 분석이 없어 실제 잠금 화면은 다음 업로드 때 볼 것. 시험 넷 추가(도는 중 아님·이름 붙음·옛 자료·경로 넷 대조), 전체 1211 통과·실패 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -154,6 +154,16 @@ class UploadOverviewSession(BaseModel):
|
||||
updated_at: str | None = None
|
||||
|
||||
|
||||
class UploadLockInfo(BaseModel):
|
||||
"""지금 분석이 도는 중이면 **누가 시작했는지**. 도는 중이 아니면 응답에 안 실린다."""
|
||||
|
||||
running: bool = True
|
||||
user_id: int | None = None
|
||||
name: str | None = None
|
||||
email: str | None = None
|
||||
started_at: str | None = None
|
||||
|
||||
|
||||
class UploadOverviewResponse(BaseModel):
|
||||
"""B03 재접속 시 업로드 현황 — localStorage가 아니라 이 응답이 정본이다.
|
||||
|
||||
@@ -167,3 +177,6 @@ class UploadOverviewResponse(BaseModel):
|
||||
pending_sessions: list[UploadOverviewSession]
|
||||
required_complete: bool
|
||||
analysis_complete: bool
|
||||
# 잠금 표시(2026-09-09, 계획서 0-8) — 서버가 새 자료를 막는 동안 화면이 **왜·누구 때문에**
|
||||
# 막혔는지 보이게 한다. 도는 중이 아니면 `None`.
|
||||
analysis_lock: UploadLockInfo | None = None
|
||||
|
||||
Reference in New Issue
Block a user