make case catalog read-only

This commit is contained in:
刘金宝
2026-06-04 17:50:22 +08:00
parent b46e43aadc
commit 7f1803f9fa
15 changed files with 35 additions and 1268 deletions
+1 -28
View File
@@ -4,13 +4,7 @@ from sqlalchemy.orm import Session
from app.core.response import ApiResponse, ok
from app.core.user_context import UserContext, get_user_context
from app.db.session import get_db
from app.schemas.case import (
CaseDeletePreviewResponse,
CaseDeleteRequest,
CaseDeleteResponse,
CaseDetailResponse,
CaseListResponse,
)
from app.schemas.case import CaseDetailResponse, CaseListResponse
from app.services.case_service import CaseService
router = APIRouter()
@@ -36,24 +30,3 @@ def get_case_detail(
):
"""病例详情:返回训练入口信息和可申请检查类型。"""
return ok(CaseService(db).get_case_detail(case_id))
@router.get("/{case_id}/delete-preview", response_model=ApiResponse[CaseDeletePreviewResponse])
def get_case_delete_preview(
case_id: int,
_: UserContext = Depends(get_user_context),
db: Session = Depends(get_db),
):
"""病例删除预览:返回删除该病例会影响的训练与病例数据数量。"""
return ok(CaseService(db).get_delete_preview(case_id))
@router.delete("/{case_id}", response_model=ApiResponse[CaseDeleteResponse])
def delete_case(
case_id: int,
payload: CaseDeleteRequest,
ctx: UserContext = Depends(get_user_context),
db: Session = Depends(get_db),
):
"""病例删除:确认后级联删除病例、扩展表、评分规则、检查项和关联训练数据。"""
return ok(CaseService(db).delete_case(case_id, payload, ctx))