HEX
Server: LiteSpeed
System: Linux CentOS-79-64-minimal 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: vishn3436 (5293)
PHP: 8.0.15
Disabled: NONE
Upload Files
File: //scripts/script-server/src/web/web_utils.py
import json
from itertools import chain

from auth.user import User
from utils import audit_utils


def wrap_to_server_event(event_type, data):
    return json.dumps({
        'event': event_type,
        'data': data
    })


def identify_user(request_handler):
    user_id = request_handler.application.identification.identify(request_handler)

    if user_id is None:
        raise Exception('Could not identify user: ' + audit_utils.get_all_audit_names(request_handler))

    return user_id


def inject_user(func):
    def wrapper(self, *args, **kwargs):
        user = get_user(self)

        new_args = chain([user], args)
        return func(self, *new_args, **kwargs)

    return wrapper


def get_user(request_handler):
    user_id = identify_user(request_handler)
    audit_names = audit_utils.get_all_audit_names(request_handler)

    return User(user_id, audit_names)