40 lines
1.6 KiB
Python
40 lines
1.6 KiB
Python
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) |