gateway/modules/serviceCenter/context.py

33 lines
958 B
Python

# Copyright (c) 2025 Patrick Motsch
# All rights reserved.
"""
Service Center Context.
Minimal context passed to services: user, mandate, feature instance, workflow.
"""
from dataclasses import dataclass
from typing import Any, Optional
from modules.datamodels.datamodelUam import User
@dataclass
class ServiceCenterContext:
"""Context for service resolution: user, mandate, feature instance, optional workflow."""
user: User
mandate_id: Optional[str] = None
feature_instance_id: Optional[str] = None
workflow_id: Optional[str] = None
workflow: Any = None
requireNeutralization: Optional[bool] = None
@property
def mandateId(self) -> Optional[str]:
"""Alias for mandate_id (backward compatibility)."""
return self.mandate_id
@property
def featureInstanceId(self) -> Optional[str]:
"""Alias for feature_instance_id (backward compatibility)."""
return self.feature_instance_id