54 lines
1021 B
Python

from typing import Optional
from pydantic import BaseModel, Field
from datetime import datetime
import enum
class DepositStatus(str, enum.Enum):
PENDING = "pending"
APPROVED = "approved"
REJECTED = "rejected"
class DepositBase(BaseModel):
amount: float = Field(..., gt=0)
transaction_hash: str
admin_notes: Optional[str] = None
class DepositCreate(DepositBase):
user_id: int
class DepositUpdate(BaseModel):
status: Optional[DepositStatus] = None
admin_notes: Optional[str] = None
class DepositInDBBase(DepositBase):
id: int
user_id: int
status: DepositStatus
proof_image_path: Optional[str] = None
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True
class Deposit(DepositInDBBase):
pass
class DepositRequest(BaseModel):
amount: float = Field(..., gt=0)
transaction_hash: str
class DepositApprove(BaseModel):
admin_notes: Optional[str] = None
class DepositReject(BaseModel):
admin_notes: str