Commit Graph

410 Commits

Author SHA1 Message Date
Miroslav Bajtoš 3b653a192b kvao: implement key filter 2016-08-18 09:59:56 +02:00
Miroslav Bajtoš 01ce7df60f kvao: add iterateKeys() and keys()
Add a core implementation of KVAO.iterateKeys() which returns an
AsyncIterator, inspired by
 - https://github.com/tc39/proposal-async-iteration
 - https://www.npmjs.com/package/async-iterators

This way we can safely iterate even large sets of data.

Also add KVAO.keys(), a sugar API converting the result of iterateKeys()
into a single array.
2016-08-18 09:59:56 +02:00
Miroslav Bajtoš d7cf478b52 3.0.0-alpha.6
* Return error if the connector does not implement (Amir Jafarian)
 * kv-memory: fix crash in regular cleanup (Miroslav Bajtoš)
 * test/relation: add missing error handlers (Miroslav Bajtoš)
 * forceId=true with auto-increment db (jannyHou)
 * Fixup globalization (Amir Jafarian)
 * kvao: return 404 when expiring unknown key (Miroslav Bajtoš)
 * Implement KeyValue API and memory connector (Miroslav Bajtoš)
 * Disallow bulk updateOrCreate. (Richard Pringle)
 * Update globalization (Amir Jafarian)
 * Use g.f instead of utils.format (Amir Jafarian)
 * Optimize related model queries (Horia Radu)
 * Support for globalization (Amir Jafarian)
 * Update include.js (Rand McKinney)
 * Fix test case typo (Supasate Choochaisri)
 * Remove unused variables in model.js (Amir Jafarian)
 * Declare `definition` (Amir Jafarian)
 * Add test to catch invalid date property (Supasate Choochaisri)
 * Update URLs in CONTRIBUTING.md (#1002) (Ryan Graham)
 * Ensure stable order of items in DAO.find() (Miroslav Bajtoš)
 * Add test for updateOrCreate (Amir Jafarian)
 * Update validations.js (Rand McKinney)
 * Remove DataSource.registerType() (gunjpan)
 * give options to validators #984 (RobinBiondi)
 * Throw Error for property names with dots (gunjpan)
 * Update datasource.js (Ritchie Martori)
2016-08-11 13:19:54 +02:00
Amir Jafarian d181fd0671 Fixup globalization 2016-08-08 15:34:41 -04:00
Amir Jafarian a5429dc026 Update globalization 2016-08-03 14:48:35 -04:00
Amir Jafarian 4ce5b5d3a0 Support for globalization 2016-07-28 15:20:18 -04:00
Miroslav Bajtoš 058d9d46c0 3.0.0-alpha.5
* Give warning if PK is changed in hooks (Amir Jafarian)
 * Remove model events (Candy)
 * Persist changes on parent for embedsOne (Dimitris Halatsis)
 * Fix (Amir Jafarian)
 * Fix error message (Amir Jafarian)
 * ModelBuilder: add new setting strictEmbeddedModels (Dimitris Halatsis)
 * Retun err for UPSERT if the connector returns err (Amir Jafarian)
 * fix error handling when applying undefined mixins (Alex Pitigoi)
 * Add test's description (Amir Jafarian)
 * Fix incompatibility between different connectors (Amir Jafarian)
 * travis: add v4, v6, drop io.js (Miroslav Bajtoš)
 * fix avoid duplicate record on scope with promise (Alex Pitigoi)
 * Document promise support for DAO::find (Sequoia McDowell)
 * Set ESLint as devdep (Simon Ho)
 * Use mocha instead of Makefile for testing (Simon Ho)
 * DAO.create: don't return the instance (Miroslav Bajtoš)
 * RELEASE-NOTES: describe 30283291 (Miroslav Bajtoš)
 * Implement operation hooks for EmbedsMany methods (Miroslav Bajtoš)
 * Implement operation hooks for EmbedsOne methods (Miroslav Bajtoš)
 * eslint config 2.0 + remove extra empty lines (Miroslav Bajtoš)
 * Test coverages for hashed password (Amir Jafarian)
 * Fix `forceId` check for `replaceById` (Amir Jafarian)
 * Fix `notify` bugs for `find` (Amir Jafarian)
 * test: extract hook-monitor helper (Miroslav Bajtoš)
 * test: extract uid-generator helper (Miroslav Bajtoš)
 * test: extract context-test-helpers (Miroslav Bajtoš)
 * Define `patch` aliases (Amir Jafarian)
2016-06-13 16:31:19 +02:00
Simon Ho dae0bf863e Set ESLint as devdep 2016-05-10 12:38:30 -07:00
Simon Ho 5be2b3f867 Use mocha instead of Makefile for testing 2016-05-10 11:56:35 -07:00
Miroslav Bajtoš c7f34c3452 eslint config 2.0 + remove extra empty lines
Upgrade eslint-config-loopback to ^2.0.0.

Remove extra empty lines to make `npm run lint` pass again.
2016-04-19 16:11:43 +02:00
Miroslav Bajtoš 1e8fe6a0d7 3.0.0-alpha.4
* Partition by foreign key for pagination (Raymond Feng)
 * Fix style errors (Raymond Feng)
 * fix remaining eslint issues (Miroslav Bajtoš)
 * eslint --fix (Miroslav Bajtoš)
 * Add eslint as "npm run lint" and "posttest" hook (Miroslav Bajtoš)
 * Remove unused support/ files (Miroslav Bajtoš)
 * Insert copyright headers (Ryan Graham)
 * Relicense as MIT only (Ryan Graham)
 * Fix Mongo compatibility issue (Amir Jafarian)
 * Add automigrate to setup tables for replace test cases (Amir Jafarian)
 * Allow test folder to be published (Amir Jafarian)
 * support custom field settings under the connector's namespace (bitmage)
 * Update error message for missing connector (gunjpan)
 * Fix tests for mysql (Amir Jafarian)
 * Add forgotten unit test (Miroslav Bajtoš)
 * fix nin support for in memory datasource (Horia Radu)
 * Improve error message on connector init error (Miroslav Bajtoš)
 * discoverSchemas returns an error when modelName is not found, discoverSchema forwards that error and does not hang when no columns, no errors are returned (bitmage)
2016-04-07 09:21:38 +02:00
Miroslav Bajtoš fc1aefb8d4 Add eslint as "npm run lint" and "posttest" hook 2016-04-05 15:25:34 +02:00
Amir Jafarian 0b1070af01 Allow test folder to be published 2016-03-28 20:08:56 -04:00
Miroslav Bajtoš dd4530cad6 3.0.0-alpha.3
* Fix missing connector error msg for db2, cloudant (Candy)
 * Update describe-operation-hooks (Miroslav Bajtoš)
2016-02-22 10:45:06 +01:00
Miroslav Bajtoš 504675fc78 3.0.0-alpha.2
* Implementtaion of replace (Amir Jafarian)
 * Fix conversion for `updateAttributes` (Amir Jafarian)
 * Prevent constructor to be property name (Jue Hou)
 * Revert "Change "npm test" to call mocha directly" (Miroslav Bajtoš)
 * Change "npm test" to call mocha directly (Hans(Zhenghan) Zhang)
 * Refactor `updateAttributes` (Amir Jafarian)
 * Update README.md (Simon Ho)
 * Add unit test to verify fix for #754 (Tom Kirkpatrick)
 * Update package.json (Janny)
 * Try mocha test (Janny)
 * Implement `findOrCreate` for memory connector (Amir Jafarian)
 * Fix a bug when validation is off for findOrCreate (Amir Jafarian)
 * Use bluebird in utils.js Replace `global.Promise` with `bluebird` (Jue Hou)
 * Fix broken code fencings in the docs (Farid Nouri Neshat)
 * Revert "Correct syntax for should and more" (Simon Ho)
 * Fix test for shouldjs 8.0.2 upgrade (Simon Ho)
 * Upgrade shouldjs to 8.0.2 (Simon Ho)
 * Enhance "persist" hook in DAO.updateOrCreate (Miroslav Bajtoš)
 * Enhance "persisted" hook in DAO.updateAttributes (Miroslav Bajtoš)
 * "loaded" hook in DAO.find: ctx.data, not instance (Miroslav Bajtoš)
 * describe-operation-hooks: add "loaded" hook (Miroslav Bajtoš)
2016-02-05 16:42:46 +01:00
Miroslav Bajtoš 54ca067610 Revert "Change "npm test" to call mocha directly"
This reverts commit 1e9affe4ba.
2016-01-26 17:35:46 +01:00
Hans(Zhenghan) Zhang 1e9affe4ba Change "npm test" to call mocha directly
Rework the test script to call directly mocha and skip Makefile. This
allows CI enviroments to detect that this module is using Mocha as
the test runner.
2016-01-25 14:20:13 +01:00
Janny 2cdc4ddcbf Update package.json 2016-01-22 09:18:49 +08:00
Janny ccf52f0822 Try mocha test 2016-01-22 09:17:54 +08:00
Jue Hou 853ca03491 Use bluebird in utils.js
Replace `global.Promise` with `bluebird`
2016-01-07 15:27:33 -05:00
Simon Ho edd2d301e5 Upgrade shouldjs to 8.0.2 2015-12-22 15:03:16 -08:00
Miroslav Bajtoš 990307f3d5 3.0.0-alpha.1
* Start development of 3.0 (Miroslav Bajtoš)
 * Correct syntax for should and more (Amir Jafarian)
2015-12-22 13:15:52 +01:00
Miroslav Bajtoš d3e2520b1f Start development of 3.0
- Update version number in package.json, publish under "next" tag
 - Add 3.0-RELEASE-NOTES.md to incrementally build release docs
2015-12-22 12:48:06 +01:00
Raymond Feng 1e9bbd2787 2.44.0
* Fix failing test for MongoDB connector (Simon Ho)

 * Make automatic validation optional (Bert Casier)

 * Add refresh script (Simon Ho)

 * Add clean scripts (Simon Ho)

 * Refactor Makefile (Simon Ho)
2015-12-13 11:20:22 -08:00
Simon Ho 48695b711f Merge pull request #776 from strongloop/update-helper-scripts
Update helper scripts
2015-11-27 17:59:09 -08:00
Raymond Feng dbab15554d 2.43.0
* Explicitly initialize column of partition by clause and pass it in find()'s options argument (eugene-frb)

 * Fix for issue #774 (Pradeep Kumar Tippa)

 * silence a warning that introduced in bluebird 3.0 (Clark Wang)

 * fixed a bug where an error was sent to the updateAttributesCallback and then ignored (Abe BW)

 * Capture includeHasMany() as a find()'s caller by findCaller option (eugene-frb)

 * UpdateAttributes: Raises an error if database fails (Wilson Júnior)

 * fixes #753 (Joseph M. Persie)

 * typo fix (nennad)

 * Fix foreignKey length issue (nennad)
2015-11-27 10:48:29 -08:00
Simon Ho 003cb1061f Add refresh script 2015-11-24 22:46:13 -08:00
Simon Ho 70871a5a44 Add clean scripts 2015-11-24 22:46:00 -08:00
Simon Ho 974536c669 Refactor Makefile 2015-11-24 22:45:36 -08:00
Raymond Feng b8fb67beb5 2.42.0
* Correction of a regression introduced by commit 632898b: when querying an empty array ([]) with a 'neq' filter, there were no matching. (Michael Diguet)

 * dropped unused functions and tests fixed (Wert_Lex)

 * One more comment (Wert_Lex)

 * Looks better now (Wert_Lex)

 * home-written map extended with proper .set() method (Wert_Lex)

 * on the halfway to keeping original keys (Wert_Lex)

 * with updated map which stores original key and tests for them (Wert_Lex)

 * Moved inst initialization to place where it used (Wert_Lex)

 * All tests passed (Wert_Lex)

 * Dirty merge. Tests are broken (Wert_Lex)

 * include utils add. Tests ported to should.js (Wert_Lex)
2015-11-23 16:00:29 -08:00
Raymond Feng 84e606bc59 2.41.2
* Fix the typo (Raymond Feng)

 * fix typo (Clark Wang)

 * fix global leak that mocha complains (Clark Wang)

 * Refer to licenses with a link (Sam Roberts)
2015-11-17 13:28:17 -08:00
Raymond Feng 46bdb063c4 2.41.1
* Added missing callback when a model is not found (Federico Rampazzo)

 * Rewrite of variable (mdartic)

 * Filtering relations of a model with an order specified (mdartic)
2015-10-28 10:22:17 -07:00
Miroslav Bajtoš a2ed2a401b 2.41.0
* 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)
2015-10-07 13:01:13 -07:00
Sam Roberts 4b16e3b0bd Use strongloop conventions for licensing 2015-09-21 16:42:54 -07:00
Raymond Feng 7ede276e44 2.40.1
* Fix the test so that it works across DBs (Raymond Feng)
2015-09-11 11:15:39 -07:00
Raymond Feng 567ffb8040 2.40.0
* 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)
2015-09-10 13:43:58 -07:00
Raymond Feng 0b22e2a2fb 2.39.0
* Optimze automigrate() to cut the test time signicantly (Raymond Feng)

 * Fix primary key checks (Simon Ho)

 * travis: drop 0.6 and 0.8, add iojs (Miroslav Bajtoš)

 * Upgrade Travis to container-based infrastructure (Miroslav Bajtoš)

 * Relax id requirement for basic query operations (Simon Ho)
2015-08-27 16:02:08 -07:00
Raymond Feng 347926ea13 2.38.0
* 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)
2015-08-18 14:40:51 -07:00
Raymond Feng 84c4d0e922 2.37.0
* 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)
2015-08-14 09:32:18 -07:00
Raymond Feng de5c63fc1e 2.36.0
* Report deferred exceptions via callback (Raymond Feng)

 * fixes issue 673: Include hasMany of relation does not return empty array (Kenta Fried)
2015-08-05 11:19:21 -07:00
Raymond Feng a41fabef70 2.35.3
* Fix the test case with automigrate (Raymond Feng)
2015-07-30 11:25:07 -07:00
Raymond Feng 78bb13db97 2.35.2
* Fix regexp error for the memory connector (Simon Ho)
2015-07-30 09:15:21 -07:00
Raymond Feng ff6a2228f2 2.35.1
* Fix error handling (Raymond Feng)
2015-07-29 10:22:04 -07:00
Raymond Feng b7042b982f 2.35.0
* 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)
2015-07-29 07:49:56 -07:00
Raymond Feng 5e192bda23 2.34.0
* Don't enforce strictness if allowExtendedOperators: true (MongoDB) (Fabien Franzen)

 * Take strict: validate and throw settings into account (Fabien Franzen)

 * Filter attributes when strict: true (Fabien Franzen)
2015-07-22 08:36:00 -07:00
Raymond Feng 4151302e9e 2.33.3
* Make sure done() is called within the callback (Raymond Feng)
2015-07-21 09:08:56 -07:00
Raymond Feng b9e32bf811 2.33.2
* 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)
2015-07-18 22:28:15 -07:00
Raymond Feng 64b6aef924 2.33.1
* Fix object merge (Raymond Feng)
2015-07-10 14:15:33 -07:00
Raymond Feng 9d653c1a45 2.33.0
* Make sure base property definitions are cloned (Raymond Feng)
2015-07-10 10:40:29 -07:00
Raymond Feng f3b2a97c84 2.32.0
* Fix the regression for date conversion (Raymond Feng)

 * Don't cache static scope method results #575 (Fabien Franzen)
2015-07-03 09:29:58 -07:00
Raymond Feng 88229fb5cf 2.31.1
* Fix the regexp value for like/nlike (Raymond Feng)
2015-07-02 23:22:56 -07:00
Raymond Feng 62a429b2a6 2.31.0
* 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)
2015-07-02 14:57:11 -07:00
Raymond Feng 019705d32f 2.30.1
* Ping async to 1.0.0 to work around context propagation (Raymond Feng)

 * Fix the test case (Raymond Feng)
2015-06-16 13:43:28 -07:00
Raymond Feng 8302b2480d Ping async to 1.0.0 to work around context propagation 2015-06-16 13:43:06 -07:00
Raymond Feng 62f3f3af0d 2.30.0
* 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)
2015-06-16 09:00:08 -07:00
Raymond Feng 56344fe99e 2.29.2
* Fix the test case (Raymond Feng)
2015-05-29 09:29:05 -07:00
Raymond Feng 270fc4c247 2.29.1
* Update deps (Raymond Feng)

 * Don't silently swallow db errors on validation. (Samuel Reed)

 * adapt coding style @bajtos (mamboer)

 * addressing #603 (Patrick Perini)

 * enhancement on #588 (mamboer)

 * fix issue #587 (mamboer)

 * add test suit for scope - dynamic function (Nemo)
2015-05-28 14:53:28 -07:00
Raymond Feng d4d367e786 Update deps 2015-05-28 14:47:43 -07:00
Raymond Feng e8e3ce6688 2.29.0
* 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)
2015-05-27 11:09:03 -07:00
Raymond Feng 44bdeb7ae0 2.28.1
* Remove dep on sinon (Raymond Feng)

 * Update deps (Raymond Feng)
2015-05-20 09:14:42 -07:00
Raymond Feng cbb8d7c789 Remove dep on sinon 2015-05-20 09:13:56 -07:00
Raymond Feng 9705819972 Update deps 2015-05-18 14:29:54 -07:00
Raymond Feng 288e6e4c7e 2.28.0
* Make sure promise is returned (Raymond Feng)

 * Update deps to loopback-connector (Raymond Feng)

 * Fix comments (Raymond Feng)

 * Enable docs (Raymond Feng)

 * Add an optional `options` argument to relation methods (Raymond Feng)

 * Add transaction apis (Raymond Feng)

 * Refactor the observer functions into a plugin (Raymond Feng)

 * Add transaction (Raymond Feng)
2015-05-18 14:25:02 -07:00
Raymond Feng 9031400838 Update deps to loopback-connector 2015-05-18 09:36:46 -07:00
Raymond Feng 6ef7dc5914 2.27.1
* Make sure relation scope is applied during include (Raymond Feng)

 * Updated JSdoc for Datasource constructor (crandmck)
2015-05-16 11:51:45 -07:00
Raymond Feng 82ea32f319 2.27.0
* 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)
2015-05-13 16:14:40 -07:00
ningsuhen d009557a76 DB Call Optimization in relation includes - Fixes #408 & #166 2015-05-14 00:19:43 +05:30
Miroslav Bajtoš d8ecea6111 2.26.4
* dao: support validateUpsert:false (Miroslav Bajtoš)

 * Changes to API docs per Dennis (Rand McKinney)

 * Add unit-test for "array" type (Miroslav Bajtoš)
2015-05-05 17:51:35 +02:00
Raymond Feng ef0a10dbb6 2.26.3
* Fix the test cases (Raymond Feng)

 * Add support for merging include filters (ningsuhen)

 * add test case for hasmanythrough bi-drectional relations (ningsuhen)

 * Fix for bug - https://github.com/strongloop/loopback-datasource-juggler/issues/571 (ningsuhen)
2015-04-24 17:04:00 -07:00
Raymond Feng b0e4312585 2.26.2
* Allow leading slash for `path` in model settings (Raymond Feng)
2015-04-24 08:47:23 -07:00
Miroslav Bajtoš 51265ba26e 2.26.1
* validations: treat `NaN` as a blank value (Miroslav Bajtoš)
2015-04-22 20:13:17 +02:00
Raymond Feng e4c602b098 2.26.0
* Allow custom name mapping for discovered models (Raymond Feng)
2015-04-22 08:44:02 -07:00
Miroslav Bajtoš 2a9a98415a 2.25.1
* Validate model on updateOrCreate (upsert). (Miroslav Bajtoš)
2015-04-17 19:34:37 +02:00
Raymond Feng 0786dc563b 2.25.0
* Extend findById to accept an optional filter object (Raymond Feng)
2015-04-16 11:04:36 -07:00
Miroslav Bajtoš dc54d02485 2.24.0
* Add new strict mode "validate" (Miroslav Bajtoš)

 * Promisify model relation methods (Partap Davis)

 * Deprecate property names containing a dot (Miroslav Bajtoš)

 * Allow nesting properties to be queried for memory connector (Raymond Feng)
2015-04-14 19:10:43 +02:00
Miroslav Bajtoš 0002aaedef 2.23.0
* 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)
2015-04-01 18:48:22 +02:00
Miroslav Bajtoš dac1899f59 2.22.0
* 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)
2015-03-27 18:03:08 +01:00
Miroslav Bajtoš 5d8b3323ad Remove all usages of lodash.
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.
2015-03-26 09:33:48 +01:00
Raymond Feng 53d694b429 2.21.0
* Fix the test case so that at least one property is to be changed (Raymond Feng)

 * Make sure id properties cannot be changed (Raymond Feng)
2015-03-16 09:54:06 -07:00
Raymond Feng 7dc0fcd26f 2.20.0
* Remove trailing spaces. (Miroslav Bajtoš)

 * Improve instance-level operation hooks (Fabien Franzen)

 * Fix the test case (Raymond Feng)

 * fix foreign key dataType bug (didikeke)

 * Reformat notifyObserversOf context argument (Fabien Franzen)

 * Implement operation hooks' context (Fabien Franzen)

 * Allow submodel to hide base properties (Raymond Feng)
2015-03-12 10:22:05 -07:00
Raymond Feng b7abb08da8 2.19.2
* Improved and corrected API docs (crandmck)

 * Fix problems in annotations that prvented validateAsync and validate functions from appearing in API docs. (crandmck)
2015-03-04 22:19:51 -08:00
Raymond Feng 666e15f8a4 2.19.1
* Make sure inclusion filter is applied to the target model (Raymond Feng)
2015-03-03 11:11:19 -08:00
Miroslav Bajtoš 4fb4e356af 2.19.0
* 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š)
2015-03-02 17:06:04 +01:00
Miroslav Bajtoš 03daaca9de Deprecate Model hooks
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.
2015-02-27 16:58:24 +01:00
Raymond Feng fc0667fbf4 2.18.1
* Make sure models are migrated to avoid conflicts (Raymond Feng)

 * Add err checks (Raymond Feng)

 * Fix findByIds test cases (Raymond Feng)
2015-02-20 21:51:15 -08:00
Raymond Feng d5e71f1157 2.18.0
* 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š)
2015-02-20 17:08:01 -08:00
Miroslav Bajtoš ba0f3c1616 Add a new property option `defaultFn`
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.
2015-02-20 20:08:25 +01:00
Miroslav Bajtoš a2836fbb56 ModelBaseClass: support promise-based observers
Allow the observer functions passed to `ModelBaseClass.observe`
to return a promise instead of calling the callback.
2015-02-17 17:31:42 +01:00
Bryan Clark 98fcf6b52c use lodash to update the findBelongsTo which now returns an array of matches 2015-02-16 15:36:51 -08:00
Raymond Feng b4189bf997 2.17.0
* 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)
2015-02-11 20:59:24 -08:00
Raymond Feng 770c69b1d4 Upgrade deps 2015-02-10 09:49:54 -08:00
Denis Bardadym 32e534732c Remove workaround for perfomance degradation 2015-02-10 13:28:47 +03:00
Miroslav Bajtoš aca258f7e0 v2.16.0 2015-02-05 12:47:33 +01:00
Miroslav Bajtoš 3593127ef3 Update to `should` to the latest version 4.6.3 2015-02-03 11:44:15 +01:00
Miroslav Bajtoš b169650618 v2.15.0 2015-02-02 19:10:36 +01:00
Miroslav Bajtoš f9b0ac482c Upgrade `should` to the latest 1.x version 2015-01-29 08:41:19 +01:00
Miroslav Bajtoš 825b4d5ba3 v2.14.1 2015-01-15 08:53:57 +01:00
Raymond Feng 0ff7e3de91 v2.14.0 2015-01-14 12:44:22 -08:00
Raymond Feng 0c4bc5e40e v2.13.0 2015-01-07 13:58:06 -08:00
Raymond Feng 01e578be15 v2.12.0 2014-12-08 16:19:09 -08:00
Raymond Feng 7e69d7c691 Bump version 2014-11-13 12:57:35 -08:00
Raymond Feng c43783f78c Bump version 2014-11-04 22:11:12 -08:00
Raymond Feng 354b843bf0 Bump version 2014-10-21 10:58:32 -07:00
Raymond Feng 0335d0a7b9 Bump version 2014-10-15 09:19:36 -07:00
Raymond Feng f2ed39cb2d Bump version 2014-10-13 08:34:24 -07:00
Raymond Feng 8ad25a179a Bump version 2014-09-12 22:49:59 -07:00
Raymond Feng 05d9d91463 Bump version 2014-09-04 10:23:30 -07:00
Raymond Feng 9cad519d97 Bump version 2014-08-27 11:15:57 -07:00
Raymond Feng debcc3d831 Bump version 2014-08-25 22:18:19 -07:00
Raymond Feng b26dc8207b Bump version 2014-08-22 11:07:24 -07:00
Raymond Feng 9e25cf1cd3 Bump version 2014-08-21 13:50:15 -07:00
Raymond Feng 76119e1f56 Bump version 2014-08-21 10:59:31 -07:00
Raymond Feng 6f680f92fc Bump version 2014-08-20 15:08:33 -07:00
Raymond Feng b47197e854 Bump version 2014-08-18 20:36:45 -07:00
Raymond Feng 4df1f52c47 Bump version 2014-08-15 23:31:19 -07:00
Raymond Feng 5baf05c237 Bump version 2014-08-15 13:49:09 -07:00
Raymond Feng c53dc74d16 Fix a name conflict in scope metadata 2014-08-08 15:52:30 -07:00
Raymond Feng 366ff3bf62 Bump version 2014-08-08 09:30:16 -07:00
Raymond Feng 3efd758658 Bump version 2014-08-07 10:36:49 -07:00
Raymond Feng 1cb4ea2ff0 Upgrade qs 2014-08-07 10:35:13 -07:00
Raymond Feng 5a2bb6548a Upgrade qs version 2014-08-04 16:37:21 -07:00
Raymond Feng e89a79916a Bump version 2014-08-04 15:29:45 -07:00
Raymond Feng 79af219618 Bump version 2014-07-30 09:19:40 -07:00
Raymond Feng 08070aab76 Bump version 2014-07-27 00:40:10 -07:00
Raymond Feng 4f80890489 Bump version 2014-07-26 23:58:51 -07:00
Miroslav Bajtoš cbab9d754a 2.0.0 2014-07-22 20:29:42 +02:00
Raymond Feng f9e31de7c8 Bump version 2014-07-21 11:34:38 -07:00
Raymond Feng 671b32dd43 Add missing inflection dep back 2014-07-16 12:31:44 -07:00
Raymond Feng 523db2fbad Bump version 2014-07-15 17:11:22 -07:00
Raymond Feng fc710ca55a Merge branch 'master' into 2.0 2014-07-15 17:09:20 -07:00
Raymond Feng f406c32b33 Bump version 2014-07-15 12:55:40 -07:00
Miroslav Bajtoš 1e3be7f474 1.6.3 2014-07-03 08:41:31 +02:00
Raymond Feng e7a97da3bf Bump version and update deps 2014-06-27 10:12:10 -07:00
Miroslav Bajtoš a7124c4821 2.0.0-beta2 2014-06-24 08:29:21 +02:00
Raymond Feng 44de2da21f Merge branch 'master' into 2.0 2014-06-20 23:02:37 -07:00
Raymond Feng 58131029cf Bump version 2014-06-20 21:16:39 -07:00
Raymond Feng 8087e4b1e7 Bump version 2014-06-04 15:26:04 -07:00
Miroslav Bajtoš a86648ed7b Replace connector base with loopback-connector
Remove references to Connector and BaseSQL, connectors should require()
loopback-connector instead of loopback-datasource-juggler.
2014-05-29 11:57:49 +02:00
Raymond Feng fb4dfb6f62 Bump version 2014-05-27 22:03:41 -07:00
Raymond Feng fc6c224599 Bump version 2014-05-27 21:59:21 -07:00
Miroslav Bajtoš 8e60915061 1.5.2 2014-05-27 21:59:21 -07:00
Ritchie Martori 6261eba266 2.0.0-beta1 2014-05-27 16:08:05 -07:00
Ritchie Martori 104ba1aab8 1.6.0 2014-05-20 13:59:53 -07:00
Miroslav Bajtoš 934b5a3fa9 1.5.2 2014-05-20 17:59:05 +02:00
Raymond Feng a9a7ab1315 Bump version 2014-05-16 08:52:25 -07:00
Miroslav Bajtoš ed533485aa 1.5.0 2014-05-15 09:35:55 +02:00
skawful@gmail.com 7a02c0935b 1.4.0 2014-05-14 13:47:06 -07:00
Raymond Feng d3fc157601 Update deps 2014-05-13 08:46:34 -07:00
Raymond Feng 4b93adfbe9 Bump version 2014-05-13 08:34:44 -07:00
Ritchie Martori 9b9833df0f 1.3.12 2014-05-01 14:25:49 -07:00