refactor: remove get_key_type decorator (#2676)
* refactor: remove `get_key_type` decorator breaking change for 1.0.0
This commit is contained in:
parent
21d87adc52
commit
04aefc8077
3 changed files with 19 additions and 30 deletions
|
|
@ -35,7 +35,6 @@ from lnbits.core.models import (
|
||||||
from lnbits.db import Filters, Page
|
from lnbits.db import Filters, Page
|
||||||
from lnbits.decorators import (
|
from lnbits.decorators import (
|
||||||
WalletTypeInfo,
|
WalletTypeInfo,
|
||||||
get_key_type,
|
|
||||||
parse_filters,
|
parse_filters,
|
||||||
require_admin_key,
|
require_admin_key,
|
||||||
require_invoice_key,
|
require_invoice_key,
|
||||||
|
|
@ -73,12 +72,12 @@ payment_router = APIRouter(prefix="/api/v1/payments", tags=["Payments"])
|
||||||
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
||||||
)
|
)
|
||||||
async def api_payments(
|
async def api_payments(
|
||||||
wallet: WalletTypeInfo = Depends(get_key_type),
|
key_info: WalletTypeInfo = Depends(require_invoice_key),
|
||||||
filters: Filters = Depends(parse_filters(PaymentFilters)),
|
filters: Filters = Depends(parse_filters(PaymentFilters)),
|
||||||
):
|
):
|
||||||
await update_pending_payments(wallet.wallet.id)
|
await update_pending_payments(key_info.wallet.id)
|
||||||
return await get_payments(
|
return await get_payments(
|
||||||
wallet_id=wallet.wallet.id,
|
wallet_id=key_info.wallet.id,
|
||||||
pending=True,
|
pending=True,
|
||||||
complete=True,
|
complete=True,
|
||||||
filters=filters,
|
filters=filters,
|
||||||
|
|
@ -92,12 +91,12 @@ async def api_payments(
|
||||||
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
||||||
)
|
)
|
||||||
async def api_payments_history(
|
async def api_payments_history(
|
||||||
wallet: WalletTypeInfo = Depends(get_key_type),
|
key_info: WalletTypeInfo = Depends(require_invoice_key),
|
||||||
group: DateTrunc = Query("day"),
|
group: DateTrunc = Query("day"),
|
||||||
filters: Filters[PaymentFilters] = Depends(parse_filters(PaymentFilters)),
|
filters: Filters[PaymentFilters] = Depends(parse_filters(PaymentFilters)),
|
||||||
):
|
):
|
||||||
await update_pending_payments(wallet.wallet.id)
|
await update_pending_payments(key_info.wallet.id)
|
||||||
return await get_payments_history(wallet.wallet.id, group, filters)
|
return await get_payments_history(key_info.wallet.id, group, filters)
|
||||||
|
|
||||||
|
|
||||||
@payment_router.get(
|
@payment_router.get(
|
||||||
|
|
@ -109,12 +108,12 @@ async def api_payments_history(
|
||||||
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
openapi_extra=generate_filter_params_openapi(PaymentFilters),
|
||||||
)
|
)
|
||||||
async def api_payments_paginated(
|
async def api_payments_paginated(
|
||||||
wallet: WalletTypeInfo = Depends(get_key_type),
|
key_info: WalletTypeInfo = Depends(require_invoice_key),
|
||||||
filters: Filters = Depends(parse_filters(PaymentFilters)),
|
filters: Filters = Depends(parse_filters(PaymentFilters)),
|
||||||
):
|
):
|
||||||
await update_pending_payments(wallet.wallet.id)
|
await update_pending_payments(key_info.wallet.id)
|
||||||
page = await get_payments_paginated(
|
page = await get_payments_paginated(
|
||||||
wallet_id=wallet.wallet.id,
|
wallet_id=key_info.wallet.id,
|
||||||
pending=True,
|
pending=True,
|
||||||
complete=True,
|
complete=True,
|
||||||
filters=filters,
|
filters=filters,
|
||||||
|
|
@ -378,10 +377,10 @@ async def subscribe_wallet_invoices(request: Request, wallet: Wallet):
|
||||||
|
|
||||||
@payment_router.get("/sse")
|
@payment_router.get("/sse")
|
||||||
async def api_payments_sse(
|
async def api_payments_sse(
|
||||||
request: Request, wallet: WalletTypeInfo = Depends(get_key_type)
|
request: Request, key_info: WalletTypeInfo = Depends(require_invoice_key)
|
||||||
):
|
):
|
||||||
return EventSourceResponse(
|
return EventSourceResponse(
|
||||||
subscribe_wallet_invoices(request, wallet.wallet),
|
subscribe_wallet_invoices(request, key_info.wallet),
|
||||||
ping=20,
|
ping=20,
|
||||||
media_type="text/event-stream",
|
media_type="text/event-stream",
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ from lnbits.core.models import (
|
||||||
)
|
)
|
||||||
from lnbits.decorators import (
|
from lnbits.decorators import (
|
||||||
WalletTypeInfo,
|
WalletTypeInfo,
|
||||||
get_key_type,
|
|
||||||
require_admin_key,
|
require_admin_key,
|
||||||
|
require_invoice_key,
|
||||||
)
|
)
|
||||||
|
|
||||||
from ..crud import (
|
from ..crud import (
|
||||||
|
|
@ -27,15 +27,14 @@ wallet_router = APIRouter(prefix="/api/v1/wallet", tags=["Wallet"])
|
||||||
|
|
||||||
|
|
||||||
@wallet_router.get("")
|
@wallet_router.get("")
|
||||||
async def api_wallet(wallet: WalletTypeInfo = Depends(get_key_type)):
|
async def api_wallet(wallet: WalletTypeInfo = Depends(require_invoice_key)):
|
||||||
if wallet.key_type == KeyType.admin:
|
res = {
|
||||||
return {
|
|
||||||
"id": wallet.wallet.id,
|
|
||||||
"name": wallet.wallet.name,
|
"name": wallet.wallet.name,
|
||||||
"balance": wallet.wallet.balance_msat,
|
"balance": wallet.wallet.balance_msat,
|
||||||
}
|
}
|
||||||
else:
|
if wallet.key_type == KeyType.admin:
|
||||||
return {"name": wallet.wallet.name, "balance": wallet.wallet.balance_msat}
|
res["id"] = wallet.wallet.id
|
||||||
|
return res
|
||||||
|
|
||||||
|
|
||||||
@wallet_router.put("/{new_name}")
|
@wallet_router.put("/{new_name}")
|
||||||
|
|
|
||||||
|
|
@ -95,15 +95,6 @@ class KeyChecker(SecurityBase):
|
||||||
return WalletTypeInfo(key_type, wallet)
|
return WalletTypeInfo(key_type, wallet)
|
||||||
|
|
||||||
|
|
||||||
async def get_key_type(
|
|
||||||
request: Request,
|
|
||||||
api_key_header: str = Security(api_key_header),
|
|
||||||
api_key_query: str = Security(api_key_query),
|
|
||||||
) -> WalletTypeInfo:
|
|
||||||
check: KeyChecker = KeyChecker(api_key=api_key_header or api_key_query)
|
|
||||||
return await check(request)
|
|
||||||
|
|
||||||
|
|
||||||
async def require_admin_key(
|
async def require_admin_key(
|
||||||
request: Request,
|
request: Request,
|
||||||
api_key_header: str = Security(api_key_header),
|
api_key_header: str = Security(api_key_header),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue