diff --git a/app/Http/Controllers/Remote/BroadcastController.php b/app/Http/Controllers/Remote/BroadcastController.php new file mode 100644 index 0000000..816dd5d --- /dev/null +++ b/app/Http/Controllers/Remote/BroadcastController.php @@ -0,0 +1,46 @@ +validate($request, $this->rules()); + + broadcast(new UserEvent($user->id, 'modules.users.event', [ + 'user' => $user, + 'message' => $request->message + ])); + + return $this->created($request->message); + + } + + public function broadcast_to_host(Request $request, Host $host) + { + $this->validate($request, $this->rules()); + + + broadcast(new UserEvent($host->user_id, 'modules.hosts.event', [ + 'host' => $host, + 'message' => $request->message + ])); + + return $this->created($request->message); + } + + private function rules() { + return [ + 'message' => 'required', + ]; + } +} diff --git a/routes/remote.php b/routes/remote.php index 6964944..4d5abc6 100644 --- a/routes/remote.php +++ b/routes/remote.php @@ -95,3 +95,12 @@ $router->get('users/{user}/hosts', [ 'uses' => '\App\Http\Controllers\Remote\UserController@hosts' ]); + + +$router->post('broadcast/users/{user}', [ + 'uses' => '\App\Http\Controllers\Remote\BroadcastController@broadcast_to_user' +]); + +$router->post('broadcast/hosts/{host}', [ + 'uses' => '\App\Http\Controllers\Remote\BroadcastController@broadcast_to_host' +]);