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

214 lines
8.5 KiB
Python

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)