import kv.schemas as schemas from kv.crud import ReferenceViewSet 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_personal_accounts", response_model=List[schemas.PersonalAccountsSerializer]) async def get_personal_accounts(db: Session = Depends(get_db)): data = ReferenceViewSet.get_personal_accounts(db) return data @router.get("/get_objects/{IDCity}", response_model=List[schemas.ObjectsSerializer]) async def get_objects(IDCity: int, db: Session = Depends(get_db)): inn = schemas.CityInit(IDCity=IDCity) print(inn) return ReferenceViewSet.get_objects(db, inn) @router.get("/get_services", response_model=List[schemas.CommonTypeSerializer]) async def get_services(db: Session = Depends(get_db)): data = ReferenceViewSet.get_services(db) return data @router.get("/get_provider_types", response_model=List[schemas.ProviderTypeSerializer]) async def get_provider_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_provider_types(db) return data @router.get("/get_providers", response_model=List[schemas.CommonTypeSerializer]) async def get_providers(db: Session = Depends(get_db)): data = ReferenceViewSet.get_providers(db) return data @router.get("/get_systems_water", response_model=List[schemas.SystemWater]) async def get_systems_water(db: Session = Depends(get_db)): data = ReferenceViewSet.get_systems_water(db) return data @router.get("/get_systems_water_period_types", response_model=List[schemas.SystemWaterPeriodType]) async def get_systems_water_period_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_systems_water_period_types(db) return data @router.get("/get_provider_contracts/{IDPersonalAccount}", response_model=List[schemas.ProviderContractSerializer]) async def get_provider_contracts(IDPersonalAccount: int, db: Session = Depends(get_db)): inn = schemas.PAInit(IDPersonalAccount=IDPersonalAccount) data = ReferenceViewSet.get_provider_contracts(db, inn) return data @router.get("/get_providers_utility_services/{IDCity}", response_model=List[schemas.CommonTypeSerializer]) async def get_providers_utility_services(IDCity: int, db: Session = Depends(get_db)): inn = schemas.CityInit(IDCity=IDCity) data = ReferenceViewSet.get_providers_utility_services(db, inn) return data @router.get("/get_management_companies", response_model=List[schemas.ManagementCompanySerializer]) async def get_management_companies(db: Session = Depends(get_db)): data = ReferenceViewSet.get_management_companies(db) return data @router.get("/get_boilers_by_city/{IDCity}", response_model=List[schemas.CommonTypeUUIDSerializer]) async def get_boilers_by_city(IDCity: int, db: Session = Depends(get_db)): inn = schemas.CityInit(IDCity=IDCity) data = ReferenceViewSet.get_boilers_by_city(db, inn) return data @router.get("/get_streets_by_city/{IDCity}", response_model=List[schemas.CommonTypeSerializer]) async def get_streets_by_city(IDCity: int, db: Session = Depends(get_db)): inn = schemas.CityInit(IDCity=IDCity) data = ReferenceViewSet.get_streets_by_city(db, inn) return data @router.get("/get_metering_devices_services", response_model=List[schemas.ServicesSerializer]) async def get_metering_devices_services(db: Session = Depends(get_db)): data = ReferenceViewSet.get_metering_devices_services(db) return data @router.get("/get_owhership_types", response_model=List[schemas.OwnershipType]) async def get_owhership_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_owhership_types(db) return data @router.get("/get_object_improvement_degree_types", response_model=List[schemas.ImprovementDegreeSerializer]) async def get_object_improvement_degree_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_improvement_degree_types(db) return data @router.get("/get_object_gas_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_gas_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_gas_types(db) return data @router.get("/get_object_heating_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_heating_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_heating_types(db) return data @router.get("/get_object_wiring_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_wiring_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_wiring_types(db) return data @router.get("/get_object_overlapping_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_overlapping_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_overlapping_types(db) return data @router.get("/get_object_wall_material_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_wall_material_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_wall_material_types(db) return data @router.get("/get_object_roof_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_roof_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_roof_types(db) return data @router.get("/get_object_foundation_types", response_model=List[schemas.CommonTypeSerializer]) async def get_object_foundation_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_object_foundation_types(db) return data @router.get("/get_tariffs_population", response_model=List[schemas.CommonTypeSerializer]) async def get_tariffs_population(db: Session = Depends(get_db)): data = ReferenceViewSet.get_tariffs_population(db) return data @router.get("/get_tariffs_population", response_model=List[schemas.CommonTypeSerializer]) async def get_tariffs_population(db: Session = Depends(get_db)): data = ReferenceViewSet.get_tariffs_population(db) return data @router.get("/get_courts_types", response_model=List[schemas.CommonTypeSerializer]) async def get_courts_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_courts_types(db) return data @router.get("/get_address_types", response_model=List[schemas.CommonTypeSerializer]) async def get_address_types(db: Session = Depends(get_db)): data = ReferenceViewSet.get_address_types(db) return data """post""" @router.post('/get_advanced_search', response_model=List[schemas.AdvancedSearchSerializer]) async def get_advanced_search(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)): return ReferenceViewSet.edit(db, request) @router.post('/get_metering_devices_types', response_model=List[schemas.MeteringDeviceTypeSerializer]) async def get_metering_devices_types(request: schemas.ServiceIDInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_metering_devices_types(db, request) @router.post('/get_object_metering_devices_types', response_model=List[schemas.CommonTypeSerializer]) async def get_object_metering_devices_types(request: schemas.ObjectMeteringDevicesTypesInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_object_metering_devices_types(db, request) @router.post('/get_object_metering_device_addresses', response_model=List[schemas.ObjectMeteringDeviceAddressesSerializer]) async def get_object_metering_device_addresses(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_object_metering_device_addresses(db, request) @router.post('/get_object_water_system_volumes', response_model=List[schemas.CommonTypeSerializer]) async def get_object_water_system_volumes(request: schemas.ObjectWaterSystemVolumesInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_object_water_system_volumes(db, request) @router.post('/get_tariff_population', response_model=List[schemas.TariffPopulationSerializer]) async def get_tariff_population(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_tariff_population(db, request) @router.post('/get_object_tariff_provider', response_model=List[schemas.TariffProviderSerializer]) async def get_object_tariff_provider(request: schemas.TariffProviderInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_object_tariff_provider(db, request) @router.post('/edit_metering_device') async def edit_metering_device(request: schemas.MeteringDeviceInit, db: Session = Depends(get_db)): return ReferenceViewSet.edit_metering_device(db, request)