Add CRUD operations for Lamassu transactions: implement create, retrieve, and update functions for storing processed Lamassu transactions in the database. Enhance migration script to create the necessary database table and update models to include transaction data structures. Integrate transaction storage into the LamassuTransactionProcessor for improved audit and UI display capabilities.
This commit is contained in:
parent
c38a20b6da
commit
dc35cae44e
4 changed files with 218 additions and 3 deletions
37
models.py
37
models.py
|
|
@ -102,6 +102,43 @@ class LamassuTransaction(BaseModel):
|
|||
timestamp: datetime
|
||||
|
||||
|
||||
# Lamassu Transaction Storage Models
|
||||
class CreateLamassuTransactionData(BaseModel):
|
||||
lamassu_transaction_id: str
|
||||
fiat_amount: int
|
||||
crypto_amount: int
|
||||
commission_percentage: float
|
||||
discount: float = 0.0
|
||||
effective_commission: float
|
||||
commission_amount_sats: int
|
||||
base_amount_sats: int
|
||||
exchange_rate: float
|
||||
crypto_code: str = "BTC"
|
||||
fiat_code: str = "GTQ"
|
||||
device_id: Optional[str] = None
|
||||
transaction_time: datetime
|
||||
|
||||
|
||||
class StoredLamassuTransaction(BaseModel):
|
||||
id: str
|
||||
lamassu_transaction_id: str
|
||||
fiat_amount: int
|
||||
crypto_amount: int
|
||||
commission_percentage: float
|
||||
discount: float
|
||||
effective_commission: float
|
||||
commission_amount_sats: int
|
||||
base_amount_sats: int
|
||||
exchange_rate: float
|
||||
crypto_code: str
|
||||
fiat_code: str
|
||||
device_id: Optional[str]
|
||||
transaction_time: datetime
|
||||
processed_at: datetime
|
||||
clients_count: int # Number of clients who received distributions
|
||||
distributions_total_sats: int # Total sats distributed to clients
|
||||
|
||||
|
||||
# Lamassu Configuration Models
|
||||
class CreateLamassuConfigData(BaseModel):
|
||||
host: str
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue