from fastapi import APIRouter, Depends, Request from fastapi.responses import HTMLResponse from admin.auth import require_admin from admin.templates_env import templates from database.queries.message_log import get_chat_list, get_message_log router = APIRouter(prefix="/chat-log", dependencies=[Depends(require_admin)]) @router.get("", response_class=HTMLResponse) async def chat_list(request: Request): chats = await get_chat_list() return templates.TemplateResponse( request=request, name="chat_log/list.html", context={"chats": chats} ) @router.get("/{max_user_id}", response_class=HTMLResponse) async def chat_history(request: Request, max_user_id: int): messages = await get_message_log(max_user_id=max_user_id, limit=200) return templates.TemplateResponse( request=request, name="chat_log/history.html", context={"messages": messages, "max_user_id": max_user_id}, )