From 532cd0869806dc638e1eb0ee9a6446021a0036e7 Mon Sep 17 00:00:00 2001 From: Arc Date: Tue, 19 Nov 2024 01:23:51 +0000 Subject: [PATCH] fixed update --- crud.py | 4 ++-- static/js/index.js | 11 ++++++++--- tasks.py | 3 ++- views_api.py | 3 ++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/crud.py b/crud.py index 3ba8392..2dfd90d 100644 --- a/crud.py +++ b/crud.py @@ -34,9 +34,9 @@ async def get_myextensions(wallet_ids: Union[str, List[str]]) -> List[MyExtensio ) -async def update_myextension(data: MyExtension) -> MyExtension: +async def update_myextension(data: CreateMyExtensionData) -> MyExtension: await db.update("myextension.maintable", data) - return data + return MyExtension(**data.dict()) async def delete_myextension(myextension_id: str) -> None: diff --git a/static/js/index.js b/static/js/index.js index b6bd46a..9b3ba89 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -108,6 +108,7 @@ window.app = Vue.createApp({ }, async updateMyExtension(wallet, data) { + data.wallet = wallet.id await LNbits.api .request( 'PUT', @@ -126,6 +127,9 @@ window.app = Vue.createApp({ }, async deleteMyExtension(tempId) { var myextension = _.findWhere(this.myex, {id: tempId}) + const wallet = _.findWhere(this.g.user.wallets, { + id: myextension.wallet + }) await LNbits.utils .confirmDialog('Are you sure you want to delete this MyExtension?') .onOk(function () { @@ -133,11 +137,12 @@ window.app = Vue.createApp({ .request( 'DELETE', '/myextension/api/v1/myex/' + tempId, - _.findWhere(this.g.user.wallets, {id: myextension.wallet}) - .adminkey + wallet.adminkey ) .then(() => { - this.myex = _.reject(this.myex, obj => obj.id == tempId) + this.myex = _.reject(this.myex, function (obj) { + return obj.id === myextension.id + }) }) .catch(error => { LNbits.utils.notifyApiError(error) diff --git a/tasks.py b/tasks.py index 100dec1..8e56286 100644 --- a/tasks.py +++ b/tasks.py @@ -5,6 +5,7 @@ from lnbits.core.services import websocket_updater from lnbits.tasks import register_invoice_listener from .crud import get_myextension, update_myextension +from .models import CreateMyExtensionData ####################################### ########## RUN YOUR TASKS HERE ######## @@ -40,7 +41,7 @@ async def on_invoice_paid(payment: Payment) -> None: total = myextension.total + payment.amount myextension.total = total - await update_myextension(myextension) + await update_myextension(CreateMyExtensionData(**myextension.dict())) # here we could send some data to a websocket on # wss:///api/v1/ws/ and then listen to it on diff --git a/views_api.py b/views_api.py index 4715c5f..1de4cd5 100644 --- a/views_api.py +++ b/views_api.py @@ -92,7 +92,7 @@ async def api_myextension_create( @myextension_api_router.put("/api/v1/myex/{myextension_id}") async def api_myextension_update( req: Request, # Withoutthe lnurl stuff this wouldnt be needed - data: MyExtension, + data: CreateMyExtensionData, myextension_id: str, wallet: WalletTypeInfo = Depends(require_admin_key), ) -> MyExtension: @@ -140,6 +140,7 @@ async def api_myextension_delete( ) await delete_myextension(myextension_id) + return # ANY OTHER ENDPOINTS YOU NEED