From 4ee9cb754c1693192a3cdebcacfcd8475b2668f3 Mon Sep 17 00:00:00 2001 From: Fosco Marotto Date: Sun, 6 Mar 2016 00:34:44 -0800 Subject: [PATCH] Fix for related query on non-existing column --- spec/ParseRole.spec.js | 20 ++++++++++++++++++++ src/Controllers/DatabaseController.js | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/spec/ParseRole.spec.js b/spec/ParseRole.spec.js index 8b4f989f93..5a9091d222 100644 --- a/spec/ParseRole.spec.js +++ b/spec/ParseRole.spec.js @@ -119,5 +119,25 @@ describe('Parse Role testing', () => { }); }); + it('can create role and query empty users', (done)=> { + var roleACL = new Parse.ACL(); + roleACL.setPublicReadAccess(true); + var role = new Parse.Role('subscribers', roleACL); + role.save({}, {useMasterKey : true}) + .then((x)=>{ + var query = role.relation('users').query(); + query.find({useMasterKey : true}) + .then((users)=>{ + done(); + }, (e)=>{ + fail('should not have errors'); + done(); + }); + }, (e) => { + console.log(e); + fail('should not have errored'); + }); + }); + }); diff --git a/src/Controllers/DatabaseController.js b/src/Controllers/DatabaseController.js index 683b9be053..98243acb2b 100644 --- a/src/Controllers/DatabaseController.js +++ b/src/Controllers/DatabaseController.js @@ -89,7 +89,7 @@ DatabaseController.prototype.loadSchema = function(acceptor = returnsTrue) { DatabaseController.prototype.redirectClassNameForKey = function(className, key) { return this.loadSchema().then((schema) => { var t = schema.getExpectedType(className, key); - var match = t.match(/^relation<(.*)>$/); + var match = t ? t.match(/^relation<(.*)>$/) : false; if (match) { return match[1]; } else {