Alex Pitigoi
0e89a9c837
fix avoid duplicate record on scope with promise
2016-05-19 15:47:31 -04:00
Miroslav Bajtoš
8ad53a4c0e
DAO.create: don't return the instance
...
Simplify DataAccessObject.create() and stop returning the
instance/array of instances. Users should always use callback (or
returned promise) to get the instance(s) created.
2016-04-29 14:16:06 +02:00
Miroslav Bajtoš
9bde8f859b
Implement operation hooks for EmbedsMany methods
...
create() triggers
- before save
- after save
updateById() triggers
- before save
- after save
destroy() triggers
- before delete
- after delete
The implementation here is intentionally left with less features
than the regular DAO methods provide, the goal is to get a partial
(but still useful!) version released soon.
Limitations:
- `before save` & `after save` hooks don't provide `ctx.isNewInstance`
- async validations are not supported yet
- `persist` and `loaded` hooks are not triggered at all
- `before delete` hook does not provide `ctx.where` property and
it's not possible to change the outcome of `destroy()` using this
hook. Note that regular DAO does support this.
- updating embedded instances triggers update of the parent (owning)
model, which is correct and expected. However, the context provided
by `before save` and `after save` hooks on the parent model is sort of
arbitrary and may include wrong/extra data. The same probably applies
to the scenario when deleting embedded instances triggers update of
the parent model.
2016-04-27 11:04:15 +02:00
Miroslav Bajtoš
b86615e2b7
Implement operation hooks for EmbedsOne methods
...
create() triggers
- before save
- after save
udpate() triggers
- before save
- after save
destroy() triggers
- before delete
- after delete
The implementation here is intentionally left with less features
than the regular DAO methods provide, the goal is to get a partial
(but still useful!) version released soon.
2016-04-20 09:36:12 +02: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
Amir Jafarian
11ef948854
Test coverages for hashed password
...
* Test coverages for hashed password for replaceAttributes
* Test coverages for hashed password for updateAttribute
2016-04-14 18:27:19 -04:00
Amir Jafarian
4e6351b856
Fix `forceId` check for `replaceById`
2016-04-14 15:05:56 -04:00
Amir Jafarian
e9afb46eda
Fix `notify` bugs for `find`
2016-04-13 13:34:51 -04:00
Miroslav Bajtoš
09f4c7d026
test: extract hook-monitor helper
2016-04-13 13:54:17 +02:00
Miroslav Bajtoš
616a81b496
test: extract uid-generator helper
2016-04-13 13:53:31 +02:00
Miroslav Bajtoš
3435b43a5c
test: extract context-test-helpers
2016-04-13 13:52:54 +02:00
Amir Jafarian
4bb284bb60
Define `patch` aliases
...
*Define `patchOrCreate` as an alias for `updateOrCreate`
*Define `PatchAttributes` as an alias for `updateAttributes`
2016-04-12 13:40:01 -04:00
Simon Ho
85ed753609
Merge pull request #786 from strongloop/feature/fix-610
...
Partition by foreign key for pagination
2016-04-06 14:01:08 -07:00
Raymond Feng
84da11f98e
Partition by foreign key for pagination
...
See https://github.com/strongloop/loopback-datasource-juggler/issues/610
2016-04-05 17:21:48 -07:00
Raymond Feng
daaf5e381a
Merge branch 'discover-hang' of https://github.com/TorchlightSoftware/loopback-datasource-juggler into TorchlightSoftware-discover-hang
...
# Conflicts:
# lib/datasource.js
# test/discovery.test.js
2016-04-05 16:18:25 -07:00
Raymond Feng
e321bafdf9
Fix style errors
2016-04-05 16:11:25 -07:00
Raymond Feng
b7543e9402
Merge pull request #860 from horiaradu/master
...
fix nin support for in memory datasource
2016-04-05 15:42:07 -07:00
Miroslav Bajtoš
27c6279d6c
fix remaining eslint issues
2016-04-05 15:25:34 +02:00
Miroslav Bajtoš
39e04a1756
eslint --fix
2016-04-05 15:25:34 +02:00
Miroslav Bajtoš
fc1aefb8d4
Add eslint as "npm run lint" and "posttest" hook
2016-04-05 15:25:34 +02:00
Ryan Graham
c467b43c38
Insert copyright headers
2016-04-04 18:14:03 -07:00
Amir Jafarian
5b6bffb5b3
Fix Mongo compatibility issue
...
*Fix Mongo compatibility issue for replaceOrCreate
2016-03-29 14:42:13 -04:00
Amir Jafarian
8b8d474b92
Add automigrate to setup tables for replace test cases
2016-03-29 12:21:10 -04:00
Amir-61
fc27aa9561
Merge pull request #868 from strongloop/mySQL-fix-tests
...
Fix tests for mysql
2016-03-28 15:57:27 -04:00
bitmage
57afba8c51
support custom field settings under the connector's namespace
2016-03-16 09:17:55 -07:00
Amir Jafarian
024bff6a91
Fix tests for mysql
2016-03-08 20:39:25 -05:00
Miroslav Bajtoš
28e07d9df3
Add forgotten unit test
...
The test should have been added as part of #859
2016-03-02 12:32:11 +01:00
Horia Radu
a3ae44aca0
fix nin support for in memory datasource
2016-02-27 10:27:09 +02:00
Amir Jafarian
2281e95940
Implementtaion of replace
...
This includes:
*implementation of replaceAttributes
*implementtaion of replaceOrCreate
2016-02-03 16:06:35 -05:00
Jue Hou
0d9eebe3bb
Prevent constructor to be property name
2016-02-02 11:51:05 -05:00
bitmage
b556d96148
discoverSchemas returns an error when modelName is not found,
...
discoverSchema forwards that error and does not hang when no columns,
no errors are returned
2016-01-22 10:41:06 -07:00
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