优化curd函数在view的引入方式,优化权限与日志的装饰器

This commit is contained in:
mkg
2021-06-03 11:26:24 +08:00
parent 73222e854c
commit 3b1150ad1f
17 changed files with 141 additions and 176 deletions
+5 -20
View File
@@ -4,35 +4,20 @@ from flask_login import login_required
from applications.service.admin_log import admin_log
def authorize(power: str):
def authorize(power: str, log: bool = False):
def decorator(func):
@login_required
@wraps(func)
def wrapper(*args, **kwargs):
if not power in session.get('permissions'):
if log:
admin_log(request=request, is_access=False)
if request.method == 'GET':
abort(403)
else:
return jsonify(success=False, msg="权限不足!")
return func(*args, **kwargs)
return wrapper
return decorator
def authorize_and_log(power: str):
def decorator(func):
@login_required
@wraps(func)
def wrapper(*args, **kwargs):
if not power in session['permissions']:
admin_log(request=request, is_access=False)
if request.method == 'GET':
abort(403)
else:
return jsonify(success=False, msg="权限不足!")
admin_log(request=request, is_access=True)
if log:
admin_log(request=request, is_access=True)
return func(*args, **kwargs)
return wrapper