from __future__ import annotations

from enum import Enum


class NotificationScope(str, Enum):
    """Who a notification is addressed to.

    TENANT rows always carry a `tenant_id`; PLATFORM rows never do (site_admin
    users have no tenant). This is the primary query discriminator.
    """

    TENANT = "tenant"
    PLATFORM = "platform"


class NotificationType(str, Enum):
    """Event that produced the notification."""

    ENQUIRY_CONTACT_FORM = "enquiry_contact_form"
    ENQUIRY_PLOT_AVAILABILITY = "enquiry_plot_availability"
    ENQUIRY_MARKETING = "enquiry_marketing"


# WebSocket frame type consumed by the admin `useAdminWebSocket` hook.
WS_EVENT_NOTIFICATION = "notification"
