diff --git a/lnbits/extensions/cashu/views.py b/lnbits/extensions/cashu/views.py index 0b851c70a..0de791c40 100644 --- a/lnbits/extensions/cashu/views.py +++ b/lnbits/extensions/cashu/views.py @@ -16,7 +16,10 @@ templates = Jinja2Templates(directory="templates") @cashu_ext.get("/", response_class=HTMLResponse) -async def index(request: Request, user: User = Depends(check_user_exists)): +async def index( + request: Request, + user: User = Depends(check_user_exists), # type: ignore +): return cashu_renderer().TemplateResponse( "cashu/index.html", {"request": request, "user": user.dict()} ) @@ -36,6 +39,10 @@ async def wallet(request: Request, mint_id: str): @cashu_ext.get("/mint/{mintID}") async def cashu(request: Request, mintID): cashu = await get_cashu(mintID) + if not cashu: + raise HTTPException( + status_code=HTTPStatus.NOT_FOUND, detail="TPoS does not exist." + ) return cashu_renderer().TemplateResponse( "cashu/mint.html", {"request": request, "mint_name": cashu.name, "mint_id": mintID}, diff --git a/lnbits/extensions/cashu/views_api.py b/lnbits/extensions/cashu/views_api.py index 3cbd84e66..4edd92294 100644 --- a/lnbits/extensions/cashu/views_api.py +++ b/lnbits/extensions/cashu/views_api.py @@ -56,20 +56,25 @@ LIGHTNING = True @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) + all_wallets: bool = Query(False), wallet: WalletTypeInfo = Depends(get_key_type) # type: ignore ): """ Get all mints of this wallet. """ wallet_ids = [wallet.wallet.id] if all_wallets: - wallet_ids = (await get_user(wallet.wallet.user)).wallet_ids + user = await get_user(wallet.wallet.user) + if user: + wallet_ids = user.wallet_ids return [cashu.dict() for cashu in await get_cashus(wallet_ids)] @cashu_ext.post("/api/v1/mints", status_code=HTTPStatus.CREATED) -async def api_cashu_create(data: Cashu, wallet: WalletTypeInfo = Depends(get_key_type)): +async def api_cashu_create( + data: Cashu, + wallet: WalletTypeInfo = Depends(get_key_type), # type: ignore +): """ Create a new mint for this wallet. """ @@ -86,7 +91,7 @@ async def api_cashu_create(data: Cashu, wallet: WalletTypeInfo = Depends(get_key @cashu_ext.delete("/api/v1/mints/{cashu_id}") async def api_cashu_delete( - cashu_id: str, wallet: WalletTypeInfo = Depends(require_admin_key) + cashu_id: str, wallet: WalletTypeInfo = Depends(require_admin_key) # type: ignore ): """ Delete an existing cashu mint.