Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/src/zcs/core/session/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from .request_context import request_context
from .request_state import RequestState
from .auth_info import AuthInfo
13 changes: 13 additions & 0 deletions app/src/zcs/core/session/auth_info.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from dataclasses import dataclass


@dataclass
class AuthInfo:
"""
Data class to hold authentication information for a user request.
"""
client_id: str = None
tenant_id: str = None
company_id: str = None
user_id: str = None
user_email: str = None
13 changes: 12 additions & 1 deletion app/src/zcs/core/session/request_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,30 @@
import uuid
from typing import Optional

from zcs.core.session.auth_info import AuthInfo


class RequestState():

def __init__(
self,
request_id: Optional[str] = None,
prefix: Optional[str] = None,
op_code: Optional[str] = None):
op_code: Optional[str] = None,
auth_info: Optional[AuthInfo] = None):

self.__request_id = request_id if request_id else RequestState.generate_op_code(prefix=prefix)
self.__op_code = op_code if op_code else self.__request_id
self.__request_start_ns = time.perf_counter_ns()
self.__checkpoint_ns = self.__request_start_ns
self.__auth_info = auth_info

def getAuthInfo(self) -> Optional[AuthInfo]:
"""
Get authentication information.
"""

return self.__auth_info

def getOpCode(self) -> str:
"""
Expand Down