- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
---
|
|
type: page-api
|
|
status: stable
|
|
page_id: B03_FileInput
|
|
related_pages: ["[[B03_FileInput/B03_frontend]]", "[[B03_FileInput/B03_backend]]", "[[B03_FileInput/B03_db]]", "[[architecture/project_map]]", "[[architecture/workflow_data_flow]]"]
|
|
last_updated: 2026-07-31
|
|
source: ["docs/raw/verification/2026-07-31_verify_B03_planned_route_csv.md"]
|
|
---
|
|
|
|
# B03_FileInput — API
|
|
|
|
이 API는 [[B03_FileInput/B03_frontend]]의 업로드 요청을 [[B03_FileInput/B03_backend]]에 연결하고 [[workflow_state]]의 stage 0·1 상태를 조회·변경한다.
|
|
|
|
기본 prefix: `/api/projects` (`B03_FileInput_Router.py:66`). 세션 인증과 공통 오류 형식은 [[auth_rbac]], [[api_common]]을 참조한다.
|
|
|
|
## 일반 업로드
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `POST /{project_id}/files` | `B03_FileInput_Router.py:267` | 계획노선 CSV (필수) / LAS / TIF / TFW / PRJ / DXF 다중 업로드·검증·메타데이터 등록 |
|
|
|
|
## 청크 업로드
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `POST /{project_id}/upload-sessions` | `B03_FileInput_Router.py:400` | 청크 업로드 세션 생성 |
|
|
| `POST /{project_id}/chunks` | `B03_FileInput_Router.py:443` | 청크 1개 저장 및 진행률 반환 |
|
|
| `POST /{project_id}/finalize` | `B03_FileInput_Router.py:507` | 모든 청크 병합·원본 파일 등록 |
|
|
| `GET /{project_id}/upload-status/{session_id}` | `B03_FileInput_Router.py:623` | 세션 상태·완료 청크 인덱스 조회 |
|
|
|
|
## workflow 조회
|
|
| 항목 | 위치 | 역할 |
|
|
|---|---|---|
|
|
| `GET /{project_id}/workflow-state` | `B03_FileInput_Router.py:667` | `current_stage`와 7단계 상태 반환 (필수 계획노선 검증 연동) |
|
|
|
|
전체 경로는 `/api/projects/{project_id}/...`이며, workflow 상태 공통 정의는 [[workflow_state]]에 둔다.
|
|
|