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
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
Alex Voitau
f1638e9e4c
#350 : Creating a batch via hasMany relation is failing. Added context 'with scope' to allow individual execution of tests.
2014-11-07 15:21:15 -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
833c24a2a3
Tests for non standard id - hasOne and polymorphic
2014-10-29 12:06:05 +01: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
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
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
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
2838158139
Fix failing test
2014-10-09 18:18:04 +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
702796a486
Test default scope with relations
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
28a661a81a
Test improvement, shows _targetClass camelCase bug
...
There is an issue where setting _targetClass on hasAndBelongsToMany
relations with a camel-case model name, fails.
Signed-off-by: Khashayar Hajian <me@khashayar.me>
2014-09-17 17:28:40 +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
d1a08ef6b3
Add test case for Numeric ids (with optional forceId)
2014-09-07 20:54:11 +02: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
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
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
a815ad0c1a
Test .value() method - as used by scope getter
2014-09-04 21:57:18 +02:00
Fabien Franzen
433b89a78a
embedsMany - implement sync scope getter
2014-09-04 21:51:59 +02:00
Fabien Franzen
92a76d3edb
hasAndBelongsToMany - test sync scope getter
2014-09-04 21:30:41 +02:00
Fabien Franzen
80b71438a7
polymorphic hasMany - test sync scope getter
2014-09-04 21:29:21 +02:00
Fabien Franzen
e502bd4459
hasOne - test sync scope getter
2014-09-04 21:27:40 +02:00
Fabien Franzen
98a75103a1
hasMany through - sync scope getter
2014-09-04 21:25:26 +02:00
Fabien Franzen
3efe7ab354
Scope method should return cached relation value (sync)
2014-09-04 21:23:24 +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
Fabien Franzen
830a3f6f1a
Remove legacy Schema references
2014-09-04 18:01:04 +02:00
Fabien Franzen
7b788a2903
getTransientSchema => getTransientDataSource
2014-09-04 17:56:26 +02: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
4abe7f4954
Isolate transient schema helper
2014-09-04 15:33:12 +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
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
902885c3f8
Remove only
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 11:30:32 +08:00
Clark Wang
69b01b23f9
Add tests for hasMany through between same model
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-03 11:29:32 +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
6020436063
Added a test case for neq
2014-09-02 08:36:37 -07: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
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
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
Fabien Franzen
3f517a4c0a
Reset json when building model definition
2014-08-31 12:17:53 +02:00
Fabien Franzen
e874810499
Add hint, minor cleanup
2014-08-30 21:08:23 +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
fde5b426e4
Make sure error events are emitted by data source
2014-08-27 09:14:17 -07: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
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
Raymond Feng
6bc2a53afb
Tweak the model names used by tests to avoid mssql conflicts
2014-08-25 22:17:51 -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
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
a1c1a9c658
Fix the embedsOne test cases
2014-08-20 11:42:14 -07:00
Raymond Feng
5088c4dd74
Fix test cases
2014-08-20 08:58:08 -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
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