Files
ad/molodetz/routers/notifications.py
T

27 lines
933 B
Python

# retoor <retoor@molodetz.nl>
from fastapi import APIRouter, Request
from molodetz.database import list_notifications, mark_all_read, unread_count
from molodetz.responses import action_result, respond
from molodetz.schemas.account import NotificationsOut
from molodetz.seo import base_seo_context
from molodetz.utils.auth import require_user
router = APIRouter()
@router.get("")
async def notifications_page(request: Request):
user = require_user(request)
rows = list_notifications(user["uid"])
seo = base_seo_context(request, "Meldingen", robots="noindex,nofollow")
ctx = {"notifications": rows, "unread": unread_count(user["uid"]), "seo": seo}
return respond(request, "notifications.html", ctx, model=NotificationsOut)
@router.post("/read")
async def notifications_read(request: Request):
user = require_user(request)
mark_all_read(user["uid"])
return action_result(request, "/notifications")