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.

54 lines
2.2 KiB

from fastapi import APIRouter
from fastapi import Depends, File, Query
from module_admin.service.login_service import LoginService
from module_admin.service.common_service import *
from utils.response_util import *
from utils.log_util import *
commonController = APIRouter(prefix='/common', dependencies=[Depends(LoginService.get_current_user)])
@commonController.post("/upload")
async def common_upload(request: Request, file: UploadFile = File(...)):
try:
upload_result = await CommonService.upload_service(request, file)
if upload_result.is_success:
logger.info('上传成功')
return ResponseUtil.success(model_content=upload_result.result)
else:
logger.warning('上传失败')
return ResponseUtil.failure(msg=upload_result.message)
except Exception as e:
logger.exception(e)
return ResponseUtil.error(msg=str(e))
@commonController.get("/download")
async def common_download(request: Request, background_tasks: BackgroundTasks, file_name: str = Query(alias='fileName'), delete: bool = Query()):
try:
download_result = await CommonService.download_services(background_tasks, file_name, delete)
if download_result.is_success:
logger.info(download_result.message)
return ResponseUtil.streaming(data=download_result.result)
else:
logger.warning(download_result.message)
return ResponseUtil.failure(msg=download_result.message)
except Exception as e:
logger.exception(e)
return ResponseUtil.error(msg=str(e))
@commonController.get("/download/resource")
async def common_download(request: Request, resource: str = Query()):
try:
download_resource_result = await CommonService.download_resource_services(resource)
if download_resource_result.is_success:
logger.info(download_resource_result.message)
return ResponseUtil.streaming(data=download_resource_result.result)
else:
logger.warning(download_resource_result.message)
return ResponseUtil.failure(msg=download_resource_result.message)
except Exception as e:
logger.exception(e)
return ResponseUtil.error(msg=str(e))