28 lines
950 B
Python
28 lines
950 B
Python
from fastapi import APIRouter, HTTPException
|
|
|
|
from ..schemas.template import DataSourcePayload
|
|
|
|
|
|
router = APIRouter(prefix="/api/data-sources", tags=["data-sources"])
|
|
|
|
DATA_SOURCES: list[dict] = [
|
|
{"code": "policy", "name": "政策文件", "description": "政策法规、制度文件等资料"},
|
|
{"code": "business_data", "name": "业务数据", "description": "业务系统导出的结构化数据"},
|
|
{"code": "research", "name": "调研材料", "description": "访谈、问卷、调研纪要等非结构化资料"},
|
|
]
|
|
|
|
|
|
@router.get("")
|
|
def list_data_sources():
|
|
return {"data": DATA_SOURCES, "message": "ok"}
|
|
|
|
|
|
@router.post("")
|
|
def create_data_source(payload: DataSourcePayload):
|
|
if any(item["code"] == payload.code for item in DATA_SOURCES):
|
|
raise HTTPException(status_code=400, detail="数据源编码已存在")
|
|
|
|
item = payload.model_dump()
|
|
DATA_SOURCES.append(item)
|
|
return {"data": item, "message": "ok"}
|