"""Plugin „benachrichtigung“ — Platzhalter gemäß Plugin-Vertrag. Implementiert in einer späteren Phase. Der Stub zeigt den vollen Vertrag: eigene Route, eigenes Template, Lifecycle-Hooks, Migrations-Schnittstelle. """ from __future__ import annotations from fastapi import Depends, Request from redaktionskern.auth.deps import require_user from redaktionskern.auth.models import User from redaktionskern.contracts import BasePlugin, NavEntry class BenachrichtigungPlugin(BasePlugin): name = "benachrichtigung" title = "Benachrichtigungen" description = "E-Mail, Telegram und In-App per Adapter-Muster (Platzhalter)." def __init__(self) -> None: super().__init__() @self.router.get("/benachrichtigung") def seite(request: Request, user: User = Depends(require_user)): """Platzhalterseite des Plugins.""" return self.context.templates.TemplateResponse( request=request, name="benachrichtigung/index.html", context={ "user": user, "titel": self.title, "name": self.name, "version": self.version, }, ) def navigation(self) -> list[NavEntry]: return [NavEntry(label=self.title, url="/benachrichtigung")] plugin = BenachrichtigungPlugin()