"""Base context for middleware.""" from typing import Optional, Dict, Any, Union, TYPE_CHECKING if TYPE_CHECKING: from ApiServices.Token.token_handler import OccupantTokenObject, EmployeeTokenObject class BaseContext: """Base context class for middleware.""" def __init__(self) -> None: self._token_context: Optional[ Union["OccupantTokenObject", "EmployeeTokenObject"] ] = None self._function_code: Optional[str] = None @property def token_context( self, ) -> Optional[Union["OccupantTokenObject", "EmployeeTokenObject"]]: """Get token context if available.""" return self._token_context @token_context.setter def token_context( self, value: Union["OccupantTokenObject", "EmployeeTokenObject"] ) -> None: """Set token context.""" self._token_context = value @property def function_code(self) -> Optional[str]: """Get function code if available.""" return self._function_code @function_code.setter def function_code(self, value: str) -> None: """Set function code.""" self._function_code = value def to_dict(self) -> Dict[str, Any]: """Convert context to dictionary.""" return { "token_context": self._token_context, "function_code": self._function_code, }