--- created: 2026-08-11 title: Ausschreibungs-Radar — Einstellungsseite mischt Administration und persoenliche Einstellung area: tender-radar severity: minor trigger: wenn das Modul das erste Mal von normalen Nutzern verwendet wird, nicht nur von Admins files: - apps/web/src/app/(portal)/modules/tender-radar/settings/page.tsx - apps/web/src/app/(portal)/settings/general/account - apps/api/src/tenders/tenders.controller.ts --- ## Problem `/modules/tender-radar/settings` traegt vier Abschnitte, die drei verschiedenen Zustaendigkeiten gehoeren: | Abschnitt | Gehoert | |---|---| | Quelle (Abrufintervall, Aktiv) | Plattform-Administration | | RSS-Feeds | Plattform-Administration (ausdruecklich fuer alle Mandanten gleich) | | E-Mail-Alerts (Postfach) | Mandanten-Administration | | **Benachrichtigungen (Digest-Intervall)** | **dem einzelnen Nutzer** | Das Digest-Intervall ist die einzige persoenliche Einstellung auf der Seite — `TenderNotificationPref` haengt an `userId`, nicht am Mandanten (NOTIFY-01/D-03). Sie steht als letzter Abschnitt unter drei Bloecken, die ein normaler Nutzer weder aendern darf noch braucht. Wer nur seinen Digest auf woechentlich stellen will, scrollt an Abrufintervallen, Feed-URLs und Postfach-Zugangsdaten vorbei. **Kein Berechtigungsloch:** die zugehoerigen API-Endpunkte (`source-config`, `rss-feeds`, Postfach) sind serverseitig mit `@Roles(ADMIN, SUPER_ADMIN)` abgesichert (`tenders.controller.ts`). Ein normaler Nutzer kann dort also nichts verstellen — er sieht die Bedienelemente aber und laeuft beim Speichern in eine Fehlermeldung, weil die Seite selbst keine Rollenpruefung hat. Aufgefallen am 2026-08-11 beim Erklaeren des Moduls: der User fragte, wo man die Benachrichtigungsfrequenz einstellt, und die ehrliche Antwort war "ganz unten auf der Admin-Seite". ## Solution Richtung, nicht beschlossen — der zweite Punkt ist eine Produktfrage: 1. **Die Admin-Abschnitte hinter eine Rollenpruefung legen**, damit ein normaler Nutzer sie gar nicht erst sieht. Kleinster sinnvoller Schritt, loest den Fehlermeldungs-Fall und den groessten Teil der Verwirrung. 2. **Wohin gehoert die persoenliche Einstellung?** Es gibt bereits `/settings/general/account` fuer nutzereigene Einstellungen. Drei Varianten: - Digest-Intervall dorthin verschieben — konsequent, aber modulfremde Einstellungen in einer allgemeinen Seite sammeln sich mit jedem weiteren Modul an. - Im Modul lassen, aber sichtbar abgetrennt und oberhalb der Admin-Bloecke. - Eine eigene, nutzerseitige Modulseite ("Meine Benachrichtigungen") getrennt von der Admin-Seite. Die Antwort betrifft nicht nur dieses Modul: DKV-Fleet hat dieselbe Bauform (`modules/dkv-fleet/settings`), und jedes kuenftige Modul mit persoenlichen Einstellungen wird die Frage erneut stellen. Sinnvollerweise einmal grundsaetzlich entscheiden statt pro Modul.