2016-02-18 14 views
3

Предположим, у меня простая схема с двумя пользователями коллекции & сообщений. У каждого объекта post есть ключ, пара значений (ownerId: userId), чтобы выяснить, какие пользователи принадлежат объекту posts.Как проверить, есть ли у пользователей объект в Firebase bolt compiler

users/{1,2,3...} 
posts/{a,b,c...}/ownerId:userId 

Я пытаюсь написать правила, в которых пользователь может только читать/писать свои пользовательские данные и свои сообщения.

Для этого правила болтом для пользователя достаточно прост:

isUser(uid) = auth != null && auth.uid == uid; 
path /users/$uid { 
    read() = isUser($uid); 
    write() = isUser($uid); 
} 

Мой вопрос, как я могу обеспечить сбор сообщений, которые будут доступны только пользователю. Могу ли я проверить свойство ownderId в коллекции сообщений в правилах? Если да, то как, если не они, как я могу структурировать свою схему для этого?

EDIT

Я пытаюсь обеспечить путь сообщений, как это:

path /posts/$pid { 
    read() = isUser(this.ownerId); 
    write() = isUser(this.ownerId); 
} 

Является ли это правильный способ сделать это?

ответ

1

Мы можем сделать это, добавив в коллекцию свойство Id владельца и затем проверяя подлинность пользователя.

path /posts/$pid { 
    read() = isUser(this.ownerId); 
    write() = isUser(this.ownerId); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^