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):
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?
There is an issue with this line...
resourse.data.users[request.auth.uid] == true;
resourse
should be written resource