diff options
| author | stuppie | 2026-09-21 18:03:20 -0600 |
|---|---|---|
| committer | stuppie | 2026-09-21 18:03:20 -0600 |
| commit | b63021c4492a1742b8fa65c39ec648f140e0748b (patch) | |
| tree | 5fa7877c0686b6be2df0b10cc871420f910bf5f7 /jb/models/wallet.py | |
| parent | 6249139ee928b954e74ac42df81211f1a8094b53 (diff) | |
| download | amt-jb-b63021c4492a1742b8fa65c39ec648f140e0748b.tar.gz amt-jb-b63021c4492a1742b8fa65c39ec648f140e0748b.zip | |
cashout request email flow and views
Diffstat (limited to 'jb/models/wallet.py')
| -rw-r--r-- | jb/models/wallet.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jb/models/wallet.py b/jb/models/wallet.py new file mode 100644 index 0000000..4754922 --- /dev/null +++ b/jb/models/wallet.py @@ -0,0 +1,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 |
