From 730add511697073800b78be5573786da953cc433 Mon Sep 17 00:00:00 2001 From: calle <93376500+callebtc@users.noreply.github.com> Date: Thu, 28 Jul 2022 11:53:40 +0200 Subject: [PATCH] Core/tag check get (#797) * safer tag checking * annotate --- lnbits/core/views/api.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lnbits/core/views/api.py b/lnbits/core/views/api.py index b1366b07..623b979a 100644 --- a/lnbits/core/views/api.py +++ b/lnbits/core/views/api.py @@ -485,7 +485,8 @@ async def api_lnurlscan(code: str, wallet: WalletTypeInfo = Depends(get_key_type ) try: - tag = data["tag"] + tag: str = data.get("tag") + params.update(**data) if tag == "channelRequest": raise HTTPException( status_code=HTTPStatus.BAD_REQUEST, @@ -495,10 +496,7 @@ async def api_lnurlscan(code: str, wallet: WalletTypeInfo = Depends(get_key_type "message": "unsupported", }, ) - - params.update(**data) - - if tag == "withdrawRequest": + elif tag == "withdrawRequest": params.update(kind="withdraw") params.update(fixed=data["minWithdrawable"] == data["maxWithdrawable"]) @@ -516,8 +514,7 @@ async def api_lnurlscan(code: str, wallet: WalletTypeInfo = Depends(get_key_type query=urlencode(qs, doseq=True) ) params.update(callback=urlunparse(parsed_callback)) - - if tag == "payRequest": + elif tag == "payRequest": params.update(kind="pay") params.update(fixed=data["minSendable"] == data["maxSendable"]) @@ -535,8 +532,8 @@ async def api_lnurlscan(code: str, wallet: WalletTypeInfo = Depends(get_key_type params.update(image=data_uri) if k == "text/email" or k == "text/identifier": params.update(targetUser=v) - params.update(commentAllowed=data.get("commentAllowed", 0)) + except KeyError as exc: raise HTTPException( status_code=HTTPStatus.SERVICE_UNAVAILABLE,