Мой основной вопрос: как настроить правила Firebase, чтобы разрешить доступ только к определенным листовым узлам от их родителя?
Допустим, у меня есть данные, которые выглядят так:
root: {
posts: {
post1: {
user: "foo",
post: "this is a post",
restricted: false
},
post2: {
user: "bar",
post: "this is another post",
restricted: true
},
post3: {
user: "bar",
post: "this is my final post",
restricted: false
}
}
}
Я хочу $bind
перейти к узлу сообщений и получить все сообщения, которые разрешено получать этому пользователю. Я мог бы захотеть, чтобы администратор имел доступ ко всем сообщениям, но неадминистраторы имели доступ только к сообщениям 1 и 3.
Примечание. Я использую $bind angularFire для синхронизации узлов.
Я не верю, что это возможно, но я хотел бы иметь возможность настроить свои правила примерно так:
{
"rules": {
"posts": {
".read": "auth.admin || $post.hasChild('restricted').val() !== true",
"$post": {
}
}
}
}
Как это делают другие пользователи? Спасибо.