EagerToSing
EagerToSing

Reputation: 163

Struggling Firestore rules

I'm new to Firestore Rules. All I want is simply check if user id exists within the object. Im reading data using FirestoreRecyclerAdapter like so (query):

 Query query = FirebaseFirestore.getInstance()
                .collection(EVENTS_INFO)
                .whereEqualTo("users." + user.getUid(), true);

Here is how structure looks in Firebase Console (screenshot):

enter image description here

Firestore rules here:

        service cloud.firestore {
           match /databases/{database}/documents {

              function isSignedIn() {
                 return request.auth.uid != null;
              }

              match /events/{event} {

                 function isUser() {
                    return isSignedIn() && resourse.data.users[request.auth.uid] == true;
                 }

                 allow read: if isUser();
              }
           }

As there is no simulator I cant fast get the issue. allow read: if true works as desired. Any clues?

Upvotes: 0

Views: 306

Answers (1)

Jason Berryman
Jason Berryman

Reputation: 4908

There is an issue with this line...

resourse.data.users[request.auth.uid] == true;

resourse should be written resource

Upvotes: 1

Related Questions