user()?->can('manage', Integration::class) ?? false; } protected function prepareForValidation(): void { $integrationCode = $this->route('integration_code'); $this->integrationModel = Integration::query() ->where('integration_code', $integrationCode) ->first(); if (! $this->integrationModel) { throw ValidationException::withMessages([ 'integration_code' => __('api.integration.not_configured'), ]); } } public function rules(): array { $rules = ['integration_data' => ['present', 'array']]; foreach ($this->integrationModel?->integration_data_schema ?? [] as $field => $rule) { $rules['integration_data.'.$field] = $rule; } return $rules; } }