import jwt from flask import request, current_app, jsonify from events.sse import send_event_to_user def sanitize_email(email): return email.replace('@', '_at_').replace('.', '_dot_') def get_current_user_id(): token = request.cookies.get('token') if not token: return None try: payload = jwt.decode(token, current_app.config['SECRET_KEY'], algorithms=['HS256']) email = payload.get('email') if not email: return None return sanitize_email(email) except jwt.InvalidTokenError: return None def send_event_for_current_user(event): user_id = get_current_user_id() if not user_id: return jsonify({'error': 'Unauthorized'}), 401 send_event_to_user(user_id, event) return None