PHASE 2: Fixes balance assertion creation and validation
Improves balance assertion creation by handling Decimal types correctly for database insertion. It also fixes a validation issue in the UI where the expected balance was not correctly validated as a required field and initializes the value to 0.
This commit is contained in:
parent
0257b7807c
commit
c0277dfc98
3 changed files with 36 additions and 42 deletions
26
crud.py
26
crud.py
|
|
@ -796,7 +796,31 @@ async def create_balance_assertion(
|
|||
created_at=datetime.now(),
|
||||
)
|
||||
|
||||
await db.insert("balance_assertions", assertion, convert_decimal=True)
|
||||
# Manually insert with Decimal fields converted to strings
|
||||
await db.execute(
|
||||
"""
|
||||
INSERT INTO balance_assertions (
|
||||
id, date, account_id, expected_balance_sats, expected_balance_fiat,
|
||||
fiat_currency, tolerance_sats, tolerance_fiat, status, created_by, created_at
|
||||
) VALUES (
|
||||
:id, :date, :account_id, :expected_balance_sats, :expected_balance_fiat,
|
||||
:fiat_currency, :tolerance_sats, :tolerance_fiat, :status, :created_by, :created_at
|
||||
)
|
||||
""",
|
||||
{
|
||||
"id": assertion.id,
|
||||
"date": assertion.date,
|
||||
"account_id": assertion.account_id,
|
||||
"expected_balance_sats": assertion.expected_balance_sats,
|
||||
"expected_balance_fiat": str(assertion.expected_balance_fiat) if assertion.expected_balance_fiat else None,
|
||||
"fiat_currency": assertion.fiat_currency,
|
||||
"tolerance_sats": assertion.tolerance_sats,
|
||||
"tolerance_fiat": str(assertion.tolerance_fiat),
|
||||
"status": assertion.status.value,
|
||||
"created_by": assertion.created_by,
|
||||
"created_at": assertion.created_at,
|
||||
},
|
||||
)
|
||||
return assertion
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue