ldc-boutique-cnc-sable/app/Http/Controllers/Fo/NewsletterController.php

40 lines
1 KiB
PHP
Raw Normal View History

2026-06-14 21:32:07 +02:00
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Fo;
use App\Http\Requests\Fo\UnsubscribeNewsletterRequest;
use App\Services\CrmService;
use Illuminate\Contracts\View\View;
class NewsletterController
{
public function __construct(
private readonly CrmService $crmService
) {
}
public function unsubscribe(UnsubscribeNewsletterRequest $request): View
{
try {
$isUnsubscribed = false;
if ($request->getHashcode()) {
$isUnsubscribed = $this->crmService->unsubscribeCustomer(
$request->getHashcode()
);
}
$message = $isUnsubscribed
? trans('Your newsletter unsubscription has been taken into account.')
: trans('The unsubscription link is invalid.');
} catch (\Throwable $e) {
report($e);
$message = trans('An error occurred, please try again later.');
}
return view('fo.news.singleoptin-unsubscribe', compact('message'));
}
}