Lae/app/Http/Controllers/Modules/BroadcastController.php

44 lines
1.1 KiB
PHP
Raw Normal View History

2022-09-22 06:09:45 +00:00
<?php
2022-11-16 02:29:50 +00:00
namespace App\Http\Controllers\Modules;
2022-09-22 06:09:45 +00:00
2023-01-10 12:47:57 +00:00
use App\Events\Users;
2022-11-06 11:28:22 +00:00
use App\Http\Controllers\Controller;
2022-09-22 06:09:45 +00:00
use App\Models\Host;
use App\Models\User;
2023-01-10 13:42:27 +00:00
use Illuminate\Http\JsonResponse;
2022-09-22 06:09:45 +00:00
use Illuminate\Http\Request;
class BroadcastController extends Controller
{
2023-01-10 13:42:27 +00:00
public function broadcast_to_user(Request $request, User $user): JsonResponse
2022-09-22 06:09:45 +00:00
{
$this->validate($request, $this->rules());
broadcast(new Users($user, $request->input('type'), $request->all()));
2022-09-22 06:09:45 +00:00
2023-01-10 16:35:32 +00:00
return $this->created("message sent.");
2022-09-22 06:09:45 +00:00
}
2023-01-10 13:42:27 +00:00
private function rules(): array
{
return [
2023-01-10 16:28:29 +00:00
'message' => 'required|string|max:255',
'type' => 'required|in:info,error,warning,success',
2023-01-10 16:35:32 +00:00
'data' => 'nullable|json',
];
}
2023-01-10 16:24:58 +00:00
// public function broadcast_to_host(Request $request, Host $host): JsonResponse
// {
// $this->validate($request, $this->rules());
//
// broadcast(new Users($host->user, 'modules.hosts.event', [
// 'host' => $host,
// 'message' => $request->input('message')
// ]));
//
// return $this->created($request->input('message'));
// }
2022-09-22 06:09:45 +00:00
}