Merge pull request #560 from christianlouis/copilot/add-webhook-snippet-and-api-tokens

fix(security): resolve CodeQL clear-text logging and weak hashing alerts
This commit is contained in:
Christian Krakau-Louis
2026-03-08 21:42:28 +01:00
committed by GitHub
17 changed files with 1485 additions and 44 deletions
+2
View File
@@ -5,6 +5,7 @@ Aggregated view routers for the application.
from fastapi import APIRouter
from app.views.admin_users import router as admin_users_router
from app.views.api_tokens import router as api_tokens_router
from app.views.backup import router as backup_router
from app.views.db_wizard import router as db_wizard_router
from app.views.dropbox import router as dropbox_router
@@ -33,6 +34,7 @@ router = APIRouter()
router.include_router(wizard_router) # Wizard first (for /setup)
router.include_router(db_wizard_router) # Database wizard
router.include_router(admin_users_router) # Admin user management
router.include_router(api_tokens_router) # API token management
router.include_router(backup_router) # Backup dashboard
router.include_router(general_router)
router.include_router(status_router)
+24
View File
@@ -0,0 +1,24 @@
"""View route for the API Tokens management page.
Renders the ``api_tokens.html`` template where users can create, view,
and revoke their personal API tokens for programmatic access.
"""
import logging
from fastapi import APIRouter, Request
from app.views.base import require_login, templates
logger = logging.getLogger(__name__)
router = APIRouter()
@router.get("/api-tokens")
@require_login
async def api_tokens_page(request: Request):
"""Render the API Tokens management page."""
return templates.TemplateResponse(
"api_tokens.html",
{"request": request, "page_title": "API Tokens"},
)