"""
Strategy Domain Entity — GateReviewer (individual reviewer in a GateReview).
"""

from __future__ import annotations

import uuid
from dataclasses import dataclass, field
from typing import Any, Optional

from shared.base_classes.entity import TenantEntity


@dataclass
class GateReviewer(TenantEntity):
    """بازبین دروازه — فرد مشارکت‌کننده در بازبینی."""

    review_id: Optional[uuid.UUID] = None
    user_id: Optional[uuid.UUID] = None
    role: str = ""                       # e.g. approver / observer / advisor
    decision: str = ""                   # approved / rejected / abstained / pending
    comments: str = ""

    metadata: dict[str, Any] = field(default_factory=dict)
