You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

75 lines
3.4 KiB

import json
import os
import shutil
from fastapi import APIRouter, Depends, Request, UploadFile, File, Form
from sqlalchemy.ext.asyncio import AsyncSession
from config.get_db import get_db
from module_admin.entity.vo.user_vo import CurrentUserModel
from module_admin.entity.vo.approval_vo import ApplyModel, OperateModel, ApprovalQueryObject, SaveConfModel
from module_admin.service.login_service import LoginService
from module_admin.service.approval_service import ApprovalService
from utils.log_util import logger
from utils.response_util import ResponseUtil
approvalController = APIRouter(prefix='/approval', dependencies=[Depends(LoginService.get_current_user)])
@approvalController.post("/apply")
async def flow_apply(request: Request,
apply: ApplyModel,
query_db: AsyncSession = Depends(get_db)):
apply_result = await ApprovalService.apply_services(query_db, apply)
return ResponseUtil.success(msg=apply_result.message)
@approvalController.post("/operate")
async def flow_operate(request: Request,
operate: OperateModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
operate_result = await ApprovalService.operate_services(query_db, operate, current_user)
return ResponseUtil.success(msg=operate_result.message)
@approvalController.get("/list")
async def flow_list(request: Request,
query_param: ApprovalQueryObject = Depends(ApprovalQueryObject.as_query),
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
meta_query_result = await ApprovalService.get_flow_list_services(query_db, query_param, current_user)
return ResponseUtil.success(data=meta_query_result)
@approvalController.get("/waitingTotal")
async def getWaitingTotal(request: Request,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
meta_query_result = await ApprovalService.get_waiting_total_services(query_db, current_user)
return ResponseUtil.success(data=meta_query_result)
@approvalController.post("/cancelApply/{flow_id}")
async def cancel_apply(request: Request,
flow_id: str,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
operate_result = await ApprovalService.cancel_apply_services(query_db, flow_id, current_user)
return ResponseUtil.success(msg=operate_result.message)
@approvalController.get("/conf/list")
async def get_conf_list(request: Request,
module: str,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
meta_query_result = await ApprovalService.get_conf_list_services(module, query_db, current_user)
return ResponseUtil.success(data=meta_query_result)
@approvalController.post("/conf/save")
async def save_flow_config(
saveConfModel: SaveConfModel,
query_db: AsyncSession = Depends(get_db),
):
operate_result = await ApprovalService.save_flow_config_services(query_db, saveConfModel)
return ResponseUtil.success(msg=operate_result.message)