Как разрешить пользователю обновлять связанные данные другого пользователя в правилах базы данных Android и Firebase в реальном времени?

# #java #android #firebase-realtime-database #firebase-security

Вопрос:

У меня есть эта структура для пользовательских данных

 stats : {  $user_id : {  wins : 0,  losses : 0,  draws : 0  }, .... }  

Я использую эти правила:

 "stats" : {  ".read": "auth.uid != null",  "$user_id : {  ".write" : "auth.uid != null amp;amp; auth.uid === $user_id"  } }  

Как я могу правильно обновить данные другого пользователя? Если игрок 1 выиграет, очевидно, он может обновить свои wins данные, но как я могу обновить losses данные игрока 2? Если я удалю auth.uid === $user_id , не будет ли это небезопасно?

Изменить: Для уточнения я создаю приложение для Android с использованием Java. Матч между игроками не происходит в режиме реального времени. Игрок 1 может отправить вызов игроку 2, который он затем может принять или отклонить. Это означает, что только игрок 2 может обновлять данные от обоих игроков, так как игрок 1 может только ждать результата.

Комментарии:

1. В идеале эта статистика должна управляться на стороне сервера. В любом случае, если пользователь может обновить свой счетчик выигрышей, он также должен иметь возможность обновить свой собственный счетчик проигрышей.