При работе с вебсокетами, лучше плодить отдельные события, или одно, которое будет содержать весь объект?

Суть в том, что нужно на стороне фронтенда сделать разлогинивание юзера в случае, если он был заблокирован (в бд поле is_ban) или удален (в бд поле deleted_at). Вопрос: как лучше, сделать 2 отдельных события и слушателя под эти нужды, или 1 событие и слушатель, но к примеру передавать весь объект юзера? в дальнейшем работа будет и с другими сущностями, но хотелось бы понимать как правильнее, чтобы в дальнейшем ничего не вылезло
  • Вопрос задан
  • 409 просмотров
Пригласить эксперта
Ответы на вопрос 1
szQocks
@szQocks
Сразу юзера удалять - не надо!
Банить и потом по крону в бд чистить аккаунты.

Предположим что юзер находится на сайте, и в этот момент его забанили. Он будет видеть интерфейс - и при любом запросе на сервере - промежуточный обработчик на сервере на авторизацию ( middleware ) - должен понять что юзер забанен и выдать на фронт ошибку с тем что юзер якобы забанен, либо просто не авторизован.

Что делать на фронте, когда ты получишь сообщения о том что юзер забанен или ошибка авторизации ? Я например писал интерцептор для axios который как раз таки и проверяет был ли ответ с сервера 401, и если да то отправлял запрос на refresh для обновления токенов и т.д - но суть не в этом, суть в том что в этот момент можно как раз таки проверить на то забанен ли юзер -и если да перезагрузить страницу, и все проблемы решены, сразу отключиться сокеты и вся остальная шляпа. Если такой вариант устраивает - успехов в реализации.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы