mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-03-12 19:03:11 +01:00
check for missing protocol fix request url default more debub fix lnbits root url add documentation reference
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
from http import HTTPStatus
|
|
from urllib.parse import urlparse
|
|
|
|
from fastapi import Request
|
|
from fastapi.params import Depends
|
|
from fastapi.templating import Jinja2Templates
|
|
from starlette.exceptions import HTTPException
|
|
from starlette.responses import HTMLResponse
|
|
|
|
from lnbits.core.crud import get_wallet
|
|
from lnbits.core.models import User
|
|
from lnbits.decorators import check_user_exists
|
|
|
|
from . import lnaddress_ext, lnaddress_renderer
|
|
from .crud import get_domain, purge_addresses
|
|
|
|
templates = Jinja2Templates(directory="templates")
|
|
|
|
|
|
@lnaddress_ext.get("/", response_class=HTMLResponse)
|
|
async def index(request: Request, user: User = Depends(check_user_exists)):
|
|
return lnaddress_renderer().TemplateResponse(
|
|
"lnaddress/index.html", {"request": request, "user": user.dict()}
|
|
)
|
|
|
|
|
|
@lnaddress_ext.get("/{domain_id}", response_class=HTMLResponse)
|
|
async def display(domain_id, request: Request):
|
|
domain = await get_domain(domain_id)
|
|
if not domain:
|
|
raise HTTPException(
|
|
status_code=HTTPStatus.NOT_FOUND, detail="Domain does not exist."
|
|
)
|
|
|
|
await purge_addresses(domain_id)
|
|
|
|
wallet = await get_wallet(domain.wallet)
|
|
url = urlparse(str(request.url))
|
|
|
|
return lnaddress_renderer().TemplateResponse(
|
|
"lnaddress/display.html",
|
|
{
|
|
"request": request,
|
|
"domain_id": domain.id,
|
|
"domain_domain": domain.domain,
|
|
"domain_cost": domain.cost,
|
|
"domain_wallet_inkey": wallet.inkey,
|
|
"root_url": f"{url.scheme}://{url.netloc}"
|
|
},
|
|
)
|