Coverage for polar/transaction/schemas.py: 100%
57 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 15:52 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 15:52 +0000
1from pydantic import UUID4 1a
3from polar.enums import SubscriptionRecurringInterval 1a
4from polar.kit.schemas import IDSchema, Schema, TimestampedSchema 1a
5from polar.models.pledge import PledgeState 1a
6from polar.models.transaction import PlatformFeeType, Processor, TransactionType 1a
9class TransactionUser(IDSchema, Schema): 1a
10 public_name: str 1a
11 avatar_url: str 1a
14class TransactionPledge(IDSchema, TimestampedSchema): 1a
15 state: PledgeState 1a
16 issue_reference: str 1a
19class TransactionOrganization(IDSchema, TimestampedSchema): 1a
20 name: str 1a
21 slug: str 1a
22 avatar_url: str | None 1a
25class TransactionIssueReward(IDSchema, TimestampedSchema): 1a
26 issue_reference: str 1a
27 share_thousands: int 1a
30class TransactionProduct(IDSchema, TimestampedSchema): 1a
31 name: str 1a
32 recurring_interval: SubscriptionRecurringInterval | None 1a
33 organization_id: UUID4 | None 1a
34 organization: TransactionOrganization | None 1a
37class TransactionOrder(IDSchema, TimestampedSchema): 1a
38 product: TransactionProduct | None 1a
39 subscription_id: UUID4 | None 1a
42class TransactionEmbedded(IDSchema, TimestampedSchema): 1a
43 type: TransactionType 1a
44 processor: Processor | None 1a
46 currency: str 1a
47 amount: int 1a
48 account_currency: str 1a
49 account_amount: int 1a
51 platform_fee_type: PlatformFeeType | None 1a
53 pledge_id: UUID4 | None 1a
54 issue_reward_id: UUID4 | None 1a
55 order_id: UUID4 | None 1a
57 payout_transaction_id: UUID4 | None 1a
58 incurred_by_transaction_id: UUID4 | None 1a
61class Transaction(TransactionEmbedded): 1a
62 pledge: TransactionPledge | None 1a
63 issue_reward: TransactionIssueReward | None 1a
64 order: TransactionOrder | None 1a
66 account_incurred_transactions: list[TransactionEmbedded] 1a
68 incurred_amount: int 1a
69 gross_amount: int 1a
70 net_amount: int 1a
73class TransactionDetails(Transaction): 1a
74 paid_transactions: list[Transaction] 1a
77class TransactionsBalance(Schema): 1a
78 currency: str 1a
79 amount: int 1a
80 account_currency: str 1a
81 account_amount: int 1a
84class TransactionsSummary(Schema): 1a
85 balance: TransactionsBalance 1a
86 payout: TransactionsBalance 1a