Files
service-app/isjkhrs/routers/general.py

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)