ldc-boutique-cnc-sable/app/Http/Controllers/Fo/NewsletterController.php
2026-10-27 09:58:12 +01:00

39 lines
1 KiB
PHP

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