Commit Graph

2093 Commits

Author SHA1 Message Date
Raymond Feng 5ef444e45d Conditionally pass options to connector CRUD methods 2015-05-13 09:36:45 -07:00
mamboer d27b2eb25f fix issue #587 2015-05-13 13:18:50 +08:00
Raymond Feng eb7c29826c Merge pull request #582 from fabien/fix/pass-options
Pass-through options from save to create
2015-05-12 14:25:14 -07:00
Nemo 61dc239bd8 add test suit for scope - dynamic function 2015-05-11 12:05:22 +08:00
Fabien Franzen df7d221f31 Pass-through options from save to create 2015-05-10 10:44:22 +02:00
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
Miroslav Bajtoš 128665f1bd Merge pull request #578 from strongloop/fix/validate-upsert
dao: support validateUpsert:false
2015-05-05 17:50:50 +02:00
Miroslav Bajtoš 67024ca4e0 Merge pull request #577 from strongloop/feature/array-as-type
Add unit-test for "array" type
2015-05-05 17:42:59 +02:00
Miroslav Bajtoš 9bc79d2366 dao: support validateUpsert:false
- validateUpsert:true reports validation errors back to the callback
 - validateUpsert:false does not call `isValid()` at all
 - any other value report validation errors via `console.warn`
2015-05-05 08:24:08 +02:00
Rand McKinney 0b235015f0 Changes to API docs per Dennis 2015-05-04 08:45:17 -07:00
Miroslav Bajtoš f4be88357c Add unit-test for "array" type
Add a unit-test to capture the fact that a property type can be
specified as `type: 'array'`.
2015-05-04 15:00:06 +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 33bbd8634c Fix the test cases 2015-04-24 16:50:15 -07:00
Raymond Feng 844ee17306 Merge branch 'walkonsocial-merge-inclusion' 2015-04-24 16:14:24 -07:00
Raymond Feng 3aa90751be Merge branch 'merge-inclusion' of https://github.com/walkonsocial/loopback-datasource-juggler into walkonsocial-merge-inclusion 2015-04-24 16:12:38 -07:00
Raymond Feng 73f98b3ae1 Merge branch 'walkonsocial-hasmanythrough-inconsitency' 2015-04-24 16:11:16 -07:00
Raymond Feng 03a34fd086 Merge branch 'hasmanythrough-inconsitency' of https://github.com/walkonsocial/loopback-datasource-juggler into walkonsocial-hasmanythrough-inconsitency 2015-04-24 16:08:08 -07:00
ningsuhen 9a7f13ff0f Add support for merging include filters 2015-04-25 01:59:39 +05:30
ningsuhen 7861c08e5a add test case for hasmanythrough bi-drectional relations 2015-04-25 01:32:33 +05:30
Raymond Feng b0e4312585 2.26.2
* Allow leading slash for `path` in model settings (Raymond Feng)
2015-04-24 08:47:23 -07:00
Raymond Feng f5dc38396a Merge pull request #573 from strongloop/feature/allow-leading-slash-for-http-path
Allow leading slash for `path` in model settings
2015-04-24 08:46:09 -07:00
Raymond Feng c609b6d7ce Allow leading slash for `path` in model settings 2015-04-24 08:23:13 -07:00
ningsuhen 9806feb397 Fix for bug - https://github.com/strongloop/loopback-datasource-juggler/issues/571 2015-04-24 15:22:50 +05:30
Miroslav Bajtoš 51265ba26e 2.26.1
* validations: treat `NaN` as a blank value (Miroslav Bajtoš)
2015-04-22 20:13:17 +02:00
Miroslav Bajtoš 00bc6cf3f7 Merge pull request #568 from strongloop/fix/nan-validation
validations: treat `NaN` as a blank value
2015-04-22 20:12:49 +02:00
Miroslav Bajtoš 40eecd98c9 validations: treat `NaN` as a blank value
When a required number property is set to NaN, for example as a result
of coersion (`Number([1,2,3])`), the "presence" validation now correctly
reports an error.
2015-04-22 19:57:48 +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
Raymond Feng c338c2326d Merge pull request #561 from strongloop/feature/allow-name-mapper-for-discovery
Allow custom name mapping for discovered models
2015-04-22 08:43:09 -07:00
Raymond Feng 1e70678fa7 Allow custom name mapping for discovered models 2015-04-22 08:42:47 -07:00
Miroslav Bajtoš 2a9a98415a 2.25.1
* Validate model on updateOrCreate (upsert). (Miroslav Bajtoš)
2015-04-17 19:34:37 +02:00
Miroslav Bajtoš b642d52fbe Merge pull request #565 from strongloop/feature/validate-upsert
Validate model on updateOrCreate (upsert).
2015-04-17 17:20:55 +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
Raymond Feng fdd8ee4ca6 Merge pull request #564 from strongloop/feature/allow-filter-on-findById
Extend findById to accept an optional filter object
2015-04-16 11:03:03 -07:00
Raymond Feng 988a929577 Extend findById to accept an optional filter object 2015-04-16 09:06:53 -07:00
Miroslav Bajtoš 3df62444d6 Validate model on updateOrCreate (upsert).
Fix the implementation of updateOrCreate (a.k.a. upsert) to validate
the model before calling the connector.

In order to preserve backwards compatibility, validation errors are
only logged via console.warn by default.

The correct behaviour, where validation errors fail the updateOrCreate
operation, can be enabled via new model setting "validateUpsert".
2015-04-16 09:09:54 +02: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š 1d82d6176b Merge pull request #562 from strongloop/feature/strict-mode-as-validation
Add new strict mode "validate"
2015-04-14 19:06:47 +02:00
Miroslav Bajtoš 99d4c6aa8d Add new strict mode "validate"
When a model is configured with `strict: 'validate'`,
any dynamic properties not included in the schema trigger
a validation error.
2015-04-14 08:16:10 +02:00
Miroslav Bajtoš 2bdcce0d96 Merge pull request #452 from partap/promises-related
Promisify model relation methods
2015-04-07 11:41:55 +02:00
Partap Davis 29eb3434c7 Promisify model relation methods
When a callback is omitted from a method on a model relation that
supports promises, return that promise.  This includes all the standard
DAO methods, as well as any user-defined methods that return promises.

e.g.:
mylist.todos.create({name: 'Item 1'}) // returns Promise

This API will use native ES6 promises if available.  If not available,
or to force the use of another Promise library, you must assign the
global.Promise object.

e.g.:
global.Promise = require('bluebird')

Relations affected:

- BelongsTo
- HasOne
- HasMany
- HasManyThrough
- HasAndBelongsToMany
- ReferencesMany
- EmbedsOne

Exceptions:

The EmbedsMany relation has not been promisified, because most of the
methods return synchronous values.

The base relation getter method [e.g.: mylist.todos()] has not been
promisified, due to its default caching behavior.

New Methods:

- getAsync(condition, cb)

A new method "getAsync()" has been added to all relations except
EmbedsMany, which always fetches from the datasource rather than from
the cache.  It takes an optional "where" condition (except for HasOne
and BelongsTo) and an optional callback.  If the callback is omitted,
a Promise is returned.
2015-04-07 11:41:07 +02:00
Raymond Feng 16cc870f57 Merge pull request #544 from strongloop/feature/nesting-doc-query
Allow nesting properties to be queried for memory connector
2015-04-02 08:47:10 -07:00
Miroslav Bajtoš cd7bc46efb Deprecate property names containing a dot 2015-04-02 09:49:04 +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š bc0f3b1d5c Merge pull request #554 from strongloop/fix/isNewInstance-tests
Fix isNewInstance tests + code cleanup
2015-04-01 18:44:45 +02:00
Miroslav Bajtoš a00b91db79 Fix test for "after save" called on save/CREATE
Fix the test to correctly trigger the code path where the connector
decides whether a new record is created or an existing one is updated.
2015-04-01 18:25:45 +02:00
Miroslav Bajtoš 3a51510119 Code cleanup in lib/dao.js
Rename callback argument "result" to "info" to make it consistent
with other places where we use "info" too.

Remove traling whitespace.
2015-04-01 18:25:04 +02:00
Raymond Feng 1461400f72 Merge pull request #553 from fabien/fix/save-embed-model
Save parent model of embedded relations
2015-04-01 08:50:17 -07:00
Fabien Franzen 17c8576097 Save parent model of embedded relations 2015-04-01 16:59:21 +02:00
Raymond Feng 8d1e782199 Merge pull request #546 from fabien/feature/scope-update-all
Implement scope.updateAll
2015-03-30 14:35:47 -07:00
Raymond Feng 44e5ad1fef Merge pull request #549 from fabien/feature/hookstate-from-options
Allow passing in hookState from options
2015-03-30 14:35:34 -07:00