aboutsummaryrefslogtreecommitdiff
path: root/jb/models/wallet.py
blob: 475492268fb4c326afd8243d29ed1d935a170141 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from generalresearch.currency import USDCent
from generalresearch.models.custom_types import UUIDStr
from pydantic import BaseModel, ConfigDict, Field


class CashoutRequest(BaseModel):
    model_config = ConfigDict(extra="forbid")

    amount: USDCent = Field(gt=0, lt=10_00, description="Amount in USD cents")
    cashout_method_id: UUIDStr = Field(description="Cashout method ID")


class CashoutConfirmation(BaseModel):
    model_config = ConfigDict(extra="forbid")

    token: str = Field(min_length=1)


class PendingCashout(BaseModel):
    model_config = ConfigDict(extra="forbid")

    product_user_id: str
    amount: USDCent
    cashout_method_id: UUIDStr