Lae/app/Http/Controllers/Modules/BroadcastController.php
2023-01-11 20:19:05 +08:00

43 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Modules;
use App\Http\Controllers\Controller;
use App\Models\User;
use App\Notifications\WebNotification;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class BroadcastController extends Controller
{
public function broadcast_to_user(Request $request, User $user): JsonResponse
{
$this->validate($request, $this->rules());
$user->notify(new WebNotification($request->all(), $request->input('type')));
return $this->created("message sent.");
}
private function rules(): array
{
return [
'message' => 'required|string|max:255',
'type' => 'required|in:info,error,warning,success',
'event' => 'nullable|alpha',
];
}
// 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'));
// }
}