make case catalog read-only
This commit is contained in:
+1
-28
@@ -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))
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
from fastapi import APIRouter, Depends, File, UploadFile
|
||||
|
||||
from app.core.response import ApiResponse, ok
|
||||
from app.core.user_context import UserContext, get_user_context
|
||||
from app.schemas.imports import CaseSqlImportApplyResponse, CaseSqlImportPreviewResponse
|
||||
from app.services.case_sql_import_service import CaseSqlImportService
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/case-sql/preview", response_model=ApiResponse[CaseSqlImportPreviewResponse])
|
||||
async def preview_case_sql(
|
||||
file: UploadFile = File(...),
|
||||
_: UserContext = Depends(get_user_context),
|
||||
):
|
||||
"""病例 SQL 预检:上传接口 SQL 文件,解析可导入病例数据但不写入数据库。"""
|
||||
return ok(await CaseSqlImportService().preview(file))
|
||||
|
||||
|
||||
@router.post("/case-sql/apply", response_model=ApiResponse[CaseSqlImportApplyResponse])
|
||||
async def apply_case_sql(
|
||||
file: UploadFile = File(...),
|
||||
_: UserContext = Depends(get_user_context),
|
||||
):
|
||||
"""病例 SQL 导入:确认后把 SQL 中的病例表数据映射写入当前本地数据库。"""
|
||||
return ok(await CaseSqlImportService().apply(file))
|
||||
+1
-2
@@ -1,6 +1,6 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
from app.api import agent, auth, cases, evaluations, imports, knowledge, llm_test, sessions
|
||||
from app.api import agent, auth, cases, evaluations, knowledge, llm_test, sessions
|
||||
|
||||
api_router = APIRouter()
|
||||
api_router.include_router(agent.router, tags=["agent"])
|
||||
@@ -10,4 +10,3 @@ api_router.include_router(sessions.router, prefix="/sessions", tags=["sessions"]
|
||||
api_router.include_router(evaluations.router, prefix="/evaluations", tags=["evaluations"])
|
||||
api_router.include_router(knowledge.router, prefix="/knowledge", tags=["knowledge"])
|
||||
api_router.include_router(llm_test.router, prefix="/llm/test", tags=["llm-test"])
|
||||
api_router.include_router(imports.router, prefix="/imports", tags=["imports"])
|
||||
|
||||
Reference in New Issue
Block a user