43 lines
1.8 KiB
Python
43 lines
1.8 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 kv.schemas as schemas
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
|
|
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('/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_filter_types', response_model=List[schemas.FilterTypeSerializer])
|
|
async def get_filter_types(request: schemas.FilterTypeInit, db: Session = Depends(general.get_db)):
|
|
return db.FilterViewSet.get_filter_types(db, request)
|
|
|
|
|
|
@router.post('/get_filter_list', response_model=List[schemas.FilterListSerializer])
|
|
async def get_filter_list(request: schemas.FilterListInit, db: Session = Depends(general.get_db)):
|
|
return crud.FilterViewSet.get_filter_list(db, request)
|
|
|
|
@router.post('/set_report_filter_list', response_model=List[schemas.FilterListSerializer])
|
|
async def set_report_filter_list(request: schemas.FilterSetInit, db: Session = Depends(general.get_db)):
|
|
return crud.FilterViewSet.set_filter_list(db, request) |