|
- from fastapi import APIRouter
- from typing import List
- from ..schemas.reslevis import (
- BuildingItem, PlanItem, ZoneItem, GatewayItem, TrackerItem,
- OperatorItem, SubjectItem, AlarmItem, TrackItem
- )
- from ..logica_reslevis.gateway import GatewayJsonRepository
- from ..schemas.reslevis import GatewayItem
-
- from fastapi import HTTPException
-
- gateway_repo = GatewayJsonRepository()
- router = APIRouter()
-
- @router.get("/getBuildings", response_model=List[BuildingItem])
- def getBuildings():
- return []
-
- @router.post("/postBuilding")
- def postBuilding(item: BuildingItem):
- return {"message": "OK"}
-
- @router.get("/getPlans", response_model=List[PlanItem])
- def getPlans():
- return []
-
- @router.post("/postPlan")
- def postPlan(item: PlanItem):
- return {"message": "OK"}
-
- @router.get("/getZones", response_model=List[ZoneItem])
- def getZones():
- return []
-
- @router.post("/postZone")
- def postZone(item: ZoneItem):
- return {"message": "OK"}
-
- @router.get("/getGateways", response_model=List[GatewayItem])
- def getGateways():
- return gateway_repo.list()
-
- @router.post("/postGateway")
- def postGateway(item: GatewayItem):
- try:
- gateway_repo.add(item)
- return {"message": "OK"}
- except ValueError as e:
- raise HTTPException(status_code=409, detail=str(e))
- except Exception as e:
- raise HTTPException(status_code=500, detail=f"Errore interno: {e}")
-
- @router.put("/updateGateway")
- def updateGateway(item: GatewayItem):
- try:
- gateway_repo.update(item)
- return {"message": "OK"}
- except ValueError as e:
- msg = str(e)
- if "non trovato" in msg:
- raise HTTPException(status_code=404, detail=msg)
- raise HTTPException(status_code=409, detail=msg)
- except Exception as e:
- raise HTTPException(status_code=500, detail=f"Errore interno: {e}")
-
- @router.delete("/removeGateway/{gateway_id}")
- def removeGateway(gateway_id: str):
- try:
- gateway_repo.remove(gateway_id)
- return {"message": "OK"}
- except ValueError as e:
- raise HTTPException(status_code=404, detail=str(e))
- except Exception as e:
- raise HTTPException(status_code=500, detail=f"Errore interno: {e}")
-
-
- @router.get("/getTrackers", response_model=List[TrackerItem])
- def getTrackers():
- return []
-
- @router.post("/postTracker")
- def postTracker(item: TrackerItem):
- return {"message": "OK"}
-
- @router.get("/getOperators", response_model=List[OperatorItem])
- def getOperators():
- return []
-
- @router.post("/postOperator")
- def postOperator(item: OperatorItem):
- return {"message": "OK"}
-
- @router.get("/getSubjects", response_model=List[SubjectItem])
- def getSubjects():
- return []
-
- @router.post("/postSubject")
- def postSubject(item: SubjectItem):
- return {"message": "OK"}
-
- @router.get("/getAlarms", response_model=List[AlarmItem])
- def getAlarms():
- return []
-
- @router.post("/postAlarm")
- def postAlarm(item: AlarmItem):
- return {"message": "OK"}
-
- @router.get("/getTracks", response_model=List[TrackItem])
- def getTracks():
- return []
-
- @router.post("/postTrack")
- def postTrack(item: TrackItem):
- return {"message": "OK"}
|