fix: exclude (soft) deleted wallets when creating an invoice (#3439)

This commit is contained in:
Vlad Stan
2025-10-21 14:59:04 +03:00
committed by GitHub
parent 785fb7af8e
commit b9de754598
2 changed files with 15 additions and 4 deletions

View File

@@ -104,7 +104,7 @@ async def delete_unused_wallets(
async def get_wallet(
wallet_id: str, deleted: bool | None = None, conn: Connection | None = None
wallet_id: str, deleted: bool | None = False, conn: Connection | None = None
) -> Wallet | None:
query = """
SELECT *, COALESCE((
@@ -122,7 +122,7 @@ async def get_wallet(
async def get_wallets(
user_id: str, deleted: bool | None = None, conn: Connection | None = None
user_id: str, deleted: bool | None = False, conn: Connection | None = None
) -> list[Wallet]:
query = """
SELECT *, COALESCE((
@@ -163,11 +163,11 @@ async def get_wallets_paginated(
async def get_wallets_ids(
user_id: str, deleted: bool | None = None, conn: Connection | None = None
user_id: str, deleted: bool | None = False, conn: Connection | None = None
) -> list[str]:
query = """SELECT id FROM wallets WHERE "user" = :user"""
if deleted is not None:
query += "AND deleted = :deleted"
query += " AND deleted = :deleted"
result: list[dict] = await (conn or db).fetchall(
query,
{"user": user_id, "deleted": deleted},

View File

@@ -30,6 +30,17 @@ async def test_create_wallet_and_delete_wallet(app, to_user):
# check if wallet is deleted
del_wallet = await get_wallet(wallet.id)
assert del_wallet is None
# check if wallet is deleted
del_wallet = await get_wallet(wallet.id, False)
assert del_wallet is None
del_wallet = await get_wallet(wallet.id, None)
assert del_wallet is not None
assert del_wallet.deleted is True
del_wallet = await get_wallet(wallet.id, True)
assert del_wallet is not None
assert del_wallet.deleted is True