Как получить непрочитанные уведомления?

Добрый день.
Использую связку Redis + socket.io + laravel-echo server
Если пользователь в сети - все ок. уведомления приходят. Но задача стоит - выводить непрочитанные уведомления, если пользователь был оффлайн. Сообщения помещаю как прочитанные при закрытии через ajax
Т.к. Redis - только публикует сообщение в канал и ему все равно - есть там кто то или нет.
Для этого сделал модель Notification
public static function publish($userId, $data) {
		self::create([
			'userId' => $userId,
			'data' => $data
		]);

	    Redis::publish('private-user.'.$userId, json_encode($data));
    }

и соотвественно в коде, где надо уведомить вызываю
Notification::publish($user->id, $data);

Все отлично. но не могу найти как отловить на бэкенде - присоединение пользователю к каналу - чтобы получить все непрочитанные сообщения и отправить ему? есть ли у laravel-echo-server - события?

или просто в базовый контроллер - добавить чтение непрочитанных сообщений и уведомления?

Или я вообще не туда копаю?

Спасибо
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы