mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-16 11:00:41 +00:00
rename extension extras
This commit is contained in:
3
app/extensions/flask_socketio_extras/__init__.py
Normal file
3
app/extensions/flask_socketio_extras/__init__.py
Normal file
@ -0,0 +1,3 @@
|
||||
from .decorators import login_required
|
||||
from .decorators import permission_required
|
||||
from .decorators import admin_required
|
27
app/extensions/flask_socketio_extras/decorators.py
Normal file
27
app/extensions/flask_socketio_extras/decorators.py
Normal file
@ -0,0 +1,27 @@
|
||||
from flask_login import current_user
|
||||
from functools import wraps
|
||||
from app.models import Permission as UserPermission
|
||||
|
||||
|
||||
def login_required(f):
|
||||
@wraps(f)
|
||||
def wrapper(*args, **kwargs):
|
||||
if current_user.is_authenticated:
|
||||
return f(*args, **kwargs)
|
||||
return {'code': 401, 'body': 'Unauthorized'}
|
||||
return wrapper
|
||||
|
||||
|
||||
def permission_required(permission):
|
||||
def decorator(f):
|
||||
@wraps(f)
|
||||
def wrapper(*args, **kwargs):
|
||||
if not current_user.can(permission):
|
||||
return {'code': 403, 'body': 'Forbidden'}
|
||||
return f(*args, **kwargs)
|
||||
return wrapper
|
||||
return decorator
|
||||
|
||||
|
||||
def admin_required(f):
|
||||
return permission_required(UserPermission.ADMINISTRATE)(f)
|
Reference in New Issue
Block a user