Я пытаюсь сослаться на два разных документа в моей базе данных 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
по отдельности, и оба прекрасно работают, но при любом сочетании ничего не получается.
Возможно ли то, что я пытаюсь достичь, возможно?