semblance-dev/backend/app/utils.py
2025-08-04 09:07:59 -05:00

17 lines
No EOL
522 B
Python

from functools import wraps
from flask import jsonify
from flask_jwt_extended 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