|
|
@@ -3,7 +3,7 @@ from typing import List |
|
|
|
|
|
|
|
|
from schemas.reslevis import ( |
|
|
from schemas.reslevis import ( |
|
|
BuildingItem, |
|
|
BuildingItem, |
|
|
PlanItem, |
|
|
|
|
|
|
|
|
FloorItem, |
|
|
ZoneItem, |
|
|
ZoneItem, |
|
|
GatewayItem, |
|
|
GatewayItem, |
|
|
TrackerItem, |
|
|
TrackerItem, |
|
|
@@ -11,17 +11,19 @@ from schemas.reslevis import ( |
|
|
SubjectItem, |
|
|
SubjectItem, |
|
|
AlarmItem, |
|
|
AlarmItem, |
|
|
TrackItem, |
|
|
TrackItem, |
|
|
|
|
|
TrackerZoneItem, |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
from logica_reslevis.gateway import GatewayJsonRepository |
|
|
from logica_reslevis.gateway import GatewayJsonRepository |
|
|
from logica_reslevis.building import BuildingJsonRepository |
|
|
from logica_reslevis.building import BuildingJsonRepository |
|
|
from logica_reslevis.plan import PlanJsonRepository |
|
|
|
|
|
|
|
|
from logica_reslevis.floor import FloorJsonRepository |
|
|
from logica_reslevis.zone import ZoneJsonRepository |
|
|
from logica_reslevis.zone import ZoneJsonRepository |
|
|
from logica_reslevis.tracker import TrackerJsonRepository |
|
|
from logica_reslevis.tracker import TrackerJsonRepository |
|
|
from logica_reslevis.operator import OperatorJsonRepository |
|
|
from logica_reslevis.operator import OperatorJsonRepository |
|
|
from logica_reslevis.subject import SubjectJsonRepository |
|
|
from logica_reslevis.subject import SubjectJsonRepository |
|
|
from logica_reslevis.alarm import AlarmJsonRepository |
|
|
from logica_reslevis.alarm import AlarmJsonRepository |
|
|
from logica_reslevis.track import TrackJsonRepository |
|
|
from logica_reslevis.track import TrackJsonRepository |
|
|
|
|
|
from logica_reslevis.tracker_zone import TrackerZoneJsonRepository |
|
|
|
|
|
|
|
|
from security import get_current_user |
|
|
from security import get_current_user |
|
|
|
|
|
|
|
|
@@ -29,13 +31,14 @@ router = APIRouter() |
|
|
|
|
|
|
|
|
gateway_repo = GatewayJsonRepository() |
|
|
gateway_repo = GatewayJsonRepository() |
|
|
building_repo = BuildingJsonRepository() |
|
|
building_repo = BuildingJsonRepository() |
|
|
plan_repo = PlanJsonRepository() |
|
|
|
|
|
|
|
|
floor_repo = FloorJsonRepository() |
|
|
zone_repo = ZoneJsonRepository() |
|
|
zone_repo = ZoneJsonRepository() |
|
|
tracker_repo = TrackerJsonRepository() |
|
|
tracker_repo = TrackerJsonRepository() |
|
|
operator_repo = OperatorJsonRepository() |
|
|
operator_repo = OperatorJsonRepository() |
|
|
subject_repo = SubjectJsonRepository() |
|
|
subject_repo = SubjectJsonRepository() |
|
|
alarm_repo = AlarmJsonRepository() |
|
|
alarm_repo = AlarmJsonRepository() |
|
|
track_repo = TrackJsonRepository() |
|
|
track_repo = TrackJsonRepository() |
|
|
|
|
|
tracker_zone_repo = TrackerZoneJsonRepository() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
@@ -43,61 +46,27 @@ track_repo = TrackJsonRepository() |
|
|
response_model=List[GatewayItem], |
|
|
response_model=List[GatewayItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getGateway", |
|
|
|
|
|
) |
|
|
) |
|
|
def getGateways(): |
|
|
def getGateways(): |
|
|
return gateway_repo.list() |
|
|
return gateway_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postGateway", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postGateway", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.post("/postGateway", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def postGateway(item: GatewayItem): |
|
|
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}") |
|
|
|
|
|
|
|
|
gateway_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put( |
|
|
|
|
|
"/updateGateway", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putGateway", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.put("/updateGateway", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def updateGateway(item: GatewayItem): |
|
|
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}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeGateway", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
gateway_repo.update(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.delete("/removeGateway/{gateway_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def removeGateway(gateway_id: str): |
|
|
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}") |
|
|
|
|
|
|
|
|
gateway_repo.remove(gateway_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
@@ -105,123 +74,55 @@ def removeGateway(gateway_id: str): |
|
|
response_model=List[BuildingItem], |
|
|
response_model=List[BuildingItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getBuilding", |
|
|
|
|
|
) |
|
|
) |
|
|
def getBuildings(): |
|
|
def getBuildings(): |
|
|
return building_repo.list() |
|
|
return building_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postBuilding", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postBuilding", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.post("/postBuilding", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def postBuilding(item: BuildingItem): |
|
|
def postBuilding(item: BuildingItem): |
|
|
try: |
|
|
|
|
|
building_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}") |
|
|
|
|
|
|
|
|
building_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put( |
|
|
|
|
|
"/updateBuilding", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putBuilding", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.put("/updateBuilding", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def updateBuilding(item: BuildingItem): |
|
|
def updateBuilding(item: BuildingItem): |
|
|
try: |
|
|
|
|
|
building_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( |
|
|
|
|
|
"/removeBuilding/{building_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeBuilding", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
building_repo.update(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.delete("/removeBuilding/{building_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def removeBuilding(building_id: str): |
|
|
def removeBuilding(building_id: str): |
|
|
try: |
|
|
|
|
|
building_repo.remove(building_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}") |
|
|
|
|
|
|
|
|
building_repo.remove(building_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
"/getPlans", |
|
|
|
|
|
response_model=List[PlanItem], |
|
|
|
|
|
|
|
|
"/getFloors", |
|
|
|
|
|
response_model=List[FloorItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getPlan", |
|
|
|
|
|
) |
|
|
) |
|
|
def getPlans(): |
|
|
|
|
|
return plan_repo.list() |
|
|
|
|
|
|
|
|
def getFloors(): |
|
|
|
|
|
return floor_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postPlan", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postPlan", |
|
|
|
|
|
) |
|
|
|
|
|
def postPlan(item: PlanItem): |
|
|
|
|
|
try: |
|
|
|
|
|
plan_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( |
|
|
|
|
|
"/updatePlan", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putPlan", |
|
|
|
|
|
) |
|
|
|
|
|
def updatePlan(item: PlanItem): |
|
|
|
|
|
try: |
|
|
|
|
|
plan_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( |
|
|
|
|
|
"/removePlan/{plan_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removePlan", |
|
|
|
|
|
) |
|
|
|
|
|
def removePlan(plan_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
plan_repo.remove(plan_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.post("/postFloor", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def postFloor(item: FloorItem): |
|
|
|
|
|
floor_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put("/updateFloor", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def updateFloor(item: FloorItem): |
|
|
|
|
|
floor_repo.update(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.delete("/removeFloor/{floor_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def removeFloor(floor_id: str): |
|
|
|
|
|
floor_repo.remove(floor_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
@@ -229,61 +130,27 @@ def removePlan(plan_id: str): |
|
|
response_model=List[ZoneItem], |
|
|
response_model=List[ZoneItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getZone", |
|
|
|
|
|
) |
|
|
) |
|
|
def getZones(): |
|
|
def getZones(): |
|
|
return zone_repo.list() |
|
|
return zone_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postZone", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postZone", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.post("/postZone", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def postZone(item: ZoneItem): |
|
|
def postZone(item: ZoneItem): |
|
|
try: |
|
|
|
|
|
zone_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}") |
|
|
|
|
|
|
|
|
zone_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put( |
|
|
|
|
|
"/updateZone", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putZone", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.put("/updateZone", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def updateZone(item: ZoneItem): |
|
|
def updateZone(item: ZoneItem): |
|
|
try: |
|
|
|
|
|
zone_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( |
|
|
|
|
|
"/removeZone/{zone_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeZone", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
zone_repo.update(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.delete("/removeZone/{zone_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def removeZone(zone_id: str): |
|
|
def removeZone(zone_id: str): |
|
|
try: |
|
|
|
|
|
zone_repo.remove(zone_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}") |
|
|
|
|
|
|
|
|
zone_repo.remove(zone_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
@@ -291,307 +158,53 @@ def removeZone(zone_id: str): |
|
|
response_model=List[TrackerItem], |
|
|
response_model=List[TrackerItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getTracker", |
|
|
|
|
|
) |
|
|
) |
|
|
def getTrackers(): |
|
|
def getTrackers(): |
|
|
return tracker_repo.list() |
|
|
return tracker_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postTracker", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postTracker", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.post("/postTracker", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def postTracker(item: TrackerItem): |
|
|
def postTracker(item: TrackerItem): |
|
|
try: |
|
|
|
|
|
tracker_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}") |
|
|
|
|
|
|
|
|
tracker_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put( |
|
|
|
|
|
"/updateTracker", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putTracker", |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
@router.put("/updateTracker", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
def updateTracker(item: TrackerItem): |
|
|
def updateTracker(item: TrackerItem): |
|
|
try: |
|
|
|
|
|
tracker_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( |
|
|
|
|
|
"/removeTracker/{tracker_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeTracker", |
|
|
|
|
|
) |
|
|
|
|
|
def removeTracker(tracker_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
tracker_repo.remove(tracker_id) |
|
|
|
|
|
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}") |
|
|
|
|
|
|
|
|
tracker_repo.update(item) |
|
|
return {"message": "OK"} |
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
|
|
|
"/getOperators", |
|
|
|
|
|
response_model=List[OperatorItem], |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="getOperator", |
|
|
|
|
|
) |
|
|
|
|
|
def getOperators(): |
|
|
|
|
|
return operator_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postOperator", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postOperator", |
|
|
|
|
|
) |
|
|
|
|
|
def postOperator(item: OperatorItem): |
|
|
|
|
|
try: |
|
|
|
|
|
operator_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( |
|
|
|
|
|
"/updateOperator", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putOperator", |
|
|
|
|
|
) |
|
|
|
|
|
def updateOperator(item: OperatorItem): |
|
|
|
|
|
try: |
|
|
|
|
|
operator_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( |
|
|
|
|
|
"/removeOperator/{operator_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeOperator", |
|
|
|
|
|
) |
|
|
|
|
|
def removeOperator(operator_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
operator_repo.remove(operator_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( |
|
|
|
|
|
"/getSubjects", |
|
|
|
|
|
response_model=List[SubjectItem], |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="getSubject", |
|
|
|
|
|
) |
|
|
|
|
|
def getSubjects(): |
|
|
|
|
|
return subject_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postSubject", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postSubject", |
|
|
|
|
|
) |
|
|
|
|
|
def postSubject(item: SubjectItem): |
|
|
|
|
|
try: |
|
|
|
|
|
subject_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( |
|
|
|
|
|
"/updateSubject", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putSubject", |
|
|
|
|
|
) |
|
|
|
|
|
def updateSubject(item: SubjectItem): |
|
|
|
|
|
try: |
|
|
|
|
|
subject_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( |
|
|
|
|
|
"/removeSubject/{subject_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeSubject", |
|
|
|
|
|
) |
|
|
|
|
|
def removeSubject(subject_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
subject_repo.remove(subject_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.delete("/removeTracker/{tracker_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def removeTracker(tracker_id: str): |
|
|
|
|
|
tracker_repo.remove(tracker_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
@router.get( |
|
|
"/getAlarms", |
|
|
|
|
|
response_model=List[AlarmItem], |
|
|
|
|
|
|
|
|
"/getTrackerZones", |
|
|
|
|
|
response_model=List[TrackerZoneItem], |
|
|
tags=["Reslevis"], |
|
|
tags=["Reslevis"], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
dependencies=[Depends(get_current_user)], |
|
|
summary="getAlarm", |
|
|
|
|
|
) |
|
|
) |
|
|
def getAlarms(): |
|
|
|
|
|
return alarm_repo.list() |
|
|
|
|
|
|
|
|
def getTrackerZones(): |
|
|
|
|
|
return tracker_zone_repo.list() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postAlarm", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postAlarm", |
|
|
|
|
|
) |
|
|
|
|
|
def postAlarm(item: AlarmItem): |
|
|
|
|
|
try: |
|
|
|
|
|
alarm_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( |
|
|
|
|
|
"/updateAlarm", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putAlarm", |
|
|
|
|
|
) |
|
|
|
|
|
def updateAlarm(item: AlarmItem): |
|
|
|
|
|
try: |
|
|
|
|
|
alarm_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( |
|
|
|
|
|
"/removeAlarm/{alarm_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeAlarm", |
|
|
|
|
|
) |
|
|
|
|
|
def removeAlarm(alarm_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
alarm_repo.remove(alarm_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.post("/postTrackerZone", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def postTrackerZone(item: TrackerZoneItem): |
|
|
|
|
|
tracker_zone_repo.add(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get( |
|
|
|
|
|
"/getTracks", |
|
|
|
|
|
response_model=List[TrackItem], |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="getTrack", |
|
|
|
|
|
) |
|
|
|
|
|
def getTracks(): |
|
|
|
|
|
return track_repo.list() |
|
|
|
|
|
|
|
|
@router.put("/updateTrackerZone", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def updateTrackerZone(item: TrackerZoneItem): |
|
|
|
|
|
tracker_zone_repo.update(item) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post( |
|
|
|
|
|
"/postTrack", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="postTrack", |
|
|
|
|
|
) |
|
|
|
|
|
def postTrack(item: TrackItem): |
|
|
|
|
|
try: |
|
|
|
|
|
track_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( |
|
|
|
|
|
"/updateTrack", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="putTrack", |
|
|
|
|
|
) |
|
|
|
|
|
def updateTrack(item: TrackItem): |
|
|
|
|
|
try: |
|
|
|
|
|
track_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( |
|
|
|
|
|
"/removeTrack/{track_id}", |
|
|
|
|
|
tags=["Reslevis"], |
|
|
|
|
|
dependencies=[Depends(get_current_user)], |
|
|
|
|
|
summary="removeTrack", |
|
|
|
|
|
) |
|
|
|
|
|
def removeTrack(track_id: str): |
|
|
|
|
|
try: |
|
|
|
|
|
track_repo.remove(track_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.delete("/removeTrackerZone/{tracker_zone_id}", tags=["Reslevis"], dependencies=[Depends(get_current_user)]) |
|
|
|
|
|
def removeTrackerZone(tracker_zone_id: str): |
|
|
|
|
|
tracker_zone_repo.remove(tracker_zone_id) |
|
|
|
|
|
return {"message": "OK"} |
|
|
|
|
|
|