feat(api): standardize REST contracts and auth

This commit is contained in:
2026-07-30 20:38:51 +08:00
parent ae1a657554
commit ba947b616b
86 changed files with 54193 additions and 990 deletions
+25 -25
View File
@@ -32,7 +32,7 @@ from app.services.tjnetwork import (
router = APIRouter()
@router.get("/getqualityschema/", summary="获取水质架构", description="获取网络中水质对象的架构定义")
@router.get("/network-schemas/quality", summary="获取水质架构", description="获取网络中水质对象的架构定义")
async def fastapi_get_quality_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取水质架构。
@@ -40,7 +40,7 @@ async def fastapi_get_quality_schema(network: str = Query(..., description="管
"""
return get_quality_schema(network)
@router.get("/getqualityproperties/", summary="获取水质属性", description="获取指定节点的水质属性信息")
@router.get("/quality-configurations/properties", summary="获取水质属性", description="获取指定节点的水质属性信息")
async def fastapi_get_quality_properties(
network: str = Query(..., description="管网名称(或数据库名称)"),
node: str = Query(..., description="节点ID")
@@ -51,7 +51,7 @@ async def fastapi_get_quality_properties(
"""
return get_quality(network, node)
@router.post("/setqualityproperties/", response_model=None, summary="设置水质属性", description="更新指定节点的水质属性")
@router.patch("/quality-configurations/properties", response_model=None, summary="设置水质属性", description="更新指定节点的水质属性")
async def fastapi_set_quality_properties(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -63,7 +63,7 @@ async def fastapi_set_quality_properties(
props = await req.json()
return set_quality(network, ChangeSet(props))
@router.get("/getemitterschema", summary="获取发射器架构", description="获取网络中发射器对象的架构定义")
@router.get("/network-schemas/emitter", summary="获取发射器架构", description="获取网络中发射器对象的架构定义")
async def fastapi_get_emitter_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取发射器架构。
@@ -71,7 +71,7 @@ async def fastapi_get_emitter_schema(network: str = Query(..., description="管
"""
return get_emitter_schema(network)
@router.get("/getemitterproperties/", summary="获取发射器属性", description="获取指定连接点的发射器属性信息")
@router.get("/emitters/properties", summary="获取发射器属性", description="获取指定连接点的发射器属性信息")
async def fastapi_get_emitter_properties(
network: str = Query(..., description="管网名称(或数据库名称)"),
junction: str = Query(..., description="连接点ID")
@@ -82,7 +82,7 @@ async def fastapi_get_emitter_properties(
"""
return get_emitter(network, junction)
@router.post("/setemitterproperties/", response_model=None, summary="设置发射器属性", description="更新指定连接点的发射器属性")
@router.patch("/emitters/properties", response_model=None, summary="设置发射器属性", description="更新指定连接点的发射器属性")
async def fastapi_set_emitter_properties(
network: str = Query(..., description="管网名称(或数据库名称)"),
junction: str = Query(..., description="连接点ID"),
@@ -96,7 +96,7 @@ async def fastapi_set_emitter_properties(
ps = {"junction": junction} | props
return set_emitter(network, ChangeSet(ps))
@router.get("/getsourcechema/", summary="获取水源架构", description="获取网络中水源对象的架构定义")
@router.get("/network-schemas/source", summary="获取水源架构", description="获取网络中水源对象的架构定义")
async def fastapi_get_source_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取水源架构。
@@ -104,7 +104,7 @@ async def fastapi_get_source_schema(network: str = Query(..., description="管
"""
return get_source_schema(network)
@router.get("/getsource/", summary="获取水源属性", description="获取指定节点的水源属性信息")
@router.get("/sources/detail", summary="获取水源属性", description="获取指定节点的水源属性信息")
async def fastapi_get_source(
network: str = Query(..., description="管网名称(或数据库名称)"),
node: str = Query(..., description="节点ID")
@@ -115,7 +115,7 @@ async def fastapi_get_source(
"""
return get_source(network, node)
@router.post("/setsource/", response_model=None, summary="设置水源属性", description="更新指定节点的水源属性")
@router.patch("/sources", response_model=None, summary="设置水源属性", description="更新指定节点的水源属性")
async def fastapi_set_source(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -127,7 +127,7 @@ async def fastapi_set_source(
props = await req.json()
return set_source(network, ChangeSet(props))
@router.post("/addsource/", response_model=None, summary="添加水源", description="在网络中添加一个新的水源")
@router.post("/sources", response_model=None, summary="添加水源", description="在网络中添加一个新的水源")
async def fastapi_add_source(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -139,7 +139,7 @@ async def fastapi_add_source(
props = await req.json()
return add_source(network, ChangeSet(props))
@router.post("/deletesource/", response_model=None, summary="删除水源", description="从网络中删除指定节点的水源")
@router.delete("/sources", response_model=None, summary="删除水源", description="从网络中删除指定节点的水源")
async def fastapi_delete_source(
network: str = Query(..., description="管网名称(或数据库名称)"),
node: str = Query(..., description="节点ID")
@@ -151,7 +151,7 @@ async def fastapi_delete_source(
props = {"node": node}
return delete_source(network, ChangeSet(props))
@router.get("/getreactionschema/", summary="获取反应架构", description="获取网络中反应对象的架构定义")
@router.get("/network-schemas/reaction", summary="获取反应架构", description="获取网络中反应对象的架构定义")
async def fastapi_get_reaction_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取反应架构。
@@ -159,7 +159,7 @@ async def fastapi_get_reaction_schema(network: str = Query(..., description="管
"""
return get_reaction_schema(network)
@router.get("/getreaction/", summary="获取反应属性", description="获取指定网络中的反应属性信息")
@router.get("/reactions/detail", summary="获取反应属性", description="获取指定网络中的反应属性信息")
async def fastapi_get_reaction(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, Any]:
"""获取反应属性。
@@ -167,7 +167,7 @@ async def fastapi_get_reaction(network: str = Query(..., description="管网名
"""
return get_reaction(network)
@router.post("/setreaction/", response_model=None, summary="设置反应属性", description="更新指定网络中的反应属性")
@router.patch("/reactions", response_model=None, summary="设置反应属性", description="更新指定网络中的反应属性")
async def fastapi_set_reaction(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -179,7 +179,7 @@ async def fastapi_set_reaction(
props = await req.json()
return set_reaction(network, ChangeSet(props))
@router.get("/getpipereactionschema/", summary="获取管道反应架构", description="获取网络中管道反应对象的架构定义")
@router.get("/network-schemas/pipe-reaction", summary="获取管道反应架构", description="获取网络中管道反应对象的架构定义")
async def fastapi_get_pipe_reaction_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取管道反应架构。
@@ -187,7 +187,7 @@ async def fastapi_get_pipe_reaction_schema(network: str = Query(..., description
"""
return get_pipe_reaction_schema(network)
@router.get("/getpipereaction/", summary="获取管道反应属性", description="获取指定管道的反应属性信息")
@router.get("/pipe-reactions/detail", summary="获取管道反应属性", description="获取指定管道的反应属性信息")
async def fastapi_get_pipe_reaction(
network: str = Query(..., description="管网名称(或数据库名称)"),
pipe: str = Query(..., description="管道ID")
@@ -198,7 +198,7 @@ async def fastapi_get_pipe_reaction(
"""
return get_pipe_reaction(network, pipe)
@router.post("/setpipereaction/", response_model=None, summary="设置管道反应属性", description="更新指定管道的反应属性")
@router.patch("/pipe-reactions", response_model=None, summary="设置管道反应属性", description="更新指定管道的反应属性")
async def fastapi_set_pipe_reaction(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -210,7 +210,7 @@ async def fastapi_set_pipe_reaction(
props = await req.json()
return set_pipe_reaction(network, ChangeSet(props))
@router.get("/gettankreactionschema/", summary="获取水池反应架构", description="获取网络中水池反应对象的架构定义")
@router.get("/network-schemas/tank-reaction", summary="获取水池反应架构", description="获取网络中水池反应对象的架构定义")
async def fastapi_get_tank_reaction_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取水池反应架构。
@@ -218,7 +218,7 @@ async def fastapi_get_tank_reaction_schema(network: str = Query(..., description
"""
return get_tank_reaction_schema(network)
@router.get("/gettankreaction/", summary="获取水池反应属性", description="获取指定水池的反应属性信息")
@router.get("/tank-reactions/detail", summary="获取水池反应属性", description="获取指定水池的反应属性信息")
async def fastapi_get_tank_reaction(
network: str = Query(..., description="管网名称(或数据库名称)"),
tank: str = Query(..., description="水池ID")
@@ -229,7 +229,7 @@ async def fastapi_get_tank_reaction(
"""
return get_tank_reaction(network, tank)
@router.post("/settankreaction/", response_model=None, summary="设置水池反应属性", description="更新指定水池的反应属性")
@router.patch("/tank-reactions", response_model=None, summary="设置水池反应属性", description="更新指定水池的反应属性")
async def fastapi_set_tank_reaction(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -241,7 +241,7 @@ async def fastapi_set_tank_reaction(
props = await req.json()
return set_tank_reaction(network, ChangeSet(props))
@router.get("/getmixingschema/", summary="获取混合架构", description="获取网络中混合对象的架构定义")
@router.get("/network-schemas/mixing", summary="获取混合架构", description="获取网络中混合对象的架构定义")
async def fastapi_get_mixing_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
"""获取混合架构。
@@ -249,7 +249,7 @@ async def fastapi_get_mixing_schema(network: str = Query(..., description="管
"""
return get_mixing_schema(network)
@router.get("/getmixing/", summary="获取混合属性", description="获取指定水池的混合属性信息")
@router.get("/mixing-configurations/detail", summary="获取混合属性", description="获取指定水池的混合属性信息")
async def fastapi_get_mixing(
network: str = Query(..., description="管网名称(或数据库名称)"),
tank: str = Query(..., description="水池ID")
@@ -260,7 +260,7 @@ async def fastapi_get_mixing(
"""
return get_mixing(network, tank)
@router.post("/setmixing/", response_model=None, summary="设置混合属性", description="更新指定水池的混合属性")
@router.patch("/mixing-configurations", response_model=None, summary="设置混合属性", description="更新指定水池的混合属性")
async def fastapi_set_mixing(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -272,7 +272,7 @@ async def fastapi_set_mixing(
props = await req.json()
return api.set_mixing(network, ChangeSet(props))
@router.post("/addmixing/", response_model=None, summary="添加混合", description="在网络中添加一个新的混合")
@router.post("/mixing-configurations", response_model=None, summary="添加混合", description="在网络中添加一个新的混合")
async def fastapi_add_mixing(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None
@@ -284,7 +284,7 @@ async def fastapi_add_mixing(
props = await req.json()
return add_mixing(network, ChangeSet(props))
@router.post("/deletemixing/", response_model=None, summary="删除混合", description="从网络中删除指定的混合")
@router.delete("/mixing-configurations", response_model=None, summary="删除混合", description="从网络中删除指定的混合")
async def fastapi_delete_mixing(
network: str = Query(..., description="管网名称(或数据库名称)"),
req: Request = None