Refactor UI assets and harden quality checks

This commit is contained in:
StasonJatham committed 2026-06-17 23:18:00 +02:00
1 parent 23ab466c52
commit 4ecc8eb874
62 files changed
+3314 -3206

No files matched your search

+13 -27
View File
@@ -6,6 +6,7 @@ from starlette.concurrency import run_in_threadpool
from ..security import (
DASHBOARD_UNLOCK_COOKIE,
DashboardUnlockIdentity,
dashboard_cookie_signing_secret,
dashboard_csrf_token,
sign_dashboard_unlock_cookie,
@@ -15,7 +16,7 @@ from ..services.ddns import DdnsService
from ..settings import DdnsSettings
from ..store import DdnsStore
from ..store.types import AccountRow
from ..web.templates_management import _render_management_page, _render_management_unlock_page
from ..web.templates_management import ManagementPageContext, _render_management_page, _render_management_unlock_page
ManagementAccount = AccountRow
@@ -59,7 +60,6 @@ def locked_management_response(management_slug: str, account: ManagementAccount)
def management_error_response(
service: DdnsService,
settings: DdnsSettings,
management_slug: str,
account: ManagementAccount,
message: str,
@@ -68,12 +68,13 @@ def management_error_response(
return HTMLResponse(
_render_management_page(
service,
settings,
management_slug,
account,
dashboard_csrf_token(management_slug, account),
message=message,
request_ip=request_ip,
ManagementPageContext(
management_slug=management_slug,
account=account,
csrf_token=dashboard_csrf_token(management_slug, account),
message=message,
request_ip=request_ip,
),
),
status_code=400,
)
@@ -81,35 +82,22 @@ def management_error_response(
async def management_error_response_async(
service: DdnsService,
settings: DdnsSettings,
management_slug: str,
account: ManagementAccount,
message: str,
request_ip: str | None = None,
) -> HTMLResponse:
return await run_in_threadpool(
management_error_response, service, settings, management_slug, account, message, request_ip
)
return await run_in_threadpool(management_error_response, service, management_slug, account, message, request_ip)
async def render_management_page_async(
service: DdnsService,
settings: DdnsSettings,
management_slug: str,
account: ManagementAccount,
csrf_token: str,
message: str | None = None,
request_ip: str | None = None,
context: ManagementPageContext,
) -> str:
return await run_in_threadpool(
_render_management_page,
service,
settings,
management_slug,
account,
csrf_token,
message,
request_ip,
context,
)
@@ -127,9 +115,7 @@ def set_unlock_cookie(
response.set_cookie(
DASHBOARD_UNLOCK_COOKIE,
sign_dashboard_unlock_cookie(
str(account["hostname"]),
management_slug,
str(password_hash),
DashboardUnlockIdentity(str(account["hostname"]), management_slug, str(password_hash)),
signing_secret,
max_age_seconds,
),