deepdata: core product code (backend, frontend, runtime, deepflow module)
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
from .about import router as about_router
|
||||
from app.module.system.interface.models import router as models_router
|
||||
from .sys_param import router as sys_param_router
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
router.include_router(about_router)
|
||||
router.include_router(models_router)
|
||||
router.include_router(sys_param_router)
|
||||
@@ -0,0 +1,22 @@
|
||||
from fastapi import APIRouter
|
||||
from typing import Dict, Any
|
||||
from app.core.config import settings
|
||||
from app.module.shared.schema import StandardResponse
|
||||
|
||||
from ..schema import HealthResponse
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/health", response_model=StandardResponse[HealthResponse])
|
||||
async def health_check():
|
||||
"""健康检查端点"""
|
||||
|
||||
return StandardResponse(
|
||||
code="0",
|
||||
message="success",
|
||||
data=HealthResponse(
|
||||
status="healthy",
|
||||
service="Label Studio Adapter",
|
||||
version=settings.app_version
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,76 @@
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
|
||||
from app.core.exception import SuccessResponse
|
||||
from app.module.shared.schema import StandardResponse, PaginatedData
|
||||
from app.module.system.schema.models import (
|
||||
CreateModelRequest,
|
||||
QueryModelRequest,
|
||||
ModelsResponse,
|
||||
ProviderItem,
|
||||
ModelType,
|
||||
)
|
||||
from app.module.system.service.models_service import ModelsService
|
||||
|
||||
router = APIRouter(prefix="/models", tags=["models"])
|
||||
|
||||
|
||||
@router.get("/providers", response_model=StandardResponse[list[ProviderItem]])
|
||||
async def get_providers(svc: ModelsService = Depends()):
|
||||
"""获取厂商列表,与 Java GET /models/providers 一致。"""
|
||||
data = await svc.get_providers()
|
||||
return SuccessResponse(data=data)
|
||||
|
||||
|
||||
@router.get("/list", response_model=StandardResponse[PaginatedData[ModelsResponse]])
|
||||
async def get_models(
|
||||
page: int = Query(0, ge=0, description="页码,从 0 开始"),
|
||||
size: int = Query(20, gt=0, le=2000, description="每页大小"),
|
||||
provider: str | None = Query(None, description="模型提供商"),
|
||||
type: ModelType | None = Query(None, description="模型类型"),
|
||||
isEnabled: bool | None = Query(None, description="是否启用"),
|
||||
isDefault: bool | None = Query(None, description="是否默认"),
|
||||
svc: ModelsService = Depends(),
|
||||
):
|
||||
"""分页查询模型列表,与 Java GET /models/list 一致。"""
|
||||
q = QueryModelRequest(
|
||||
page=page,
|
||||
size=size,
|
||||
provider=provider,
|
||||
type=type,
|
||||
isEnabled=isEnabled,
|
||||
isDefault=isDefault,
|
||||
)
|
||||
data = await svc.get_models(q)
|
||||
return SuccessResponse(data=data)
|
||||
|
||||
|
||||
@router.post("/create", response_model=StandardResponse[ModelsResponse])
|
||||
async def create_model(req: CreateModelRequest, svc: ModelsService = Depends()):
|
||||
"""创建模型配置,与 Java POST /models/create 一致。"""
|
||||
data = await svc.create_model(req)
|
||||
return SuccessResponse(data=data)
|
||||
|
||||
|
||||
@router.get("/{model_id}", response_model=StandardResponse[ModelsResponse])
|
||||
async def get_model_detail(model_id: str, svc: ModelsService = Depends()):
|
||||
"""获取模型详情,与 Java GET /models/{modelId} 一致。"""
|
||||
data = await svc.get_model_detail(model_id)
|
||||
return SuccessResponse(data=data)
|
||||
|
||||
|
||||
@router.put("/{model_id}", response_model=StandardResponse[ModelsResponse])
|
||||
async def update_model(
|
||||
model_id: str,
|
||||
req: CreateModelRequest,
|
||||
svc: ModelsService = Depends(),
|
||||
):
|
||||
"""更新模型配置,与 Java PUT /models/{modelId} 一致。"""
|
||||
data = await svc.update_model(model_id, req)
|
||||
return SuccessResponse(data=data)
|
||||
|
||||
|
||||
@router.delete("/{model_id}", response_model=StandardResponse[None])
|
||||
async def delete_model(model_id: str, svc: ModelsService = Depends()):
|
||||
"""删除模型配置,与 Java DELETE /models/{modelId} 一致。"""
|
||||
await svc.delete_model(model_id)
|
||||
return SuccessResponse(data=None)
|
||||
@@ -0,0 +1,106 @@
|
||||
"""
|
||||
System Parameter API Routes
|
||||
系统参数 REST API 路由
|
||||
"""
|
||||
|
||||
from typing import List
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.db.session import get_db
|
||||
from app.module.shared.schema.common import StandardResponse
|
||||
from app.module.system.schema.sys_param import (
|
||||
SysParamDto,
|
||||
UpdateParamValueRequest,
|
||||
CreateSysParamRequest,
|
||||
)
|
||||
from app.module.system.service.sys_param_service import SysParamService
|
||||
|
||||
router = APIRouter(prefix="/sys-param", tags=["System Parameters"])
|
||||
|
||||
|
||||
@router.get(
|
||||
"/list",
|
||||
response_model=StandardResponse[List[SysParamDto]],
|
||||
summary="获取系统参数列表",
|
||||
description="获取所有系统参数配置",
|
||||
)
|
||||
async def list_params(db: AsyncSession = Depends(get_db)):
|
||||
"""获取系统参数列表"""
|
||||
service = SysParamService(db)
|
||||
params = await service.list_params()
|
||||
return StandardResponse(code="0", message="success", data=params)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/{param_id}",
|
||||
response_model=StandardResponse[SysParamDto],
|
||||
summary="获取系统参数详情",
|
||||
description="根据ID获取系统参数详情",
|
||||
)
|
||||
async def get_param(
|
||||
param_id: str,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""获取系统参数详情"""
|
||||
service = SysParamService(db)
|
||||
param = await service.get_param_by_id(param_id)
|
||||
if not param:
|
||||
from app.core.exception import BusinessError, ErrorCodes
|
||||
|
||||
raise BusinessError(
|
||||
ErrorCodes.NOT_FOUND, f"System parameter {param_id} not found"
|
||||
)
|
||||
return StandardResponse(code="0", message="success", data=param)
|
||||
|
||||
|
||||
@router.post(
|
||||
"",
|
||||
response_model=StandardResponse[SysParamDto],
|
||||
summary="创建系统参数",
|
||||
description="创建新的系统参数",
|
||||
)
|
||||
async def create_param(
|
||||
request: CreateSysParamRequest,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""创建系统参数"""
|
||||
service = SysParamService(db)
|
||||
param = await service.create_param(request)
|
||||
await db.commit()
|
||||
return StandardResponse(code="0", message="success", data=param)
|
||||
|
||||
|
||||
@router.put(
|
||||
"/{param_id}",
|
||||
response_model=StandardResponse[SysParamDto],
|
||||
summary="更新系统参数值",
|
||||
description="更新指定系统参数的值",
|
||||
)
|
||||
async def update_param_value(
|
||||
param_id: str,
|
||||
request: UpdateParamValueRequest,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""更新系统参数值"""
|
||||
service = SysParamService(db)
|
||||
param = await service.update_param_value(param_id, request.param_value)
|
||||
await db.commit()
|
||||
return StandardResponse(code="0", message="success", data=param)
|
||||
|
||||
|
||||
@router.delete(
|
||||
"/{param_id}",
|
||||
response_model=StandardResponse[str],
|
||||
summary="删除系统参数",
|
||||
description="删除指定的系统参数",
|
||||
)
|
||||
async def delete_param(
|
||||
param_id: str,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""删除系统参数"""
|
||||
service = SysParamService(db)
|
||||
await service.delete_param(param_id)
|
||||
await db.commit()
|
||||
return StandardResponse(code="0", message="success", data=param_id)
|
||||
Reference in New Issue
Block a user