diff --git a/lnbits/core/crud.py b/lnbits/core/crud.py
index 8135dc88..5378d593 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 71282408..a3c1f48a 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 d48e36b8..98eec8f2 100644
--- a/lnbits/core/templates/core/wallet.html
+++ b/lnbits/core/templates/core/wallet.html
@@ -277,6 +277,28 @@
+
+
+
+
+ console.log(e)"/>
+
+ 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")