Files
Aislo/docs/wiki/pages/B06_Section/B06_api.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `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>
2026-09-09 18:19:07 +09:00

33 lines
3.4 KiB
Markdown

---
type: page-api
status: stable
page_id: B06_Section
related_pages: ["[[B06_Section/B06_frontend]]", "[[B06_Section/B06_backend]]", "[[B06_Section/B06_db]]", "[[B06_Section/B06_culvert_set]]", "[[architecture/project_map]]", "[[architecture/workflow_data_flow]]"]
last_updated: 2026-08-22
source: ["docs/raw/verification/2026-07-19_verify_B05_B06_UI_Station_Improvement.md", "docs/raw/verification/2026-07-19_verify_B05_B06_improvements.md", "docs/raw/verification/2026-07-19_verify_responsive_layout_drag.md", "docs/raw/verification/2026-07-19_verify_B05_B06_차트_레이아웃_후속보정.md", "docs/raw/verification/2026-07-21_verify_B06_ground_section_type_B07_linkage.md", "docs/raw/verification/2026-07-25_verify_b05_b06_modifications.md", "docs/raw/verification/2026-08-02_verify_mass_haul_and_drainage_fixes.md", "docs/raw/plans/2026-08-20_plan_B06_배수관_횡단도_세트.md", "docs/raw/plans/2026-08-22_plan_B06_집수정_조정_계류측_성토부.md"]
---
# B06_Section — API
이 API는 [[B06_Section/B06_frontend]]의 횡단 조회·편집·확정을 [[B06_Section/B06_backend]]에 연결하고 [[workflow_state]] stage 3을 변경한다.
기본 prefix: `/api/projects` (`B06_Section_Router.py:33`). 공통 세션·오류 형식은 [[auth_rbac]], [[api_common]]을 참조한다.
| 항목 | 위치 | 역할 |
|---|---|---|
| `GET /{project_id}/sections/{route_id}` | `B06_Section_Router.py:52` | route 종횡단 결과 요약 조회 (B05 계산 미필 시 404 오류) |
| `POST /{project_id}/sections/{route_id}/confirm` | `B06_Section_Router.py:120` | 해당 route의 종횡단 결과 확정 및 **유토곡선 결과(`mass_haul`)를 종단 데이터에 병합 저장** (미지정 측점은 토사+좌절토 기본값 자동 채움 후 stage 3 COMPLETE 전이) |
| `GET /{project_id}/sections/detail` | `B06_Section_Router.py` | 종단 결과와 다수 횡단면을 일괄 조회하고 배수관 측점에는 `culvert` 세트 제원을 결합 |
| `GET /{project_id}/sections/road-widths` | `B06_Section_Router.py` | 임도 등급별 법정 최소 도로폭 정보(`FOREST_ROAD_MIN_WIDTH_M`) 조회 (B05 프론트엔드가 측점 가로선 반폭 계산 시 호출) |
| `POST /{project_id}/sections/{route_id}/regenerate` | `B06_Section_Router.py:85` | 횡단 반폭 재생성 요청 (`SectionRegenerateRequest` 매핑) |
| `POST /{project_id}/sections/{route_id}/cross-design` | `B06_Section_Router.py` | 측점별 지반·단면·측구와 집수정 `basin_adjust`(폭·높이·좌우·상하)를 `data.design`에 저장 (`CrossDesignRequest``CrossDesignResponse`) |
| `GET /{project_id}/recent-company-projects` | `B06_Section_Router.py` | 동일 회사 최근 5개 프로젝트 목록 반환 API |
| `GET /{project_id}/standard-cross-section-from/{target_id}` | `B06_Section_Router.py` | 지정 타 프로젝트의 표준단면 설계값 로드 API |
> [!NOTE]
> 기존에 존재하던 `POST /{project_id}/sections/generate` 엔드포인트(종횡단 자동 생성)는 B05 단계로 계산 기능이 오케스트레이션 이관됨에 따라 완전히 삭제되었습니다.
오류는 표준 `{"status":"error","message":...}` 형식으로 반환한다.
배수관 세트는 기존 상세 조회·재생성 응답의 자유형 횡단 dict에 추가되므로 새 Pydantic API 스키마나 별도 엔드포인트는 만들지 않는다. 프론트 계약은 [[B06_Section/B06_culvert_set]]을 따른다.