2026-09-23 09:42:01 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Requests\Bo;
|
|
|
|
|
|
|
|
|
|
use App\Enums\MailToTest;
|
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
|
use Illuminate\Mail\Mailables\Address;
|
|
|
|
|
use Illuminate\Validation\Rule;
|
|
|
|
|
|
|
|
|
|
class SendTestMailRequest extends FormRequest
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Determine if the user is authorized to make this request.
|
|
|
|
|
*/
|
|
|
|
|
public function authorize(): bool
|
|
|
|
|
{
|
|
|
|
|
return auth('backend')->check();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getMailToTest(): MailToTest
|
|
|
|
|
{
|
|
|
|
|
return $this->enum('template', MailToTest::class);
|
|
|
|
|
}
|
|
|
|
|
|
2026-09-23 12:49:47 +02:00
|
|
|
public function getToAddress(string $fullname): Address
|
2026-09-23 09:42:01 +02:00
|
|
|
{
|
|
|
|
|
return new Address(
|
2026-09-23 12:49:47 +02:00
|
|
|
$this->string('to')->value(),
|
|
|
|
|
$fullname
|
2026-09-23 09:42:01 +02:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the validation rules that apply to the request.
|
|
|
|
|
*/
|
|
|
|
|
public function rules(): array
|
|
|
|
|
{
|
|
|
|
|
return [
|
|
|
|
|
'template' => ['required', Rule::enum(MailToTest::class)],
|
2026-09-25 16:25:31 +02:00
|
|
|
'to' => ['required', 'email:strict,rfc,spoof'],
|
2026-09-23 09:42:01 +02:00
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
}
|