Coverage for polar/checkout/eventstream.py: 84%
23 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
1from enum import StrEnum 1a
2from typing import Literal, TypedDict, overload 1a
4from polar.eventstream.service import publish 1a
5from polar.models.checkout import CheckoutStatus 1a
8class CheckoutEvent(StrEnum): 1a
9 updated = "checkout.updated" 1a
10 order_created = "checkout.order_created" 1a
11 subscription_created = "checkout.subscription_created" 1a
12 webhook_event_delivered = "checkout.webhook_event_delivered" 1a
15class CheckoutEventUpdatedPayload(TypedDict): 1a
16 status: CheckoutStatus 1a
19class CheckoutEventWebhookEventDeliveredPayload(TypedDict): 1a
20 status: CheckoutStatus 1a
23@overload 1a
24async def publish_checkout_event( 24 ↛ exitline 24 didn't return from function 'publish_checkout_event' because 1a
25 client_secret: str,
26 event: Literal[CheckoutEvent.updated],
27 payload: CheckoutEventUpdatedPayload,
28) -> None: ...
31@overload 1a
32async def publish_checkout_event( 32 ↛ exitline 32 didn't return from function 'publish_checkout_event' because 1a
33 client_secret: str,
34 event: Literal[CheckoutEvent.order_created],
35) -> None: ...
38@overload 1a
39async def publish_checkout_event( 39 ↛ exitline 39 didn't return from function 'publish_checkout_event' because 1a
40 client_secret: str,
41 event: Literal[CheckoutEvent.subscription_created],
42) -> None: ...
45@overload 1a
46async def publish_checkout_event( 46 ↛ exitline 46 didn't return from function 'publish_checkout_event' because 1a
47 client_secret: str,
48 event: Literal[CheckoutEvent.webhook_event_delivered],
49 payload: CheckoutEventWebhookEventDeliveredPayload,
50) -> None: ...
53async def publish_checkout_event( 1a
54 client_secret: str,
55 event: CheckoutEvent,
56 payload: CheckoutEventUpdatedPayload
57 | CheckoutEventWebhookEventDeliveredPayload
58 | None = None,
59) -> None:
60 return await publish(
61 event, {**payload} if payload else {}, checkout_client_secret=client_secret
62 )