I think I’ve discovered really important bug in Parse.Query.or implementation.
I’ve 2 Classes - Team and TeamMember:
and here is my cloud code:
const queryEmail = new Parse.Query(“TeamMember”).equalTo(‘email’, email).include(“teamId”);
const queryUserId = new Parse.Query(“TeamMember”).equalTo(‘userId’, user).include(“teamId”);
const teamMemberResult = await Parse.Query.or(queryEmail, queryUserId).ascending(“name”).find({sessionToken: sessionToken});
Now the problem is that in TeamMemberResult I get proper TeamMember record but joined with completely other Team record, and the biggest problem is that that the user doesn’t have have ACL to access that Team record. It’s completely different Role and group. That’s parse 3.9.0 and I think it’s critical. I’m not passing any Master Key and user simply can read other users data without having access to that records. If I’m wrong please let me know why?