Files
service-app/isjkhrs/ismain.py
2022-06-02 17:35:32 +09:00

28 lines
1.0 KiB
Python

from isjkhrs.routers import general, isjkhrsto
from fastapi import APIRouter, Depends
from auth import oauth2
from auth.login.schemas import login as schemas
router = APIRouter()
def exec_procedure(session, proc_name, params, database: str = None):
sql_params = ""
if params:
sql_params = ",".join([f"@{name}='{value}'" if type(value) in [str] else f"@{name}={value}"
for name, value in params.items()])
dbstr = ""
if database:
dbstr = f"[{database}]."
sql_string = """
DECLARE @return_value int;
EXEC @return_value = {dbstr}[dbo].[{proc_name}] {params};
SELECT 'Return Value' = @return_value;
""".format(dbstr=dbstr, proc_name=proc_name, params=sql_params)
print(sql_string)
data = session.execute(sql_string).fetchall()
session.commit()
session.expire_all()
return data
router.include_router(general.router, prefix="", tags=["is"])
router.include_router(isjkhrsto.router, prefix="/filter", tags=["FilterViewSet"])