mirror of
https://github.com/lnbits/lnbits.git
synced 2025-10-10 12:32:34 +02:00
fix wallet key permission for create
This commit is contained in:
@@ -5,7 +5,13 @@ from fastapi import Query
|
|||||||
from fastapi.params import Depends
|
from fastapi.params import Depends
|
||||||
from starlette.exceptions import HTTPException
|
from starlette.exceptions import HTTPException
|
||||||
|
|
||||||
from lnbits.decorators import WalletTypeInfo, get_key_type, require_admin_key
|
from lnbits.decorators import (
|
||||||
|
WalletAdminKeyChecker,
|
||||||
|
WalletInvoiceKeyChecker,
|
||||||
|
WalletTypeInfo,
|
||||||
|
get_key_type,
|
||||||
|
require_admin_key,
|
||||||
|
)
|
||||||
from lnbits.extensions.satspay import satspay_ext
|
from lnbits.extensions.satspay import satspay_ext
|
||||||
|
|
||||||
from .crud import (
|
from .crud import (
|
||||||
@@ -20,20 +26,22 @@ from .models import CreateCharge
|
|||||||
|
|
||||||
#############################CHARGES##########################
|
#############################CHARGES##########################
|
||||||
|
|
||||||
|
@satspay_ext.post("/api/v1/charge", dependencies=[Depends(WalletInvoiceKeyChecker())])
|
||||||
|
async def api_charge_create(
|
||||||
|
data: CreateCharge,
|
||||||
|
wallet: WalletTypeInfo = Depends(get_key_type)
|
||||||
|
):
|
||||||
|
charge = await create_charge(user=wallet.wallet.user, data=data)
|
||||||
|
return charge.dict()
|
||||||
|
|
||||||
@satspay_ext.post("/api/v1/charge")
|
@satspay_ext.put("/api/v1/charge/{charge_id}", dependencies=[Depends(WalletAdminKeyChecker())])
|
||||||
@satspay_ext.put("/api/v1/charge/{charge_id}")
|
async def api_charge_update(
|
||||||
async def api_charge_create_or_update(
|
|
||||||
data: CreateCharge,
|
data: CreateCharge,
|
||||||
wallet: WalletTypeInfo = Depends(require_admin_key),
|
wallet: WalletTypeInfo = Depends(require_admin_key),
|
||||||
charge_id=None,
|
charge_id=None,
|
||||||
):
|
):
|
||||||
if not charge_id:
|
charge = await update_charge(charge_id=charge_id, data=data)
|
||||||
charge = await create_charge(user=wallet.wallet.user, data=data)
|
return charge.dict()
|
||||||
return charge.dict()
|
|
||||||
else:
|
|
||||||
charge = await update_charge(charge_id=charge_id, data=data)
|
|
||||||
return charge.dict()
|
|
||||||
|
|
||||||
|
|
||||||
@satspay_ext.get("/api/v1/charges")
|
@satspay_ext.get("/api/v1/charges")
|
||||||
|
Reference in New Issue
Block a user