Правила безопасности Firestore - можно защитить массив do c, содержащий любое значение из другого массива - PullRequest
0 голосов
/ 08 мая 2020

Думаю, что нет, потому что я не могу найти ссылку в документации Firestore:

Docs

У меня есть настройка ACL, в которой назначаются пользователи одной или нескольким ролям пользователей (по сути, спискам доступа), например

user.roles = [ 'a', 'b', 'c' ]

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

record.access.roles = [ 'c', 'd' ]

Я знаю, что могу запросить это во внешнем интерфейсе, используя array-contains-any ... но мне также нужно защитить данные с помощью аналогичного условия, возвращающего истину, если Любая из ролей пользователей отображается в списке ACL записей. В настоящее время я могу найти только документацию, подтверждающую условие массива IN.

Фактически в этом разделе документации обсуждается безопасность в отношении array-contains-any на стороне запроса, но не упоминается, можно ли / как можно защитить данные таким образом.

1 Ответ

1 голос
/ 08 мая 2020

Если вам нужен эквивалент array-contains-any с целью определения, присутствуют ли элементы в списке в другом списке, я думаю, вы захотите использовать hasAny () в списке, чтобы check и передать ему список других элементов, которые следует проверить на наличие.

В общем, я бы предпочел документацию API, на которую я ссылаюсь здесь, а не официальную документацию продукта. Связанные вами документы не содержат примеров всего, что вы можете делать. Документация по API поможет вам разобраться во всех доступных вам функциях.

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