Commit Graph

1327 Commits

Author SHA1 Message Date
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
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 bc825fafc4 Merge pull request #755 from zmijevik/zmijevik-feature/include-if-contains-results
fixes #753
2015-11-26 09:33:47 -08:00
Raymond Feng 3a3cb5b7cb Merge pull request #764 from eugene-frb/master
Capture includeHasMany() as a find()'s caller by findCaller option
2015-11-26 09:29:14 -08:00
Raymond Feng e1f20ee3ea Merge pull request #772 from Abebw/master
Ignored Error
2015-11-26 09:28:50 -08:00
Raymond Feng 486c1de1ba Merge pull request #715 from nennad/master
foreignKey dataLength fix
2015-11-26 09:28:08 -08:00
eugene-frb ba4600e564 Explicitly initialize column of partition by clause and pass it in find()'s options argument 2015-11-25 13:56:59 -08:00
Clark Wang 0ac70766eb silence a warning that introduced in bluebird 3.0
see http://bluebirdjs.com/docs/warning-explanations.html#warning-a-promise-was-created-in-a-handler-but-none-were-returned-from-it

Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-11-24 17:15:53 +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
Abe BW 0334766490 fixed a bug where an error was sent to the updateAttributesCallback and then ignored 2015-11-23 14:07:35 -05: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
eugene-frb 96020c7e7e Capture includeHasMany() as a find()'s caller by findCaller option
To replace incorrect location of capturing this condition in find() in
loopback-connector/lib/sql.js  proposed earlier in
https://github.com/strongloop/loopback-connector/pull/34.

Being set to 'includeHasMany', findCaller option triggers injection of
PARTITION BY clause in buildColumnNames() in
loopback-connector-mssql/lib/mssql.js only when find() function is
called to process include filter with 'has many' relation.
2015-11-19 11:10:52 -08:00
Joseph M. Persie 5ddb50aca4 fixes #753 2015-11-04 20:13:12 -05:00
Clark Wang b1b36ed44e fix typo 2015-11-04 14:58:28 +08:00
Clark Wang b993fb9466 fix global leak that mocha complains
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-11-04 14:19:47 +08:00
Wert_Lex d9918d526a dropped unused functions and tests fixed 2015-10-30 21:36:50 +06:00
Wert_Lex 2f31701655 One more comment 2015-10-30 21:19:37 +06:00
Wert_Lex 638002bc59 Looks better now 2015-10-30 21:15:48 +06:00
Raymond Feng d0072b68a1 Merge pull request #739 from mdartic/master
Fix filtering relations of a model with an order specified
2015-10-28 08:38:03 -07:00
Federico Rampazzo 2de499ccb0 Added missing callback when a model is not found 2015-10-28 09:15:32 +00:00
mdartic 7c22db6ea7 Filtering relations of a model with an order specified 2015-10-16 18:21:04 +02:00
Wert_Lex 1cab0164c2 home-written map extended with proper .set() method 2015-10-10 21:00:00 +05:00
Wert_Lex a5dd9c181a on the halfway to keeping original keys 2015-10-10 19:37:39 +05: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
James Cooke 6dac956cf8 findByIds would fail when an array of 0 length was passed as its first argument 2015-09-23 16:27:41 +01:00
Raymond Feng 207edd5eec Merge pull request #687 from sklyukin/master
primaryKey to hasOne relation
2015-09-08 09:20:42 -07:00
Rand McKinney 0e2d2c162e Update validations.js
Fix small mistake in doc comment.
2015-09-04 16:31:54 -07:00
nennad e679deb376 typo fix 2015-09-03 17:02:21 +01:00
nennad f3b0cb062e Fix foreignKey length issue
If the PK has a definition like
```
      "mysql": {
        "dataType": "CHAR",
        "dataLength":36,
        "nullable":"N"
      }
```

dataLength is ignored when the PK is used as a foreignKey in other models
2015-09-03 17:00:38 +01: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
Raymond Feng febfe2362a Merge pull request #699 from satyadeepk/master
Fixed ReferencesMany .findById to check the given id in the modelInstance[fk]
2015-08-31 10:08:38 -07:00
Laurent Villeneuve 632898b022 Add support for matching array values à la mongo. 2015-08-27 23:32:53 -04:00
Simon Ho 57a9c40e16 Fix primary key checks 2015-08-27 13:59:43 -07:00
Wert_Lex 7b497eb58f Moved inst initialization to place where it used 2015-08-25 15:46:50 +03:00
Wert_Lex 84dc39dfe2 All tests passed 2015-08-24 20:45:41 +03: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
Satyadeep ad83c82ebc Fixed ReferencesMany .findById to check the given id in the ids array of the model instance 2015-08-19 22:34:16 +05:30
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
Laurent Villeneuve bdf703fb45 Use idEquals when comparing ids in relation definitions 2015-08-18 10:22:36 -04:00
Laurent Villeneuve 94ff275bbc Handle possible undefined id 2015-08-18 09:40:52 -04:00
Laurent Villeneuve 9363354e0f Fix id copmarison by using strings 2015-08-18 09:40:52 -04:00
Raymond Feng f5270c39c5 Refactor idEquals to utils 2015-08-17 12:49:38 -07: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
Raymond Feng 62624203d1 Merge pull request #683 from thefinnomenon/master
Fixed typo & added the filter units
2015-08-06 08:50:21 -07:00
Chris Finn 42805fd326 Removed extra ")" 2015-08-05 15:39:33 -04:00
Raymond Feng 21c0067462 Report deferred exceptions via callback 2015-08-05 11:18:38 -07:00
Chris Finn f35bd39e60 Fixed typo & added the filter units
Fixed typo in nearby sort function & added the ability to specify units when filtering for nearby points.
2015-08-05 14:18:28 -04:00
Kenta Fried 90ee9a1af3 fixes issue 673: Include hasMany of relation does not return empty array 2015-07-31 14:47:22 -07:00
Simon Ho 4cd428a726 Fix regexp error for the memory connector
- Check for undefined/null values when accessing `regexp` key
2015-07-30 08:46:50 -07:00
Raymond Feng 4d7bfc94cd Fix error handling 2015-07-29 10:21: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 68dc1d821f Remove try/catch from find function 2015-07-28 17:40:14 -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
Fabien Franzen a94993c097 Don't enforce strictness if allowExtendedOperators: true (MongoDB) 2015-07-22 17:09:04 +02: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 5dc4042300 Fix object merge 2015-07-10 13:54:29 -07: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 542afefb1d Make sure operator/options are honored 2015-07-02 11:27:33 -07:00
Raymond Feng 50ac143cea Merge pull request #652 from strongloop/feature/fix-objectid-coercion
Fix coercion from ObjectID to String
2015-07-02 10:21:03 -07:00
Raymond Feng 506abf134e Merge pull request #642 from rus0000/rus0000-patch-1-fix-updateOrCreate-transaction
Fix updateOrCreate transaction propagation
2015-07-02 10:17:12 -07:00
Raymond Feng e72a3cac2f Merge pull request #643 from rus0000/includes-with-transaction-support
Includes with transaction support
2015-07-02 10:13:49 -07:00
Raymond Feng eb6fa410fe Fix coercion from ObjectID to String 2015-07-01 14:58:14 -07:00
Fabien Franzen ef2555ce4e Fix #623 - use actual id order 2015-06-30 20:48:09 +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
Rus1 13b9e47e87 Includes with transaction support 2015-06-24 02:08:07 +03:00
Rus1 17cac79b09 Fix updateOrCreate transaction propagation 2015-06-23 19:14:36 +03:00
Rus1 ca8012ba0a Fix promise chaining in case of error 2015-06-23 19:08:46 +03: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 ef50be563f Merge pull request #618 from strongloop/feature/fix-lb-967
Allow 0 as the FK
2015-06-16 08:55:54 -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
Pradnya Baviskar f4f13a6626 Promisify 'automigrate' 2015-06-16 12:58:21 +05:30
ningsuhen 0d7dcdd043 check object exists before setting __cachedRelations 2015-06-16 11:10:00 +05:30
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 3ee3ba3dcf Allow 0 as the FK
See https://github.com/strongloop/loopback/issues/967
2015-06-08 13:01:16 -07:00
Clark Wang a283922c28 fix typo
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-06-01 11:28:58 +08:00
Raymond Feng 493d98f66b Dedupe ids args of inq for include 2015-05-29 10:50:37 -07:00