diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index f82e72e..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,53 +0,0 @@ -on: - push: - tags: - - "v[0-9]+.[0-9]+.[0-9]+" - -jobs: - - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Create github release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - tag: ${{ github.ref_name }} - run: | - gh release create "$tag" --generate-notes - pullrequest: - needs: [release] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.EXT_GITHUB }} - repository: lnbits/lnbits-extensions - path: './lnbits-extensions' - - - name: setup git user - run: | - git config --global user.name "alan" - git config --global user.email "alan@lnbits.com" - - name: Create pull request in extensions repo - env: - GH_TOKEN: ${{ secrets.EXT_GITHUB }} - repo_name: "${{ github.event.repository.name }}" - tag: "${{ github.ref_name }}" - branch: "update-${{ github.event.repository.name }}-${{ github.ref_name }}" - title: "[UPDATE] ${{ github.event.repository.name }} to ${{ github.ref_name }}" - body: "https://github.com/lnbits/${{ github.event.repository.name }}/releases/${{ github.ref_name }}" - archive: "https://github.com/lnbits/${{ github.event.repository.name }}/archive/refs/tags/${{ github.ref_name }}.zip" - run: | - cd lnbits-extensions - git checkout -b $branch - # if there is another open PR - git pull origin $branch || echo "branch does not exist" - sh util.sh update_extension $repo_name $tag - git add -A - git commit -am "$title" - git push origin $branch - # check if pr exists before creating it - gh config set pager cat - check=$(gh pr list -H $branch | wc -l) - test $check -ne 0 || gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions diff --git a/.gitignore b/.gitignore index bee8a64..ed8ebf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -__pycache__ +__pycache__ \ No newline at end of file diff --git a/__init__.py b/__init__.py index a649cdd..f5e7896 100644 --- a/__init__.py +++ b/__init__.py @@ -7,13 +7,13 @@ from lnbits.helpers import template_renderer from lnbits.tasks import create_permanent_unique_task from loguru import logger -logger.debug("This logged message is from myextension/__init__.py, you can debug in your extension using 'import logger from loguru' and 'logger.debug()'.") +logger.debug( + "This logged message is from myextension/__init__.py, you can debug in your extension using 'import logger from loguru' and 'logger.debug()'." +) db = Database("ext_myextension") -myextension_ext: APIRouter = APIRouter( - prefix="/myextension", tags=["MyExtension"] -) +myextension_ext: APIRouter = APIRouter(prefix="/myextension", tags=["MyExtension"]) myextension_static_files = [ { @@ -34,6 +34,7 @@ from .views_api import * scheduled_tasks: list[asyncio.Task] = [] + def myextension_stop(): for task in scheduled_tasks: try: @@ -41,6 +42,7 @@ def myextension_stop(): except Exception as ex: logger.warning(ex) + def myextension_start(): task = create_permanent_unique_task("ext_myextension", wait_for_paid_invoices) - scheduled_tasks.append(task) \ No newline at end of file + scheduled_tasks.append(task) diff --git a/crud.py b/crud.py index f116a1c..37fd640 100644 --- a/crud.py +++ b/crud.py @@ -4,7 +4,6 @@ from lnbits.helpers import urlsafe_short_hash from lnbits.lnurl import encode as lnurl_encode from . import db from .models import CreateMyExtensionData, MyExtension -from loguru import logger from fastapi import Request from lnurl import encode as lnurl_encode import shortuuid diff --git a/lnurl.py b/lnurl.py index bdae006..02b7c35 100644 --- a/lnurl.py +++ b/lnurl.py @@ -124,7 +124,6 @@ async def api_lnurl_withdraw( name="myextension.api_lnurl_withdraw_callback", ) async def api_lnurl_withdraw_cb( - request: Request, myextension_id: str, pr: Optional[str] = None, k1: Optional[str] = None, diff --git a/models.py b/models.py index 6850e9b..2f98f48 100644 --- a/models.py +++ b/models.py @@ -1,12 +1,8 @@ # Data models for your extension from sqlite3 import Row -from typing import Optional, List +from typing import Optional from pydantic import BaseModel -from fastapi import Request - -from lnbits.lnurl import encode as lnurl_encode -from urllib.parse import urlparse class CreateMyExtensionData(BaseModel): diff --git a/tasks.py b/tasks.py index 65ae74a..b343808 100644 --- a/tasks.py +++ b/tasks.py @@ -1,9 +1,7 @@ import asyncio -from loguru import logger - from lnbits.core.models import Payment -from lnbits.core.services import create_invoice, websocket_updater +from lnbits.core.services import websocket_updater from lnbits.helpers import get_current_extension_name from lnbits.tasks import register_invoice_listener diff --git a/templates/myextension/index.html b/templates/myextension/index.html index 4131319..27b3954 100644 --- a/templates/myextension/index.html +++ b/templates/myextension/index.html @@ -150,7 +150,7 @@ - + {% endblock %} {% block scripts %} {{ window_vars(user) }} diff --git a/templates/myextension/myextension.html b/templates/myextension/myextension.html index bc23cb7..8b8652d 100644 --- a/templates/myextension/myextension.html +++ b/templates/myextension/myextension.html @@ -30,7 +30,8 @@ (this page will still be accessible even if you have restricted access to your LNbits install).

- In this example when a user pays the LNURLpay it triggers an event via a websocket waiting for the payment, which you can subscribe to somewhere using wss://{your-lnbits}/api/v1/ws/{the-id-of-this-record} + In this example when a user pays the LNURLpay it triggers an event via a websocket waiting for the payment, + which you can subscribe to somewhere using wss://{your-lnbits}/api/v1/ws/{the-id-of-this-record} diff --git a/views_api.py b/views_api.py index 4021f29..6dd5f3b 100644 --- a/views_api.py +++ b/views_api.py @@ -1,22 +1,13 @@ from http import HTTPStatus -import json - -import httpx from fastapi import Depends, Query, Request -from lnurl import decode as decode_lnurl -from loguru import logger from starlette.exceptions import HTTPException from lnbits.core.crud import get_user -from lnbits.core.models import Payment from lnbits.core.services import create_invoice -from lnbits.core.views.api import api_payment from lnbits.decorators import ( WalletTypeInfo, - check_admin, get_key_type, require_admin_key, - require_invoice_key, ) from . import myextension_ext @@ -140,7 +131,7 @@ async def api_myextension_delete( @myextension_ext.post( "/api/v1/myex/payment/{myextension_id}", status_code=HTTPStatus.CREATED ) -async def api_tpos_create_invoice( +async def api_myextension_create_invoice( myextension_id: str, amount: int = Query(..., ge=1), memo: str = "" ) -> dict: myextension = await get_myextension(myextension_id)