import { model } from "@medusajs/framework/utils" /** * Durable record of every verified webhook delivery. `event_id` and * `transmission_id` drive deduplication; `status` / `attempt_count` / * `next_retry_at` drive the async subscriber and the retry cron * (`pending` → `processing` → `processed` | `failed` | `dead_letter` | * `ignored`). */ const PayPalWebhookEvent = model.define("paypal_webhook_event", { id: model.id().primaryKey(), event_id: model.text().unique(), event_type: model.text(), event_version: model.text().nullable(), transmission_id: model.text().nullable(), transmission_time: model.dateTime().nullable(), status: model.text().default("pending"), attempt_count: model.number().default(0), next_retry_at: model.dateTime().nullable(), processed_at: model.dateTime().nullable(), last_error: model.text().nullable(), resource_id: model.text().nullable(), payload: model.json().default({}), }) export default PayPalWebhookEvent