From ca3b1d74551707af11ded4e7cfa0352d58637ac3 Mon Sep 17 00:00:00 2001 From: benarc Date: Tue, 12 Oct 2021 09:01:54 +0100 Subject: [PATCH] fires up ok --- lnbits/extensions/jukebox/models.py | 1 + .../jukebox/templates/jukebox/_api_docs.html | 8 ++++---- lnbits/extensions/jukebox/views.py | 4 +++- lnbits/extensions/jukebox/views_api.py | 14 +++++++------- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lnbits/extensions/jukebox/models.py b/lnbits/extensions/jukebox/models.py index d50c830b..8752ae85 100644 --- a/lnbits/extensions/jukebox/models.py +++ b/lnbits/extensions/jukebox/models.py @@ -1,6 +1,7 @@ from typing import NamedTuple from sqlite3 import Row from fastapi.param_functions import Query +from pydantic.main import BaseModel class CreateJukeLinkData(BaseModel): diff --git a/lnbits/extensions/jukebox/templates/jukebox/_api_docs.html b/lnbits/extensions/jukebox/templates/jukebox/_api_docs.html index f5a91313..b1968b48 100644 --- a/lnbits/extensions/jukebox/templates/jukebox/_api_docs.html +++ b/lnbits/extensions/jukebox/templates/jukebox/_api_docs.html @@ -38,7 +38,7 @@
Curl example
curl -X GET {{ request.url_root }}api/v1/jukebox -H "X-Api-Key: {{ - g.user.wallets[0].adminkey }}" + user.wallets[0].adminkey }}" @@ -60,7 +60,7 @@
Curl example
curl -X GET {{ request.url_root }}api/v1/jukebox/<juke_id> -H - "X-Api-Key: {{ g.user.wallets[0].adminkey }}" + "X-Api-Key: {{ user.wallets[0].adminkey }}" @@ -95,7 +95,7 @@ "sp_device": <string, spotify_user_secret>, "sp_playlists": <string, not_required>, "price": <integer, not_required>}' -H "Content-type: application/json" -H "X-Api-Key: - {{g.user.wallets[0].adminkey }}" + {{user.wallets[0].adminkey }}" @@ -117,7 +117,7 @@
Curl example
curl -X DELETE {{ request.url_root }}api/v1/jukebox/<juke_id> - -H "X-Api-Key: {{ g.user.wallets[0].adminkey }}" + -H "X-Api-Key: {{ user.wallets[0].adminkey }}" diff --git a/lnbits/extensions/jukebox/views.py b/lnbits/extensions/jukebox/views.py index 360f75e3..d8a7c3f6 100644 --- a/lnbits/extensions/jukebox/views.py +++ b/lnbits/extensions/jukebox/views.py @@ -13,6 +13,7 @@ from starlette.responses import HTMLResponse from lnbits.core.models import User, Payment from .views_api import api_get_jukebox_device_check + templates = Jinja2Templates(directory="templates") @@ -49,5 +50,6 @@ async def connect_to_jukebox(request: Request, juke_id): ) else: return jukebox_renderer().TemplateResponse( - "jukebox/error.html", {"request": request} + "jukebox/error.html", + {"request": request, "jukebox": jukebox.jukebox(req=request)}, ) diff --git a/lnbits/extensions/jukebox/views_api.py b/lnbits/extensions/jukebox/views_api.py index 44575c6b..799628e3 100644 --- a/lnbits/extensions/jukebox/views_api.py +++ b/lnbits/extensions/jukebox/views_api.py @@ -9,13 +9,11 @@ import json from typing import Optional from fastapi.params import Depends from fastapi.param_functions import Query -from pydantic.main import BaseModel from .models import CreateJukeLinkData from lnbits.decorators import ( check_user_exists, WalletTypeInfo, get_key_type, - api_check_wallet_key, api_validate_post_request, ) import httpx @@ -89,17 +87,19 @@ async def api_check_credentials_callbac( @jukebox_ext.get("/api/v1/jukebox/{juke_id}", status_code=HTTPStatus.OK) async def api_check_credentials_check( - juke_id=None, wallet: WalletTypeInfo = Depends(get_key_type) + juke_id: str = Query(None), wallet: WalletTypeInfo = Depends(get_key_type) ): + print(juke_id) jukebox = await get_jukebox(juke_id) - return jukebox._asdict() + + return jukebox @jukebox_ext.post("/api/v1/jukebox", status_code=HTTPStatus.CREATED) @jukebox_ext.put("/api/v1/jukebox/{juke_id}", status_code=HTTPStatus.OK) async def api_create_update_jukebox( data: CreateJukeLinkData, - juke_id=None, + juke_id: str = Query(None), wallet: WalletTypeInfo = Depends(get_key_type), ): if juke_id: @@ -107,7 +107,7 @@ async def api_create_update_jukebox( else: jukebox = await create_jukebox(inkey=g.wallet.inkey, **g.data) - return jukebox._asdict() + return jukebox.dict() @jukebox_ext.delete("/api/v1/jukebox/{juke_id}", status_code=HTTPStatus.OK) @@ -117,7 +117,7 @@ async def api_delete_item( ): await delete_jukebox(juke_id) try: - return [{**jukebox._asdict()} for jukebox in await get_jukeboxs(g.wallet.user)] + return [{**jukebox.dict()} for jukebox in await get_jukeboxs(g.wallet.user)] except: raise HTTPException( status_code=HTTPStatus.NO_CONTENT,