@ArthurHlushko

Как сделать приглашение в друзья?

Как можно сделать добавление в друзья по приглашению? Например один человек отправляет заявку в друзья другому и тот должен её принять, чтобы добавить в друзья.
Сейчас реализовал это, редактируя данные другого юзера, но вроде это небезопасно и нужно сделать так, чтобы редактировать данные только своего юзера.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
у тебя уже есть коллекции:
1) пользователи
2) друзья (ключ id пользователя, значение set id пользователей или лучше объекты с нужной информацией)
делаешь 2 доп коллекции:
1) входящие заявки (ключ - id пользователя к которому стучатся в друзья, значение - set пользователей которые стучатся, set чтобы избежать дублей)
2) исходящие заявки (ключ - id пользователя который стучится к кому-то в друзья, значение - set id кому отправлены заявки)

- создание заявки: транзакция (читаем от кого, читаем кому, если все ок, то добавляем 2 документа в коллекции)
- получение статуса пользователя: читаем 2 документа и видим кому отправили, и кто нам отправил заявки
- подтверждение заявки: транзакция (читаем от кого, кому, проверяем что пользователь есть, если все ок то удаляем 2 документа, редактируем 2 документа в коллекции друзья, 2 док-та потому что нужно обновить от кого и к кому добавлен друг)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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