93 lines
3.4 KiB
Python
93 lines
3.4 KiB
Python
from flask import Blueprint, request
|
|
|
|
from Modules.Filters.FiltersImpl import FilterImpl
|
|
from Utils.ErrorUtil import APIReturnError, AttrCheckError
|
|
from Utils.RouteUtil import RouteParamsCheck
|
|
|
|
filters_route = Blueprint('data_filters', __name__)
|
|
|
|
|
|
@filters_route.route('/new', methods=['POST'])
|
|
def new_filter_route():
|
|
"""新建筛选器"""
|
|
try:
|
|
RouteParamsCheck(req=request.json, params=["filter_name", "filter_range"]).required()
|
|
data = request.json
|
|
impl = FilterImpl()
|
|
result = impl.new_filter(data=data)
|
|
return {"info": "新建筛选器", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
except AttrCheckError as e:
|
|
return {"info": e.__str__()}
|
|
|
|
|
|
@filters_route.route('/edit', methods=['POST'])
|
|
def edit_filter_route():
|
|
"""编辑筛选器"""
|
|
try:
|
|
RouteParamsCheck(req=request.json, params=["filter_id", "filter_range", "filter_name"]).required()
|
|
data = request.json
|
|
impl = FilterImpl()
|
|
result = impl.eidt_filter(data=data)
|
|
return {"info": "编辑筛选器", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
except AttrCheckError as e:
|
|
return {"info": e.__str__()}
|
|
|
|
|
|
@filters_route.route('/delete', methods=['GET'])
|
|
def delete_filter_route():
|
|
"""删除筛选器"""
|
|
try:
|
|
RouteParamsCheck(req=request.args, params=["filter_id"]).required()
|
|
filter_id = request.args['filter_id']
|
|
impl = FilterImpl()
|
|
result = impl.delete_filter(filter_id=filter_id)
|
|
return {"info": "删除筛选器", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
@filters_route.route('/search', methods=['GET'])
|
|
def search_filter_route():
|
|
"""查询筛选器"""
|
|
try:
|
|
RouteParamsCheck(req=request.args, params=["filter_name", "page_no", "page_size"]).required()
|
|
filter_name = request.args['filter_name']
|
|
page_no = request.args['page_no']
|
|
page_size = request.args['page_size']
|
|
impl = FilterImpl()
|
|
result = impl.search_filter(filter_name=filter_name, page_no=page_no, page_size=page_size)
|
|
return {"info": "查询筛选器", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
@filters_route.route('/db_gather', methods=['GET'])
|
|
def db_gather_route():
|
|
"""获取数据库集合名称"""
|
|
try:
|
|
RouteParamsCheck(req=request.args, params=["db_name"]).required()
|
|
db_name = request.args['db_name']
|
|
impl = FilterImpl()
|
|
result = impl.search_db_gather(db_name=db_name)
|
|
return {"info": "获取数据库集合", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
@filters_route.route('/db_field', methods=['GET'])
|
|
def db_field_route():
|
|
"""查询数据库字段"""
|
|
try:
|
|
RouteParamsCheck(req=request.args, params=["database", "datasheet"]).required()
|
|
database = request.args['database']
|
|
datasheet = request.args['datasheet']
|
|
impl = FilterImpl()
|
|
result = impl.search_db_field(database=database, datasheet=datasheet)
|
|
return {"info": "查询数据库字段", "result": result}, 200
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|