2026-06-14 21:32:07 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Requests\Fo;
|
|
|
|
|
|
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
2026-09-29 17:36:41 +02:00
|
|
|
use Ramsey\Uuid\Uuid;
|
|
|
|
|
use Shared\ValueObjects\CrmHashcode;
|
2026-06-14 21:32:07 +02:00
|
|
|
|
|
|
|
|
class UnsubscribeNewsletterRequest extends FormRequest
|
|
|
|
|
{
|
|
|
|
|
/** @return array<string,mixed> */
|
|
|
|
|
public function rules(): array
|
|
|
|
|
{
|
|
|
|
|
return [
|
|
|
|
|
'hashcode' => ['required', 'uuid'],
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
2026-09-29 17:36:41 +02:00
|
|
|
public function getHashcode(): ?CrmHashcode
|
2026-06-14 21:32:07 +02:00
|
|
|
{
|
2026-09-29 17:36:41 +02:00
|
|
|
$hashcode = null;
|
2026-06-14 21:32:07 +02:00
|
|
|
|
2026-09-29 17:36:41 +02:00
|
|
|
$this->string('hashcode')->whenIsUuid(
|
|
|
|
|
function (string $value) use (&$hashcode) {
|
|
|
|
|
$hashcode = new CrmHashcode(Uuid::fromString($value));
|
|
|
|
|
}
|
|
|
|
|
);
|
2026-06-14 21:32:07 +02:00
|
|
|
|
2026-09-29 17:36:41 +02:00
|
|
|
return $hashcode;
|
2026-06-14 21:32:07 +02:00
|
|
|
}
|
|
|
|
|
}
|