Forráskód Böngészése

add three routers for handling devices's control

chenhaiyang 4 éve
szülő
commit
06ca99da26
1 módosított fájl, 32 hozzáadás és 2 törlés
  1. 32 2
      app/api/routers/equipment.py

+ 32 - 2
app/api/routers/equipment.py

@@ -3,14 +3,16 @@
 from enum import Enum
 
 import numpy as np
-from fastapi import APIRouter, Depends, Query
+from fastapi import APIRouter, Depends, HTTPException, Query
 from loguru import logger
 from sqlalchemy.orm import Session
 
 from app.api.dependencies.db import get_db
 from app.controllers.equipment.fcu.basic import get_fcu_control_result
+from app.controllers.equipment.pau.switch import build_acatfu_switch_result
 from app.controllers.equipment.vav import get_vav_control_v1, get_vav_control_v2
-from app.models.domain.equipment import EquipmentControlResponse, EquipmentControlRequest
+from app.models.domain.equipment import EquipmentControlResponse, EquipmentControlRequest, EquipmentInstructionsResponse
+from app.schemas.equipment import PAU
 from app.utils.date import get_time_str
 
 
@@ -93,3 +95,31 @@ async def get_fcu_command(equipment_control_info: EquipmentControlRequest, db: S
     }
     logger.info(response)
     return response
+
+
+@router.get('/instructions/acatah', response_model=EquipmentInstructionsResponse)
+async def get_acatah_instructions(
+        project_id: str = Query(..., max_length=50, regex='^Pj', alias='projectId'),
+        equip_id: str = Query(..., max_length=50, regex='^Eq', alias='equipId')
+):
+    pass
+
+
+@router.get('/instructions/acvtsf', response_model=EquipmentInstructionsResponse)
+async def get_acvtsf_instructions(
+        project_id: str = Query(..., max_length=50, regex='^Pj', alias='projectId'),
+        equip_id: str = Query(..., max_length=50, regex='^Eq', alias='equipId')
+):
+    pass
+
+
+@router.get('/instructions/acatfu', response_model=PAU)
+async def get_acatfu_instructions(
+        project_id: str = Query(..., max_length=50, regex='^Pj', alias='projectId'),
+        equip_id: str = Query(..., max_length=50, regex='^Eq', alias='equipId')
+):
+    acatfu = await build_acatfu_switch_result(project_id, equip_id)
+    if not acatfu:
+        raise HTTPException(status_code=404, detail='Missing data')
+
+    return acatfu