Coverage for polar/payout/schemas.py: 100%
32 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 datetime import datetime 1a
3from pydantic import UUID4, AliasPath, Field 1a
5from polar.enums import AccountType 1a
6from polar.kit.schemas import IDSchema, Schema, TimestampedSchema 1a
7from polar.models.payout import PayoutStatus 1a
8from polar.transaction.schemas import TransactionEmbedded 1a
11class PayoutCreate(Schema): 1a
12 account_id: UUID4 1a
15class PayoutEstimate(Schema): 1a
16 account_id: UUID4 1a
17 gross_amount: int 1a
18 fees_amount: int 1a
19 net_amount: int 1a
22class Payout(IDSchema, TimestampedSchema): 1a
23 processor: AccountType 1a
24 status: PayoutStatus 1a
25 paid_at: datetime | None 1a
26 currency: str 1a
27 amount: int 1a
28 fees_amount: int 1a
29 gross_amount: int 1a
30 account_currency: str 1a
31 account_amount: int 1a
32 account_id: UUID4 1a
34 invoice_number: str | None = None 1a
35 is_invoice_generated: bool 1a
37 transaction_id: UUID4 = Field(validation_alias=AliasPath("transaction", "id")) 1a
38 fees_transactions: list[TransactionEmbedded] 1a
41class PayoutGenerateInvoice(Schema): 1a
42 invoice_number: str | None = None 1a
45class PayoutInvoice(Schema): 1a
46 url: str 1a