presseportale/app/Services/Newsletter/NewsletterSyncService.php
Kevin Adametz 5b8bdf4182
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
12-05-2026 Frontend dev
2026-05-12 18:32:33 +02:00

24 lines
567 B
PHP

<?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);
}
}