LiveQuery constrains matching fix (#2357)
* Removing sessionToken and authData from _User objects included in a query
This bug caused sessionToken to be replaced on client side to some old
sessionToken from DB.
* Removing dangling variable that is never used
* Checking if object has defined key for Pointer constraints in liveQuery
If there is a liveQuery subscription, with Pointer type constrains (e.g
query.equalTo('user', Parse.User.current())), and new object has
undefined value for that field, we get this error:
error: Uncaught internal server error. [TypeError: Cannot read
property 'className' of undefined] TypeError: Cannot read property
'className' of undefined
at matchesKeyConstraints
(…/node_modules/parse-server/lib/LiveQuery/QueryTools.js:145:51)
* LiveQuery constrains matching fix
When constrains == null, we get “Uncaught internal server error”
This commit is contained in:
@@ -117,6 +117,9 @@ function matchesQuery(object: any, query: any): boolean {
|
||||
* Determines whether an object matches a single key's constraints
|
||||
*/
|
||||
function matchesKeyConstraints(object, key, constraints) {
|
||||
if (constraints === null) {
|
||||
return false;
|
||||
}
|
||||
var i;
|
||||
if (key === '$or') {
|
||||
for (i = 0; i < constraints.length; i++) {
|
||||
|
||||
Reference in New Issue
Block a user