63 lines
2.1 KiB
Python
63 lines
2.1 KiB
Python
import kv.schemas as schemas
|
|
import kv.crud as crud
|
|
from kv.database import get_db
|
|
from sqlalchemy.orm import Session
|
|
from fastapi import APIRouter, Depends
|
|
from typing import List
|
|
router = APIRouter()
|
|
|
|
"""get"""
|
|
|
|
|
|
@router.get("/get_details/{IDObject}", response_model=List[schemas.ObjectDetailsSerializer])
|
|
def get_details(IDObject: str, db: Session = Depends(get_db)):
|
|
data = crud.ObjectViewSet.get_details(db, IDObject)
|
|
return data
|
|
|
|
|
|
@router.get("/get_municipals/{IDCity}", response_model=List[schemas.ObjectMunicipalsSerializer])
|
|
def get_municipals(IDCity: int, db: Session = Depends(get_db)):
|
|
data = crud.ObjectViewSet.get_municipals(db, IDCity)
|
|
return data
|
|
|
|
|
|
@router.get("/get_services/{IDObject}", response_model=List[schemas.ObjectServicesSerializer])
|
|
def get_services(IDObject: str, db: Session = Depends(get_db)):
|
|
data = crud.ObjectViewSet.get_services(db, IDObject)
|
|
return data
|
|
|
|
|
|
@router.get("/get_addresses/{IDObject}", response_model=List[schemas.ObjectAddressesSerializer])
|
|
def get_addresses(IDObject: str, db: Session = Depends(get_db)):
|
|
data = crud.ObjectViewSet.get_addresses(db, id)
|
|
return data
|
|
|
|
|
|
@router.get("/get_metering_devices/{IDObject}", response_model=List[schemas.ObjectMeteringDevicesSerializer])
|
|
def get_metering_devices(IDObject: str, db: Session = Depends(get_db)):
|
|
data = crud.ObjectViewSet.get_metering_devices(db, IDObject)
|
|
return data
|
|
|
|
|
|
"""post"""
|
|
|
|
|
|
@router.post('/edit')
|
|
def edit(request: schemas.ObjectDetailsSerializer, db: Session = Depends(get_db)):
|
|
return crud.ObjectViewSet.edit(db, request)
|
|
|
|
|
|
@router.post('/edit_service')
|
|
def edit_service(request: schemas.EditObjectServiceInit, db: Session = Depends(get_db)):
|
|
return crud.ObjectViewSet.edit_service(db, request)
|
|
|
|
|
|
@router.post('/edit_temp_metering_device_address')
|
|
def edit_temp_metering_device_address(request: schemas.EditTempMeteringDeviceAddressInit, db: Session = Depends(get_db)):
|
|
return crud.ObjectViewSet.edit_temp_metering_device_address(db, request)
|
|
|
|
|
|
@router.post('/add_object')
|
|
def add_object(request: schemas.AddObjectInit, db: Session = Depends(get_db)):
|
|
return crud.ObjectViewSet.add_object(db, request)
|