2024-07-11 15:46:43 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Requests\Club\Bourse;
|
|
|
|
|
|
|
|
|
|
use Illuminate\Support\Arr;
|
|
|
|
|
use Illuminate\Validation\Rule;
|
|
|
|
|
|
|
|
|
|
class SaveCustomerCollectionRequest extends CustomerCollectionRequest
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Get the validation rules that apply to the request.
|
|
|
|
|
*/
|
2024-10-04 17:03:04 +02:00
|
|
|
public function rules(): array
|
2024-07-11 15:46:43 +02:00
|
|
|
{
|
|
|
|
|
$idEnumRule = '';
|
2026-09-25 16:25:31 +02:00
|
|
|
|
2024-07-11 15:46:43 +02:00
|
|
|
return array_merge(
|
|
|
|
|
parent::rules(),
|
|
|
|
|
['id' => [
|
|
|
|
|
// @phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
|
|
|
|
|
function ($attribute, $value, $fail) use (&$idEnumRule) {
|
|
|
|
|
/** @var \App\Enums\Departaimants\DepartaimantCollectionType */
|
|
|
|
|
$type = $this->route('collectiontype');
|
2026-09-25 16:25:31 +02:00
|
|
|
if (! Arr::has($this->maps, $type->value())) {
|
2024-07-11 15:46:43 +02:00
|
|
|
$fail(__CLASS__ . ' does not handle ' . get_class($type) . ' please add it.');
|
|
|
|
|
} else {
|
|
|
|
|
$idEnumRule = Rule::enum(Arr::get($this->maps, $type->value()));
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-09-25 16:25:31 +02:00
|
|
|
$idEnumRule,
|
2024-07-11 15:46:43 +02:00
|
|
|
]]
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|