Files
service-app/kv/routers/objectvs.py
2022-07-14 16:21:44 +09:00

63 lines
2.2 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])
async 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])
async 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])
async 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])
async def get_addresses(IDObject: str, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_addresses(db, IDObject)
return data
@router.get("/get_metering_devices/{IDObject}", response_model=List[schemas.ObjectMeteringDevicesSerializer])
async 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')
async def edit(request: schemas.ObjectEditInit, db: Session = Depends(get_db)):
return crud.ObjectViewSet.edit(db, request)
@router.post('/edit_service')
async 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')
async 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')
async def add_object(request: schemas.AddObjectInit, db: Session = Depends(get_db)):
return crud.ObjectViewSet.add_object(db, request)