web: Mail-Abmeldungen landen im Aktivitäts-Verlauf

Neuer ActivityType "Mail-Abmeldung": Der Unsubscribe-Controller
protokolliert Abbestellen (Link-Klick und RFC-8058-One-Click) sowie
das Wieder-Aktivieren — nur bei echter Zustandsänderung, wiederholte
Klicks erzeugen keine Doppel-Einträge.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-21 10:26:49 +00:00
parent f327853541
commit 80c5f03e6f
4 changed files with 55 additions and 4 deletions

View file

@ -21,6 +21,7 @@ enum ActivityType: string
case NewsletterSubscription = 'newsletter_subscription';
case SubscriptionChange = 'subscription_change';
case MailSent = 'mail_sent';
case EmailUnsubscribe = 'email_unsubscribe';
public function label(): string
{
@ -37,6 +38,7 @@ enum ActivityType: string
self::NewsletterSubscription => 'Newsletter',
self::SubscriptionChange => 'Abo',
self::MailSent => 'E-Mail',
self::EmailUnsubscribe => 'Mail-Abmeldung',
};
}
@ -53,6 +55,7 @@ enum ActivityType: string
self::ContactRequest, self::NewsletterSubscription => 'cyan',
self::LegalRequest, self::WithdrawalRequest, self::TerminationRequest, self::SubscriptionChange => 'red',
self::MailSent => 'purple',
self::EmailUnsubscribe => 'orange',
};
}
}