From 88d38f729411bb91787e5876c7415377a689dba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Mon, 29 Aug 2022 10:55:35 +0200 Subject: [PATCH 01/13] change docker image name for regtest tests (#931) --- .github/workflows/regtest.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/regtest.yml b/.github/workflows/regtest.yml index e35c9f93..250a66c7 100644 --- a/.github/workflows/regtest.yml +++ b/.github/workflows/regtest.yml @@ -17,7 +17,7 @@ jobs: - uses: abatilo/actions-poetry@v2.1.3 - name: Setup Regtest run: | - docker build -t lnbits-legend . + docker build -t lnbitsdocker/lnbits-legend . git clone https://github.com/lnbits/legend-regtest-enviroment.git docker cd docker chmod +x ./tests @@ -56,7 +56,7 @@ jobs: - uses: abatilo/actions-poetry@v2.1.3 - name: Setup Regtest run: | - docker build -t lnbits-legend . + docker build -t lnbitsdocker/lnbits-legend . git clone https://github.com/lnbits/legend-regtest-enviroment.git docker cd docker chmod +x ./tests @@ -97,7 +97,7 @@ jobs: - uses: abatilo/actions-poetry@v2.1.3 - name: Setup Regtest run: | - docker build -t lnbits-legend . + docker build -t lnbitsdocker/lnbits-legend . git clone https://github.com/lnbits/legend-regtest-enviroment.git docker cd docker chmod +x ./tests From 8832d6e4ebc868a861786ddb89ab1df82075f45c Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 07:34:56 -0600 Subject: [PATCH 02/13] make format --- lnbits/extensions/boltcards/lnurl.py | 19 ++++++------------- lnbits/extensions/boltcards/models.py | 3 +-- .../extensions/boltcards/static/js/index.js | 2 +- lnbits/extensions/boltcards/tasks.py | 2 +- .../boltcards/templates/boltcards/index.html | 2 +- lnbits/extensions/boltcards/views_api.py | 7 +++---- 6 files changed, 13 insertions(+), 22 deletions(-) diff --git a/lnbits/extensions/boltcards/lnurl.py b/lnbits/extensions/boltcards/lnurl.py index a1630e2b..9399fb36 100644 --- a/lnbits/extensions/boltcards/lnurl.py +++ b/lnbits/extensions/boltcards/lnurl.py @@ -2,21 +2,19 @@ import base64 import hashlib import hmac import json +import secrets from http import HTTPStatus from io import BytesIO from typing import Optional -from loguru import logger - from embit import bech32, compact from fastapi import Request from fastapi.param_functions import Query -from starlette.exceptions import HTTPException - -import secrets -from http import HTTPStatus - from fastapi.params import Depends, Query +from lnurl import Lnurl, LnurlWithdrawResponse +from lnurl import encode as lnurl_encode # type: ignore +from lnurl.types import LnurlPayMetadata # type: ignore +from loguru import logger from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.responses import HTMLResponse @@ -24,17 +22,12 @@ from starlette.responses import HTMLResponse from lnbits.core.services import create_invoice from lnbits.core.views.api import pay_invoice -from lnurl import Lnurl, LnurlWithdrawResponse -from lnurl import encode as lnurl_encode # type: ignore -from lnurl.types import LnurlPayMetadata # type: ignore - from . import boltcards_ext from .crud import ( create_hit, get_card, - get_card_by_uid, get_card_by_otp, - get_card, + get_card_by_uid, get_hit, get_hits_today, spend_hit, diff --git a/lnbits/extensions/boltcards/models.py b/lnbits/extensions/boltcards/models.py index 80e3b973..21096640 100644 --- a/lnbits/extensions/boltcards/models.py +++ b/lnbits/extensions/boltcards/models.py @@ -1,9 +1,8 @@ -from fastapi.params import Query -from pydantic import BaseModel from sqlite3 import Row from typing import Optional from fastapi import Request +from fastapi.params import Query from lnurl import Lnurl from lnurl import encode as lnurl_encode # type: ignore from lnurl.models import LnurlPaySuccessAction, UrlAction # type: ignore diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index 33704f3a..27536304 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -190,7 +190,7 @@ new Vue({ }) }) }, - openQrCodeDialog (cardId) { + openQrCodeDialog(cardId) { var card = _.findWhere(this.cards, {id: cardId}) this.qrCodeDialog.data = { link: window.location.origin + '/boltcards/api/v1/auth?a=' + card.otp, diff --git a/lnbits/extensions/boltcards/tasks.py b/lnbits/extensions/boltcards/tasks.py index bfe4f257..a7eea026 100644 --- a/lnbits/extensions/boltcards/tasks.py +++ b/lnbits/extensions/boltcards/tasks.py @@ -7,7 +7,7 @@ from lnbits.core import db as core_db from lnbits.core.models import Payment from lnbits.tasks import register_invoice_listener -from .crud import get_hit, create_refund +from .crud import create_refund, get_hit async def wait_for_paid_invoices(): diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 2a613fda..73e5820b 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -7,7 +7,7 @@
-
+
Cards
diff --git a/lnbits/extensions/boltcards/views_api.py b/lnbits/extensions/boltcards/views_api.py index f1e02810..698e1094 100644 --- a/lnbits/extensions/boltcards/views_api.py +++ b/lnbits/extensions/boltcards/views_api.py @@ -2,6 +2,7 @@ import secrets from http import HTTPStatus from fastapi.params import Depends, Query +from loguru import logger from starlette.exceptions import HTTPException from starlette.requests import Request @@ -13,22 +14,20 @@ from .crud import ( create_card, create_hit, delete_card, + enable_disable_card, get_card, get_card_by_otp, get_card_by_uid, get_cards, get_hits, + get_refunds, update_card, update_card_counter, update_card_otp, - enable_disable_card, - get_refunds, ) from .models import CreateCardData from .nxp424 import decryptSUN, getSunMAC -from loguru import logger - @boltcards_ext.get("/api/v1/cards") async def api_cards( From c8b725830bee3e35302c454acbacd50e17208006 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 07:55:51 -0600 Subject: [PATCH 03/13] make copy lnurl to clipboard work --- lnbits/extensions/boltcards/static/js/index.js | 1 + lnbits/extensions/boltcards/templates/boltcards/index.html | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index 27536304..e6c052ac 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -16,6 +16,7 @@ new Vue({ return { toggleAdvanced: false, nfcTagReading: false, + lnurlLink: `lnurlw://${window.location.host}/boltcards/api/v1/scan/`, cards: [], hits: [], refunds: [], diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 73e5820b..6938eb46 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -68,8 +68,7 @@ outline color="grey" @click="copyText(lnurlLink + props.row.uid)" - lnurlLink - >lnurl://...lnurlw://...Click to copy, then add to NFC card From 7400d7f43046c660060977c858a35c96cda76b16 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 07:58:29 -0600 Subject: [PATCH 04/13] link to play store app in qr code dialog --- lnbits/extensions/boltcards/templates/boltcards/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 6938eb46..0561cc01 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -370,7 +370,12 @@ >

- (QR code is for setting the keys with bolt-nfc-android-app) + (QR code is for setting the keys with + bolt-nfc-android-app)

Name: {{ qrCodeDialog.data.name }}
From a8ac90da5c79a76b16cc07c9bbf3cd6474700f4d Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:19:39 -0600 Subject: [PATCH 05/13] make scan nfc button work --- .../extensions/boltcards/static/js/index.js | 63 +++++++++++++++++++ .../boltcards/templates/boltcards/index.html | 3 +- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index e6c052ac..315ed59f 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -230,6 +230,69 @@ new Vue({ ? '33333333333333333333333333333333' : genRanHex(32) }, + readNfcTag: function () { + try { + const self = this + + if (typeof NDEFReader == 'undefined') { + throw { + toString: function () { + return 'NFC not supported on this device or browser.' + } + } + } + + const ndef = new NDEFReader() + + const readerAbortController = new AbortController() + readerAbortController.signal.onabort = event => { + console.log('All NFC Read operations have been aborted.') + } + + this.nfcTagReading = true + this.$q.notify({ + message: 'Tap your NFC tag to read its UID' + }) + + return ndef.scan({signal: readerAbortController.signal}).then(() => { + ndef.onreadingerror = () => { + self.nfcTagReading = false + + this.$q.notify({ + type: 'negative', + message: 'There was an error reading this NFC tag.' + }) + + readerAbortController.abort() + } + + ndef.onreading = ({message, serialNumber}) => { + self.nfcTagReading = false + + self.cardDialog.data.uid = serialNumber + .replaceAll(':', '') + .toUpperCase() + + this.$q.notify({ + type: 'positive', + message: 'NFC tag read successfully.' + }) + + setTimeout(() => { + readerAbortController.abort() + }, 1000) + } + }) + } catch (error) { + this.nfcTagReading = false + this.$q.notify({ + type: 'negative', + message: error + ? error.toString() + : 'An unexpected error has occurred.' + }) + } + }, closeFormDialog: function () { this.cardDialog.data = {} }, diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 0561cc01..eb29e543 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -278,7 +278,8 @@ color="grey" icon="nfc" :disable="nfcTagReading" - >Tap card to scan UID (coming soon)Tap card to scan UID

From c35ae109a4bb91b0d0beb004f49c0de44ca6943b Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:21:47 -0600 Subject: [PATCH 06/13] remove v-el from element, this was removed in Vue v2, ref does not appear to be used anywhere --- lnbits/extensions/boltcards/templates/boltcards/index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index eb29e543..c4a53bd7 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -332,7 +332,6 @@ class="q-ml-auto" v-on:click="generateKeys" v-on:click.right="debugKeys" - v-el:keybtn >Generate keys
From 630cc296fb56ddb33995b6c659add7c8d26f4163 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:22:51 -0600 Subject: [PATCH 07/13] do not add lnurlw:// to the string --- lnbits/extensions/boltcards/static/js/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index 315ed59f..b59b712b 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -16,7 +16,7 @@ new Vue({ return { toggleAdvanced: false, nfcTagReading: false, - lnurlLink: `lnurlw://${window.location.host}/boltcards/api/v1/scan/`, + lnurlLink: `${window.location.host}/boltcards/api/v1/scan/`, cards: [], hits: [], refunds: [], From a086db43baec5c5dd2c7f2f57487a61a5e1f13c1 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:38:48 -0600 Subject: [PATCH 08/13] Revert "do not add lnurlw:// to the string" This reverts commit 630cc296fb56ddb33995b6c659add7c8d26f4163. --- lnbits/extensions/boltcards/static/js/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index b59b712b..315ed59f 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -16,7 +16,7 @@ new Vue({ return { toggleAdvanced: false, nfcTagReading: false, - lnurlLink: `${window.location.host}/boltcards/api/v1/scan/`, + lnurlLink: `lnurlw://${window.location.host}/boltcards/api/v1/scan/`, cards: [], hits: [], refunds: [], From d7696fdc0f9c25924955d24088a0f0905a082168 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:38:54 -0600 Subject: [PATCH 09/13] Revert "remove v-el from element, this was removed in Vue v2, ref does not appear to be used anywhere" This reverts commit c35ae109a4bb91b0d0beb004f49c0de44ca6943b. --- lnbits/extensions/boltcards/templates/boltcards/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index c4a53bd7..eb29e543 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -332,6 +332,7 @@ class="q-ml-auto" v-on:click="generateKeys" v-on:click.right="debugKeys" + v-el:keybtn >Generate keys
From 5dd6c0d2f41a17ab1432f911a6431ecec1ae342d Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:39:02 -0600 Subject: [PATCH 10/13] Revert "make scan nfc button work" This reverts commit a8ac90da5c79a76b16cc07c9bbf3cd6474700f4d. --- .../extensions/boltcards/static/js/index.js | 63 ------------------- .../boltcards/templates/boltcards/index.html | 3 +- 2 files changed, 1 insertion(+), 65 deletions(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index 315ed59f..e6c052ac 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -230,69 +230,6 @@ new Vue({ ? '33333333333333333333333333333333' : genRanHex(32) }, - readNfcTag: function () { - try { - const self = this - - if (typeof NDEFReader == 'undefined') { - throw { - toString: function () { - return 'NFC not supported on this device or browser.' - } - } - } - - const ndef = new NDEFReader() - - const readerAbortController = new AbortController() - readerAbortController.signal.onabort = event => { - console.log('All NFC Read operations have been aborted.') - } - - this.nfcTagReading = true - this.$q.notify({ - message: 'Tap your NFC tag to read its UID' - }) - - return ndef.scan({signal: readerAbortController.signal}).then(() => { - ndef.onreadingerror = () => { - self.nfcTagReading = false - - this.$q.notify({ - type: 'negative', - message: 'There was an error reading this NFC tag.' - }) - - readerAbortController.abort() - } - - ndef.onreading = ({message, serialNumber}) => { - self.nfcTagReading = false - - self.cardDialog.data.uid = serialNumber - .replaceAll(':', '') - .toUpperCase() - - this.$q.notify({ - type: 'positive', - message: 'NFC tag read successfully.' - }) - - setTimeout(() => { - readerAbortController.abort() - }, 1000) - } - }) - } catch (error) { - this.nfcTagReading = false - this.$q.notify({ - type: 'negative', - message: error - ? error.toString() - : 'An unexpected error has occurred.' - }) - } - }, closeFormDialog: function () { this.cardDialog.data = {} }, diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index eb29e543..0561cc01 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -278,8 +278,7 @@ color="grey" icon="nfc" :disable="nfcTagReading" - @click="readNfcTag" - >Tap card to scan UIDTap card to scan UID (coming soon) From e715ff52d274f56c8f4bfc14d4f1b3e8ea1fe6f7 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:39:16 -0600 Subject: [PATCH 11/13] Revert "link to play store app in qr code dialog" This reverts commit 7400d7f43046c660060977c858a35c96cda76b16. --- lnbits/extensions/boltcards/templates/boltcards/index.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 0561cc01..6938eb46 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -370,12 +370,7 @@ >

- (QR code is for setting the keys with - bolt-nfc-android-app) + (QR code is for setting the keys with bolt-nfc-android-app)

Name: {{ qrCodeDialog.data.name }}
From 93483f76ab98680f67dc04de748933991044de62 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:39:30 -0600 Subject: [PATCH 12/13] Revert "make copy lnurl to clipboard work" This reverts commit c8b725830bee3e35302c454acbacd50e17208006. --- lnbits/extensions/boltcards/static/js/index.js | 1 - lnbits/extensions/boltcards/templates/boltcards/index.html | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index e6c052ac..27536304 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -16,7 +16,6 @@ new Vue({ return { toggleAdvanced: false, nfcTagReading: false, - lnurlLink: `lnurlw://${window.location.host}/boltcards/api/v1/scan/`, cards: [], hits: [], refunds: [], diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 6938eb46..73e5820b 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -68,7 +68,8 @@ outline color="grey" @click="copyText(lnurlLink + props.row.uid)" - >lnurlw://...lnurl://...Click to copy, then add to NFC card From 8e41f7867eccf43b6e9f0e41cea8d757ab22e485 Mon Sep 17 00:00:00 2001 From: Lee Salminen Date: Mon, 29 Aug 2022 08:39:37 -0600 Subject: [PATCH 13/13] Revert "make format" This reverts commit 8832d6e4ebc868a861786ddb89ab1df82075f45c. --- lnbits/extensions/boltcards/lnurl.py | 19 +++++++++++++------ lnbits/extensions/boltcards/models.py | 3 ++- .../extensions/boltcards/static/js/index.js | 2 +- lnbits/extensions/boltcards/tasks.py | 2 +- .../boltcards/templates/boltcards/index.html | 2 +- lnbits/extensions/boltcards/views_api.py | 7 ++++--- 6 files changed, 22 insertions(+), 13 deletions(-) diff --git a/lnbits/extensions/boltcards/lnurl.py b/lnbits/extensions/boltcards/lnurl.py index 9399fb36..a1630e2b 100644 --- a/lnbits/extensions/boltcards/lnurl.py +++ b/lnbits/extensions/boltcards/lnurl.py @@ -2,19 +2,21 @@ import base64 import hashlib import hmac import json -import secrets from http import HTTPStatus from io import BytesIO from typing import Optional +from loguru import logger + from embit import bech32, compact from fastapi import Request from fastapi.param_functions import Query +from starlette.exceptions import HTTPException + +import secrets +from http import HTTPStatus + from fastapi.params import Depends, Query -from lnurl import Lnurl, LnurlWithdrawResponse -from lnurl import encode as lnurl_encode # type: ignore -from lnurl.types import LnurlPayMetadata # type: ignore -from loguru import logger from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.responses import HTMLResponse @@ -22,12 +24,17 @@ from starlette.responses import HTMLResponse from lnbits.core.services import create_invoice from lnbits.core.views.api import pay_invoice +from lnurl import Lnurl, LnurlWithdrawResponse +from lnurl import encode as lnurl_encode # type: ignore +from lnurl.types import LnurlPayMetadata # type: ignore + from . import boltcards_ext from .crud import ( create_hit, get_card, - get_card_by_otp, get_card_by_uid, + get_card_by_otp, + get_card, get_hit, get_hits_today, spend_hit, diff --git a/lnbits/extensions/boltcards/models.py b/lnbits/extensions/boltcards/models.py index 21096640..80e3b973 100644 --- a/lnbits/extensions/boltcards/models.py +++ b/lnbits/extensions/boltcards/models.py @@ -1,8 +1,9 @@ +from fastapi.params import Query +from pydantic import BaseModel from sqlite3 import Row from typing import Optional from fastapi import Request -from fastapi.params import Query from lnurl import Lnurl from lnurl import encode as lnurl_encode # type: ignore from lnurl.models import LnurlPaySuccessAction, UrlAction # type: ignore diff --git a/lnbits/extensions/boltcards/static/js/index.js b/lnbits/extensions/boltcards/static/js/index.js index 27536304..33704f3a 100644 --- a/lnbits/extensions/boltcards/static/js/index.js +++ b/lnbits/extensions/boltcards/static/js/index.js @@ -190,7 +190,7 @@ new Vue({ }) }) }, - openQrCodeDialog(cardId) { + openQrCodeDialog (cardId) { var card = _.findWhere(this.cards, {id: cardId}) this.qrCodeDialog.data = { link: window.location.origin + '/boltcards/api/v1/auth?a=' + card.otp, diff --git a/lnbits/extensions/boltcards/tasks.py b/lnbits/extensions/boltcards/tasks.py index a7eea026..bfe4f257 100644 --- a/lnbits/extensions/boltcards/tasks.py +++ b/lnbits/extensions/boltcards/tasks.py @@ -7,7 +7,7 @@ from lnbits.core import db as core_db from lnbits.core.models import Payment from lnbits.tasks import register_invoice_listener -from .crud import create_refund, get_hit +from .crud import get_hit, create_refund async def wait_for_paid_invoices(): diff --git a/lnbits/extensions/boltcards/templates/boltcards/index.html b/lnbits/extensions/boltcards/templates/boltcards/index.html index 73e5820b..2a613fda 100644 --- a/lnbits/extensions/boltcards/templates/boltcards/index.html +++ b/lnbits/extensions/boltcards/templates/boltcards/index.html @@ -7,7 +7,7 @@

-
+
Cards
diff --git a/lnbits/extensions/boltcards/views_api.py b/lnbits/extensions/boltcards/views_api.py index 698e1094..f1e02810 100644 --- a/lnbits/extensions/boltcards/views_api.py +++ b/lnbits/extensions/boltcards/views_api.py @@ -2,7 +2,6 @@ import secrets from http import HTTPStatus from fastapi.params import Depends, Query -from loguru import logger from starlette.exceptions import HTTPException from starlette.requests import Request @@ -14,20 +13,22 @@ from .crud import ( create_card, create_hit, delete_card, - enable_disable_card, get_card, get_card_by_otp, get_card_by_uid, get_cards, get_hits, - get_refunds, update_card, update_card_counter, update_card_otp, + enable_disable_card, + get_refunds, ) from .models import CreateCardData from .nxp424 import decryptSUN, getSunMAC +from loguru import logger + @boltcards_ext.get("/api/v1/cards") async def api_cards(