route('automation_rule'); return $rule ? $this->user()->can('update', $rule) : $this->user()->can('create', AutomationRule::class); } /** * @return array */ public function rules(): array { return [ 'zone_id' => ['required', 'exists:zones,id'], 'target_device_id' => ['required', 'exists:devices,id'], 'condition_source_device_id' => ['required', 'exists:devices,id'], 'condition_sensor_type' => ['required', 'string', 'max:255'], 'condition_operator' => ['required', Rule::enum(ConditionOperator::class)], 'condition_value' => ['required', 'numeric'], 'action_type' => ['required', 'string', 'max:255'], 'level' => ['nullable', 'numeric', 'required_if:action_type,set_level'], 'is_active' => ['boolean'], ]; } }