создать / обновить / удалить правила базы данных Firebase Realtime - PullRequest
0 голосов
/ 24 августа 2018

Я создал рабочий метод для создания / обновления / удаления сообщений чата пользователя.Интересно, есть ли способ уменьшить мою логику?

".write": "(!data.exists() && newData.child('uid').val() == auth.uid) || (data.child('uid').val() == auth.uid && newData.child('uid').val() == auth.uid) || (data.child('uid').val() == auth.uid && !newData.exists())"

Многострочный для удобства чтения

(!data.exists() && newData.child('uid').val() == auth.uid) ||
(data.child('uid').val() == auth.uid && newData.child('uid').val() == auth.uid) ||
(data.child('uid').val() == auth.uid && !newData.exists())

1 Ответ

0 голосов
/ 25 августа 2018

Взгляните на bolt.https://github.com/firebase/bolt

Вы можете упростить запросы, а затем скомпилировать вывод.

path /somePath {
  path /{uid} {
    read() { isUser(uid) }
    write() { isUser(uid) }
  }
}

function isUser(uid) {
  return auth != null && auth.uid == uid;
}

Это действительно удобно - хотя все еще в бета-версии, это значительно упрощает чтение и понимание правил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...