Jak używać reguł Firebase, aby dawać uprawnienia tylko niektórym węzłom liści

Moje podstawowe pytanie brzmi: jak skonfigurować reguły Firebase, aby zezwalać na dostęp tylko do niektórych węzłów liści od rodzica?

Powiedzmy, że mam dane, które wyglądają tak:

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
    }
  }
}

chcę$bind do węzła postów i pobierz wszystkie posty, które ten użytkownik może uzyskać. Może chcę, aby administrator miał dostęp do wszystkich postów, ale nie do administratorów, aby mieć dostęp tylko do post1 i post3.

Uwaga: Używam wiązania $ angularFire do synchronizacji węzłów.

Nie wierzę, że jest to możliwe, ale chciałbym mieć możliwość ustawienia moich zasad w ten sposób:

{
  "rules": {
    "posts": {
      ".read": "auth.admin || $post.hasChild('restricted').val() !== true",
      "$post": {
      }
    }
  }
}

W jaki sposób inni użytkownicy to osiągają? Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion