Commit Graph

596 Commits

Author SHA1 Message Date
Miroslav Bajtoš e834368502
Upgrade bson to 4.x (latest) 2018-12-07 16:22:59 +01:00
Raymond Feng 5f713f0319 4.4.0
* Use options from request for settings (Raymond Feng)
2018-11-15 08:21:10 -08:00
Raymond Feng 49330322ef 4.3.0
* Allow flags to be passed via options (Raymond Feng)
 * chore: update file list for apidocs (biniam)
2018-11-12 11:35:49 -08:00
Raymond Feng a39cbebf94 4.2.1
* [ BUGFIX ] maxDepthOfQuery config (leon3s)
2018-11-07 12:52:03 -08:00
Raymond Feng f0a6bd146b 4.2.0
* Allow configuration of maxDepthOfQuery (Raymond Feng)
2018-10-31 09:11:58 -07:00
Raymond Feng 3348d501e8 4.1.2
* Check composite keys containing hidden props (Raymond Feng)
 * Improve hidden/protected property checks (Raymond Feng)
2018-10-29 13:10:37 -07:00
Raymond Feng 8ebb734a31 4.1.1
* Allow hidden/protected props as an object (Raymond Feng)
2018-10-27 07:54:38 -07:00
Raymond Feng 708826cc49 4.1.0
* Ren handleUndefined to normalizeUndefinedInQuery (Raymond Feng)
 * Report circular or deep query objects (Raymond Feng)
 * Hide offending properties from the error object (Raymond Feng)
 * Tidy up extended operator check (Raymond Feng)
 * Prevent hidden/protected props from being searched (Raymond Feng)
 * Report errors for missing id props for include (Raymond Feng)
 * fix: add test coverage, correct typo that exposed (Matthew Gabeler-Lee)
 * fix: accelerate unique id checking (Matthew Gabeler-Lee)
 * remove null in embedded doc properties updates (Dimitris)
2018-10-26 09:25:30 -07:00
Miroslav Bajtoš c95a969af7
4.0.0
* Update LTS versions in README (Miroslav Bajtoš)
 * Switch from Bluebird to native Promise (Miroslav Bajtoš)
 * Start 4.0 development, drop support for Node 6 (Miroslav Bajtoš)
2018-10-08 08:34:03 +02:00
Miroslav Bajtoš b6a43dd65a
Switch from Bluebird to native Promise
This is a breaking change. Juggler methods are no longer returning
instances of Bluebird Promise, but return a native Promise instead.

As a result, API consumers can no longer use sugar APIs provided by
Bluebird, e.g. `spread`, `delay`, etc.

Migration guide: rewrite your code from `.then()` style into `async`
functions using `await` statements.
2018-10-05 09:30:02 +02:00
Miroslav Bajtoš 64eddf5d26
Start 4.0 development, drop support for Node 6 2018-10-04 12:07:19 +02:00
Raymond Feng fcac276955 3.24.0
* Add IBM copyright and MIT license headers (Raymond Feng)
 * Allow List to take items as instances of a class (Raymond Feng)
 * fix: ignore extra properties when strict=filter (#1423) (Tom Kirkpatrick)
 * Add EventEmitter type info to DataSource type (shimks)
2018-09-17 09:03:33 -07:00
Raymond Feng 4d14c1473f 3.23.0
* fix: update TypeScript declaration for KV (Raymond Feng)
 * Upgrade eslint-config-loopback + fix formatting (Miroslav Bajtoš)
 * Hide nyc coverage from test output (Miroslav Bajtoš)
 * Configure Mocha to use dot reporter (Miroslav Bajtoš)
2018-07-16 11:15:14 -07:00
Miroslav Bajtoš 7d50f6130b
Upgrade eslint-config-loopback + fix formatting
The new version of our config enabled function-paren-newline rule,
this commit fixes the codebase to use more consistent handling
of newlines when calling functions.
2018-07-16 08:46:25 +02:00
virkt25 7ae64edf3d 3.22.2
* assertation of undefined could be null (shenghu)
 * fix: regression on Operation Hooks (virkt25)
2018-07-09 16:51:30 -04:00
Miroslav Bajtoš da728b8d70
3.22.1
* [WebFM] cs/pl/ru translation (#1600) (tangyinb)
 * fixup! address code review comments (Miroslav Bajtoš)
 * Fix type definitions for PersistedModel API (Miroslav Bajtoš)
 * Fix Operation Hooks to propagate data changes (Miroslav Bajtoš)
 * Fix stalebot config to ignore "good first issue" (Miroslav Bajtoš)
2018-07-02 09:02:00 +02:00
Miroslav Bajtoš 5d762102fe
3.22.0
* Update strong-globalize to 4.x (Miroslav Bajtoš)
 * Update remaining dev-dependencies to latest (Miroslav Bajtoš)
 * Update eslint + config to latest (Miroslav Bajtoš)
 * Disable package-lock feature of npm (Miroslav Bajtoš)
 * Travis: add Node.js 10.x to the build matrix (Miroslav Bajtoš)
 * Drop support for Node 4.x (Miroslav Bajtoš)
2018-06-12 16:26:58 +02:00
Miroslav Bajtoš 7a8213af43
Update strong-globalize to 4.x 2018-06-12 09:17:26 +02:00
Miroslav Bajtoš 5d8c36eca0
Update remaining dev-dependencies to latest
Keep should at 8.x for compatibility with connectors.
2018-06-12 09:13:54 +02:00
Miroslav Bajtoš d2ee73b9d3
Update eslint + config to latest 2018-06-12 09:13:32 +02:00
Miroslav Bajtoš c479be7069
Drop support for Node 4.x
Node 4.x is no longer maintained by Node.js project.
2018-06-12 08:34:49 +02:00
Raymond Feng 77f11cda3b 3.21.1
* Fix tests to ensure compatibility w/ should@10 (Raymond Feng)
2018-05-24 21:11:11 -07:00
Raymond Feng dafb8a1ab7 3.21.0
* Fix datasource state management (Raymond Feng)
2018-05-22 10:52:51 -07:00
Raymond Feng dd30054138 3.20.2
* Remove node ref (Raymond Feng)
2018-05-11 09:09:58 -07:00
Raymond Feng eddb17689c 3.20.1
* Update deps (Raymond Feng)
2018-05-11 08:21:07 -07:00
Raymond Feng 2bb77e60e5 Update deps 2018-05-11 08:20:15 -07:00
Raymond Feng 965655be3a 3.20.0
* Fix typescript definitions to be compatible with LB4 (Raymond Feng)
 * Allow toObject() to accept an 'options' argument (Raymond Feng)
2018-05-10 10:20:41 -07:00
Raymond Feng 4aa51e9956 3.19.0
* Add typescript type definitions (Raymond Feng)
 * Tidy up datasource (Raymond Feng)
2018-05-10 06:58:28 -07:00
Raymond Feng 77a2c9ab3b Add typescript type definitions 2018-05-09 12:47:27 -07:00
Miroslav Bajtoš 1ef38a6929
3.18.1
* Polyfill Number.isFinite() to support PhantomJS (Miroslav Bajtoš)
2018-04-19 09:11:12 +02:00
Miroslav Bajtoš 2ac5efa04a
3.18.0
* feat: remove a Model from all registries (Miroslav Bajtoš)
2018-04-17 09:34:00 +02:00
Diana Lau 3eb94c09c4 3.17.0
* feat: omit default fn for embedsMany (#1532) (Janny)
2018-04-16 08:57:21 -04:00
Miroslav Bajtoš e095b77048
3.16.0
* Pass options argument to custom validators (bmatson)
 * chore: update CODEOWNERS (#1566) (Diana Lau)
2018-03-22 16:19:16 +01:00
Raymond Feng 641eb13e5d 3.15.5
* Exclude .nyc_output from being published (Raymond Feng)
 * CODEOWNERS: add nitro404 (Miroslav Bajtoš)
2018-03-16 08:51:36 -07:00
Raymond Feng c2920c9f9b 3.15.4
* fix: allow `new DataSource(connector, settings)` (Raymond Feng)
2018-02-13 09:43:24 -08:00
Raymond Feng 310b9489d3 3.15.3
* fix: add more tests to verify new DataSource() (Raymond Feng)
2018-02-09 15:01:32 -08:00
Raymond Feng 54143dfa37 3.15.2
* feat(datasource): seperate name and connector  name (Nguyen Truong Minh)
 * Fix datasource not correctly retaining name value (Kevin Scroggins)
2018-02-07 17:14:05 -08:00
Diana Lau 1ec2b4d17c 3.15.1
* Added error handling for persist operation hook (#1531) (Kevin Scroggins)
 * Add warning for datasources with mismatched names (Kevin Scroggins)
2018-02-06 11:19:41 -05:00
Kevin Delisle 943fed851e 3.15.0
* fix unauthorized fk change (#1538) (Taranveer Virk)
 * Set model constructor name to model name (Miroslav Bajtoš)
2018-01-19 12:55:16 -05:00
Kevin Delisle 00cf01f901 3.14.0
* Allow new transaction method in postgresql (#1493) (zbarbuto)
 * Fix bug in utils uniq function (#1526) (Peter Bouda)
 * Fix query for related models (#1522) (Joost de Bruijn)
 * chore:update license (#1521) (Diana Lau)
 * Allow customizing embedded relation property (#1513) (zbarbuto)
 * 📖 Typo on README.md (#1517) (JP Ventura)
 * CODEOWNERS: move @lehni to Alumni section (Miroslav Bajtoš)
2017-12-14 11:33:39 -05:00
Peter Bouda 6bd9fca080 Fix bug in utils uniq function (#1526)
The uniq function does currently not work when the database is mongodb.
In the case of mongodb, the function will receive an array of bson
object of bson type ObjectID. The indexOf function will return a
different index, even if the mongodb ID is the same, as it is wrapped
in the ObjectID. This commit first transforms any ObjectID in the array
to a string representation. We can then use indexOf to check for
uniqueness.
2017-12-04 15:39:58 -05:00
Diana Lau a9051ef991 3.13.0
* update strong-globalize to 3.1.0 (#1505) (Kyusung Shim)
 * Fix basic-querying (#1509) (Janny)
 * translation return for Q4 drop1 (tangyinb)
 * Allow passing null to base model ctor (Zak Barbuto)
 * CODEOWNERS: add zbarbuto (Miroslav Bajtoš)
 * update globalize string (Diana Lau)
2017-10-17 23:24:07 -04:00
Kyusung Shim b926f28c74 update strong-globalize to 3.1.0 (#1505)
* update strong-globalize to 3.1.0

* update other dependencies
2017-10-17 15:57:00 -04:00
Kevin Delisle 6d4cb6c3ad 3.12.0
* Add a better way to handle transactions (Jürg Lehni)
 * validations: use new regex per evaluation (#1479) (Joost de Bruijn)
 * Transaction: Bind timeout to tx instance (#1484) (Jürg Lehni)
 * CODEOWNERS: add lehni (#1483) (Miroslav Bajtoš)
 * Add node8 support for travis (loay)
 * Add nyc coverage, report data to coveralls.io (Miroslav Bajtoš)
 * Update translations from TVT (Allen Boone)
 * Add test coverage for hasAndBelongsToMany (loay)
 * package: use qs@6.5.0 (#1471) (Kevin Delisle)
2017-09-07 10:27:15 -04:00
Jürg Lehni 0ce1fa9f87 Add a better way to handle transactions 2017-09-06 07:10:57 +02:00
Miroslav Bajtoš d49806a78b
Add nyc coverage, report data to coveralls.io 2017-08-30 14:17:27 +02:00
Kevin Delisle 65f6beb00b package: use qs@6.5.0 (#1471)
Fix for advisory: https://snyk.io/vuln/npm:qs:20170213
2017-08-23 15:17:00 -04:00
rashmihunt 1fa89d6fb9 3.11.0
* Flag id as updateOnly when forceId is in effect (#1453) (Rashmi Hunt)
 * Add stalebot configuration (Kevin Delisle)
2017-08-22 13:47:21 -07:00
Kevin Delisle 3128c9395c 3.10.0
* Catch err using Callback (loay)
 * Update Issue and PR Templates (#1462) (Sakib Hasan)
 * Update translated strings Q3 2017 (Allen Boone)
 * test: call true/false in isValid checks (Tom Kirkpatrick)
 * fix: support numbers in validatesFormatOf (Tom Kirkpatrick)
 * Fix undefined properties in where (Raymond Feng)
 * Honor backwards compatability with validate update (ssh24)
 * Fix update validation callback (ssh24)
 * Validate updateAll (ssh24)
 * Sort arrays before testing (ssh24)
 * update translation file (Diana Lau)
 * Missing the option argument (#1426) (dmellonch)
 * Add CODEOWNER file (Diana Lau)
 * use connector flag throughout tests (biniam)
2017-08-21 14:11:24 -04:00
Kevin Delisle bebac1ee3f 3.9.3
* Catch errors using cb (loay)
 * Rename getAsync() methods to find() and get() (Jürg Lehni)
 * #1386 Allow empty values when allowBlank is true (Simo Moujami)
 * Skip imcompatible tests (#1420) (Janny)
 * Run juggler tests for Cloudant (#1414) (Janny)
2017-07-26 10:37:13 -04:00
Kevin Delisle 5da8170d9e 3.9.2
* Fix the case where qWhere[idKey] is null (Tetsuo Seto)
 * test/helpers: annotate skipped tests (Kevin Delisle)
 * Fix mixins/validatable docs (ssh24)
2017-06-22 17:03:33 -04:00
Kevin Delisle a54064b989 3.9.1
* Update translated strings Q2 2017 (Allen Boone)
 * Fix updateAttributes cb (ssh24)
 * Apply iteration on the model object (ssh24)
 * Remove spurious extra options arg (#1390) (Rand McKinney)
 * include: remove JSDoc refs to recursive calls (Kevin Delisle)
 * Fix count of properties (ssh24)
 * hooks: add JSDoc for .trigger (Kevin Delisle)
 * model-builder: JSDoc tidy-up (Kevin Delisle)
2017-06-01 11:37:49 -04:00
Raymond Feng b34b6e0ad4 3.9.0
* Return promise for batch create (Raymond Feng)
 * Use correct data on replace callback (ssh24)
2017-05-19 16:44:40 -07:00
Raymond Feng 22428cd58c 3.8.0
* fix assert, make the test case more clear (rashmihunt)
 * code review, better asserts (rashmihunt)
 * test case to exclude base props (rashmihunt)
 * handle excludeBaseProperties (rashmihunt)
2017-05-15 09:09:55 -07:00
Kevin Delisle a4be61377a 3.7.0
* Remove unnecessary tests for adhocSort !== false (Tetsuo Seto)
 * Fix the test case to avoid duplicate userId (Tetsuo Seto)
 * Support include rework for C* connector (Tetsuo Seto)
 * Overall review of polymorphic relations (ebarault)
 * configurable model merge (ebarault)
 * Fix assertion errors (Loay)
 * Update modelbaseclass api docs (Loay)
 * Add caseInsensitive opt to validatesUniquenessOf (Bram Borggreve)
2017-05-15 11:20:28 -04:00
Tetsuo Seto c07f46000d Support include rework for C* connector
- Remove supportNonPrimaryKeyIN
- Add C* Uuid in build call
- Implement smartMerge in scope.js
2017-05-12 22:43:21 -07:00
Kevin Delisle 6b43378396 3.6.1
* docs: add DateString definition (Kevin Delisle)
2017-05-02 18:55:44 -04:00
Kevin Delisle 6bbad5e9a9 3.6.0
* create sequence for nosql id (#1354) (Janny)
 * Fix order of query results (Loay)
 * Add DateString type (Kevin Delisle)
 * datatype.test: use predefined date (Kevin Delisle)
 * Update api documents (Loay)
 * Datasource documentation tune-up (Kevin Delisle)
 * Added unit tests specific to DateType where null (#1349) (Andrew McDonnell)
 * Fix/geo null (#1334) (paulussup)
 * replace exception thrown for invalid dates (Diana Lau)
 * Revert PR #1326 (#1336) (Sakib Hasan)
 * Make lib peerDepend on loopback-connector (#1326) (Russ Tyndall)
 * Add test case using updateAttributes (Loay)
 * Fix forceId bug for updateOrCreate (Loay)
 * Fix typo in description (jannyHou)
 * Fix relations test case (loay)
2017-05-02 18:34:11 -04:00
Sakib Hasan bcc5b559a3 Revert PR #1326 (#1336)
Make lib peerDepend on loopback-connector (#1326)

This reverts commit 67e8f3708a.
2017-04-19 14:14:50 -04:00
Russ Tyndall 67e8f3708a Make lib peerDepend on loopback-connector (#1326) 2017-04-18 16:11:18 -04:00
jannyHou 7010986643 Fix typo in description 2017-04-17 21:18:25 -04:00
Candy 432a2e15db 3.5.0
* Add instructions for running the tests (#1330) (Andrew McDonnell)
 * handle deep geo-near queries (#1314) (Eric Barault)
 * Unskip test case (Loay)
 * Make tests work for other connectors as well as C* (Tetsuo Seto)
 * Remove debugger statement (Tetsuo Seto)
 * Fixup test support for Cassandra connector (Tetsuo Seto)
 * Add test support for Cassandra connector (Tetsuo Seto)
 * package: use loopback-connector@^4.0.0 (Kevin Delisle)
 * Revert "handle deep geo-near queries (#1216)" (Sakib Hasan)
 * Revert "Allow `after save` hook to see count of records changed (#1231)" (Sakib Hasan)
 * Allow `after save` hook to see count of records changed (#1231) (Joshua Chaitin-Pollak)
 * handle deep geo-near queries (#1216) (Corentin H)
 * Fix model def column name method (#1224) (destillat)
 * Added notify flag for create and upsert (#1277) (Jonathan Sheely)
 * Custom Table Names on rels (#1303) (Waldemar Zahn)
 * Support multiple fk relations (#1308) (Sakib Hasan)
 * #1261 Property name "constructor" is not allowed in 'Model' data (#1284) (Thaer Abbas)
2017-04-17 16:22:13 -04:00
Kevin Delisle 044f999529 package: use loopback-connector@^4.0.0 2017-04-07 10:50:59 -04:00
Raymond Feng 2e6fbadd9e 3.4.1
* Use dataSource.connect to avoid duplicate connects (Raymond Feng)
 * remove equality value for user defined id (#1293) (Matteo Padovano)
2017-04-04 10:29:57 -07:00
Raymond Feng cac575398d 3.4.0
* Fix in-mem connector file operation racing condition (Raymond Feng)
2017-04-04 08:43:04 -07:00
Kevin Delisle 966d5daed7 3.3.0
* make geo nearFilter support minDistance (#987) (Vincent Wen)
 * Disallow regexp string in arrays for coerce (#1279) (Mikhail)
 * Fix - `_targetClass` on scope function (#1280) (Clark Wang)
 * Fixes #1275. `Include` filter transforms fields property into array. (#1276) (Nick Oikonomou)
 * Included models from include operations do not change defined `strict` model option (#1259) (Dimitris)
 * Using a filter with exclusion of a non existent property, removes an existing one (#1257) (Dimitris)
 * Clean version of PR 1272 (#1273) (Sakib Hasan)
 * Replicate new issue_template from loopback (Siddhi Pai)
 * Replicate issue_template from loopback repo (Siddhi Pai)
 * Update README.md (Rand McKinney)
 * FindOrCreate missing error callback (Diana Lau)
 * Fixes #1230 coerceArray converts empty Objects (#1269) (Dimitris)
 * override collection name for arangodb (#1243) (Matteo Padovano)
 * Add test coverage for `validatesInclusionOf` (#1249) (Rémi Bèges)
 * dao: catch errors on Model creation in find (Kevin Delisle)
 * dao: catch sync errors on setAttributes (Kevin Delisle)
 * Update error message (Loay)
 * Fix Order query test case (Loay)
 * Doc:Add option for discoverModelDefinitions (jannyHou)
 * Add tests for validatesExclusionOf (#1248) (Rémi Bèges)
 * Fix id update error message formatting (Rémi Bèges)
 * Add test case for all connectors (jannyHou)
 * Add proper statusCode for duplicate (Loay)
 * Fix datasource to report connector-loading errors (Miroslav Bajtoš)
 * Ensure replaceById returns 404 when id not found (Loay)
 * Upgrade eslint-config, fix new violations (Miroslav Bajtoš)
 * Fix option propagation in relation methods (Miroslav Bajtoš)
 * Refactor logic of options.allowExtendedOperators (Matteo Padovano)
 * Fix forceId validation error (Loay)
 * Add two basic tests for "inq" operator (Miroslav Bajtoš)
2017-03-31 10:28:23 -04:00
Miroslav Bajtoš e8a977f55b Fix datasource to report connector-loading errors
Before this change, when resolving full connector path, all errors were
ignored. As a result, when the connector was installed but not
correctly built (e.g. loopback-connector-db2 which uses a native addon),
a very confusing message was reported by LoopBack.

In this commit, I am fixing the code handling `require()` errors
to ignore only MODULE_NOT_FOUND errors that contain the name
of the required module.
2017-02-03 20:29:11 +01:00
Miroslav Bajtoš d809260799 Upgrade eslint-config, fix new violations 2017-02-01 12:45:56 +01:00
Raymond Feng cf7f05db8b 3.2.0
* Fix should dep (Raymond Feng)
 * Upgrade dependencies to remove npm install warnings (Raymond Feng)
 * Add missing return for KVAO delete all (Simon Ho)
 * Add missing return in KVAO keys test suite (Simon Ho)
 * Detect deleteAll support in KVAO tests (Simon Ho)
 * Coerce array-like objects into arrays (Heath Morrison)
 * Refactor flush to deleteAll (Simon Ho)
 * Upgrade eslint-config to 7.x (Miroslav Bajtoš)
 * Throw error when model relation name is trigger (Brian Schemp)
 * Add flush operation to KVAO (Simon Ho)
 * Fix block padding (Siddhi Pai)
2017-01-19 10:28:38 -08:00
Raymond Feng 315c2774cb Fix should dep 2017-01-19 10:27:48 -08:00
Raymond Feng 0c76bd21b9 Upgrade dependencies to remove npm install warnings 2017-01-17 09:45:51 -08:00
Miroslav Bajtoš 454bf93aaf Upgrade eslint-config to 7.x
Also upgrade eslint itself to 3.x.
2017-01-06 13:33:54 +01:00
Miroslav Bajtoš 0ad75bd93e 3.1.1
* Update package.json for LB3 release (Simon Ho)
 * Fix eslint errors reported by the latest eslint (Miroslav Bajtoš)
 * Fix HasOne.update to propagate options arg (Miroslav Bajtoš)
 * Fix linter errors for CI (Simon Ho)
 * Replicate .github from loopback repo (Siddhi Pai)
 * Update ko translation file (Candy)
 * Honour allowExtendedOperators in "DAO.find" (Miroslav Bajtoš)
 * Fix MySql CI server Failure (Loay)
 * Upgrade eslint & config to latest (Miroslav Bajtoš)
2016-12-21 16:04:41 +01:00
Simon Ho b60e09756d Update package.json for LB3 release 2016-12-21 10:44:55 +01:00
Miroslav Bajtoš 0f7a567f18 Upgrade eslint & config to latest
- eslint ^3.11.1
 - eslint-config-loopback: ^6.0.0
 - fix linter errors (mostly no-undef)
2016-12-05 15:14:09 +01:00
Miroslav Bajtoš 0fea9ebef0 3.1.0
* Apply hasManyThrough filter on target model (jannyHou)
 * Remove valid connectors from downstream ignores (Simon Ho)
 * Add some connectors to ignoreList (jannyHou)
 * Tests cleanup (Amir Jafarian)
 * Fixed example for creating ValidationError (Boštjan Pišler)
 * Correct tests for DAO.Create (Amir Jafarian)
 * Add downstream ignore list config (Simon Ho)
 * Remove duplicate "engines" from package.json (Miroslav Bajtoš)
 * Drop support for Node v0.10 and v0.12 (Miroslav Bajtoš)
 * Fix a test (Amir Jafarian)
 * Add more robust OH tests for find method (Amir Jafarian)
 * Add support for `loaded` hook (Amir Jafarian)
 * Use imperative mood for tests (Amir Jafarian)
 * Continue _coerce after logical operators (Heath Morrison)
 * Make variable names more clear (Amir Jafarian)
 * test/kvao: add connectorCapabilities options (Miroslav Bajtoš)
 * Fix validateNumericality, nullCheck & add tests (CerealGuy)
 * Add test for operation hooks (Amir Jafarian)
 * Add ilike and nilike operators (Nick Duffy)
 * Fix JSDoc issue (Amir Jafarian)
 * Update ja translation file (Candy)
 * Remove 3.0 RELEASE-NOTES (Miroslav Bajtoš)
 * Fix linting errors (Simon Ho)
 * Update validations.js (Rand McKinney)
 * Update translation files - round#2 (Candy)
 * Fix CI Failures in MySQL (Loay)
 * Add code review fixups (Simon Ho)
 * More descriptive name for model with shortid (Tim De Pauw)
 * Polish PR (Tim De Pauw)
 * Support {defaultFn: 'shortid'} (Tim De Pauw)
2016-12-05 10:18:01 +01:00
Simon Ho edb8fa393e Remove valid connectors from downstream ignores
- Remove Microsoft SQL connector
- Remove Oracle connector
2016-11-30 17:20:50 -08:00
jannyHou b8fb9cded3 Add some connectors to ignoreList 2016-11-30 13:18:07 -05:00
Simon Ho c352dcff7d Add downstream ignore list config 2016-11-25 10:33:00 -08:00
Miroslav Bajtoš 401b7e4296 Remove duplicate "engines" from package.json
The problem was introduced by 1fb7842
2016-11-15 15:45:24 +01:00
Miroslav Bajtoš 1fb78422fa Drop support for Node v0.10 and v0.12 2016-11-15 14:21:02 +01:00
Tim De Pauw be1d71f626 Support {defaultFn: 'shortid'} 2016-09-22 16:07:34 -07:00
Miroslav Bajtoš 8b835b1b5c 3.0.0
* Describe the change of forceId (jannyHou)
 * Add translation files (Amir Jafarian)
 * Add 'isNewInstance' for updateAttributes (Amir Jafarian)
 * Strict mode now always return validationError (David Cheung)
 * Add docs for KVAO (Simon Ho)
 * Skip test temporarily (Loay)
 * Fix BSON Object ID errors for CI (Simon Ho)
2016-09-22 12:15:54 +02:00
Miroslav Bajtoš a944244a7b 3.0.0-alpha.8
* Add missing "done" arg in test/kvao/ttl.suite (Miroslav Bajtoš)
 * Support nested queries for arrays (pponugo)
 * Refactor TTL tests for KV memory connector (Simon Ho)
 * Fix test case for expire (Simon Ho)
 * Fix failures of upsertWithWhere (Amir Jafarian)
 * Remove expired item before executing expire (Simon Ho)
 * Disable `strict` for a few files (Amir Jafarian)
2016-09-08 10:42:58 +02:00
Miroslav Bajtoš f816e52ac5 3.0.0-alpha.7
* test/memory: remove dummy findOrCreate impl (Miroslav Bajtoš)
 * Fix CI introduced by `use strict` (Amir Jafarian)
 * Fix manually (Amir Jafarian)
 * Auto-update by eslint --fix (Amir Jafarian)
 * Update eslint (Amir Jafarian)
 * kvao: implement key filter (Miroslav Bajtoš)
 * kvao: add iterateKeys() and keys() (Miroslav Bajtoš)
 * Globalize KeyValue Memory connector (Simon Ho)
 * upsertWithWhere feature support in juggler DAO (Sonali Samantaray)
 * Fix typo (Amir Jafarian)
 * Rename get test suite to match other test suites (Simon Ho)
 * Add TTL for KeyValue related features (Simon Ho)
2016-08-26 10:09:27 +02:00
Amir Jafarian df18af9ba0 Update eslint 2016-08-22 15:12:25 -04:00
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
Ritchie Martori 503da59218 1.3.11 2014-04-11 12:37:24 -07:00
Raymond Feng e3eca4cf19 Bump version 2014-04-04 09:02:12 -07:00
Miroslav Bajtoš de3aaf1a11 v1.3.9 2014-04-04 16:37:52 +02:00
Raymond Feng 2e9e59c79b Bump version 2014-03-27 14:43:08 -07:00
Raymond Feng c3f5487914 Bump version 2014-03-19 17:14:09 -07:00
Raymond Feng 7c9f48d122 Bump version 2014-03-04 10:40:58 -08:00
Raymond Feng d14c58775d Use debug module for logging 2014-03-04 09:42:55 -08:00
Raymond Feng 5a3eebbc9f Bump version 2014-02-27 11:13:12 -08:00
Raymond Feng fc48e77181 Bump version 2014-02-24 22:24:20 -08:00
Raymond Feng da09fd29b8 Bump version and update deps 2014-02-21 09:21:42 -08:00
Raymond Feng 0007df6d50 Update license to dual MIT/StrongLoop 2014-02-17 15:56:56 -08:00
Raymond Feng 9f0074dc13 Bump version 2014-02-13 08:51:27 -08:00
Raymond Feng e5b03f5bcd Bump version 2014-02-11 19:47:23 -08:00
Raymond Feng 24c76bff0c Revert the inflection version due to regression in camelize 2014-02-11 15:39:40 -08:00