from fastapi import APIRouter, Depends from auth.login.schemas import login as models from auth import oauth2 from databases.mssql import general import isjkhrs.schemas as schemas from sqlalchemy.orm import Session from typing import List import isjkhrs.crud as crud router = APIRouter(dependencies= [Depends(oauth2.get_current_user) ]) @router.get('/') async def test_router(): return {"msg":"router!"} @router.get('/getCities') async def get_cities(db = Depends(general.get_db)): return db.execute("SELECT id,name FROM General.dbo.vCities").fetchall() @router.get('/getCities/region-id={region_id}') async def get_city(region_id: int,db = Depends(general.get_db)): return db.execute(f"SELECT id, name FROM General.dbo.vCities WHERE id_region = {region_id}").fetchall() @router.get('/getBoilersByRegion/IDRegion={IDRegion}') async def get_boiler_by_region(IDRegion: int,db = Depends(general.get_db)): return db.execute(f"select * from General..vBoilers b " +"inner join General..vCities c on c.id = b.id_city " +"where c.id_region = {IDRegion}").fetchall() @router.get('/getAddress/city-id={city_id}') async def get_address(city_id: int, db= Depends(general.get_db)): return db.execute(f"EXEC General.dbo.getAddress @city_id = {city_id}").fetchall() @router.get('/getRegions') async def get_region(db = Depends(general.get_db)): return db.execute("SELECT id, name FROM General.dbo.vRegions").fetchall() @router.post('/get_changing_list') async def get_filter_list(request: schemas.ChangingListInit, db: Session = Depends(general.get_db)): return crud.GeneralViewSet.get_changing_list(db, request)