33 lines
983 B
PHP
33 lines
983 B
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Support\Resources;
|
|
|
|
use App\Enums\DataExportScope;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class SupportDataExportResourceRequest extends SupportResourceFormRequest
|
|
{
|
|
public static function rulesFor(string $action, ?Model $model = null): array
|
|
{
|
|
$scopeValues = array_map(static fn (DataExportScope $scope): string => $scope->value, DataExportScope::cases());
|
|
|
|
return [
|
|
'scope' => ['required', 'string', Rule::in($scopeValues)],
|
|
'tenant_id' => ['required', 'integer', 'exists:tenants,id'],
|
|
'event_id' => ['nullable', 'integer', 'exists:events,id', 'required_if:scope,event'],
|
|
'include_media' => ['sometimes', 'boolean'],
|
|
];
|
|
}
|
|
|
|
public static function allowedFields(string $action): array
|
|
{
|
|
return [
|
|
'scope',
|
|
'tenant_id',
|
|
'event_id',
|
|
'include_media',
|
|
];
|
|
}
|
|
}
|