mirror of
https://github.com/lnbits/lnbits.git
synced 2025-11-27 06:16:44 +01:00
fix: exclude (soft) deleted wallets when creating an invoice (#3439)
This commit is contained in:
@@ -104,7 +104,7 @@ async def delete_unused_wallets(
|
|||||||
|
|
||||||
|
|
||||||
async def get_wallet(
|
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:
|
) -> Wallet | None:
|
||||||
query = """
|
query = """
|
||||||
SELECT *, COALESCE((
|
SELECT *, COALESCE((
|
||||||
@@ -122,7 +122,7 @@ async def get_wallet(
|
|||||||
|
|
||||||
|
|
||||||
async def get_wallets(
|
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]:
|
) -> list[Wallet]:
|
||||||
query = """
|
query = """
|
||||||
SELECT *, COALESCE((
|
SELECT *, COALESCE((
|
||||||
@@ -163,11 +163,11 @@ async def get_wallets_paginated(
|
|||||||
|
|
||||||
|
|
||||||
async def get_wallets_ids(
|
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]:
|
) -> list[str]:
|
||||||
query = """SELECT id FROM wallets WHERE "user" = :user"""
|
query = """SELECT id FROM wallets WHERE "user" = :user"""
|
||||||
if deleted is not None:
|
if deleted is not None:
|
||||||
query += "AND deleted = :deleted"
|
query += " AND deleted = :deleted"
|
||||||
result: list[dict] = await (conn or db).fetchall(
|
result: list[dict] = await (conn or db).fetchall(
|
||||||
query,
|
query,
|
||||||
{"user": user_id, "deleted": deleted},
|
{"user": user_id, "deleted": deleted},
|
||||||
|
|||||||
@@ -30,6 +30,17 @@ async def test_create_wallet_and_delete_wallet(app, to_user):
|
|||||||
|
|
||||||
# check if wallet is deleted
|
# check if wallet is deleted
|
||||||
del_wallet = await get_wallet(wallet.id)
|
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 is not None
|
||||||
assert del_wallet.deleted is True
|
assert del_wallet.deleted is True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user