From cc54c26d94ed597ef45a2c623ec136c8345356bc Mon Sep 17 00:00:00 2001 From: Vitaly Vengrov Date: Mon, 25 Sep 2017 14:01:24 +0300 Subject: [PATCH 1/3] fix (persistence) remove method should return deletion time --- src/backendless.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/backendless.js b/src/backendless.js index d4f69f81..f7b403a6 100644 --- a/src/backendless.js +++ b/src/backendless.js @@ -1103,12 +1103,8 @@ throw new Error('Invalid value for the "value" argument. The argument must contain only string or object values'); } - var responder = Utils.extractResponder(arguments), isAsync = false; - - if (responder != null) { - isAsync = true; - responder = Utils.wrapAsync(responder, this._parseResponse, this); - } + var responder = Utils.extractResponder(arguments); + var isAsync = responder != null; var result; @@ -1199,14 +1195,13 @@ options && query.push(options); whereClause && query.push(whereClause); props && query.push(props); - query = query.join('&'); if (dataQuery.url) { url += '/' + dataQuery.url; } - if (query) { - url += '?' + query; + if (query.length) { + url += '?' + query.join('&'); } result = Backendless._ajax({ @@ -1312,7 +1307,6 @@ options && query.push(options); whereClause && query.push(whereClause); - query = query.join('&'); var relationModel = dataQuery.relationModel || null; var responder = Utils.extractResponder(arguments); @@ -1323,8 +1317,8 @@ return this._parseFindResponse(response, relationModel); }, this); - if (query) { - url += '?' + query; + if (query.length) { + url += '?' + query.join('&'); } var result = Backendless._ajax({ From 487f1d051036ed20c9048fb9c3c06bd1308d81cf Mon Sep 17 00:00:00 2001 From: Vitaly Vengrov Date: Thu, 12 Oct 2017 12:58:40 +0300 Subject: [PATCH 2/3] add support for string condition argument in DataStore.getObjectCount --- src/backendless.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/backendless.js b/src/backendless.js index 45d1a8d0..db959eac 100644 --- a/src/backendless.js +++ b/src/backendless.js @@ -1377,7 +1377,7 @@ /** * Count of object * - * @param {DataQueryBuilder} [queryBuilder] + * @param {String|DataQueryBuilder} [condition] * * @return {Promise} */ @@ -1386,27 +1386,33 @@ /** * Count of object (sync) * - * @param {DataQueryBuilder} [queryBuilder] + * @param {String|DataQueryBuilder} [condition] * * @return {number} */ getObjectCountSync: synchronized('_getObjectCount'), - _getObjectCount: function(queryBuilder, async) { - var args = this._parseFindArguments(arguments); - var dataQuery = args.queryBuilder ? args.queryBuilder.build() : {}; + _getObjectCount: function(condition, async) { + if (condition instanceof Async) { + async = condition; + condition = null; + } + + if (condition instanceof Backendless.DataQueryBuilder) { + condition = condition.build().condition; + } + var url = this.restUrl + '/count'; - var isAsync = !!args.async; - if (dataQuery.condition) { - url += '?where=' + encodeURIComponent(dataQuery.condition); + if (condition) { + url += '?where=' + encodeURIComponent(condition); } return Backendless._ajax({ method : 'GET', url : url, - isAsync : isAsync, - asyncHandler: args.async + isAsync : !!async, + asyncHandler: async }); }, From d2dd47ba1682831ac086f8c5cdbe0707f78f5b40 Mon Sep 17 00:00:00 2001 From: "ilya.veklenko" Date: Thu, 12 Oct 2017 15:41:26 +0300 Subject: [PATCH 3/3] fix (getObjectCount): change ts defenition --- src/backendless.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backendless.d.ts b/src/backendless.d.ts index bf4245a4..5d1f3eaa 100644 --- a/src/backendless.d.ts +++ b/src/backendless.d.ts @@ -404,8 +404,8 @@ declare module __Backendless { loadRelations(parentObjectId:string, query:Backendless.LoadRelationsQueryBuilder):Promise>; loadRelationsSync(parentObjectId:string, query:Backendless.LoadRelationsQueryBuilder):Array; - getObjectCount(query?:Backendless.DataQueryBuilder):Promise - getObjectCountSync(query?:Backendless.DataQueryBuilder):number + getObjectCount(query?:Backendless.DataQueryBuilder|string):Promise + getObjectCountSync(query?:Backendless.DataQueryBuilder|string):number setRelation(parentObject:Object, columnName:string, childObjectsArray:Array):Promise; setRelation(parentObject:Object, columnName:string, childObjectIdArray:Array):Promise;