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]) 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]) 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]) 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]) 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]) 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]) 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') def edit(request: schemas.EditAdressInit, db: Session = Depends(get_db)): return crud.AddressInfoViewSet.edit(db, request) @router.post('/edit_personal_account') 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') def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)): return crud.AddressInfoViewSet.edit_personal_account(db, request)