"""Event definitions for the payment_links domain (HPP link lifecycle)."""

from typing import List, Dict

PAYMENT_LINK_EVENTS: List[Dict] = [
    {
        "event_id": "payment_link.created",
        "event_name": "Payment Link Created",
        "description": (
            "Emitted when a new HPP payment link is generated or an existing "
            "link is resent.  Consumed by the notifications listener to dispatch "
            "the payment-request email/SMS to the customer."
        ),
        "topic": "payment_events_payment_links",
        "data_contract": {
            "payment_request_id": "int — payment request this link belongs to",
            "merchant_id": "int — owning merchant",
            "link_id": "int — primary key of payment_requests_links row",
            "token": "str — URL-safe token embedded in the HPP link",
            "is_resend": "bool — True if this is a resend of an existing link",
        },
    },
]
