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
|
* Determines whether an object matches a single key's constraints
|
||||||
*/
|
*/
|
||||||
function matchesKeyConstraints(object, key, constraints) {
|
function matchesKeyConstraints(object, key, constraints) {
|
||||||
|
if (constraints === null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
var i;
|
var i;
|
||||||
if (key === '$or') {
|
if (key === '$or') {
|
||||||
for (i = 0; i < constraints.length; i++) {
|
for (i = 0; i < constraints.length; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user