aboutsummaryrefslogtreecommitdiff
path: root/jb/models/wallet.py
diff options
context:
space:
mode:
authorGreg Stupp2026-09-24 22:00:58 +0000
committerGreg Stupp2026-09-24 22:00:58 +0000
commita5e1f9d5fe8b1d4e66c240a69eff34a8d0e8dff7 (patch)
tree61d38c3796c1e758a344edec7ce52bcb6ee64f36 /jb/models/wallet.py
parent6249139ee928b954e74ac42df81211f1a8094b53 (diff)
parentbe986ab84f7b12c211f7675071d4deae1bf2bd03 (diff)
downloadamt-jb-a5e1f9d5fe8b1d4e66c240a69eff34a8d0e8dff7.tar.gz
amt-jb-a5e1f9d5fe8b1d4e66c240a69eff34a8d0e8dff7.zip
Merges pull request #5
wallet views
Diffstat (limited to 'jb/models/wallet.py')
-rw-r--r--jb/models/wallet.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/jb/models/wallet.py b/jb/models/wallet.py
new file mode 100644
index 0000000..3d4d10b
--- /dev/null
+++ b/jb/models/wallet.py
@@ -0,0 +1,30 @@
+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, le=100_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 CashoutPostback(BaseModel):
+ model_config = ConfigDict(extra="forbid")
+
+ cashout_id: UUIDStr
+
+
+class PendingCashout(BaseModel):
+ model_config = ConfigDict(extra="forbid")
+
+ product_user_id: str
+ amount: USDCent
+ cashout_method_id: UUIDStr