kinvey-node-sdk
Advanced tools
Comparing version 3.3.0 to 3.3.1
## Changelog | ||
## [v3.3.1](https://github.com/Kinvey/kinvey-nodejs/tree/v3.3.1) (2016-12-02) | ||
**Bug fixes:** | ||
- Fix aggregations. | ||
- Merge `user._socialIdentity` recuresively when using an identity to login a user. | ||
- Fix typo of `complete` in `NetworkStore`. | ||
## [v3.3.0](https://github.com/Kinvey/kinvey-nodejs/tree/v3.3.0) (2016-11-22) | ||
@@ -3,0 +11,0 @@ |
@@ -7,2 +7,4 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
@@ -30,2 +32,10 @@ | ||
var _cloneDeep = require('lodash/cloneDeep'); | ||
var _cloneDeep2 = _interopRequireDefault(_cloneDeep); | ||
var _values = require('lodash/values'); | ||
var _values2 = _interopRequireDefault(_values); | ||
var _errors = require('./errors'); | ||
@@ -69,5 +79,4 @@ | ||
var groups = {}; | ||
var result = []; | ||
var aggregation = this.toJSON(); | ||
var keys = Object.keys(aggregation.key); | ||
var reduceFn = aggregation.reduceFn.replace(/function[\s\S]*?\([\s\S]*?\)/, ''); | ||
@@ -80,29 +89,38 @@ aggregation.reduce = new Function(['doc', 'out'], reduceFn); | ||
(0, _forEach2.default)(entities, function (entity) { | ||
var group = {}; | ||
var entityNames = Object.keys(entity); | ||
if (keys.length > 0) { | ||
var _ret = function () { | ||
var groups = {}; | ||
(0, _forEach2.default)(entityNames, function (name) { | ||
group[name] = entity[name]; | ||
}); | ||
(0, _forEach2.default)(keys, function (key) { | ||
(0, _forEach2.default)(entities, function (entity) { | ||
var keyVal = entity[key]; | ||
var result = (0, _utils.isDefined)(groups[keyVal]) ? groups[keyVal] : (0, _cloneDeep2.default)(aggregation.initial); | ||
result[key] = keyVal; | ||
var newResult = aggregation.reduce(entity, result); | ||
var key = JSON.stringify(group); | ||
if (!groups[key]) { | ||
groups[key] = group; | ||
var attributes = Object.keys(aggregation.initial); | ||
if ((0, _utils.isDefined)(newResult)) { | ||
result = newResult; | ||
} | ||
(0, _forEach2.default)(attributes, function (attr) { | ||
groups[key][attr] = aggregation.initial[attr]; | ||
groups[keyVal] = result; | ||
}); | ||
}); | ||
} | ||
aggregation.reduce(entity, groups[key]); | ||
}); | ||
return { | ||
v: (0, _values2.default)(groups) | ||
}; | ||
}(); | ||
var segments = Object.keys(groups); | ||
(0, _forEach2.default)(segments, function (segment) { | ||
result.push(groups[segment]); | ||
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; | ||
} | ||
var result = (0, _cloneDeep2.default)(aggregation.initial); | ||
(0, _forEach2.default)(entities, function (entity) { | ||
var newResult = aggregation.reduce(entity, result); | ||
if ((0, _utils.isDefined)(newResult)) { | ||
result = newResult; | ||
} | ||
}); | ||
return result; | ||
return [result]; | ||
} | ||
@@ -115,2 +133,3 @@ }, { | ||
initial: this.initial, | ||
reduce: this.reduceFn, | ||
reduceFn: this.reduceFn, | ||
@@ -126,3 +145,3 @@ condition: this.query ? this.query.toJSON().filter : {}, | ||
get: function get() { | ||
return this._initial; | ||
return (0, _cloneDeep2.default)(this._initial); | ||
}, | ||
@@ -169,13 +188,8 @@ set: function set(initial) { | ||
field = field.replace('\'', '\\\''); | ||
var aggregation = new Aggregation(); | ||
if (field) { | ||
aggregation.by(field); | ||
} | ||
aggregation.initial = { result: 0 }; | ||
aggregation.reduceFn = function (doc, out) { | ||
out.result += 1; | ||
return out; | ||
}; | ||
aggregation.by(field); | ||
aggregation.initial = { count: 0 }; | ||
aggregation.reduceFn = '' + 'function(doc, out) {' + ' out.count += 1' + ' return out;' + '}'; | ||
return aggregation; | ||
@@ -191,6 +205,5 @@ } | ||
var aggregation = new Aggregation(); | ||
aggregation.initial = { result: 0 }; | ||
aggregation.reduceFn = function (doc, out) { | ||
out.result += doc['\'' + field + '\'']; | ||
}; | ||
aggregation.initial = { sum: 0 }; | ||
aggregation.reduceFn = '' + 'function(doc, out) {' + (' out.sum += doc["' + field + '"];') + ' return out;' + '}'; | ||
return aggregation; | ||
@@ -206,6 +219,5 @@ } | ||
var aggregation = new Aggregation(); | ||
aggregation.initial = { result: Infinity }; | ||
aggregation.reduceFn = function (doc, out) { | ||
out.result = Math.min(out.result, doc['\'' + field + '\'']); | ||
}; | ||
aggregation.initial = { min: Infinity }; | ||
aggregation.reduceFn = '' + 'function(doc, out) {' + (' out.min = Math.min(out.min, doc["' + field + '"]);') + '}'; | ||
return aggregation; | ||
@@ -221,6 +233,5 @@ } | ||
var aggregation = new Aggregation(); | ||
aggregation.initial = { result: -Infinity }; | ||
aggregation.reduceFn = function (doc, out) { | ||
out.result = Math.max(out.result, doc['\'' + field + '\'']); | ||
}; | ||
aggregation.initial = { max: -Infinity }; | ||
aggregation.reduceFn = '' + 'function(doc, out) {' + (' out.max = Math.max(out.max, doc["' + field + '"]);') + '}'; | ||
return aggregation; | ||
@@ -236,7 +247,5 @@ } | ||
var aggregation = new Aggregation(); | ||
aggregation.initial = { count: 0, result: 0 }; | ||
aggregation.reduceFn = function (doc, out) { | ||
out.result = (out.result * out.count + doc['\'' + field + '\'']) / (out.count + 1); | ||
out.count += 1; | ||
}; | ||
aggregation.initial = { count: 0, average: 0 }; | ||
aggregation.reduceFn = '' + 'function(doc, out) {' + (' out.average = (out.average * out.count + doc["' + field + '"]) / (out.count + 1);') + ' out.count += 1;' + '}'; | ||
return aggregation; | ||
@@ -243,0 +252,0 @@ } |
@@ -276,3 +276,3 @@ 'use strict'; | ||
var request = new _request.CacheRequest({ | ||
method: _request.RequestMethod.GET, | ||
method: _request.RequestMethod.POST, | ||
url: _url2.default.format({ | ||
@@ -279,0 +279,0 @@ protocol: _this4.client.protocol, |
@@ -126,3 +126,3 @@ 'use strict'; | ||
observer.next(undefined); | ||
return observer.compelete(); | ||
return observer.complete(); | ||
} | ||
@@ -175,3 +175,3 @@ | ||
var request = new _request.KinveyRequest({ | ||
method: _request.RequestMethod.GET, | ||
method: _request.RequestMethod.POST, | ||
authType: _request.AuthType.Default, | ||
@@ -258,3 +258,3 @@ url: _url2.default.format({ | ||
return { | ||
v: observer.compelete() | ||
v: observer.complete() | ||
}; | ||
@@ -322,3 +322,3 @@ } | ||
return { | ||
v: observer.compelete() | ||
v: observer.complete() | ||
}; | ||
@@ -436,3 +436,3 @@ } | ||
observer.next(undefined); | ||
return observer.compelete(); | ||
return observer.complete(); | ||
} | ||
@@ -439,0 +439,0 @@ |
@@ -136,3 +136,3 @@ 'use strict'; | ||
var request = new _request.CacheRequest({ | ||
method: _request.RequestMethod.GET, | ||
method: _request.RequestMethod.POST, | ||
url: _url2.default.format({ | ||
@@ -139,0 +139,0 @@ protocol: _this4.client.protocol, |
@@ -157,4 +157,8 @@ 'use strict'; | ||
}).then(function (data) { | ||
if ((0, _utils.isDefined)(data._socialIdentity)) { | ||
data._socialIdentity = (0, _assign2.default)(data._socialIdentity, credentials._socialIdentity); | ||
if ((0, _utils.isDefined)(credentials._socialIdentity) && (0, _utils.isDefined)(data._socialIdentity)) { | ||
var identities = Object.keys(data._socialIdentity); | ||
identities.forEach(function (identity) { | ||
data._socialIdentity[identity] = (0, _assign2.default)({}, credentials._socialIdentity[identity], data._socialIdentity[identity]); | ||
}); | ||
data._socialIdentity = (0, _assign2.default)({}, credentials._socialIdentity, data._socialIdentity); | ||
} | ||
@@ -161,0 +165,0 @@ |
@@ -6,3 +6,3 @@ 'use strict'; | ||
}); | ||
exports.Users = exports.UserStore = exports.User = exports.SocialIdentity = exports.Query = exports.Metadata = exports.Log = exports.Kinvey = exports.Files = exports.File = exports.DataStoreType = exports.DataStore = exports.CustomEndpoint = exports.AuthorizationGrant = exports.Aggregation = exports.Acl = undefined; | ||
exports.Users = exports.UserStore = exports.User = exports.SocialIdentity = exports.Query = exports.Metadata = exports.Log = exports.Kinvey = exports.Files = exports.File = exports.DataStoreType = exports.DataStore = exports.CustomEndpoint = exports.AuthorizationGrant = exports.Group = exports.Aggregation = exports.Acl = undefined; | ||
@@ -49,2 +49,3 @@ var _errors = require('./errors'); | ||
exports.Aggregation = _aggregation2.default; | ||
exports.Group = _aggregation2.default; | ||
exports.AuthorizationGrant = _identity.AuthorizationGrant; | ||
@@ -51,0 +52,0 @@ exports.CustomEndpoint = _endpoint.CustomEndpoint; |
@@ -129,2 +129,3 @@ 'use strict'; | ||
Kinvey.Files = _datastore.FileStore; | ||
Kinvey.Group = _aggregation2.default; | ||
Kinvey.Log = _utils.Log; | ||
@@ -131,0 +132,0 @@ Kinvey.Metadata = _entity.Metadata; |
@@ -59,3 +59,7 @@ 'use strict'; | ||
} else if (method === 'POST' || method === 'PUT') { | ||
promise = storage.save(collection, body); | ||
if (entityId === '_group') { | ||
promise = storage.find(collection); | ||
} else { | ||
promise = storage.save(collection, body); | ||
} | ||
} else if (method === 'DELETE') { | ||
@@ -77,2 +81,6 @@ if (collection && entityId) { | ||
if (method === 'POST' && entityId === '_group') { | ||
response.statusCode = 200; | ||
} | ||
if (!data || (0, _isEmpty2.default)(data)) { | ||
@@ -79,0 +87,0 @@ response.statusCode = 204; |
@@ -215,2 +215,3 @@ 'use strict'; | ||
_this3.query = options.query; | ||
_this3.aggregation = options.aggregation; | ||
_this3.properties = options.properties || new Properties(); | ||
@@ -217,0 +218,0 @@ _this3.skipBL = options.skipBL === true; |
{ | ||
"name": "kinvey-node-sdk", | ||
"version": "3.3.0", | ||
"version": "3.3.1", | ||
"description": "Kinvey JavaScript SDK for NodeJS applications.", | ||
@@ -5,0 +5,0 @@ "homepage": "http://www.kinvey.com", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
424511
7800