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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) 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]) def get_object_water_system_volumes(request: schemas.TariffsPopulationInit, db: Session = Depends(get_db)): return ReferenceViewSet.get_object_water_system_volumes(db, request) @router.post('/get_tariff_population', response_model=List[schemas.TariffPopulationSerializer]) 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]) 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') def edit_metering_device(request: schemas.MeteringDeviceInit, db: Session = Depends(get_db)): return ReferenceViewSet.edit_metering_device(db, request)