diff --git a/lnbits/extensions/usermanager/crud.py b/lnbits/extensions/usermanager/crud.py index 1ce66d4fa..649888a83 100644 --- a/lnbits/extensions/usermanager/crud.py +++ b/lnbits/extensions/usermanager/crud.py @@ -63,10 +63,11 @@ async def get_usermanager_users(user_id: str) -> List[Users]: return [Users(**row) for row in rows] -async def delete_usermanager_user(user_id: str) -> None: - wallets = await get_usermanager_wallets(user_id) - for wallet in wallets: - await delete_wallet(user_id=user_id, wallet_id=wallet.id) +async def delete_usermanager_user(user_id: str, delete_core: bool = True) -> None: + if delete_core: + wallets = await get_usermanager_wallets(user_id) + for wallet in wallets: + await delete_wallet(user_id=user_id, wallet_id=wallet.id) await db.execute("DELETE FROM usermanager.users WHERE id = ?", (user_id,)) await db.execute("""DELETE FROM usermanager.wallets WHERE "user" = ?""", (user_id,)) diff --git a/lnbits/extensions/usermanager/templates/usermanager/_api_docs.html b/lnbits/extensions/usermanager/templates/usermanager/_api_docs.html index 36593d74b..ff3ba85a3 100644 --- a/lnbits/extensions/usermanager/templates/usermanager/_api_docs.html +++ b/lnbits/extensions/usermanager/templates/usermanager/_api_docs.html @@ -44,7 +44,7 @@
curl -X GET {{ request.base_url }}usermanager/api/v1/users -H
- "X-Api-Key: {{ user.wallets[0].inkey }}"
+ "X-Api-Key: {{ user.wallets[0].adminkey }}"
@@ -81,7 +81,7 @@
GET
- /usermanager/api/v1/wallets/<user_id>
{"X-Api-Key": <string>}
@@ -92,9 +92,8 @@
JSON wallet data
curl -X GET {{ request.base_url
- }}usermanager/api/v1/wallets/<user_id> -H "X-Api-Key: {{
- user.wallets[0].inkey }}"
+ >curl -X GET {{ request.base_url }}usermanager/api/v1/wallets -H
+ "X-Api-Key: {{ user.wallets[0].adminkey }}"
curl -X DELETE {{ request.base_url
}}usermanager/api/v1/users/<user_id> -H "X-Api-Key: {{
- user.wallets[0].inkey }}"
+ user.wallets[0].adminkey }}"
@@ -239,7 +238,7 @@
curl -X DELETE {{ request.base_url
}}usermanager/api/v1/wallets/<wallet_id> -H "X-Api-Key: {{
- user.wallets[0].inkey }}"
+ user.wallets[0].adminkey }}"
diff --git a/lnbits/extensions/usermanager/views_api.py b/lnbits/extensions/usermanager/views_api.py
index 7e7b7653a..b1bf8ef89 100644
--- a/lnbits/extensions/usermanager/views_api.py
+++ b/lnbits/extensions/usermanager/views_api.py
@@ -52,15 +52,17 @@ async def api_usermanager_users_create(
@usermanager_ext.delete("/api/v1/users/{user_id}")
async def api_usermanager_users_delete(
- user_id, wallet: WalletTypeInfo = Depends(require_admin_key)
+ user_id,
+ delete_core: bool = Query(True),
+ wallet: WalletTypeInfo = Depends(require_admin_key),
):
user = await get_usermanager_user(user_id)
if not user:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND, detail="User does not exist."
)
- await delete_usermanager_user(user_id)
- raise HTTPException(status_code=HTTPStatus.NO_CONTENT)
+ await delete_usermanager_user(user_id, delete_core)
+ return "", HTTPStatus.NO_CONTENT
# Activate Extension
@@ -124,4 +126,4 @@ async def api_usermanager_wallets_delete(
status_code=HTTPStatus.NOT_FOUND, detail="Wallet does not exist."
)
await delete_usermanager_wallet(wallet_id, get_wallet.user)
- raise HTTPException(status_code=HTTPStatus.NO_CONTENT)
+ return "", HTTPStatus.NO_CONTENT