habralab/garnet-team

Функционал уведомлений на клиенте

Amiditin opened this issue · 2 comments

С чем связан запрос на фичу?

Необходимо сверстать по дизайну UI уведомлений и добавить для них запросы

Расскажите как вы это себе видите

  • Поповер с уведомлениями figma
  • Запросы на уведомления успешно проходят

DoD (критерий готовности)

Все элементы UI уведомлений сверстаны по дизайну и запросы проходят успешно

Приложите пример реализаций

https://www.figma.com/file/Ej5wvzeEHOcgkXCerWJQj6/Garnet-Service?type=design&node-id=368-187&mode=design&t=oXgzvk1ZXSKRUBm2-0

Приложите материалы задачи

https://stage.garnet.pet-project.habr.com/api/sandbox/

@Demorey @gfg7

  1. Можете добавить linkedEntityAvatarUrl и linkedEntitiesNames в респонс запроса notificationsGetListByCurrentUser? Необходимо для реализации этого UI ссылка. В моём предствалении linkedEntitiesNames - это массив названий сущностей из body, по дизайну у них жирный шрифт.
  2. Сколько всего типов уведомлений? я насчитал 10. Предполагается, что возможно принять или отклонить есть только у TeamJoinProjectRequest, TeamInvite и TeamUserJoinRequest?
Все типы

ProjectEditOwner, TeamJoinProjectRequest, TeamJoinRequestDecide, TeamLeaveProject, TeamEditOwner, TeamInvite, TeamInviteDecide, TeamParticipantLeaveTeam, TeamUserJoinRequest, TeamUserJoinRequestDecide

  1. Для типов TeamJoinProjectRequest, TeamInvite и TeamUserJoinRequest в респонсе нужно получать дополнительно id связанного запроса, чтобы его отклонить или принять. Как я понял в текущей реализации поле linkedEntityId у этих типов это id команды? Думаю, для этого нужно отдельное поле, чтобы не терять id команды, можете добавить?
  2. Также из тестов заметил, что при отправке approve на join request, например ProjectTeamJoinRequestDecide, связанное с ним уведомление не удалятся автоматически. Это баг?
gfg7 commented

@Amiditin

  1. Можете добавить linkedEntityAvatarUrl и linkedEntitiesNames в респонс запроса notificationsGetListByCurrentUser? Необходимо для реализации этого UI ссылка. В моём предствалении linkedEntitiesNames - это массив названий сущностей из body, по дизайну у них жирный шрифт.

ок, добавлю сегодня

  1. Сколько всего типов уведомлений? я насчитал 10. Предполагается, что возможно принять или отклонить есть только у TeamJoinProjectRequest, TeamInvite и TeamUserJoinRequest?

Все типы

да, вроде, все

  1. Для типов TeamJoinProjectRequest, TeamInvite и TeamUserJoinRequest в респонсе нужно получать дополнительно id связанного запроса, чтобы его отклонить или принять. Как я понял в текущей реализации поле linkedEntityId у этих типов это id команды? Думаю, для этого нужно отдельное поле, чтобы не терять id команды, можете добавить?

делалось до дизайна уведомлений, ожидали просто переход на страницу команды с открытым списком заявок , поправлю

  1. Также из тестов заметил, что при отправке approve на join request, например ProjectTeamJoinRequestDecide,
    связанное с ним уведомление не удалятся автоматически. Это баг?

забыли по decide, в командах тоже только по cancel вижу, добавим