| 12345678910111213141516171819202122232425262728 |
- """模型部件重命名:按查看器标签定位 GLB 节点并写回文件。"""
- from typing import Any
- from fastapi import APIRouter, HTTPException
- from pydantic import BaseModel, Field
- from services import model_edit_service
- router = APIRouter()
- class RenamePartInput(BaseModel):
- model: str = Field(min_length=1)
- label: str = Field(min_length=1)
- new_name: str = Field(min_length=1, max_length=100)
- @router.post("/api/models/rename-part")
- def rename_part(payload: RenamePartInput) -> dict[str, Any]:
- try:
- return model_edit_service.rename_part(payload.model, payload.label, payload.new_name)
- except FileNotFoundError as exc:
- raise HTTPException(status_code=404, detail=str(exc)) from exc
- except LookupError as exc:
- raise HTTPException(status_code=409, detail=str(exc)) from exc
- except ValueError as exc:
- raise HTTPException(status_code=400, detail=str(exc)) from exc
|