* Ability to define normalization of undefined query (Ryan Schumacher)
* findByIds would fail when an array of 0 length was passed as its first argument (James Cooke)
* Use strongloop conventions for licensing (Sam Roberts)
* Fix id comparision in tests so that they work with mongodb object id (Raymond Feng)
* Update validations.js (Rand McKinney)
* Add support for using UUID V4 as defaultFn (Bram Borggreve)
* primaryKey for hasMany and belongsTo relations (sklyukin)
* primaryKey to hasOne relation (sklyukin)
* Add direct copmarison value for array matching (Laurent Villeneuve)
* Add support for matching array values à la mongo. (Laurent Villeneuve)
* Fixed ReferencesMany .findById to check the given id in the ids array of the model instance (Satyadeep)
* Support embedded query in memory connector. Fix memory connector bug (Laurent Villeneuve)
* Use idEquals when comparing ids in relation definitions (Laurent Villeneuve)
* Handle possible undefined id (Laurent Villeneuve)
* Fix id copmarison by using strings (Laurent Villeneuve)
* Refactor idEquals to utils (Raymond Feng)
* Do not coerce RegExp objects to strings (Simon Ho)
* Indicate result of destroyById/protototype.destroy (Fabien Franzen)
* Removed extra ")" (Chris Finn)
* Fixed typo & added the filter units (Chris Finn)
* Remove test for unused utility function (Simon Ho)
* Remove try/catch from find function (Simon Ho)
* Add support for regex operator (Simon Ho)
* Async 'loaded' hook for find (Pradnya Baviskar)
* Promisify all 'discover' methods (Pradnya Baviskar)
* Fix 'persist' hook for updateAttributes() (Pradnya Baviskar)
* Add NOTICE (Raymond Feng)
* prevent upsert overwriting default values with applyDefaultValues option (Bryan Clark)
* use fromDb to deserialize data after save in Memory connector (Bryan Clark)
* Correctly handle validatesUniquenessOf(idName) (Fabien Franzen)
* Assert the existence of instance (Raymond Feng)
* Make sure operator/options are honored (Raymond Feng)
* Fix coercion from ObjectID to String (Raymond Feng)
* Fix#623 - use actual id order (Fabien Franzen)
* test: fix persistence-hooks failures in MySQL (Miroslav Bajtoš)
* Includes with transaction support (Rus1)
* Fix updateOrCreate transaction propagation (Rus1)
* Fix promise chaining in case of error (Rus1)
* Promisify 'autoupdate' (Pradnya Baviskar)
* Add new hook 'loaded' (Pradnya Baviskar)
* Promisify 'automigrate' (Pradnya Baviskar)
* check object exists before setting __cachedRelations (ningsuhen)
* Fix the test case as updateAll takes `where` directly (Raymond Feng)
* Fix for issues #622 & #623 (ningsuhen)
* Add new hook 'persist' (Pradnya Baviskar)
* Create a script to describe operation hooks (Miroslav Bajtoš)
* Allow 0 as the FK (Raymond Feng)
* fix typo (Clark Wang)
* Dedupe ids args of inq for include (Raymond Feng)
* Enhance the apis and add more tests (Raymond Feng)
* Fix for https://github.com/strongloop/loopback/issues/1401 (Raymond Feng)
* Fix ReferenceError: definition is not defined (Dmitry Manannikov)
* Mix in observer apis to the connector (Raymond Feng)
* Enhance fieldsToArray to consider strict mode (Raymond Feng)
* Fix the target id resolution (Raymond Feng)
* DB Call Optimization in relation includes - Fixes#408 & #166 (ningsuhen)
* Conditionally pass options to connector CRUD methods (Raymond Feng)
* Pass-through options from save to create (Fabien Franzen)
* dao: support validateUpsert:false (Miroslav Bajtoš)
* Changes to API docs per Dennis (Rand McKinney)
* Add unit-test for "array" type (Miroslav Bajtoš)
* Fix test for "after save" called on save/CREATE (Miroslav Bajtoš)
* Code cleanup in lib/dao.js (Miroslav Bajtoš)
* Save parent model of embedded relations (Fabien Franzen)
* Pass options in operation hooks context. (Fabien Franzen)
* check if id does not exist a bit more explicitly (Pulkit Singhal)
* Fix persistUndefinedAsNull tests w/ SQL connectors (Miroslav Bajtoš)
* Implement scope.updateAll (Fabien Franzen)
* Fix the test cases so that they be run with the mssql connector (Raymond Feng)
* Add model setting "persistUndefinedAsNull" (Miroslav Bajtoš)
* Add abilities to remove and clear observers - Operation Hooks. (0angelic0)
* Code cleanup in updateAll/deleteAll (Miroslav Bajtoš)
* Return scope object from DAO.scope (Fabien Franzen)
* Remove all usages of lodash. (Miroslav Bajtoš)
* Clean up delete and update tests (Simon Ho)
* Clean up wording in update/delete tests (Simon Ho)
* Fix wording in update test (Simon Ho)
* Properly support embedsMany destroyAll (Fabien Franzen)
* Clean up update/delete manipulation tests (Simon Ho)
* test: fix test failure in MySQL connector (Miroslav Bajtoš)
* Improve test failure messages (Miroslav Bajtoš)
* Fix regression in prototype.save (Miroslav Bajtoš)
* Enable more CRUD remoting methods for embedsOne (Fabien Franzen)
* Implement scope.findOne (Fabien Franzen)
* use findOrCreate for HasManyThrough#create (Clark Wang)
* Enhance id comparision for updateAttributes (Raymond Feng)
* Enable custom methods on singular relations (Fabien Franzen)
* Implement scope.findById (Fabien Franzen)
* Fix updateAll callback in "transient" connector (Miroslav Bajtoš)
* Memory connector returns updated records count (Simon Ho)
* Add ctx.isNewInstance for "save" hooks (Miroslav Bajtoš)
* deleteAll returns number of deleted records (Miroslav Bajtoš)
* Use the correct way to iterate over an array (Raymond Feng)
* DAO: Fix updateOrCreate to set persisted:true (Miroslav Bajtoš)
* Reject CREATE with a duplicate id (Miroslav Bajtoš)
* add tests for between in memory connector (Daniel B. Vasquez)
* enable between filter for memory db connector (Daniel B. Vasquez)
* fix#429 Multiple Models can't mixin same class (Clark Wang)
This commit is dropping lodash in favour of hand-written implementation
based on ES5 Array methods. As a result, the size of the (unminified)
loopback browser bundle is decreased by approx 360KB.
* Improved and corrected API docs (crandmck)
* Fix problems in annotations that prvented validateAsync and validate functions from appearing in API docs. (crandmck)
* Deprecate DAO events (Miroslav Bajtoš)
* Deprecate Model hooks (Miroslav Bajtoš)
* Add Promises to DAO (Partap Davis)
* test for updateAll (rudzon)
* enhance the coercion for boolean/date types (rudzon)
* enhance updateAll to coerce the data per property definitions (rudzon)
* relation-definition: remove trailing whitespace (Miroslav Bajtoš)
List of deprecated hooks:
- beforeValidate
- afterValidate
- beforeCreate
- afterCreate
- beforeSave
- afterSave
- beforeUpdate
- afterUpdate
- beforeDestroy
- afterDestroy
Also add a lightweight browser version of "depd", because the "depd"
does not support browser and it is not trivial to fix that.
This commits adds a lightweight implementation of depd's "deprecate"
function.
* Fix the idType so that it works with both MongoDB and RDBs (Raymond Feng)
* Tidy up tests so that they will work with RDBs (Raymond Feng)
* Fix JS style issues (Raymond Feng)
* Add a new property option `defaultFn` (Miroslav Bajtoš)
* Fix the null/undefined check (Raymond Feng)
* Fix createdAt type so that it won't overflow SQL server int (Raymond Feng)
* ModelBaseClass: promise mode for notifyObserversOf (Miroslav Bajtoš)
* ModelBaseClass: support promise-based observers (Miroslav Bajtoš)
* use lodash to update the findBelongsTo which now returns an array of matches (Bryan Clark)
* Add $now as shortcut default value for date property (Pradnya Baviskar)
* Fix `deleteById(id)` and other test failures (Miroslav Bajtoš)
The property allows developers to specify that the default value
should be retrieved via a named function.
Only two built-in functions are supported at the moment:
"guid", "uuid" - generate a new GUID/UUID
"now" - use the current date and time
Support for custom (user-provided) functions is not implemented yet.
* Add an optional `options` argument to all CRUD methods (Raymond Feng)
* Upgrade deps (Raymond Feng)
* Remove workaround for perfomance degradation (Denis Bardadym)
* Change equal to eql to support mongodb ObjectID (Raymond Feng)
* Enhance the coercion for boolean/date types (Raymond Feng)
* Make sure base properties/settings are merged into the submodel (Raymond Feng)
* support optimized findOrCreate (Clark Wang)
* Fix the perf around should.not.equal for complex objects (Raymond Feng)
* testcase for #420 (Andrey Loukhnov)
* use findOrCreate in hasOne#create (Clark Wang)
* Create model foreign key matching type of opposite part of relation (even if it has a custom field type) (Andrey Loukhnov)
* minor formatting issues (trailing spaces and such) and .editorconfig (Andrey Loukhnov)