Files
cattr/app/Http/Requests/Task/CreateRelationRequest.php
Noor E Ilahi 7ccf44f7da first commit
2026-01-09 12:54:53 +05:30

40 lines
1.0 KiB
PHP

<?php
namespace App\Http\Requests\Task;
use App\Enums\TaskRelationType;
use App\Http\Requests\AuthorizesAfterValidation;
use App\Models\Task;
use App\Http\Requests\CattrFormRequest;
use Illuminate\Validation\Rule;
class CreateRelationRequest extends CattrFormRequest
{
use AuthorizesAfterValidation;
public function authorizeValidated(): bool
{
return $this->user()->can('update', Task::find(request('task_id')))
&& $this->user()->can('update', Task::find(request('related_task_id')));
}
public function _rules(): array
{
return [
'task_id' => [
'required',
'int',
'different:related_task_id',
Rule::exists('tasks', 'id'),
],
'related_task_id' => [
'required',
'int',
'different:task_id',
Rule::exists('tasks', 'id'),
],
'relation_type' => ['required', Rule::enum(TaskRelationType::class)],
];
}
}