Commit Graph

812 Commits

Author SHA1 Message Date
Tom Kirkpatrick 61047a028d Add unit test to verify fix for #754 2016-01-21 18:00:45 -08:00
Amir Jafarian ba7161b39e Implement `findOrCreate` for memory connector 2016-01-16 18:46:53 -05:00
Jue Hou 853ca03491 Use bluebird in utils.js
Replace `global.Promise` with `bluebird`
2016-01-07 15:27:33 -05:00
Miroslav Bajtoš b509c759c4 Merge pull request #796 from strongloop/fix/various
Various fixes in operation hooks
2016-01-05 11:08:35 +01:00
Simon Ho 5d453b5038 Revert "Correct syntax for should and more"
This reverts commit 62de2ed69e.
2015-12-23 15:41:16 -08:00
Simon Ho b63133d1d6 Fix test for shouldjs 8.0.2 upgrade 2015-12-22 15:03:50 -08:00
Miroslav Bajtoš e9899a93cf Enhance "persist" hook in DAO.updateOrCreate
Report `ctx.isNewInstance` when the connector provides this info.
2015-12-18 16:08:38 +01:00
Miroslav Bajtoš fd9bef4aa7 Enhance "persisted" hook in DAO.updateAttributes
Add `isNewInstance:false` to the context reported by
DAO.updateAttributes()
2015-12-18 16:08:01 +01:00
Miroslav Bajtoš 3028329126 "loaded" hook in DAO.find: ctx.data, not instance
Fix the implementation od DAO.find to provide "ctx.data" to the
"loaded" hook.
2015-12-18 15:54:35 +01:00
Amir Jafarian 62de2ed69e Correct syntax for should and more
This fixes lots of failures in connectors
2015-12-16 16:24:48 -05:00
Simon Ho 9cfda16194 Fix failing test for MongoDB connector 2015-12-09 12:58:21 -08:00
Miroslav Bajtoš 80c3bd9d41 Merge pull request #752 from ernie58/optionalValidation
make automatic validation optional
2015-12-04 17:03:28 +01:00
Bert Casier 0f3f27af51 Make automatic validation optional
Make automatic validation optional on all CRUD methods in a loopback
model. This can be done in 2 ways

- set `automaticValidation` in the model settings

- set `validate` on the options passed when calling the crud methods

The options take precedence on the model setting.
By default the automatic validation remains true to be backwards
compatible
2015-12-03 16:34:25 +01:00
Raymond Feng 6f7fc5030a Merge branch 'fix_update_attributes_error' of https://github.com/wpjunior/loopback-datasource-juggler into wpjunior-fix_update_attributes_error 2015-11-26 09:31:40 -08:00
Raymond Feng bd314e6a87 Merge branch 'with-simpe-and-fast-hasmany' of https://github.com/wertlex/loopback-datasource-juggler into wertlex-with-simpe-and-fast-hasmany 2015-11-23 15:21:18 -08:00
Michael Diguet d8678a1f03 Correction of a regression introduced by commit 632898b: when querying an empty array ([]) with a 'neq' filter, there were no matching. 2015-11-23 17:09:24 +01:00
Raymond Feng d7bbd7e215 Fix the typo 2015-11-17 13:27:41 -08:00
Wilson Júnior c26b857a87 UpdateAttributes: Raises an error if database fails
Signed-off-by: Wilson Júnior <wilsonpjunior@gmail.com>
2015-11-17 17:10:11 -02:00
Wert_Lex d9918d526a dropped unused functions and tests fixed 2015-10-30 21:36:50 +06:00
Wert_Lex 638002bc59 Looks better now 2015-10-30 21:15:48 +06:00
mdartic ef7fe45d9c Rewrite of variable 2015-10-16 18:25:23 +02:00
mdartic 7c22db6ea7 Filtering relations of a model with an order specified 2015-10-16 18:21:04 +02:00
Wert_Lex 0864bf7154 with updated map which stores original key and tests for them 2015-10-10 19:21:06 +05:00
Ryan Schumacher 94c3f9a432 Ability to define normalization of undefined query
Add datasource and model setting `normalizeUndefinedInQuery`
to determine how it will handle undefined values. Options:

- nullify : converts undefined to null
- throw : throw an error on undefined value
- ignore : strip the key where undefined value is found

The default operation is to strip the key.
2015-10-07 09:26:09 -07:00
Raymond Feng 1e035c657e Fix the test so that it works across DBs 2015-09-11 11:15:00 -07:00
Raymond Feng a6519bb2ca Fix id comparision in tests so that they work with mongodb object id 2015-09-08 09:53:02 -07:00
Raymond Feng 207edd5eec Merge pull request #687 from sklyukin/master
primaryKey to hasOne relation
2015-09-08 09:20:42 -07:00
Bram Borggreve fb11c78be0 Add support for using UUID V4 as defaultFn 2015-09-02 16:39:00 +02:00
sklyukin d0f9b760f5 primaryKey for hasMany and belongsTo relations 2015-09-01 19:03:02 +05:00
sklyukin 483cd873e7 primaryKey to hasOne relation 2015-09-01 01:31:28 +05:00
Laurent Villeneuve cb78c8ef96 Add direct copmarison value for array matching 2015-08-27 23:56:49 -04:00
Laurent Villeneuve 632898b022 Add support for matching array values à la mongo. 2015-08-27 23:32:53 -04:00
Raymond Feng 682f6340d3 Optimze automigrate() to cut the test time signicantly 2015-08-27 15:59:58 -07:00
Simon Ho 57a9c40e16 Fix primary key checks 2015-08-27 13:59:43 -07:00
Wert_Lex fb56915371 Dirty merge. Tests are broken 2015-08-24 16:07:43 +03:00
Wert_Lex e585021586 include utils add. Tests ported to should.js 2015-08-24 15:41:04 +03:00
Simon Ho cd71a37bfa Relax id requirement for basic query operations 2015-08-20 02:57:53 -07:00
Laurent Villeneuve 0381f6d7e7 Support embedded query in memory connector. Fix memory connector bug
Adds support for the ability to query embedsMany models from the parent.

Fix a memory connector bug that could occur when having an "or" or "and"
clause combined with another property. In that case, the and would revert
true for 'Paul McCartney'

```
{name:'John Lennon',and: [{role:'lead'}, {vip:true}]}}
```
2015-08-18 15:56:36 -04:00
Simon Ho d14721656f Merge pull request #691 from strongloop/do-not-coerce-regexp-to-string
Do not coerce RegExp objects to strings
2015-08-14 09:14:05 -07:00
Simon Ho e7e074f97b Do not coerce RegExp objects to strings
Queries like `{where: {name: /John.*/i}}` should work. Notice there is no
`regexp` operator (ie. `{where: {name: {regexp: /John.*/i}}}`).
2015-08-13 16:16:48 -07:00
Fabien Franzen 2120e53f7f Indicate result of destroyById/protototype.destroy
Return `info.count` to the callback to indicate whether the model
instance was deleted or not. When Model's `settings.strictDelete`
is true, return 404 error when the model instance was not found.
2015-08-10 17:38:46 +02:00
Kenta Fried 90ee9a1af3 fixes issue 673: Include hasMany of relation does not return empty array 2015-07-31 14:47:22 -07:00
Raymond Feng 6513d9658f Fix the test case with automigrate 2015-07-30 11:24:47 -07:00
Raymond Feng c45bde7ccf Merge pull request #647 from PradnyaBaviskar/issue-418-discover
Promisify all 'discover' methods
2015-07-29 07:43:39 -07:00
Raymond Feng ce57234d5e Merge branch 'issue656-findLoadedAsync' of https://github.com/PradnyaBaviskar/loopback-datasource-juggler into PradnyaBaviskar-issue656-findLoadedAsync 2015-07-29 07:33:21 -07:00
Simon Ho fee103d9d7 Remove test for unused utility function 2015-07-28 17:45:38 -07:00
Simon Ho b2b5a0d920 Merge pull request #665 from strongloop/add-regex-support
Add support for RegExp operator
2015-07-28 15:22:02 -07:00
Simon Ho b8f1598723 Add support for regex operator 2015-07-27 15:11:53 -07:00
Pradnya Baviskar de0ca3c61f Async 'loaded' hook for find 2015-07-27 18:58:29 +05:30
Pradnya Baviskar c63f3fb6cb Promisify all 'discover' methods 2015-07-24 12:07:22 +05:30
Raymond Feng b08b6dd954 Merge pull request #650 from PradnyaBaviskar/issue-649
Fix 'persist' hook for updateAttributes()
2015-07-23 08:27:07 -07:00
Pradnya Baviskar 8a20e07b3d Fix 'persist' hook for updateAttributes() 2015-07-23 15:25:50 +05:30
Raymond Feng ef97a9037a Merge pull request #666 from fabien/fix/update-strict
Filter attributes when strict: true
2015-07-22 08:18:29 -07:00
Raymond Feng c969e48d0c Make sure done() is called within the callback 2015-07-21 08:07:09 -07:00
Fabien Franzen c7caa0a7c1 Take strict: validate and throw settings into account 2015-07-21 13:33:42 +02:00
Fabien Franzen 8b06a9d39d Filter attributes when strict: true 2015-07-20 11:59:07 +02:00
Bryan Clark 342bc2f782 prevent upsert overwriting default values with applyDefaultValues option
Creates a new applyDefaultValues option on the Model constructor
defaulting to true, the current behaviour.

Updates the dao module to pass `{ applyDefaultValues: false }` to the
Model constructor during the updateOrCreate method when we assume an
update is happening.
2015-07-14 09:08:10 -07:00
Bryan Clark 1066313f3f use fromDb to deserialize data after save in Memory connector
Changes the after `save` callback in the memory connector to use the
`fromDb` method to deserialize the data passed back to upsert and
updateAttributes methods.
2015-07-14 09:08:09 -07:00
Fabien Franzen 6ce47f71b4 Correctly handle validatesUniquenessOf(idName) 2015-07-13 12:56:49 +02:00
Raymond Feng 6eb18cb2f6 Make sure base property definitions are cloned
Sub models sometimes need to customize the properties from the base model.
This change allows each sub model has its own copy of the base property
definition to avoid potential conflicts across multiple sub models of the
same base.
2015-07-10 10:03:51 -07:00
Raymond Feng eb20eebe95 Fix the regression for date conversion 2015-07-03 09:29:26 -07:00
Fabien Franzen 5290559a42 Don't cache static scope method results #575 2015-07-03 10:35:26 +02:00
Raymond Feng 4206088fbc Fix the regexp value for like/nlike 2015-07-02 23:22:36 -07:00
Raymond Feng bcd477358f Assert the existence of instance 2015-07-02 14:56:46 -07:00
Raymond Feng eb6fa410fe Fix coercion from ObjectID to String 2015-07-01 14:58:14 -07:00
Miroslav Bajtoš e55469693d test: fix persistence-hooks failures in MySQL 2015-06-24 18:31:30 +02:00
Miroslav Bajtoš 293240d752 Merge pull request #599 from PradnyaBaviskar/issue-441
Add new hook 'loaded'
2015-06-24 16:35:50 +02:00
Pradnya Baviskar e7430184a9 Promisify 'autoupdate' 2015-06-23 18:02:08 +05:30
Pradnya Baviskar 20cf67d798 Add new hook 'loaded' 2015-06-23 12:04:46 +05:30
Raymond Feng 97f905ff1f Fix the test case 2015-06-16 13:35:35 -07:00
Raymond Feng bbe9cb350c Merge pull request #626 from walkonsocial/include-issues
Fix for issues #622 & #623
2015-06-16 08:55:29 -07:00
Miroslav Bajtoš ecb8968166 Merge pull request #630 from PradnyaBaviskar/issue-418
Promisify 'automigrate'
2015-06-16 10:46:07 +03:00
Pradnya Baviskar f4f13a6626 Promisify 'automigrate' 2015-06-16 12:58:21 +05:30
Raymond Feng b0f1aae533 Fix the test case as updateAll takes `where` directly 2015-06-15 15:17:47 -07:00
ningsuhen 052e22ab43 Fix for issues #622 & #623
polymorphic hasOne needs separate handling and hasMany->referencesMany has a unique case which is fixed for MongoDB as suggested by @fabien.
2015-06-12 01:55:25 +05:30
Pradnya Baviskar 3b0e77cb0a Add new hook 'persist' 2015-06-10 16:19:13 +05:30
Raymond Feng 493d98f66b Dedupe ids args of inq for include 2015-05-29 10:50:37 -07:00
Raymond Feng c9d6071485 Fix the test case 2015-05-29 08:57:28 -07:00
Raymond Feng b8b4d95e7e Merge pull request #584 from violet-day/feature/scope-dynamic-query
add test suit for scope - dynamic function
2015-05-28 14:45:14 -07:00
Raymond Feng e0e6a0cdbb Merge pull request #588 from mamboer/master
fix issue #587
2015-05-28 14:44:11 -07:00
Raymond Feng 46e6ad2fd6 Merge pull request #602 from strongloop/feature/more-tests-for-observers
Enhance the apis and add more tests
2015-05-27 11:08:00 -07:00
Raymond Feng 621adf5435 Enhance the apis and add more tests 2015-05-26 10:15:39 -07:00
mamboer 69bd7c1233 Merge remote-tracking branch 'upstream/master' 2015-05-26 12:28:11 +08:00
Raymond Feng a028b2644c Fix for https://github.com/strongloop/loopback/issues/1401 2015-05-22 11:39:37 -07:00
Raymond Feng 12dea6e1cb Merge pull request #598 from strongloop/feature/add-connector-hooks
Mix in observer apis to the connector
2015-05-21 10:43:32 -07:00
Raymond Feng 5af6bf54df Merge pull request #597 from strongloop/feature/enhance-fields-to-array
Enhance fieldsToArray to consider strict mode
2015-05-21 09:43:40 -07:00
Raymond Feng 506223885d Mix in observer apis to the connector 2015-05-20 15:02:44 -07:00
Raymond Feng cbb8d7c789 Remove dep on sinon 2015-05-20 09:13:56 -07:00
Raymond Feng 966bb56c31 Enhance fieldsToArray to consider strict mode 2015-05-19 22:32:03 -07:00
Raymond Feng eac74ad014 Make sure relation scope is applied during include 2015-05-16 11:49:02 -07:00
mamboer 5ff3798e8e enhancement on #588 2015-05-14 09:55:54 +08:00
mamboer ba68df3ef3 Merge remote-tracking branch 'upstream/master' 2015-05-14 09:26:50 +08:00
Raymond Feng f9bd1544f9 Merge branch 'include-db-call-spike' of https://github.com/walkonsocial/loopback-datasource-juggler into walkonsocial-include-db-call-spike 2015-05-13 13:15:46 -07:00
ningsuhen d009557a76 DB Call Optimization in relation includes - Fixes #408 & #166 2015-05-14 00:19:43 +05:30
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
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š 128665f1bd Merge pull request #578 from strongloop/fix/validate-upsert
dao: support validateUpsert:false
2015-05-05 17:50:50 +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