
* #23 - wip * #23 - wip * #23 - wip * #23 - wip * #23 - fix * #23 - ecs fix * #23 - fix * #23 - fix * #23 - cr fix
34 lines
764 B
PHP
34 lines
764 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Support\Collection;
|
|
use Toby\Models\VacationLimit;
|
|
|
|
class VacationLimitRequest extends FormRequest
|
|
{
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
"items" => ["required", "array"],
|
|
"items.*.id" => ["required", "exists:vacation_limits,id"],
|
|
"items.*.days" => ["nullable", "integer", "min:0"],
|
|
];
|
|
}
|
|
|
|
public function vacationLimits(): Collection
|
|
{
|
|
return VacationLimit::query()->find($this->collect("items")->pluck("id"));
|
|
}
|
|
|
|
public function data(): array
|
|
{
|
|
return $this->collect("items")
|
|
->keyBy("id")
|
|
->toArray();
|
|
}
|
|
}
|