- directory refactor

This commit is contained in:
Krzysztof Rewak
2022-01-26 08:24:48 +01:00
parent 6854c7a9f8
commit 9ac804545b
56 changed files with 144 additions and 163 deletions

View File

@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace Toby\Infrastructure\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Enum;
use Toby\Domain\EmploymentForm;
class UserRequest extends FormRequest
{
public function rules(): array
{
return [
"firstName" => ["required", "min:3", "max:80"],
"lastName" => ["required", "min:3", "max:80"],
"email" => ["required", "email", Rule::unique("users", "email")->ignore($this->user)],
"employmentForm" => ["required", new Enum(EmploymentForm::class)],
"employmentDate" => ["required", "date"],
];
}
public function data(): array
{
return [
"first_name" => $this->get("firstName"),
"last_name" => $this->get("lastName"),
"email" => $this->get("email"),
"employment_form" => $this->get("employmentForm"),
"employment_date" => $this->get("employmentDate"),
];
}
}

View File

@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace Toby\Infrastructure\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Collection;
use Toby\Eloquent\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();
}
}