<?php
declare(strict_types=1);
namespace Modules\Customers\Http\Requests;
use App\Http\Requests\AbstractRequest;
use Modules\Customers\Models\Event as Resource;
use Override;
final class EventRequest extends AbstractRequest {
#[Override]
protected function index(): array {
return [
'from' => [ 'sometimes', 'string' ],
'limit' => [ 'sometimes', 'integer', 'between:2,15' ],
'trashed' => [ 'sometimes', 'boolean' ],
];
}
#[Override]
protected function store(): array {
return array_filter(
array: (new Resource)->rules(),
callback: static fn ($key) => ! in_array($key, [
'is_enabled',
], true),
mode: ARRAY_FILTER_USE_KEY,
);
}
#[Override]
protected function update(): array {
return array_filter(
array: array_map(
array: (new Resource)->rules(),
callback: static fn ($rules) => array_map(
array: $rules,
+ callback: static fn ($rule) => $rule === 'required' ? 'sometimes' : $rule array: $rules,
+ callback: static fn ($rule) => $rule === 'required' ? 'sometimes' : $rule,
+ )array: (new Resource)->rules(),
+ callback: static fn ($rules) => array_map(
+ array: $rules,
callback: static fn ($rule) => $rule === 'required' ? 'sometimes' : $rule,
),
),
'uuid',
'created_by',
'updated_by',
], true),
mode: ARRAY_FILTER_USE_KEY,
);
}
}