From b1d1cc6de318ca205e834deec60a9c191a7b5958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Mon, 2 Jan 2023 11:56:28 +0100 Subject: [PATCH 1/3] removing type: ignore from Query, Depends, Body and import them correctly --- lnbits/core/views/admin_api.py | 2 +- lnbits/core/views/api.py | 6 ++-- lnbits/core/views/generic.py | 21 +++++++------ lnbits/decorators.py | 17 +++++------ lnbits/extensions/cashu/views.py | 5 ++-- lnbits/extensions/cashu/views_api.py | 16 +++------- lnbits/extensions/copilot/views.py | 8 ++--- lnbits/extensions/copilot/views_api.py | 13 ++++----- lnbits/extensions/discordbot/views.py | 7 ++--- lnbits/extensions/discordbot/views_api.py | 23 +++++++-------- lnbits/extensions/example/views.py | 5 ++-- lnbits/extensions/jukebox/views.py | 7 ++--- lnbits/extensions/jukebox/views_api.py | 7 ++--- lnbits/extensions/livestream/models.py | 4 +-- lnbits/extensions/ngrok/views.py | 7 ++--- lnbits/extensions/satsdice/views.py | 10 ++----- lnbits/extensions/satsdice/views_api.py | 12 ++++---- lnbits/extensions/satspay/views_api.py | 3 +- lnbits/extensions/subdomains/models.py | 34 +++++++++++----------- lnbits/extensions/subdomains/views.py | 3 +- lnbits/extensions/subdomains/views_api.py | 18 +++++------- lnbits/extensions/usermanager/views.py | 7 ++--- lnbits/extensions/usermanager/views_api.py | 7 ++--- 23 files changed, 96 insertions(+), 146 deletions(-) diff --git a/lnbits/core/views/admin_api.py b/lnbits/core/views/admin_api.py index 20eaeea3..4a2c5a2b 100644 --- a/lnbits/core/views/admin_api.py +++ b/lnbits/core/views/admin_api.py @@ -17,7 +17,7 @@ from ..crud import delete_admin_settings, get_admin_settings, update_admin_setti @core_app.get("/admin/api/v1/settings/") async def api_get_settings( - user: User = Depends(check_admin), # type: ignore + user: User = Depends(check_admin), ) -> Optional[AdminSettings]: admin_settings = await get_admin_settings(user.super_user) return admin_settings diff --git a/lnbits/core/views/api.py b/lnbits/core/views/api.py index ed2c26e4..9cf64bd6 100644 --- a/lnbits/core/views/api.py +++ b/lnbits/core/views/api.py @@ -13,6 +13,7 @@ import async_timeout import httpx import pyqrcode from fastapi import ( + Body, Depends, Header, Query, @@ -22,7 +23,6 @@ from fastapi import ( WebSocketDisconnect, ) from fastapi.exceptions import HTTPException -from fastapi.params import Body from loguru import logger from pydantic import BaseModel from pydantic.fields import Field @@ -254,7 +254,7 @@ async def api_payments_pay_invoice(bolt11: str, wallet: Wallet): ) async def api_payments_create( wallet: WalletTypeInfo = Depends(require_invoice_key), - invoiceData: CreateInvoiceData = Body(...), # type: ignore + invoiceData: CreateInvoiceData = Body(...), ): if invoiceData.out is True and wallet.wallet_type == 0: if not invoiceData.bolt11: @@ -390,7 +390,7 @@ async def subscribe_wallet_invoices(request: Request, wallet: Wallet): jdata = json.dumps(dict(data.dict(), pending=False)) yield dict(data=jdata, event=typ) - except asyncio.CancelledError as e: + except asyncio.CancelledError: logger.debug(f"removing listener for wallet {uid}") api_invoice_listeners.pop(uid) task.cancel() diff --git a/lnbits/core/views/generic.py b/lnbits/core/views/generic.py index ed7b156d..44b73e0f 100644 --- a/lnbits/core/views/generic.py +++ b/lnbits/core/views/generic.py @@ -2,9 +2,8 @@ import asyncio from http import HTTPStatus from typing import Optional -from fastapi import Request, status +from fastapi import Depends, Query, Request, status from fastapi.exceptions import HTTPException -from fastapi.params import Depends, Query from fastapi.responses import FileResponse, RedirectResponse from fastapi.routing import APIRouter from loguru import logger @@ -49,9 +48,9 @@ async def home(request: Request, lightning: str = ""): ) async def extensions( request: Request, - user: User = Depends(check_user_exists), # type: ignore - enable: str = Query(None), # type: ignore - disable: str = Query(None), # type: ignore + user: User = Depends(check_user_exists), + enable: str = Query(None), + disable: str = Query(None), ): extension_to_enable = enable extension_to_disable = disable @@ -103,10 +102,10 @@ nothing: create everything
""", ) async def wallet( - request: Request = Query(None), # type: ignore - nme: Optional[str] = Query(None), # type: ignore - usr: Optional[UUID4] = Query(None), # type: ignore - wal: Optional[UUID4] = Query(None), # type: ignore + request: Request = Query(None), + nme: Optional[str] = Query(None), + usr: Optional[UUID4] = Query(None), + wal: Optional[UUID4] = Query(None), ): user_id = usr.hex if usr else None wallet_id = wal.hex if wal else None @@ -217,7 +216,7 @@ async def lnurl_full_withdraw_callback(request: Request): @core_html_routes.get("/deletewallet", response_class=RedirectResponse) -async def deletewallet(request: Request, wal: str = Query(...), usr: str = Query(...)): # type: ignore +async def deletewallet(wal: str = Query(...), usr: str = Query(...)): user = await get_user(usr) user_wallet_ids = [u.id for u in user.wallets] # type: ignore @@ -313,7 +312,7 @@ async def manifest(usr: str): @core_html_routes.get("/admin", response_class=HTMLResponse) -async def index(request: Request, user: User = Depends(check_admin)): # type: ignore +async def index(request: Request, user: User = Depends(check_admin)): WALLET = get_wallet_class() _, balance = await WALLET.status() diff --git a/lnbits/decorators.py b/lnbits/decorators.py index 9aeace40..42d2b7a3 100644 --- a/lnbits/decorators.py +++ b/lnbits/decorators.py @@ -1,11 +1,8 @@ from http import HTTPStatus -from typing import Union -from cerberus import Validator # type: ignore -from fastapi import status +from fastapi import Security, status from fastapi.exceptions import HTTPException from fastapi.openapi.models import APIKey, APIKeyIn -from fastapi.params import Security from fastapi.security.api_key import APIKeyHeader, APIKeyQuery from fastapi.security.base import SecurityBase from pydantic.types import UUID4 @@ -118,8 +115,8 @@ api_key_query = APIKeyQuery( async def get_key_type( r: Request, - api_key_header: str = Security(api_key_header), # type: ignore - api_key_query: str = Security(api_key_query), # type: ignore + api_key_header: str = Security(api_key_header), + api_key_query: str = Security(api_key_query), ) -> WalletTypeInfo: # 0: admin # 1: invoice @@ -174,8 +171,8 @@ async def get_key_type( async def require_admin_key( r: Request, - api_key_header: str = Security(api_key_header), # type: ignore - api_key_query: str = Security(api_key_query), # type: ignore + api_key_header: str = Security(api_key_header), + api_key_query: str = Security(api_key_query), ): token = api_key_header or api_key_query @@ -200,8 +197,8 @@ async def require_admin_key( async def require_invoice_key( r: Request, - api_key_header: str = Security(api_key_header), # type: ignore - api_key_query: str = Security(api_key_query), # type: ignore + api_key_header: str = Security(api_key_header), + api_key_query: str = Security(api_key_query), ): token = api_key_header or api_key_query diff --git a/lnbits/extensions/cashu/views.py b/lnbits/extensions/cashu/views.py index 1aab68bd..85adf040 100644 --- a/lnbits/extensions/cashu/views.py +++ b/lnbits/extensions/cashu/views.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from starlette.exceptions import HTTPException from starlette.responses import HTMLResponse @@ -18,7 +17,7 @@ templates = Jinja2Templates(directory="templates") @cashu_ext.get("/", response_class=HTMLResponse) async def index( request: Request, - user: User = Depends(check_user_exists), # type: ignore + user: User = Depends(check_user_exists), ): return cashu_renderer().TemplateResponse( "cashu/index.html", {"request": request, "user": user.dict()} diff --git a/lnbits/extensions/cashu/views_api.py b/lnbits/extensions/cashu/views_api.py index def9074f..b66bbdc1 100644 --- a/lnbits/extensions/cashu/views_api.py +++ b/lnbits/extensions/cashu/views_api.py @@ -1,10 +1,7 @@ -import json import math from http import HTTPStatus from typing import Dict, List, Union -import httpx - # -------- cashu imports from cashu.core.base import ( BlindedSignature, @@ -17,14 +14,10 @@ from cashu.core.base import ( MeltRequest, MintRequest, PostSplitResponse, - Proof, SplitRequest, ) -from fastapi import Query -from fastapi.params import Depends -from lnurl import decode as decode_lnurl +from fastapi import Depends, Query from loguru import logger -from secp256k1 import PublicKey from starlette.exceptions import HTTPException from lnbits import bolt11 @@ -35,7 +28,6 @@ from lnbits.core.services import ( fee_reserve, pay_invoice, ) -from lnbits.core.views.api import api_payment from lnbits.decorators import WalletTypeInfo, get_key_type, require_admin_key from lnbits.helpers import urlsafe_short_hash from lnbits.wallets.base import PaymentStatus @@ -63,7 +55,7 @@ if not LIGHTNING: @cashu_ext.get("/api/v1/mints", status_code=HTTPStatus.OK) async def api_cashus( - all_wallets: bool = Query(False), wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + all_wallets: bool = Query(False), wallet: WalletTypeInfo = Depends(get_key_type) ): """ Get all mints of this wallet. @@ -80,7 +72,7 @@ async def api_cashus( @cashu_ext.post("/api/v1/mints", status_code=HTTPStatus.CREATED) async def api_cashu_create( data: Cashu, - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), ): """ Create a new mint for this wallet. @@ -98,7 +90,7 @@ async def api_cashu_create( @cashu_ext.delete("/api/v1/mints/{cashu_id}") async def api_cashu_delete( - cashu_id: str, wallet: WalletTypeInfo = Depends(require_admin_key) # type: ignore + cashu_id: str, wallet: WalletTypeInfo = Depends(require_admin_key) ): """ Delete an existing cashu mint. diff --git a/lnbits/extensions/copilot/views.py b/lnbits/extensions/copilot/views.py index 3b1ebf03..7b66366d 100644 --- a/lnbits/extensions/copilot/views.py +++ b/lnbits/extensions/copilot/views.py @@ -1,7 +1,6 @@ from typing import List -from fastapi import Request, WebSocket, WebSocketDisconnect -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from starlette.responses import HTMLResponse # type: ignore @@ -9,15 +8,12 @@ from lnbits.core.models import User from lnbits.decorators import check_user_exists from . import copilot_ext, copilot_renderer -from .crud import get_copilot templates = Jinja2Templates(directory="templates") @copilot_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return copilot_renderer().TemplateResponse( "copilot/index.html", {"request": request, "user": user.dict()} ) diff --git a/lnbits/extensions/copilot/views_api.py b/lnbits/extensions/copilot/views_api.py index 39d0f7fd..4c538129 100644 --- a/lnbits/extensions/copilot/views_api.py +++ b/lnbits/extensions/copilot/views_api.py @@ -1,8 +1,7 @@ from http import HTTPStatus from fastapi import Request -from fastapi.param_functions import Query -from fastapi.params import Depends +from fastapi.param_functions import Depends, Query from starlette.exceptions import HTTPException from lnbits.core.services import websocketUpdater @@ -22,9 +21,7 @@ from .models import CreateCopilotData @copilot_ext.get("/api/v1/copilot") -async def api_copilots_retrieve( - req: Request, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore -): +async def api_copilots_retrieve(wallet: WalletTypeInfo = Depends(get_key_type)): wallet_user = wallet.wallet.user copilots = [copilot.dict() for copilot in await get_copilots(wallet_user)] try: @@ -37,7 +34,7 @@ async def api_copilots_retrieve( async def api_copilot_retrieve( req: Request, copilot_id: str = Query(None), - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), ): copilot = await get_copilot(copilot_id) if not copilot: @@ -54,7 +51,7 @@ async def api_copilot_retrieve( async def api_copilot_create_or_update( data: CreateCopilotData, copilot_id: str = Query(None), - wallet: WalletTypeInfo = Depends(require_admin_key), # type: ignore + wallet: WalletTypeInfo = Depends(require_admin_key), ): data.user = wallet.wallet.user data.wallet = wallet.wallet.id @@ -68,7 +65,7 @@ async def api_copilot_create_or_update( @copilot_ext.delete("/api/v1/copilot/{copilot_id}") async def api_copilot_delete( copilot_id: str = Query(None), - wallet: WalletTypeInfo = Depends(require_admin_key), # type: ignore + wallet: WalletTypeInfo = Depends(require_admin_key), ): copilot = await get_copilot(copilot_id) diff --git a/lnbits/extensions/discordbot/views.py b/lnbits/extensions/discordbot/views.py index ec7d18cc..80988c24 100644 --- a/lnbits/extensions/discordbot/views.py +++ b/lnbits/extensions/discordbot/views.py @@ -1,5 +1,4 @@ -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from starlette.responses import HTMLResponse from lnbits.core.models import User @@ -9,9 +8,7 @@ from . import discordbot_ext, discordbot_renderer @discordbot_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return discordbot_renderer().TemplateResponse( "discordbot/index.html", {"request": request, "user": user.dict()} ) diff --git a/lnbits/extensions/discordbot/views_api.py b/lnbits/extensions/discordbot/views_api.py index b69c274a..4fa57192 100644 --- a/lnbits/extensions/discordbot/views_api.py +++ b/lnbits/extensions/discordbot/views_api.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Query -from fastapi.params import Depends +from fastapi import Depends, Query from starlette.exceptions import HTTPException from lnbits.core import update_user_extension @@ -28,16 +27,14 @@ from .models import CreateUserData, CreateUserWallet @discordbot_ext.get("/api/v1/users", status_code=HTTPStatus.OK) async def api_discordbot_users( - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), ): user_id = wallet.wallet.user return [user.dict() for user in await get_discordbot_users(user_id)] @discordbot_ext.get("/api/v1/users/{user_id}", status_code=HTTPStatus.OK) -async def api_discordbot_user( - user_id, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore -): +async def api_discordbot_user(user_id, wallet: WalletTypeInfo = Depends(get_key_type)): user = await get_discordbot_user(user_id) if user: return user.dict() @@ -45,7 +42,7 @@ async def api_discordbot_user( @discordbot_ext.post("/api/v1/users", status_code=HTTPStatus.CREATED) async def api_discordbot_users_create( - data: CreateUserData, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + data: CreateUserData, wallet: WalletTypeInfo = Depends(get_key_type) ): user = await create_discordbot_user(data) full = user.dict() @@ -57,7 +54,7 @@ async def api_discordbot_users_create( @discordbot_ext.delete("/api/v1/users/{user_id}") async def api_discordbot_users_delete( - user_id, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + user_id, wallet: WalletTypeInfo = Depends(get_key_type) ): user = await get_discordbot_user(user_id) if not user: @@ -89,7 +86,7 @@ async def api_discordbot_activate_extension( @discordbot_ext.post("/api/v1/wallets") async def api_discordbot_wallets_create( - data: CreateUserWallet, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + data: CreateUserWallet, wallet: WalletTypeInfo = Depends(get_key_type) ): user = await create_discordbot_wallet( user_id=data.user_id, wallet_name=data.wallet_name, admin_id=data.admin_id @@ -99,7 +96,7 @@ async def api_discordbot_wallets_create( @discordbot_ext.get("/api/v1/wallets") async def api_discordbot_wallets( - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), ): admin_id = wallet.wallet.user return await get_discordbot_wallets(admin_id) @@ -107,21 +104,21 @@ async def api_discordbot_wallets( @discordbot_ext.get("/api/v1/transactions/{wallet_id}") async def api_discordbot_wallet_transactions( - wallet_id, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + wallet_id, wallet: WalletTypeInfo = Depends(get_key_type) ): return await get_discordbot_wallet_transactions(wallet_id) @discordbot_ext.get("/api/v1/wallets/{user_id}") async def api_discordbot_users_wallets( - user_id, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + user_id, wallet: WalletTypeInfo = Depends(get_key_type) ): return await get_discordbot_users_wallets(user_id) @discordbot_ext.delete("/api/v1/wallets/{wallet_id}") async def api_discordbot_wallets_delete( - wallet_id, wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + wallet_id, wallet: WalletTypeInfo = Depends(get_key_type) ): get_wallet = await get_discordbot_wallet(wallet_id) if not get_wallet: diff --git a/lnbits/extensions/example/views.py b/lnbits/extensions/example/views.py index 29b257f4..b69b5194 100644 --- a/lnbits/extensions/example/views.py +++ b/lnbits/extensions/example/views.py @@ -1,5 +1,4 @@ -from fastapi import FastAPI, Request -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from starlette.responses import HTMLResponse @@ -14,7 +13,7 @@ templates = Jinja2Templates(directory="templates") @example_ext.get("/", response_class=HTMLResponse) async def index( request: Request, - user: User = Depends(check_user_exists), # type: ignore + user: User = Depends(check_user_exists), ): return example_renderer().TemplateResponse( "example/index.html", {"request": request, "user": user.dict()} diff --git a/lnbits/extensions/jukebox/views.py b/lnbits/extensions/jukebox/views.py index 28359a9a..2220da08 100644 --- a/lnbits/extensions/jukebox/views.py +++ b/lnbits/extensions/jukebox/views.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from starlette.exceptions import HTTPException from starlette.responses import HTMLResponse @@ -17,9 +16,7 @@ templates = Jinja2Templates(directory="templates") @jukebox_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return jukebox_renderer().TemplateResponse( "jukebox/index.html", {"request": request, "user": user.dict()} ) diff --git a/lnbits/extensions/jukebox/views_api.py b/lnbits/extensions/jukebox/views_api.py index 5cf1a83b..1847ca50 100644 --- a/lnbits/extensions/jukebox/views_api.py +++ b/lnbits/extensions/jukebox/views_api.py @@ -3,10 +3,9 @@ import json from http import HTTPStatus import httpx -from fastapi.param_functions import Query -from fastapi.params import Depends +from fastapi import Depends, Query from starlette.exceptions import HTTPException -from starlette.responses import HTMLResponse # type: ignore +from starlette.responses import HTMLResponse from lnbits.core.services import create_invoice from lnbits.core.views.api import api_payment @@ -28,7 +27,7 @@ from .models import CreateJukeboxPayment, CreateJukeLinkData @jukebox_ext.get("/api/v1/jukebox") async def api_get_jukeboxs( - wallet: WalletTypeInfo = Depends(require_admin_key), # type: ignore + wallet: WalletTypeInfo = Depends(require_admin_key), ): wallet_user = wallet.wallet.user diff --git a/lnbits/extensions/livestream/models.py b/lnbits/extensions/livestream/models.py index dd057c0c..0034f4a7 100644 --- a/lnbits/extensions/livestream/models.py +++ b/lnbits/extensions/livestream/models.py @@ -1,12 +1,12 @@ import json from typing import Optional -from fastapi.params import Query +from fastapi import Query from lnurl import Lnurl from lnurl import encode as lnurl_encode # type: ignore from lnurl.models import LnurlPaySuccessAction, UrlAction # type: ignore from lnurl.types import LnurlPayMetadata # type: ignore -from pydantic.main import BaseModel +from pydantic import BaseModel from starlette.requests import Request diff --git a/lnbits/extensions/ngrok/views.py b/lnbits/extensions/ngrok/views.py index 16c3708a..81c8b24e 100644 --- a/lnbits/extensions/ngrok/views.py +++ b/lnbits/extensions/ngrok/views.py @@ -1,8 +1,7 @@ # type: ignore from os import getenv -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from pyngrok import conf, ngrok @@ -35,9 +34,7 @@ ngrok_tunnel = ngrok.connect(port) @ngrok_ext.get("/") -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return ngrok_renderer().TemplateResponse( "ngrok/index.html", {"request": request, "ngrok": string5, "user": user.dict()} ) diff --git a/lnbits/extensions/satsdice/views.py b/lnbits/extensions/satsdice/views.py index d2b5e601..e51c1e10 100644 --- a/lnbits/extensions/satsdice/views.py +++ b/lnbits/extensions/satsdice/views.py @@ -3,9 +3,7 @@ from http import HTTPStatus from io import BytesIO import pyqrcode -from fastapi import Request -from fastapi.param_functions import Query -from fastapi.params import Depends +from fastapi import Depends, Query, Request from fastapi.templating import Jinja2Templates from starlette.exceptions import HTTPException from starlette.responses import HTMLResponse @@ -28,9 +26,7 @@ templates = Jinja2Templates(directory="templates") @satsdice_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return satsdice_renderer().TemplateResponse( "satsdice/index.html", {"request": request, "user": user.dict()} ) @@ -108,7 +104,7 @@ async def displaywin( data = CreateSatsDiceWithdraw( satsdice_pay=satsdicelink.id, - value=paylink.value * satsdicelink.multiplier, + value=int(paylink.value * satsdicelink.multiplier), payment_hash=payment_hash, used=0, ) diff --git a/lnbits/extensions/satsdice/views_api.py b/lnbits/extensions/satsdice/views_api.py index d33b76b8..77c2f1d4 100644 --- a/lnbits/extensions/satsdice/views_api.py +++ b/lnbits/extensions/satsdice/views_api.py @@ -1,8 +1,6 @@ from http import HTTPStatus -from fastapi import Request -from fastapi.param_functions import Query -from fastapi.params import Depends +from fastapi import Depends, Query, Request from lnurl.exceptions import InvalidUrl as LnurlInvalidUrl # type: ignore from starlette.exceptions import HTTPException @@ -26,7 +24,7 @@ from .models import CreateSatsDiceLink @satsdice_ext.get("/api/v1/links") async def api_links( request: Request, - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), all_wallets: bool = Query(False), ): wallet_ids = [wallet.wallet.id] @@ -49,7 +47,7 @@ async def api_links( @satsdice_ext.get("/api/v1/links/{link_id}") async def api_link_retrieve( - link_id: str = Query(None), wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore + link_id: str = Query(None), wallet: WalletTypeInfo = Depends(get_key_type) ): link = await get_satsdice_pay(link_id) @@ -70,7 +68,7 @@ async def api_link_retrieve( @satsdice_ext.put("/api/v1/links/{link_id}", status_code=HTTPStatus.OK) async def api_link_create_or_update( data: CreateSatsDiceLink, - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), link_id: str = Query(None), ): if data.min_bet > data.max_bet: @@ -98,7 +96,7 @@ async def api_link_create_or_update( @satsdice_ext.delete("/api/v1/links/{link_id}") async def api_link_delete( - wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore + wallet: WalletTypeInfo = Depends(get_key_type), link_id: str = Query(None), ): link = await get_satsdice_pay(link_id) diff --git a/lnbits/extensions/satspay/views_api.py b/lnbits/extensions/satspay/views_api.py index 46dd7330..61725e3a 100644 --- a/lnbits/extensions/satspay/views_api.py +++ b/lnbits/extensions/satspay/views_api.py @@ -1,8 +1,7 @@ import json from http import HTTPStatus -from fastapi import Query -from fastapi.params import Depends +from fastapi import Depends, Query from loguru import logger from starlette.exceptions import HTTPException diff --git a/lnbits/extensions/subdomains/models.py b/lnbits/extensions/subdomains/models.py index 39e17615..552c37c7 100644 --- a/lnbits/extensions/subdomains/models.py +++ b/lnbits/extensions/subdomains/models.py @@ -1,26 +1,26 @@ -from fastapi.params import Query -from pydantic.main import BaseModel +from fastapi import Query +from pydantic import BaseModel class CreateDomain(BaseModel): - wallet: str = Query(...) # type: ignore - domain: str = Query(...) # type: ignore - cf_token: str = Query(...) # type: ignore - cf_zone_id: str = Query(...) # type: ignore - webhook: str = Query("") # type: ignore - description: str = Query(..., min_length=0) # type: ignore - cost: int = Query(..., ge=0) # type: ignore - allowed_record_types: str = Query(...) # type: ignore + wallet: str = Query(...) + domain: str = Query(...) + cf_token: str = Query(...) + cf_zone_id: str = Query(...) + webhook: str = Query("") + description: str = Query(..., min_length=0) + cost: int = Query(..., ge=0) + allowed_record_types: str = Query(...) class CreateSubdomain(BaseModel): - domain: str = Query(...) # type: ignore - subdomain: str = Query(...) # type: ignore - email: str = Query(...) # type: ignore - ip: str = Query(...) # type: ignore - sats: int = Query(..., ge=0) # type: ignore - duration: int = Query(...) # type: ignore - record_type: str = Query(...) # type: ignore + domain: str = Query(...) + subdomain: str = Query(...) + email: str = Query(...) + ip: str = Query(...) + sats: int = Query(..., ge=0) + duration: int = Query(...) + record_type: str = Query(...) class Domains(BaseModel): diff --git a/lnbits/extensions/subdomains/views.py b/lnbits/extensions/subdomains/views.py index 962f850d..95348ec4 100644 --- a/lnbits/extensions/subdomains/views.py +++ b/lnbits/extensions/subdomains/views.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from fastapi.templating import Jinja2Templates from starlette.exceptions import HTTPException from starlette.responses import HTMLResponse diff --git a/lnbits/extensions/subdomains/views_api.py b/lnbits/extensions/subdomains/views_api.py index b30daabd..2b20bd1f 100644 --- a/lnbits/extensions/subdomains/views_api.py +++ b/lnbits/extensions/subdomains/views_api.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Query -from fastapi.params import Depends +from fastapi import Depends, Query from starlette.exceptions import HTTPException from lnbits.core.crud import get_user @@ -29,7 +28,7 @@ from .crud import ( @subdomains_ext.get("/api/v1/domains") async def api_domains( - g: WalletTypeInfo = Depends(get_key_type), # type: ignore + g: WalletTypeInfo = Depends(get_key_type), all_wallets: bool = Query(False), ): wallet_ids = [g.wallet.id] @@ -47,7 +46,7 @@ async def api_domains( async def api_domain_create( data: CreateDomain, domain_id=None, - g: WalletTypeInfo = Depends(get_key_type), # type: ignore + g: WalletTypeInfo = Depends(get_key_type), ): if domain_id: domain = await get_domain(domain_id) @@ -68,9 +67,7 @@ async def api_domain_create( @subdomains_ext.delete("/api/v1/domains/{domain_id}") -async def api_domain_delete( - domain_id, g: WalletTypeInfo = Depends(get_key_type) # type: ignore -): +async def api_domain_delete(domain_id, g: WalletTypeInfo = Depends(get_key_type)): domain = await get_domain(domain_id) if not domain: @@ -89,7 +86,7 @@ async def api_domain_delete( @subdomains_ext.get("/api/v1/subdomains") async def api_subdomains( - all_wallets: bool = Query(False), g: WalletTypeInfo = Depends(get_key_type) # type: ignore + all_wallets: bool = Query(False), g: WalletTypeInfo = Depends(get_key_type) ): wallet_ids = [g.wallet.id] @@ -169,6 +166,7 @@ async def api_subdomain_make_subdomain(domain_id, data: CreateSubdomain): @subdomains_ext.get("/api/v1/subdomains/{payment_hash}") async def api_subdomain_send_subdomain(payment_hash): subdomain = await get_subdomain(payment_hash) + assert subdomain try: status = await check_transaction_status(subdomain.wallet, payment_hash) is_paid = not status.pending @@ -182,9 +180,7 @@ async def api_subdomain_send_subdomain(payment_hash): @subdomains_ext.delete("/api/v1/subdomains/{subdomain_id}") -async def api_subdomain_delete( - subdomain_id, g: WalletTypeInfo = Depends(get_key_type) # type: ignore -): +async def api_subdomain_delete(subdomain_id, g: WalletTypeInfo = Depends(get_key_type)): subdomain = await get_subdomain(subdomain_id) if not subdomain: diff --git a/lnbits/extensions/usermanager/views.py b/lnbits/extensions/usermanager/views.py index 814659f7..115cbfa6 100644 --- a/lnbits/extensions/usermanager/views.py +++ b/lnbits/extensions/usermanager/views.py @@ -1,5 +1,4 @@ -from fastapi import Request -from fastapi.params import Depends +from fastapi import Depends, Request from starlette.responses import HTMLResponse from lnbits.core.models import User @@ -9,9 +8,7 @@ from . import usermanager_ext, usermanager_renderer @usermanager_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, user: User = Depends(check_user_exists) # type: ignore -): +async def index(request: Request, user: User = Depends(check_user_exists)): return usermanager_renderer().TemplateResponse( "usermanager/index.html", {"request": request, "user": user.dict()} ) diff --git a/lnbits/extensions/usermanager/views_api.py b/lnbits/extensions/usermanager/views_api.py index 493a71bc..27c6f3cb 100644 --- a/lnbits/extensions/usermanager/views_api.py +++ b/lnbits/extensions/usermanager/views_api.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Query -from fastapi.params import Depends +from fastapi import Depends, Query from starlette.exceptions import HTTPException from lnbits.core import update_user_extension @@ -26,7 +25,7 @@ from .models import CreateUserData, CreateUserWallet @usermanager_ext.get("/api/v1/users", status_code=HTTPStatus.OK) async def api_usermanager_users( - wallet: WalletTypeInfo = Depends(require_admin_key), # type: ignore + wallet: WalletTypeInfo = Depends(require_admin_key), ): user_id = wallet.wallet.user return [user.dict() for user in await get_usermanager_users(user_id)] @@ -101,7 +100,7 @@ async def api_usermanager_wallets_create(data: CreateUserWallet): @usermanager_ext.get("/api/v1/wallets") async def api_usermanager_wallets( - wallet: WalletTypeInfo = Depends(require_admin_key), # type: ignore + wallet: WalletTypeInfo = Depends(require_admin_key), ): admin_id = wallet.wallet.user return [wallet.dict() for wallet in await get_usermanager_wallets(admin_id)] From eac55c2236f903095f19f170b50cba413e5417ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Wed, 4 Jan 2023 09:05:38 +0100 Subject: [PATCH 2/3] fix up copilot --- lnbits/extensions/copilot/views_api.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lnbits/extensions/copilot/views_api.py b/lnbits/extensions/copilot/views_api.py index 4c538129..34e3a975 100644 --- a/lnbits/extensions/copilot/views_api.py +++ b/lnbits/extensions/copilot/views_api.py @@ -1,7 +1,6 @@ from http import HTTPStatus -from fastapi import Request -from fastapi.param_functions import Depends, Query +from fastapi import Request, Depends, Query from starlette.exceptions import HTTPException from lnbits.core.services import websocketUpdater From f7c38a413e28667d6216523795daa72b016225f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Wed, 4 Jan 2023 09:09:30 +0100 Subject: [PATCH 3/3] sorting --- lnbits/extensions/copilot/views_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/copilot/views_api.py b/lnbits/extensions/copilot/views_api.py index 34e3a975..f0621202 100644 --- a/lnbits/extensions/copilot/views_api.py +++ b/lnbits/extensions/copilot/views_api.py @@ -1,6 +1,6 @@ from http import HTTPStatus -from fastapi import Request, Depends, Query +from fastapi import Depends, Query, Request from starlette.exceptions import HTTPException from lnbits.core.services import websocketUpdater