Heath Morrison
2377792c22
Coerce array-like objects into arrays
...
The query-string parser used by express
https://github.com/ljharb/qs#parsing-arrays
limits the size of arrays that are created from query strings to 20
items. Arrays larger than that are converted to objects using numeric
indices.
This commit fixes the coercion algorithm used by queries to
treat number-indexed objects as arrays. We still maintain a strict
understanding of an "array-like object" to limit the opportunity for
subtle bugs. In particular, the presence of non-index keys is an
indication that the object was not intended to be interpreted as
an array.
2017-01-10 14:46:41 +01: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š
779cf6a370
Honour allowExtendedOperators in "DAO.find"
...
Modify the coercion of filter.where to hounour "allowExtendedOperators"
and don't coerce property values of type object (extended operators).
2016-12-06 10:28:40 +01:00
Amir Jafarian
54d0f5b53d
Add support for `loaded` hook
...
* Add support for loaded hook for DAO.find with near filter
2016-10-28 11:46:46 -04:00
Heath Morrison
266e9f5a9a
Continue _coerce after logical operators
2016-10-25 23:09:46 +03:00
Nick Duffy
a23076d3a8
Add ilike and nilike operators
...
Closes #633
2016-10-12 18:31:31 -06:00
Amir Jafarian
e42b1327aa
Fix JSDoc issue
2016-10-11 12:15:35 -04:00
Amirali Jafarian
66f27b9b83
Merge pull request #1094 from strongloop/newInstance_loade_updateAttributes
...
Add 'isNewInstance' for updateAttributes
2016-09-21 09:23:57 -04:00
Amir Jafarian
fec7742a69
Add 'isNewInstance' for updateAttributes
...
* Add 'isNewInstance' to loaded hook for updateAttributes
2016-09-19 16:56:15 -04:00
David Cheung
805db78e19
Strict mode now always return validationError
...
- Deprecation of strict:validate and strict:throw
- When strict mode is enabled, it will now always
return validation error (previous strict:validate)
2016-09-19 10:27:24 -04:00
Amir Jafarian
2830062259
Disable `strict` for a few files
...
*Disable `strict` for a few files to disappear warnings
2016-08-26 09:54:31 -04:00
Amir Jafarian
aa6d28268b
Auto-update by eslint --fix
2016-08-22 15:12:25 -04:00
Sonali Samantaray
37541dd178
upsertWithWhere feature support in juggler DAO
2016-08-16 18:06:01 +05:30
Amir-61
1e57d4f316
Merge pull request #1034 from strongloop/err_connector_not_implements_replaceById
...
Return error if the connector does not implement
2016-08-09 14:01:58 -04:00
Amir Jafarian
327c785347
Return error if the connector does not implement
...
* Return error if the connector does not implement `replaceById`
2016-08-09 10:37:15 -04:00
Amir Jafarian
d181fd0671
Fixup globalization
2016-08-08 15:34:41 -04:00
Richard Pringle
0b62dd94ea
Disallow bulk updateOrCreate.
2016-08-05 11:54:06 +02:00
Amir Jafarian
f2f9b4a6f8
Use g.f instead of utils.format
2016-08-03 10:47:40 -04:00
Amir Jafarian
4ce5b5d3a0
Support for globalization
2016-07-28 15:20:18 -04:00
Miroslav Bajtoš
699e0587d1
Ensure stable order of items in DAO.find()
...
When post-processing result of find operation, use "async.map"
instead of "async.each + array.push" to ensure the order of items
is preserved.
2016-07-13 14:55:49 +02:00
RobinBiondi
fbe58f7cf8
give options to validators #984
2016-06-24 14:44:43 -07:00
Amir Jafarian
7a8803cb38
Give warning if PK is changed in hooks
...
* Give warning if PK is changed in `before save` and `loaded`
operation hooks for replaceById
2016-06-08 11:56:19 -04:00
Candy
3daca1e960
Remove model events
2016-06-08 10:27:05 -04:00
Amir Jafarian
cae44f0458
Fix error message
...
*Fix error message when PK is changed in `replaceById`
2016-06-01 16:16:35 -04:00
Amir Jafarian
82546fdf47
Retun err for UPSERT if the connector returns err
2016-05-31 22:17:23 -04:00
Amir Jafarian
d9a3f6226a
Fix incompatibility between different connectors
...
* Fix incompatibility for replace methods between different connectors.
2016-05-27 13:45:24 -04:00
Sequoia McDowell
ae7a5df47b
Document promise support for DAO::find
...
It was previously completely undocumented. There are additional methods that add promises but I figure accurately documenting some is better than none. :)
2016-05-11 09:58:22 -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š
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
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
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
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
Ryan Graham
c467b43c38
Insert copyright headers
2016-04-04 18:14:03 -07:00
Amir Jafarian
2281e95940
Implementtaion of replace
...
This includes:
*implementation of replaceAttributes
*implementtaion of replaceOrCreate
2016-02-03 16:06:35 -05:00
Amir Jafarian
ef232eae0a
Fix conversion for `updateAttributes`
2016-02-03 12:04:51 -05:00
Amir Jafarian
550cfa2a86
Refactor `updateAttributes`
2016-01-25 10:56:27 +01:00
Amir Jafarian
a5150265ec
Fix a bug when validation is off for findOrCreate
2016-01-08 16:47:38 -05: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
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
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
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
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