api-datamanager/Modules/File/FileRoutes.py

35 lines
1.3 KiB
Python

from flask import Blueprint, request, Response
from Modules.File.FileImpl import FileObjImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
file_route = Blueprint('file', __name__)
@file_route.route('/new_file_obj', methods=['POST'])
def new_file_obj_route():
"""新建对象文件"""
try:
RouteParamsCheck(req=request.json, params=["class_name", "parameter"]).required()
data = request.json
impl = FileObjImpl()
result = impl.new_file_obj(data=data)
return {"info": "新建对象文件", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@file_route.route('/new_file_package', methods=['POST'])
def new_file_package_route():
"""新建文件包"""
try:
RouteParamsCheck(req=request.json, params=["package_name", "obj_name", "impl_name", "route_name", "class_data"]).required()
data = request.json
impl = FileObjImpl()
src_dir = impl.new_file_package(data=data)
impl.write_file_to_zip(src_dir=src_dir)
response = Response(impl.return_file_data(package_name=data['package_name']), content_type='zip')
return response
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code