From b3856d5aff4e4bce490f4e2652916136ed069ea4 Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Fri, 6 Aug 2021 11:15:07 +0100 Subject: [PATCH] allow wallet rename issue #141 --- lnbits/core/crud.py | 14 +++++++++++++- lnbits/core/static/js/wallet.js | 25 ++++++++++++++++++++++++- lnbits/core/templates/core/wallet.html | 22 ++++++++++++++++++++++ lnbits/core/views/api.py | 18 +++++++++++++++++- 4 files changed, 76 insertions(+), 3 deletions(-) diff --git a/lnbits/core/crud.py b/lnbits/core/crud.py index 8135dc883..5378d5933 100644 --- a/lnbits/core/crud.py +++ b/lnbits/core/crud.py @@ -112,6 +112,18 @@ async def create_wallet( return new_wallet +async def update_wallet( + wallet_id: str, new_name: str, conn: Optional[Connection] = None +) -> Optional[Wallet]: + await (conn or db).execute( + """ + UPDATE wallets SET + name = ? + WHERE id = ? + """, + (new_name, wallet_id) + ) + async def delete_wallet( *, user_id: str, wallet_id: str, conn: Optional[Connection] = None @@ -390,7 +402,7 @@ async def check_internal( row = await (conn or db).fetchone( """ SELECT checking_id FROM apipayments - WHERE hash = ? AND pending AND amount > 0 + WHERE hash = ? AND pending AND amount > 0 """, (payment_hash,), ) diff --git a/lnbits/core/static/js/wallet.js b/lnbits/core/static/js/wallet.js index 712824088..a3c1f48a6 100644 --- a/lnbits/core/static/js/wallet.js +++ b/lnbits/core/static/js/wallet.js @@ -184,7 +184,8 @@ new Vue({ show: false, location: window.location }, - balance: 0 + balance: 0, + newName: '' } }, computed: { @@ -583,6 +584,28 @@ new Vue({ } }) }, + updateWalletName: function(){ + let newName = this.newName + if(!newName || !newName.length) return + // let data = {name: newName} + LNbits.api + .request( + 'PUT', + '/api/v1/wallet/' + newName, + this.g.wallet.inkey, + {} + ).then(res => { + this.newName = '' + this.$q.notify({ + message: `Wallet named updated.`, + type: 'positive', + timeout: 3500 + }) + }).catch(err => { + this.newName = '' + LNbits.utils.notifyApiError(err) + }) + }, deleteWallet: function (walletId, user) { LNbits.utils .confirmDialog('Are you sure you want to delete this wallet?') diff --git a/lnbits/core/templates/core/wallet.html b/lnbits/core/templates/core/wallet.html index d48e36b84..98eec8f24 100644 --- a/lnbits/core/templates/core/wallet.html +++ b/lnbits/core/templates/core/wallet.html @@ -277,6 +277,28 @@ + + + +
+ +
+ Update name +
+
+
+ ", methods=["PUT"]) +@api_check_wallet_key("invoice") +async def api_update_wallet(new_name): + print("UPDATE", g.wallet.id, new_name) + await update_wallet(g.wallet.id, new_name) + return ( + jsonify( + { + "id": g.wallet.id, + "name": g.wallet.name, + "balance": g.wallet.balance_msat, + } + ), + HTTPStatus.OK, + ) + @core_app.route("/api/v1/payments", methods=["GET"]) @api_check_wallet_key("invoice")