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/{id}", response_model=List[schemas.AddressDetailsSerializer]) async def get_details(id: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.get_details(db, id) return data @router.get("/get_personal_accounts/{IDCity}", response_model=List[schemas.PersonalAccountSerializer]) async def get_personal_accounts(IDCity: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.get_personal_accounts( db, IDCity=IDCity) return data @router.get("/get_addresses/{IDCity}", response_model=List[schemas.AddressesSerializer]) async def get_addresses(IDCity: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.get_addresses(db, IDCity) return data @router.get("/get_address_personal_accounts/{IDAddress}", response_model=List[schemas.AddressPersonalAccounts]) async def get_address_personal_accounts(IDAddress: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.get_address_personal_accounts(db, IDAddress) return data @router.get("/retrieve/{id}", response_model=List[schemas.AddressDetailInfoSerializer]) async def retrieve(id: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.retrieve(db, id) return data @router.get("/get_metering_devices/{IDAddress}", response_model=List[schemas.AddressMeteringDevices]) async def get_metering_devices(IDAddress: int, db: Session = Depends(get_db)): data = crud.AddressInfoViewSet.get_metering_devices(db, IDAddress) return data """post""" @router.post('/edit') async def edit(request: schemas.EditAdressInit, db: Session = Depends(get_db)): return crud.AddressInfoViewSet.edit(db, request) @router.post('/edit_personal_account') async def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)): return crud.AddressInfoViewSet.edit_personal_account(db, request) @router.post('/edit_personal_account') async def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)): return crud.AddressInfoViewSet.edit_personal_account(db, request)