12-05-2026 Frontend dev

This commit is contained in:
Kevin Adametz 2026-05-12 18:32:33 +02:00
parent 405df0a122
commit 313270b55f
777 changed files with 67136 additions and 6241 deletions

View file

@ -0,0 +1,24 @@
<?php
namespace App\Services\Newsletter;
use App\Contracts\NewsletterSyncClient;
use App\Models\NewsletterSubscription;
class NewsletterSyncService
{
public function __construct(
private readonly NewsletterSyncClient $client
) {}
public function syncSubscription(NewsletterSubscription $subscription): void
{
if ($subscription->is_confirmed && $subscription->unsubscribed_at === null) {
$this->client->subscribe($subscription);
return;
}
$this->client->unsubscribe($subscription);
}
}

View file

@ -0,0 +1,19 @@
<?php
namespace App\Services\Newsletter;
use App\Contracts\NewsletterSyncClient;
use App\Models\NewsletterSubscription;
class NullNewsletterSyncClient implements NewsletterSyncClient
{
public function subscribe(NewsletterSubscription $subscription): void
{
// Placeholder: externe Newsletter-Synchronisierung wird spaeter implementiert.
}
public function unsubscribe(NewsletterSubscription $subscription): void
{
// Placeholder: externe Newsletter-Synchronisierung wird spaeter implementiert.
}
}