mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-24 06:48:02 +01:00
feat: add get endpoint for user wallets (#2299)
* feat: add get endpoint for user wallets * feat: only expose relevant fields * refactor: extract `BaseWallet` * doc: add open api doc
This commit is contained in:
parent
1b7efd854a
commit
e8aa498683
2 changed files with 17 additions and 3 deletions
|
@ -21,14 +21,17 @@ from lnbits.wallets import get_wallet_class
|
||||||
from lnbits.wallets.base import PaymentStatus
|
from lnbits.wallets.base import PaymentStatus
|
||||||
|
|
||||||
|
|
||||||
class Wallet(BaseModel):
|
class BaseWallet(BaseModel):
|
||||||
id: str
|
id: str
|
||||||
name: str
|
name: str
|
||||||
user: str
|
|
||||||
adminkey: str
|
adminkey: str
|
||||||
inkey: str
|
inkey: str
|
||||||
currency: Optional[str]
|
|
||||||
balance_msat: int
|
balance_msat: int
|
||||||
|
|
||||||
|
|
||||||
|
class Wallet(BaseWallet):
|
||||||
|
user: str
|
||||||
|
currency: Optional[str]
|
||||||
deleted: bool
|
deleted: bool
|
||||||
created_at: Optional[int] = None
|
created_at: Optional[int] = None
|
||||||
updated_at: Optional[int] = None
|
updated_at: Optional[int] = None
|
||||||
|
|
|
@ -32,6 +32,7 @@ from lnbits.core.helpers import (
|
||||||
stop_extension_background_work,
|
stop_extension_background_work,
|
||||||
)
|
)
|
||||||
from lnbits.core.models import (
|
from lnbits.core.models import (
|
||||||
|
BaseWallet,
|
||||||
ConversionData,
|
ConversionData,
|
||||||
CreateInvoice,
|
CreateInvoice,
|
||||||
CreateLnurl,
|
CreateLnurl,
|
||||||
|
@ -51,6 +52,7 @@ from lnbits.decorators import (
|
||||||
WalletTypeInfo,
|
WalletTypeInfo,
|
||||||
check_access_token,
|
check_access_token,
|
||||||
check_admin,
|
check_admin,
|
||||||
|
check_user_exists,
|
||||||
get_key_type,
|
get_key_type,
|
||||||
parse_filters,
|
parse_filters,
|
||||||
require_admin_key,
|
require_admin_key,
|
||||||
|
@ -127,6 +129,15 @@ async def api_wallet(wallet: WalletTypeInfo = Depends(get_key_type)):
|
||||||
return {"name": wallet.wallet.name, "balance": wallet.wallet.balance_msat}
|
return {"name": wallet.wallet.name, "balance": wallet.wallet.balance_msat}
|
||||||
|
|
||||||
|
|
||||||
|
@api_router.get(
|
||||||
|
"/api/v1/wallets",
|
||||||
|
name="Wallets",
|
||||||
|
description="Get basic info for all of user's wallets.",
|
||||||
|
)
|
||||||
|
async def api_wallets(user: User = Depends(check_user_exists)) -> List[BaseWallet]:
|
||||||
|
return [BaseWallet(**w.dict()) for w in user.wallets]
|
||||||
|
|
||||||
|
|
||||||
@api_router.put("/api/v1/wallet/{new_name}")
|
@api_router.put("/api/v1/wallet/{new_name}")
|
||||||
async def api_update_wallet_name(
|
async def api_update_wallet_name(
|
||||||
new_name: str, wallet: WalletTypeInfo = Depends(require_admin_key)
|
new_name: str, wallet: WalletTypeInfo = Depends(require_admin_key)
|
||||||
|
|
Loading…
Add table
Reference in a new issue