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
Raymond Feng
14dcfb61be
Add support for multiple includes that use relation syntax
2014-11-04 20:45:25 -08:00
Raymond Feng
5cd9e88ab2
Merge pull request #334 from pandaiolo/fix/has-one-pk
...
Fix for HasOne relation with non-standard id
2014-10-30 14:26:13 -07:00
Raymond Feng
11963ea12a
Merge pull request #338 from fabien/fix/fields-vs-defaults
...
Don't apply defaults when fields are specified
2014-10-30 14:11:51 -07:00
Pandaiolo
9eaeb9e399
Fix HasOne PK on modelFrom instead of modelTo
2014-10-29 12:06:05 +01:00
Fabien Franzen
4e20128945
Tiny fix: default __persisted to false
2014-10-19 18:52:18 +02:00
Fabien Franzen
e7a108efdb
Don't apply defaults when fields are specified
2014-10-19 18:47:27 +02:00
Raymond Feng
455743167a
Fix the automigrate issue
...
See https://github.com/strongloop/loopback-example-relations-basic/issues/6
2014-10-16 12:04:16 -07:00
Fabien Franzen
5662d9f0c2
Merge pull request #329 from fabien/feature/include-scope
...
Enable include scope for belongsTo
2014-10-15 18:08:42 +02:00
Fabien Franzen
ded292d79a
Merge pull request #327 from fabien/fix/call-scope-method
...
Call relation methods in the right context
2014-10-15 18:08:10 +02:00
Fabien Franzen
55d116ec3f
Enable include scope for belongsTo
2014-10-14 22:47:59 +02:00
Raymond Feng
07993d2e1f
Merge pull request #324 from fabien/feature/include-scope
...
Include scope
2014-10-13 08:33:26 -07:00
Fabien Franzen
58a6c924b3
Call relation methods in the right context
...
Before this change, it was impossible to override 'build' and other
(custom) relation/scope methods; only the original prototype method was
ever called.
2014-10-12 22:00:13 +02:00
Miroslav Bajtoš
14d178bf69
Don't inherit settings.base when extending a model
...
Fix the bug in `ModelClass.extend` where the `base` option used
in the new class was inherited from ModelClass. As a result
the extended model was incorrectly based on ModelClass's parent.
Modify `modelBuilder.define` to normalize the property name storing
the name of the base model to `settings.base`.
2014-10-10 18:35:18 +02:00
Fabien Franzen
8d6e3adaab
Allow include syntax without scope param
2014-10-10 17:17:36 +02:00
Fabien Franzen
771d9505cc
Allow 'rel' and 'relation'
2014-10-10 14:33:26 +02:00
Fabien Franzen
0c28ccedac
Refactored inclusion
...
The syntax is now consistent, regardless of using [] or {} for the
include param.
2014-10-10 14:24:25 +02:00
Fabien Franzen
ca0b3399c8
Implement include scopes
2014-10-10 12:28:39 +02:00
Fabien Franzen
0e49dc94ec
Allow `attributes` as an alias for `properties` (for LDL)
2014-10-09 18:14:04 +02:00
Fabien Franzen
ec05d0b5a8
Cleanup, consistency: allow properties to be a function
...
Also, pass along the current instance, for any instance method as a
context (save, updateAttributes).
2014-10-09 18:14:04 +02:00
Fabien Franzen
beeb7c46c9
applyProperties => properties (object/false)
2014-10-09 18:14:04 +02:00
Fabien Franzen
49e2b8b8dc
Allow default scope to be a function
2014-10-09 18:14:04 +02:00
Fabien Franzen
b136a8fce7
Full test CRUD suite for default scope
2014-10-09 18:14:04 +02:00
Fabien Franzen
ad55681d69
Properly reset Memory connector cache on automigrate
2014-10-09 18:13:58 +02:00
Fabien Franzen
8352ed3afc
Implemented collection setting for Memory connector
2014-10-09 18:13:57 +02:00
Fabien Franzen
610866bd7c
Extract mergeQuery and setScopeValuesFromWhere
...
Related to #274 - in preparation of default scope
2014-10-09 18:13:40 +02:00
Raymond Feng
43e0f0f6fa
Merge pull request #301 from strongloop/feature/allow-base-for-discovery
...
Tidy up model building from data sources
2014-09-23 16:38:17 -07:00
Raymond Feng
b5cebd75a7
Merge pull request #303 from khashayar/feature/test-improvement
...
Test improvement, shows _targetClass camelCase bug
2014-09-23 16:37:59 -07:00
Khashayar Hajian
c3df513712
Fix camel-case issue where relation is 'hasAndBelongsToMany' #304
...
Signed-off-by: Khashayar Hajian <me@khashayar.me>
2014-09-19 16:23:39 +02:00
Fabien Franzen
7f155966ab
Fix to handle new isNewRecord implementation
2014-09-13 00:03:08 +02:00
Raymond Feng
fe74c8019c
Tidy up model building from data sources
...
See https://github.com/strongloop/loopback/issues/560
2014-09-12 14:25:35 -07:00
Raymond Feng
3655107334
Merge pull request #295 from fabien/fix/embeds-many
...
Various improvements to embedded relations
2014-09-12 10:31:49 -07:00
Raymond Feng
af40505703
Merge pull request #290 from fabien/feature/enforce-id
...
Enforce id (prevent user-set value), fix isNewRecord
2014-09-12 10:31:10 -07:00
Raymond Feng
6903253471
Merge pull request #288 from fabien/fix/relation-tests
...
Test sync (cached) relation getters
2014-09-12 10:29:42 -07:00
Fabien Franzen
e441924fa3
Allow embedsOne to use auto-generated id (from connector)
...
If the connector has a `generateId` method - like Transient - it can be
used to set the id (when the property has been set to `generated:
true`).
2014-09-07 13:24:05 +02:00
Fabien Franzen
21e1083e88
Implemented persistent: true option for embedsOne
2014-09-07 13:10:23 +02:00
Fabien Franzen
95764232b9
Introduce embedsMany persistent: true option
...
When set, instead of only embedding the model (on creation) it will be
persisted first, and subsequently embedded.
2014-09-07 12:59:47 +02:00
Fabien Franzen
ef816d490a
More tests for embedsMany with persistent model
2014-09-07 12:44:45 +02:00
Fabien Franzen
4c6f35d23d
Only check id as part of embedsMany relation
2014-09-07 12:17:42 +02:00
Raymond Feng
f9ce6c248d
Merge pull request #287 from fabien/fix/tiny
...
Export RelationClasses
2014-09-05 09:18:09 -07:00
Fabien Franzen
a66e612c87
Fix multi-property validation definitions
...
Fixes #291 , as introduced by me ...
https://github.com/strongloop/loopback-datasource-juggler/commit/6fae8c7
27759256157bf7ccd82e04ee372a59088
2014-09-05 18:00:11 +02:00
Fabien Franzen
d8cafd0c84
Tiny fixes
2014-09-05 17:28:50 +02:00
Fabien Franzen
b4144598bf
DAO save() now uses isNewRecord()
2014-09-05 17:22:14 +02:00
Fabien Franzen
fafe51833b
More fixes/tests
2014-09-05 17:09:23 +02:00
Fabien Franzen
aebf5e9e6b
Enforce id (prevent user-set value), fix isNewRecord
2014-09-05 16:35:01 +02:00
Fabien Franzen
433b89a78a
embedsMany - implement sync scope getter
2014-09-04 21:51:59 +02:00
Fabien Franzen
3efe7ab354
Scope method should return cached relation value (sync)
2014-09-04 21:23:24 +02:00
Fabien Franzen
41e0efb2b0
Export RelationClasses
...
Without this being exported, it was impossible to define custom
relation types. However, there are still limitations - not all helper
methods are public to really handle this scenario.
2014-09-04 21:04:55 +02:00
Raymond Feng
9a44d11e8e
Merge pull request #266 from strongloop/feature/fix-issue-265
...
Add neq operator support for memory connector
2014-09-04 10:30:08 -07:00
Raymond Feng
057d39d5bb
Simplify the id lookup
2014-09-04 09:32:38 -07:00
Fabien Franzen
72930bf20b
Re-use modelBuilder - correctly fixes lookup
2014-09-04 17:54:42 +02:00
Fabien Franzen
2c0ffee2d3
Polymorphic lookup from all registered dataSources
...
Polymorphic model lookup was previously limited to the same dataSource
as the modelFrom model, which turns out to be too restrictive. This was
uncovered by the use of a Transient model, not being able to lookup a
PersistedModel.
2014-09-04 17:31:53 +02:00
Fabien Franzen
07dbbd4224
Fix #283
2014-09-04 15:37:48 +02:00
Raymond Feng
b22dae3c7a
Merge pull request #281 from clarkorz/fix/hasManyThrough-custom-relation-name
...
Allows the belongsTo relations in through model to have custom name
2014-09-03 08:14:59 -07:00
Clark Wang
74ad6522e7
tidy codes
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 21:56:48 +08:00
Clark Wang
1393bd0759
Refector tests and codes
...
1. remove error
2. prune tests
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 21:51:21 +08:00
Clark Wang
b6f2026493
Refactor tests and codes
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 19:58:39 +08:00
Raymond Feng
cf3128467c
Merge pull request #275 from clarkorz/feature/add-with-through-data
...
Allow to add connection with through data for HasManyThrough relation
2014-09-02 22:44:01 -07:00
Clark Wang
26547f8461
Refactor codes into same if condition
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 12:31:09 +08:00
Clark Wang
cb2aeb96fb
Fix hasMany through can't custom relation name
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 11:04:58 +08:00
Raymond Feng
a2858d0499
Merge pull request #277 from clarkorz/fix/through-params
...
Fix options for hasManyThrough doesn't apply
2014-09-02 09:18:39 -07:00
Raymond Feng
6020436063
Added a test case for neq
2014-09-02 08:36:37 -07:00
Clark Wang
4d5f3835bb
Fix typo of keyThrough and get from params
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-02 21:57:24 +08:00
Clark Wang
0cbc15c631
Remove unnecessary console.log
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-02 12:55:52 +08:00
Clark Wang
4b70f2498f
Fix options for hasManyThrough doesn't apply
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-01 23:59:52 +08:00
Clark Wang
28ac561d63
revert eof
2014-09-01 14:09:38 +08:00
Clark Wang
e47a25c1f2
Revert leading spaces
2014-09-01 14:05:23 +08:00
Clark Wang
770cc7eda8
revert change to ReferencesMany.prototype.add
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-01 13:35:34 +08:00
Clark Wang
86045d4792
add jsdoc and fix add data to referencesMany.add
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-01 09:54:55 +08:00
Raymond Feng
f9a26bcb28
Merge pull request #270 from fabien/feature/dynamic-scope-modelTo
...
Enable dynamic modelTo for scopes
2014-08-31 08:39:14 -07:00
Raymond Feng
97827db59d
Merge pull request #268 from fabien/feature/transient-model
...
Transient connector implementation
2014-08-31 08:37:26 -07:00
Raymond Feng
6527bd0605
Merge pull request #259 from fabien/fix/refactor-validations
...
Validations configuration as object
2014-08-31 08:37:03 -07:00
Raymond Feng
14dfbb763d
Merge pull request #272 from clarkorz/fix/polymorphicName-var-scope
...
fix polymorphicName var scope
2014-08-31 08:36:22 -07:00
Clark Wang
565b85555c
Allow to add connection with through data for HasManyThrough relation
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-08-31 21:40:18 +08:00
Clark Wang
d43044c766
fix polymorphicName var scope
...
see https://github.com/strongloop/loopback-datasource-juggler/issues/271
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-08-31 19:57:37 +08:00
Fabien Franzen
3f517a4c0a
Reset json when building model definition
2014-08-31 12:17:53 +02:00
Fabien Franzen
0a9cb72837
Enable dynamic modelTo for scopes
...
This is especially useful for relations/prototype scopes, as it allows
you to dynamically deduce the target model from the current receiver
(model instance). This is an advanced option that should otherwise have
no effect on the previous/default functionality. Basically, the
targetClass is taken out of the closure and handled by a method called
targetModel now.
2014-08-30 20:58:06 +02:00
Fabien Franzen
f31a9b13be
Updated embedded relations to use transient connector
...
embedsMany will now use a connector's generated method, when defined.
Also, the id property type is now inferred correctly, making the autoId
option obsolete. However, a new option, forceId, can be set to enforce
the use of auto-generated ids, preventing any explicitly (user-)set id
values.
2014-08-30 11:43:36 +02:00
Fabien Franzen
bd9895ebd6
Implemented Transient connector
2014-08-30 10:53:10 +02:00
Fabien Franzen
170dc661f4
Fix error messages, should be lowercase
2014-08-29 21:30:42 +02:00
Raymond Feng
e9f00fbd8b
Add neq operator support for memory connector
...
See https://github.com/strongloop/loopback-datasource-juggler/issues/265
2014-08-29 08:45:45 -07:00
Raymond Feng
32313c1df9
Make sure timeout handle is cleared
2014-08-27 09:42:16 -07:00
Raymond Feng
fde5b426e4
Make sure error events are emitted by data source
2014-08-27 09:14:17 -07:00
Fabien Franzen
6fae8c7277
Remove iteration of config args
...
Fixes #154 - args should only contain the property name at that point,
not loop over it.
2014-08-26 18:01:23 +02:00
Fabien Franzen
86ea107550
Validations configuration as object
...
Previously validations were appended to an array when configured. The
format was cumbersome, and led to issues. This refactors the
configuration into an object, as a property of the Model.
Note that if no validations have been configured, this property is
currently `undefined`.
2014-08-26 17:51:01 +02:00
Fabien Franzen
73330113ae
Applied Coobaha's PR fix - prevents undefined values
2014-08-26 17:15:07 +02:00
Fabien Franzen
bed97a75cb
Expose validation metadata
...
The new Validatable.validations mixin method returns the validations as
an object
indexed by property name.
2014-08-26 16:56:09 +02:00
Fabien Franzen
a4db887493
Implement where arg on scoped count and destroyAll
2014-08-26 14:54:19 +02:00
Fabien Franzen
b27fd6527e
Use the correct dataSource for modelFrom/modelTo
2014-08-22 21:38:28 +02:00
Raymond Feng
ce12db3e45
Merge pull request #250 from offlinehacker/embedsMany_deleted
...
Emit deleted event on delete for embedsMany relations
2014-08-22 11:05:21 -07:00
Raymond Feng
0f3e7d50bd
Merge pull request #239 from strongloop/feature/add-ping
...
Add ping() to test connections
2014-08-22 09:30:43 -07:00
Jaka Hudoklin
000c380a48
Emit deleted event on delete for embedsMany relations
...
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-08-22 16:02:01 +02:00
Raymond Feng
fcd8ed984c
Make sure falsy value is kept for properties not predefined
2014-08-21 13:47:09 -07:00
Fabien Franzen
3f0380296a
Fix side-effects of PR #237 - see #242
2014-08-21 10:44:55 +02:00
Raymond Feng
3875c561e0
Add ping() to test connections
2014-08-20 16:31:23 -07:00
Raymond Feng
a43bed1f1b
Merge branch 'feature/to-one-update' of github.com:fabien/loopback-datasource-juggler into fabien-feature/to-one-update
2014-08-20 14:30:38 -07:00
Raymond Feng
f5839fb6ae
Merge branch 'feature/embeds-one' of github.com:fabien/loopback-datasource-juggler into fabien-feature/embeds-one
2014-08-20 14:28:45 -07:00
Raymond Feng
af329e3a66
Save the instance even the callback is not present
2014-08-20 14:22:47 -07:00
Fabien Franzen
20e5d3c01b
Validate embedded models by default
2014-08-20 08:58:08 -07:00
Fabien Franzen
1ec5357a6c
Implemented embedsOne
2014-08-20 08:58:08 -07:00
Fabien Franzen
faed0510c1
Coerce embedded model types
2014-08-20 08:58:07 -07:00
Fabien Franzen
3b81b928fb
Implement DAO unsetAttribute
2014-08-20 08:57:20 -07:00
Fabien Franzen
af99a8d344
Implemented belongsTo update/destroy on scope
2014-08-20 16:46:54 +02:00
Fabien Franzen
12ebaf77f2
Implemented hasOne destroy()
2014-08-20 15:58:45 +02:00
Fabien Franzen
123b2558a1
Implemented hasOne update()
2014-08-20 15:54:47 +02:00
Fabien Franzen
1d5079d811
Implement update() on embedsOne scope
2014-08-20 15:37:40 +02:00
Fabien Franzen
a446551a59
Fix relations for RDBMS connectors (mysql, postgresql)
...
- fix tests (explicit model/property definitions)
- fix include vs. RDBMS model strictness
2014-08-20 14:03:38 +02:00
Fabien Franzen
6f815526b0
Validate embedded models by default
2014-08-19 22:15:30 +02:00
Fabien Franzen
7c901af6d9
Implemented embedsOne
2014-08-19 22:10:35 +02:00
Fabien Franzen
2b262c04f6
Coerce embedded model types
2014-08-19 22:06:55 +02:00
Fabien Franzen
c19aca906d
Implement DAO unsetAttribute
2014-08-19 22:05:27 +02:00
Fabien Franzen
dad8266837
Prevent failure with null in List toObject
2014-08-18 07:28:33 +02:00
Raymond Feng
a6fe10e527
Merge pull request #226 from fabien/feature/multi-mixin
...
Add ability to apply a plugin multiple times from LDL
2014-08-17 22:18:05 -07:00
Fabien Franzen
291e7b2c74
Fix ModelDefinition toJSON bug
2014-08-17 18:01:52 +02:00
Fabien Franzen
39a728be84
Add ability to apply a plugin multiple times from LDL
2014-08-17 12:29:04 +02:00
Raymond Feng
c3c2907248
Merge pull request #224 from fabien/fix/ldl-polymorphic
...
Properly handle LDL for polymorphic relations
2014-08-16 08:15:09 -07:00
Fabien Franzen
b4b1c784dd
HasMany exists should use internal findById
...
This limits the scope correctly, taking polymorphics into account.
(the foreign key check is actually obsolete I think)
2014-08-16 13:04:13 +02:00
Fabien Franzen
315d5c15c6
Tiny fix: obsolete i8n require
2014-08-16 11:07:48 +02:00
Fabien Franzen
ad780604e1
Properly handle LDL for polymorphic relations
2014-08-16 11:03:16 +02:00
Raymond Feng
7f9108c6d2
Check null
...
See https://github.com/strongloop/loopback-datasource-juggler/issues/223
2014-08-15 23:30:23 -07:00
Fabien Franzen
3e300c1f35
Add strict flag to sortObjectsByIds
...
When true, any object not in the ids will be discarded and a subset
will be returned.
2014-08-15 19:47:12 +02:00
Fabien Franzen
9f1c5d9c37
Moved DataAccessObject.sortByIds to utils.js
2014-08-15 19:39:58 +02:00
Fabien Franzen
085bb94505
Allow partial list of ids for sortByIds
2014-08-15 19:39:58 +02:00
Raymond Feng
8743d75999
Merge pull request #222 from fabien/fix/relation-tests
...
Fixed duplicate code
2014-08-15 10:15:11 -07:00
Fabien Franzen
0e348b0333
Fixed duplicate code
2014-08-15 18:51:19 +02:00