Stricter validation for uuid and integer

This commit is contained in:
Constantin Graf
2024-10-15 10:59:53 +02:00
committed by Constantin Graf
parent 2b1da883fb
commit 69d3ff4f7b
31 changed files with 187 additions and 122 deletions

View File

@@ -27,8 +27,7 @@ class TaskIndexRequest extends FormRequest
{
return [
'project_id' => [
'uuid',
new ExistsEloquent(Project::class, null, function (Builder $builder): Builder {
ExistsEloquent::make(Project::class, null, function (Builder $builder): Builder {
/** @var Builder<Project> $builder */
$builder = $builder->whereBelongsTo($this->organization, 'organization');
@@ -37,7 +36,7 @@ class TaskIndexRequest extends FormRequest
}
return $builder;
}),
})->uuid(),
],
'done' => [
'string',

View File

@@ -31,23 +31,24 @@ class TaskStoreRequest extends FormRequest
'string',
'min:1',
'max:255',
(new UniqueEloquent(Task::class, 'name', function (Builder $builder): Builder {
UniqueEloquent::make(Task::class, 'name', function (Builder $builder): Builder {
/** @var Builder<Task> $builder */
return $builder->where('project_id', '=', $this->input('project_id'));
}))->withCustomTranslation('validation.task_name_already_exists'),
})->withCustomTranslation('validation.task_name_already_exists'),
],
'project_id' => [
'required',
new ExistsEloquent(Project::class, null, function (Builder $builder): Builder {
ExistsEloquent::make(Project::class, null, function (Builder $builder): Builder {
/** @var Builder<Project> $builder */
return $builder->whereBelongsTo($this->organization, 'organization');
}),
})->uuid(),
],
// Estimated time in seconds
'estimated_time' => [
'nullable',
'integer',
'min:0',
'max:2147483647',
],
];
}

View File

@@ -30,10 +30,10 @@ class TaskUpdateRequest extends FormRequest
'string',
'min:1',
'max:255',
(new UniqueEloquent(Task::class, 'name', function (Builder $builder): Builder {
UniqueEloquent::make(Task::class, 'name', function (Builder $builder): Builder {
/** @var Builder<Task> $builder */
return $builder->where('project_id', '=', $this->task->project_id);
}))->ignore($this->task?->getKey())->withCustomTranslation('validation.task_name_already_exists'),
})->ignore($this->task?->getKey())->withCustomTranslation('validation.task_name_already_exists'),
],
'is_done' => [
'boolean',
@@ -43,6 +43,7 @@ class TaskUpdateRequest extends FormRequest
'nullable',
'integer',
'min:0',
'max:2147483647',
],
];
}