input('signal')) { case 'start': return SubuserPermission::ControlStart; case 'stop': case 'kill': return SubuserPermission::ControlStop; case 'restart': return SubuserPermission::ControlRestart; } // Fallback for invalid signals return SubuserPermission::WebsocketConnect; } /** * Rules to validate this request against. */ public function rules(): array { return [ 'signal' => 'required|string|in:start,stop,restart,kill', ]; } }