Как получить два документа в правилах безопасности Firestore - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь сослаться на два разных документа в моей базе данных Firestore в правилах безопасности Firestore. Мне нужно посмотреть, какой идентификатор профиля разрешений есть у друга пользователя, затем получить этот профиль разрешения из коллекции пользователя и проверить поле в нем. (хранение разрешений под данными каждого пользователя предоставляет настраиваемые разрешения)

Я пытался поместить одно get утверждение в другое, вдохновленное этим форумом :

match /users/{userUID}/posts/{postUID} {
    allow read: if get(/databases/$(database)/documents/users/$(userUID)/permissions/$(get(/databases/$(database)/documents/users/$(userUID)/connections/$(request.auth.uid)).data.permissionProfileUID)).data.posts.canRead;
}

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

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

Возможно ли то, что я пытаюсь достичь, возможно?

...