lnbits-legend/lnbits/extensions/streamalerts/views.py

38 lines
1.3 KiB
Python
Raw Normal View History

2021-10-29 12:44:45 +01:00
from http import HTTPStatus
from fastapi.param_functions import Depends
from fastapi.templating import Jinja2Templates
from starlette.exceptions import HTTPException
from starlette.requests import Request
from starlette.responses import HTMLResponse
from lnbits.core.models import User
from lnbits.decorators import check_user_exists
from . import streamalerts_ext, streamalerts_renderer
from .crud import get_service
templates = Jinja2Templates(directory="templates")
@streamalerts_ext.get("/", response_class=HTMLResponse)
async def index(request: Request, user: User = Depends(check_user_exists)):
"""Return the extension's settings page"""
2021-11-12 04:14:55 +00:00
return streamalerts_renderer().TemplateResponse(
"streamalerts/index.html", {"request": request, "user": user.dict()}
)
2021-10-29 12:44:45 +01:00
@streamalerts_ext.get("/{state}")
async def donation(state, request: Request):
"""Return the donation form for the Service corresponding to state"""
service = await get_service(0, by_state=state)
if not service:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND, detail="Service does not exist."
)
return streamalerts_renderer().TemplateResponse(
"streamalerts/display.html",
2021-11-12 04:14:55 +00:00
{"request": request, "twitchuser": service.twitchuser, "service": service.id},
2021-10-29 12:44:45 +01:00
)