Модель и запрос данных в Firestore для получения элементов в каталогах - PullRequest
0 голосов
/ 28 июня 2019

Я хочу смоделировать данные в firestore, чтобы получить элементы в каталогах , которые используются несколькими пользователями (папки защищены правилами безопасности).

Моя текущая модель выглядит следующим образом:

  • / папки / {Папка} / папки / {вложенная}
  • / папки / {Папка} / элементы / {пункт}
  • / папки / {Папка} / папки / {вложенная} / элементы / {пункт}

Пользователь может получить доступ к нескольким папкам, и если он получает доступ к корневой папке, он также может получить доступ к подпапкам. Он также может получить доступ к подпапкам (если у него есть разрешение), и его доступ к корневой папке ограничен.

Идея состоит в том, что система может перечислять все элементы, к которым пользователь имеет доступ.

Есть ли способ без необходимости делать запрос для каждой папки?


Если я сделаю запрос для каждой папки, у меня будет запрос для каждого корня и для каждой подпапки. Было бы много запросов

Дублирование ролей доступа к папкам в элементах может быть вариантом, но с большой проблемой при изменении разрешений

В каталоге может быть только два уровня глубины (root и вложенные папки).

1 Ответ

0 голосов
/ 28 июня 2019

Вы можете иметь документ для каждого пользователя, где вы можете написать каждый идентификатор папки, к которой у пользователя есть доступ. Тогда вы можете запросить только эти папки.

И если у вас много событий, к которым пользователи могут получить доступ, я бы порекомендовал показать пользователю структуру папок, как в файловой системе. Таким образом, вы можете сохранить много ненужных операций чтения для документов, которые не нужны пользователю.

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