- Add EdaCommunicationMethod enum (EMAIL, MESSENGER) - Add EdaSettings entity with DB-persisted communication method - Add AdminEdaSettingsController (GET/PUT /api/admin/eda-settings) - Add EdaCommunicationRouter that resolves the correct EdaConsentService - Add MessengerEdaConsentService as placeholder (throws UnsupportedOperationException) - Add AdminEdaSettingsComponent in frontend with radio button selection - Route /dashboard/admin-eda-settings (ADMIN only) - Update EdaCommunicationEventListener to use router - Remove @Profile from EmailEdaConsentService/SimulatedEdaConsentService - Use @Lazy for EdaMailSender dependency to support non-prod contexts - Fix pre-existing deleteUserTariff API call mismatch
33 lines
1.9 KiB
TypeScript
33 lines
1.9 KiB
TypeScript
export interface NavItem {
|
|
label: string;
|
|
path: string;
|
|
roles: string[];
|
|
section: string;
|
|
}
|
|
|
|
export const NAV_SECTIONS = ['Allgemein', 'Community', 'Tarife & Einladungen', 'Verwaltung'] as const;
|
|
|
|
export const NAV_ITEMS: NavItem[] = [
|
|
// Allgemein
|
|
{label: 'Übersicht', path: '/dashboard', roles: ['ADMIN', 'MEMBER'], section: 'Allgemein'},
|
|
{label: 'Zählpunkte', path: '/dashboard/metering-points', roles: ['ADMIN', 'MEMBER'], section: 'Allgemein'},
|
|
{label: 'Mein Profil', path: '/dashboard/profile', roles: ['ADMIN', 'MEMBER'], section: 'Allgemein'},
|
|
|
|
// Community
|
|
{label: 'Community beitreten', path: '/dashboard/join-community', roles: ['MEMBER'], section: 'Community'},
|
|
{label: 'Meine Mitgliedschaften', path: '/dashboard/my-memberships', roles: ['MEMBER'], section: 'Community'},
|
|
{label: 'Verbrauch', path: '/dashboard/consumption', roles: ['MEMBER'], section: 'Community'},
|
|
|
|
// Tarife & Einladungen
|
|
{label: 'Meine Tarife', path: '/dashboard/my-tariffs', roles: ['MEMBER'], section: 'Tarife & Einladungen'},
|
|
{label: 'Meine Einladungen', path: '/dashboard/producer-invites', roles: ['MEMBER'], section: 'Tarife & Einladungen'},
|
|
{label: 'Offene Einladungen', path: '/dashboard/consumer-invites', roles: ['MEMBER'], section: 'Tarife & Einladungen'},
|
|
|
|
// Verwaltung
|
|
{label: 'Mitgliedschaften', path: '/dashboard/admin-memberships', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
{label: 'Benutzerverwaltung', path: '/dashboard/approvals', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
{label: 'Energiegemeinschaften', path: '/dashboard/energy-communities', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
{label: 'Tarife verwalten', path: '/dashboard/tariffs', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
{label: 'Messdaten-Upload', path: '/dashboard/upload-metering-data', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
{label: 'EDA-Einstellungen', path: '/dashboard/admin-eda-settings', roles: ['ADMIN'], section: 'Verwaltung'},
|
|
];
|