deepdata: core product code (backend, frontend, runtime, deepflow module)

This commit is contained in:
figmar
2026-08-30 19:23:38 +08:00
commit bd3db30be9
1405 changed files with 271727 additions and 0 deletions
@@ -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)