From 1cf47f39b2a40271fe1477f1b2ccc9fe4860c9e5 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 6 Sep 2026 16:11:40 +0900 Subject: [PATCH] =?UTF-8?q?fix(B06):=20=EC=9E=84=EC=8B=9C=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20=EC=97=94=EB=93=9C=ED=8F=AC=EC=9D=B8=ED=8A=B8?= =?UTF-8?q?=EA=B0=80=20=EA=B9=A8=EC=A0=B8=20=EC=9E=88=EB=8D=98=20=EA=B2=83?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 포장·세월교 보정 헬퍼를 저장 시점으로 옮기면서 `@router.post(.../save)` 데코레이터와 `save_sections` 사이에 끼워 넣어, 라우트가 헬퍼(None 반환)에 붙어 있었다. 저장이 500(ResponseValidationError)으로 떨어졌다. 헬퍼를 데코레이터 앞으로 옮겨 라우트를 되돌렸다. 검증(용화 신규 프로젝트, 노선 145): 저장 200, 카드에서 고른 지반유형이 DB `cross_sections.data.design.ground_type` 에 반영되고 면적도 브라우저 계산값으로 갱신됨. Co-Authored-By: Claude Opus 5 (1M context) --- B06_Section/B06_Section_Router_Confirm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/B06_Section/B06_Section_Router_Confirm.py b/B06_Section/B06_Section_Router_Confirm.py index 1ef95832..ea915f03 100644 --- a/B06_Section/B06_Section_Router_Confirm.py +++ b/B06_Section/B06_Section_Router_Confirm.py @@ -163,7 +163,6 @@ async def _apply_section_edits( ) -@router.post("/{project_id}/sections/{route_id}/save", response_model=SectionConfirmResponse) async def _enforce_stored_designs(project_id: UUID, route_id: int) -> None: """저장분의 포장 구간·세월교 노면 하강을 바로잡는다 — 편집분을 얹기 **전에** 돈다. @@ -182,6 +181,7 @@ async def _enforce_stored_designs(project_id: UUID, route_id: int) -> None: ) +@router.post("/{project_id}/sections/{route_id}/save", response_model=SectionConfirmResponse) async def save_sections( project_id: UUID, route_id: int,