from typing import Optional from pydantic import BaseModel from datetime import datetime class WalletBase(BaseModel): user_id: int cryptocurrency_id: int available_balance: Optional[float] = 0.0 locked_balance: Optional[float] = 0.0 class WalletCreate(WalletBase): pass class WalletUpdate(BaseModel): available_balance: Optional[float] = None locked_balance: Optional[float] = None class WalletInDBBase(WalletBase): id: Optional[int] = None created_at: Optional[datetime] = None updated_at: Optional[datetime] = None total_balance: Optional[float] = None class Config: from_attributes = True class Wallet(WalletInDBBase): pass