Miroslav Bajtoš
fcaf19a1d2
Rename hook "query" to "access"
...
The name "query" creates incorrect assumption that hook handlers
may return the result of a query to bypass database access.
That is far from true, since this hook is called also by methods
like `deleteAll` or `updateAll` that don't perform any SELECT query.
2015-02-02 10:41:18 +01:00
Miroslav Bajtoš
370966df99
Implement intent hook `before delete`
...
Methods `DAO.deleteAll` and `DAO.prototype.delete` now invoke
`before delete` hook too. The hook receives `ctx.where` describing
models to be deleted.
2015-02-02 09:13:31 +01:00
Miroslav Bajtoš
842e543bf7
Merge pull request #415 from strongloop/fix/regression-in-dao-save
...
Fix regression in `.save()` from 1fd6eff
2015-01-30 18:28:10 +01:00
Raymond Feng
e41b2d9393
Merge pull request #414 from strongloop/feature/fix-hasone-remoting
...
Fix hasOne remoting
2015-01-30 08:23:46 -08:00
Miroslav Bajtoš
31b9da7d44
Remove redundant `.toObject()` call from `upsert`
2015-01-30 11:31:30 +01:00
Miroslav Bajtoš
5cfbfe3a19
Fix regression in `.save()` from 1fd6eff1
...
The commit 1fd6eff1
(intent-based hooks) introduced a subtle regression
in `.save()` method where dynamic property setters were invoked twice.
This commit fixes the problem by moving pre-save data normalization
into `before save` callback.
2015-01-30 11:31:12 +01:00
Raymond Feng
e46bd0cdb5
Fix hasOne remoting
2015-01-29 23:26:11 -08:00
Raymond Feng
7d42202d40
Make sure batch create calls back with correct data
...
See https://github.com/strongloop/loopback/issues/1031
2015-01-29 11:52:39 -08:00
Miroslav Bajtoš
1fd6eff10f
Intent-based hooks for persistence
...
This patch introduces a new API for "intent-based" hooks. These hooks
are not tied to a particular method (e.g. "find" or "update"). Instead,
they are triggered from all methods that execute a particular "intent".
The consumer API is very simple, there is a new method
Model.observe(name, observer), where the observer is function
observer(context, callback).
Observers are inherited by child models and it is possible to register
multiple observers for the same hook.
List of hooks:
- query
- before save
- after save
- after delete
2015-01-29 08:43:52 +01:00
Miroslav Bajtoš
b3d07ebbe8
ModelBaseClass: implement async observe/notify
...
Implement infrastructure for intent-based hooks.
2015-01-29 08:43:50 +01:00
James Billingham
28f3f5d9f8
Fixed nullCheck in validations to correct behavior when dealing with undefined attributes
2015-01-27 22:18:47 +00:00
Fabien Franzen
a08ef823be
Supply target to applyProperties function
2015-01-26 19:09:29 +01:00
Clark Wang
c37de7f008
fix id properties should sort by its index
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-01-21 20:16:34 +08:00
Clark Wang
83c3a17f87
support embeds data for belongsTo relation
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-01-19 22:56:09 +08:00
Miroslav Bajtoš
2e98c51571
Fix detection of `util.inspect` version
...
Improve the detection to work in browser too. This fixes a regression
introduced in e4fc3878
.
2015-01-15 08:45:52 +01:00
Raymond Feng
4aeb831bd5
Merge pull request #358 from clarkorz/fix/beforeCreate-belongsTo
...
fix recursive calls if create belongsTo model in beforeCreate hook
2015-01-14 14:42:29 -08:00
Raymond Feng
f1bdf50e2a
Merge pull request #387 from fabien/fix/coerce
...
Don't coerce nested objects into Model instances
2015-01-14 11:43:38 -08:00
Raymond Feng
a2b5d6410a
Merge pull request #389 from strongloop/feature/include-value-in-validation-error-message
...
Include property value in the error message
2015-01-14 11:37:10 -08:00
Raymond Feng
2e08d48ad3
Merge pull request #390 from r3dm/fix/call-idNames
...
Fix virtual id get function.
2015-01-14 11:31:55 -08:00
Dallon Feldner
e7fedc2926
Fix for #369
...
Remember, folks, `typeof null === 'object'`.
2015-01-12 17:38:21 -06:00
Berkeley Martinez
3fac41985b
Fix virtual id get function.
2015-01-12 08:43:55 -08:00
Miroslav Bajtoš
e4fc38788f
Fix Model.prototype.inspect
...
Return the raw object data when running on Node v0.11.14+
That way all `inspect` options are always preserved.
When running on older version:
- Honour the depth argument passed to the custom `inspect` function.
- Disable color output, becase there is now way how to detect whether
colors were enabled or disabled by the top-level caller.
2015-01-12 17:12:18 +01:00
Miroslav Bajtoš
9b759c95ac
Include property value in the error message
...
When building a list of errors for `ValidationError.message`, include
the values of invalid properties too.
In order to keep the message reasonably short, the values are truncated
at approx 32 characters.
2015-01-12 17:12:18 +01:00
Rand McKinney
2270ba4db4
Update datasource.js
...
Small fix to JSdoc
2015-01-08 15:30:17 -08:00
Fabien Franzen
a19b778cbd
Change Model to BaseModel for clarity
2015-01-08 15:44:28 +01:00
Fabien Franzen
a24b222a72
Don't coerce nested objects into Model instances
...
For queries, this is undesirable. It also affects
loopback-connector-mongodb's ability to perform nested queries (it
expects plain objects to work correctly, and to allow $elemMatch for
example).
2015-01-08 15:34:04 +01:00
Raymond Feng
eac7526e80
Merge pull request #379 from cvette/memory-order-fix
...
fix sorting of undefined values in memory connector
2015-01-06 09:39:49 -08:00
Clark Wang
ce2b580ccd
add a flag to callback of findOrCreate to indicate find or create
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-12-25 22:19:15 +08:00
Christian Vette
e45407256e
fix sorting of undefined values with multiple columns
2014-12-22 21:06:01 +01:00
cvette
31c7973763
code style
2014-12-22 18:54:56 +01:00
cvette
a6b8ca70af
fix sorting with undefined in memory connector
2014-12-22 18:45:39 +01:00
Ritchie Martori
efe4601fdb
Merge pull request #370 from simoami/master
...
Fixed the haversine formula to calculate distance between 2 points
2014-12-18 15:08:42 -08:00
Simo Moujami
e1a60f146e
Added support for inline parameters like: new GeoPoint(-34, 150)
2014-12-18 10:47:06 -05:00
Clark Wang
6fa8969912
fix default include in default scope fails findById
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-12-11 15:14:35 +08:00
Simo Moujami
8ba0c3f87d
Additional formatting
2014-12-10 19:38:39 -05:00
Simo Moujami
beaa97f6f4
Fixed constructor parameters and added bdd tests for constructor validation
2014-12-10 19:36:02 -05:00
Simo Moujami
45fb633c3a
renamed intermediary variable
2014-12-10 17:08:56 -05:00
Simo Moujami
ed5aeb1d2d
Fixed the haversine formula to calculate distance between 2 points properly
2014-12-10 16:30:07 -05:00
Raymond Feng
d92905d53e
Merge pull request #360 from clarkorz/fix/embedsOne-errors
...
fix embedsOne error when embed instance is undefined or null
2014-12-03 15:35:18 -08:00
Raymond Feng
c51d1e9a08
Merge pull request #354 from clarkorz/fix/skip-validation
...
fix skipping async validator will always fail if condition is un-fulfilled
2014-12-03 15:22:57 -08:00
Raymond Feng
6914733a41
Allow more flavors of nullable values from DB discovery
2014-12-03 15:11:27 -08:00
Raymond Feng
48e8ebed7b
Fix a typo
2014-12-03 15:11:27 -08:00
Clark Wang
9d2e6516c3
fix embedsOne error when embed instance is undefined or null
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-11-28 13:45:47 +08:00
Clark Wang
40f03f084b
fix recursive calls if create belongsTo model in beforeCreate hook
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-11-24 19:20:38 +08:00
Fabien Franzen
77028b07f8
Be explicit: set RelationDefinition multiple flag
2014-11-24 10:31:28 +01:00
Clark Wang
a9cc1c38df
Allow hasOne relation to have a scope option
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-11-20 19:27:04 +08:00
Clark Wang
973dd33d63
fix skipping async validator will always fail if condition is un-fulfilled
...
If the validator configured with `{async:true}` option and `if/unless`
condition, validator should be skipped when the condition is un-fulfilled,
so the validator should be pass.
But currently, when skipping the validator, it calls `done(true)` which
accepts a `fail` flag as a param, this will fail the entire validation.
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-11-19 21:50:08 +08:00
Raymond Feng
ba29669e0d
Merge branch 'fix/350-create-batch-hasmany-relation' of github.com:BuddyHOPP/loopback-datasource-juggler into BuddyHOPP-fix/350-create-batch-hasmany-relation
2014-11-13 12:50:21 -08:00
bitmage
d11eacffc6
handle relationship create with [array]
2014-11-11 14:48:34 -07:00
Alex Voitau
5c2468c4ef
#350 : Creating a batch via hasMany relation is failing. Added handling of array argument.
2014-11-07 18:01:18 -08:00