2024-09-24 12:16:20 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Requests\Workspace;
|
|
|
|
|
|
|
|
|
|
use App\Models\Workspace;
|
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
|
|
class EmailSettingsRequest extends FormRequest
|
|
|
|
|
{
|
|
|
|
|
public Workspace $workspace;
|
|
|
|
|
|
|
|
|
|
public function __construct(Request $request, Workspace $workspace)
|
|
|
|
|
{
|
|
|
|
|
$this->workspace = Workspace::findOrFail($request->workspaceId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the validation rules that apply to the request.
|
|
|
|
|
*
|
|
|
|
|
* @return array<string, mixed>
|
|
|
|
|
*/
|
|
|
|
|
public function rules()
|
|
|
|
|
{
|
2025-01-27 16:07:01 +01:00
|
|
|
$allFieldsPresent = $this->filled(['host', 'port', 'username', 'password', 'sender_address']);
|
2024-09-24 12:16:20 +02:00
|
|
|
|
|
|
|
|
return [
|
|
|
|
|
'host' => [
|
|
|
|
|
$allFieldsPresent ? 'required' : 'nullable',
|
2025-01-27 16:07:01 +01:00
|
|
|
'required_with:port,username,password,sender_address',
|
2024-09-24 12:16:20 +02:00
|
|
|
'string',
|
|
|
|
|
],
|
|
|
|
|
'port' => [
|
|
|
|
|
$allFieldsPresent ? 'required' : 'nullable',
|
2025-01-27 16:07:01 +01:00
|
|
|
'required_with:host,username,password,sender_address',
|
2024-09-24 12:16:20 +02:00
|
|
|
'integer',
|
|
|
|
|
],
|
|
|
|
|
'username' => [
|
|
|
|
|
$allFieldsPresent ? 'required' : 'nullable',
|
2025-01-27 16:07:01 +01:00
|
|
|
'required_with:host,port,password,sender_address',
|
2024-09-24 12:16:20 +02:00
|
|
|
'string',
|
|
|
|
|
],
|
|
|
|
|
'password' => [
|
|
|
|
|
$allFieldsPresent ? 'required' : 'nullable',
|
2025-01-27 16:07:01 +01:00
|
|
|
'required_with:host,port,username,sender_address',
|
2024-09-24 12:16:20 +02:00
|
|
|
'string',
|
|
|
|
|
],
|
2025-01-27 16:07:01 +01:00
|
|
|
'sender_address' => [
|
|
|
|
|
'nullable',
|
|
|
|
|
'email',
|
|
|
|
|
],
|
2024-09-24 12:16:20 +02:00
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the validation messages that apply to the request.
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function messages()
|
|
|
|
|
{
|
|
|
|
|
return [
|
|
|
|
|
'host.required_with' => 'The host field is required.',
|
|
|
|
|
'port.required_with' => 'The port field is required.',
|
|
|
|
|
'username.required_with' => 'The username field is required.',
|
|
|
|
|
'password.required_with' => 'The password field is required.',
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
}
|