perf(m02): 구조물 조합 고르기 모달 로딩 — 목록 그 폴더만 · 후보 찾기 기억 · 사본 읽기 · 셈 한 번(156-2)
- 까닭: 복사본 목록이 사본마다 원본 단가 묶음을 다시 모음(자재 후보 찾기 같은 조건 되풀이 · m01.logic 검사) - 목록 ?folder= = 그 복사본 하나만 원본 대조 · 모달은 고르는 구조물 폴더만 - 재료 후보 찾기 = 마스터 색인 하나에 같은 조건 한 번 · 로직 파일 이름만 찾음 - 모달 한 번 보이는 동안 사본 부분 · 셈 한 번만(카드 · 일위대가 · 상태 줄 공유) - 사본 7개 모달 열기 13.4초 → 처음 0.43초 · 다시 0.06초 · 원본판 · 단가 묶음 전후 같음 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JywHxQuWPk6UYXTebyrBoU
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
"""프로젝트 구조물 집계 항목 복사본 길 — `/api/projects/{id}/items…` (PLAN 25-1b · 26-1 · 26-2b).
|
||||
|
||||
폴더 = 구조물 id(`structure_id` · 관 지점은 `pipe@측점`) — 같은 항목을 고른 구조물도 복사본은 따로.
|
||||
GET …/items 목록(원본 · 가져온날 · 마스터바뀜 · 원본없음)
|
||||
GET …/items[?folder=] 목록(원본 · 가져온날 · 마스터바뀜 · 원본없음) ·
|
||||
folder = 그 폴더 하나만(고르기 모달)
|
||||
POST …/items {structure, layer, owner, key} 미리 가져오기 → {폴더, 만듦, 가져온날}
|
||||
POST …/items/new {structure, 경로, 이름, 단위} 새 항목(개인 층에도) · 회사 없음 409
|
||||
GET …/items/{폴더}/{종류} {종류, 판, 내용}
|
||||
@@ -103,9 +104,12 @@ async def _run(fn, *args):
|
||||
|
||||
@router.get("/{project_id}/items")
|
||||
async def list_items(
|
||||
project_id: str, session: dict[str, Any] = Depends(verify_session)
|
||||
project_id: str,
|
||||
folder: str | None = None,
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> dict[str, Any]:
|
||||
return {"항목": await _run(copies.list_items, await _root(session, project_id))}
|
||||
root = await _root(session, project_id)
|
||||
return {"항목": await _run(copies.list_items, root, folder)}
|
||||
|
||||
|
||||
@router.post("/{project_id}/items")
|
||||
|
||||
Reference in New Issue
Block a user