"""Plugin „erinnerung“ — 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 ErinnerungPlugin(BasePlugin): name = "erinnerung" title = "Erinnerungen" description = "Erinnerungen vor Redaktionsschluss pro Ausgabe (Platzhalter)." def __init__(self) -> None: super().__init__() @self.router.get("/erinnerung") def seite(request: Request, user: User = Depends(require_user)): """Platzhalterseite des Plugins.""" return self.context.templates.TemplateResponse( request=request, name="erinnerung/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="/erinnerung")] plugin = ErinnerungPlugin()