17 lines
No EOL
522 B
Python
Executable file
17 lines
No EOL
522 B
Python
Executable file
from functools import wraps
|
|
from flask import jsonify
|
|
from app.auth.quart_jwt import get_jwt_identity
|
|
from app.models.user import User
|
|
|
|
def admin_required(f):
|
|
@wraps(f)
|
|
def decorated_function(*args, **kwargs):
|
|
user_id = get_jwt_identity()
|
|
user_data = User.find_by_id(user_id)
|
|
|
|
if not user_data or user_data.get('role') != 'admin':
|
|
return jsonify({"message": "Admin privileges required"}), 403
|
|
|
|
return f(*args, **kwargs)
|
|
|
|
return decorated_function |