#23 - wip
This commit is contained in:
30
app/Http/Requests/VacationLimitRequest.php
Normal file
30
app/Http/Requests/VacationLimitRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Toby\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class VacationLimitRequest extends FormRequest
|
||||
{
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
"items" => ["required", "array"],
|
||||
"items.*.id" => ["required", "exists:vacation_limits,id"],
|
||||
"items.*.hasVacation" => ["required", "boolean"],
|
||||
"items.*.days" => ["exclude_if:items.*.hasVacation,false", "required", "integer", "min:0"],
|
||||
];
|
||||
}
|
||||
|
||||
public function data(): Collection
|
||||
{
|
||||
return $this->collect("items")->map(fn(array $item): array => [
|
||||
"id" => $item["id"],
|
||||
"has_vacation" => $item["hasVacation"],
|
||||
"days" => $item["days"],
|
||||
]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user