Raymond Feng
a8f3d21b65
Merge pull request #436 from strongloop/feature/fix-issue-293
...
Make sure base properties/settings are merged into the submodel
2015-02-11 16:13:00 -08:00
Raymond Feng
9bac813f59
Merge pull request #435 from strongloop/feature/add-options-to-crud-methods
...
Add an optional `options` argument to all CRUD methods
2015-02-11 10:31:18 -08:00
Raymond Feng
760ac97902
Add an optional `options` argument to all CRUD methods
2015-02-10 23:57:05 -08:00
Raymond Feng
ecf84bf802
Enhance the coercion for boolean/date types
...
See https://github.com/strongloop/loopback-connector-mongodb/issues/90
2015-02-08 10:54:42 -08:00
Raymond Feng
cd2bd34619
Make sure base properties/settings are merged into the submodel
...
See https://github.com/strongloop/loopback-datasource-juggler/issues/293
2015-02-07 11:15:28 -08:00
Clark Wang
0bef56efc0
support optimized findOrCreate
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
remove undefined for creating data in findOrCreate
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
getLastGeneratedUid instead of force an id
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-02-07 10:23:04 +08:00
Raymond Feng
e9c966227d
Merge pull request #420 from aol-nnov/fkCustomDbType
...
Create model foreign key matching type of opposite part of relation (even if it has a custom field type)
2015-02-05 10:28:04 -08:00
Miroslav Bajtoš
2e2e01cc5c
Merge pull request #430 from PradnyaBaviskar/issue709
...
Return 400 when client provides an incorrect value
2015-02-05 12:42:54 +01:00
Pradnya Baviskar
be37fb4388
Return 400 when client provides an incorrect value
2015-02-05 16:58:42 +05:30
Miroslav Bajtoš
4889443ed0
Merge pull request #422 from strongloop/feature/fix-mongodb-issue-87
...
Remove undefined properties for create
2015-02-04 19:11:02 +01:00
Raymond Feng
79eabf3cf9
Fix typo
2015-02-04 08:30:13 -08:00
Clark Wang
09f7c92cbe
use findOrCreate in hasOne#create
...
So hasOne#create could take advantage from optimized findOrCreate,
which can avoid multiple creation among concurrent requests.
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-02-04 14:54:28 +08:00
Raymond Feng
9769df2c91
Remove undefined properties for create
...
See https://github.com/strongloop/loopback-connector-mongodb/issues/87
2015-02-03 08:35:18 -08:00
Andrey Loukhnov
e68ecb461a
Create model foreign key matching type of opposite part of relation (even if it has a custom field type)
2015-02-03 13:13:00 +03:00
Miroslav Bajtoš
9298919ec0
Merge pull request #418 from strongloop/feature/rename-query-to-access-hook
...
Rename hook "query" to "access"
2015-02-02 19:04:47 +01:00
Raymond Feng
4793546353
Merge pull request #400 from chrene/protected
...
Add support for protected properties.
2015-02-02 09:04:51 -08:00
Raymond Feng
bba1ce0768
Merge pull request #405 from clarkorz/fix/id-for-compositeIds
...
fix id property for composite ids
2015-02-02 08:59:40 -08:00
Raymond Feng
fd97b06bcc
Merge pull request #416 from strongloop/feature/fix-lb-1058
...
Fix id type issue for update
2015-02-02 08:58:10 -08:00
Raymond Feng
4afb2385a9
Fix id type issue for update
...
https://github.com/strongloop/loopback/issues/1058
2015-02-02 08:44:36 -08:00
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
2e9e2dd192
fix id property for composite ids
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-01-22 10:39:47 +08: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
Christian Enevoldsen
7372fafc97
Fixed typos and logic for protected properties
2015-01-20 21:32:31 +01:00
Christian Enevoldsen
d39f539413
adds support for protected properties.
2015-01-20 20:58:52 +01: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
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
Raymond Feng
03d94a86e5
Merge pull request #219 from fabien/fix/relation-tests
...
Fix BelongsTo.prototype.create + remaining issues with new relation types
2014-08-15 09:46:27 -07:00
Fabien Franzen
6b0bbed780
Merge branch 'fix/relation-tests' of https://github.com/fabien/loopback-datasource-juggler into fix/relation-tests
2014-08-15 18:43:20 +02:00
Fabien Franzen
96a276a12b
Refactor embedsMany - auto-save parent
...
With this change, saving an embedded model now correctly updates the
parent model.
Before, a separate `save()` call on the parent was required, contrary
to other relation types.
2014-08-15 18:40:33 +02:00
Raymond Feng
62db2155e4
Merge pull request #212 from offlinehacker/relations_count
...
add count to relations
2014-08-15 09:37:50 -07:00
Fabien Franzen
8193f402bb
Refactor polymorphic relations, fix inverse #215
...
See #215 - when creating a related item through a the inverse of a
polymorphic HABTM relation,
the through-model was not created correctly. By refactoring the
specifics into the `polymorphic`
property of a RelationDefinition, it's now possible to handle this
correctly.
2014-08-15 18:35:31 +02:00
Fabien Franzen
78e2c9c9d4
Clarified tests, fixed BelongsTo.prototype.create
...
Added clarified test-case based on previous documentation example.
Fixed BelongsTo.prototype.create - although the foreignKey was set on
the model instance,
it was never actually persisted, unless you'd issue a separate call to
save the 'parent' model.
2014-08-15 18:35:31 +02:00
Raymond Feng
d7900a8a21
Merge pull request #211 from fabien/fix/relationTypes
...
Fix relationTypes
2014-08-15 09:29:22 -07:00
Raymond Feng
e22389967c
Merge pull request #214 from fabien/fix/scope-order
...
Allow runtime override of scope/relation order query param
2014-08-15 09:25:17 -07:00
Raymond Feng
da4482d1cf
Merge pull request #213 from fabien/feature/scope-rel-methods
...
Implement scope.defineMethod/relation.defineMethod
2014-08-15 09:24:24 -07:00
Fabien Franzen
7cd880712b
Handle toObject in updateAttributes
...
Since one can call updateAttributes with any kind of properties (as
opposed to save, which uses toObject internally), any objects that
correspond to toObject should be handled as such. This is particularly
the case with List objects, as used by embedsMany.
2014-08-15 18:01:40 +02:00
Fabien Franzen
c2f9ee381c
Implement embedded.destroy() integration
2014-08-15 15:24:00 +02:00
Fabien Franzen
21801058c9
Refactor embedsMany - auto-save parent
...
With this change, saving an embedded model now correctly updates the
parent model.
Before, a separate `save()` call on the parent was required, contrary
to other relation types.
2014-08-15 15:12:02 +02:00
Fabien Franzen
c3c2c85ce4
Refactor polymorphic relations, fix inverse #215
...
See #215 - when creating a related item through a the inverse of a
polymorphic HABTM relation,
the through-model was not created correctly. By refactoring the
specifics into the `polymorphic`
property of a RelationDefinition, it's now possible to handle this
correctly.
2014-08-15 12:55:10 +02:00
Fabien Franzen
35850f6632
Clarified tests, fixed BelongsTo.prototype.create
...
Added clarified test-case based on previous documentation example.
Fixed BelongsTo.prototype.create - although the foreignKey was set on
the model instance,
it was never actually persisted, unless you'd issue a separate call to
save the 'parent' model.
2014-08-15 11:28:25 +02:00
Fabien Franzen
cd3ad32bb7
Fix formatting
2014-08-14 20:12:17 +02:00
Fabien Franzen
7d847f25dc
Fix scopeMethods closure issue
2014-08-14 20:12:17 +02:00
Fabien Franzen
a67759dcbf
Refactored embedsMany (relationName vs. propertyName)
2014-08-14 20:12:16 +02:00
Fabien Franzen
a243d05880
Enable DL definition of embedsMany + referencesMany
2014-08-14 20:12:16 +02:00
Fabien Franzen
807a6aaf3f
Refactor modelTo logic into lookupModelTo
2014-08-14 19:43:30 +02:00
Miroslav Bajtoš
12514b01d0
Merge pull request #210 from fabien/fix/embeds-many
...
Tiny fix: use setAttributes
2014-08-14 18:55:00 +02:00
Fabien Franzen
d7555bfb64
Allow runtime override of scope/relation order query param
2014-08-13 16:24:11 +02:00
Fabien Franzen
710ad35b39
Implement scope.defineMethod/relation.defineMethod
2014-08-13 11:28:23 +02:00
Jaka Hudoklin
0d44cdc573
add count to relations
...
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-08-12 14:44:33 +02:00
Rand McKinney
4cb22793e2
Fix links to confluence docs
2014-08-11 11:42:21 -07:00
Fabien Franzen
93fab448bc
Tiny fix: use setAttributes
2014-08-11 13:03:51 +02:00
Raymond Feng
c53dc74d16
Fix a name conflict in scope metadata
2014-08-08 15:52:30 -07:00
Raymond Feng
caff62d8b3
Merge branch 'fabien-feature/plugins'
2014-08-08 09:29:17 -07:00
Raymond Feng
3d5ec63c99
Pass options into scope
2014-08-08 09:25:49 -07:00
Raymond Feng
7fe7bf9b9a
Add scope definitions to the model class
...
See https://github.com/strongloop/loopback/issues/454
2014-08-08 09:01:24 -07:00
Raymond Feng
f671c9c726
Clean up the mixin processing
2014-08-08 01:20:57 -07:00
Raymond Feng
55ff28206f
Merge branch 'feature/plugins' of github.com:fabien/loopback-datasource-juggler into fabien-feature/plugins
2014-08-07 22:51:25 -07:00
Laurent
71398518ff
Fix bug when using multiple include keys
2014-08-06 20:40:24 +02:00
Fabien Franzen
35776311fd
Unified plugins into mixins
...
Mixin types: module function, module object, LDL json object.
2014-08-06 13:26:47 +02:00
Fabien Franzen
455ee9ec63
Fix typo: loadPlugin(s)
2014-08-05 16:28:17 +02:00
Fabien Franzen
f1f692a8a5
Minor touch-ups
2014-08-05 16:26:34 +02:00
Fabien Franzen
1a4e8863ef
Basic plugin architecture
...
Similar to http://mongoosejs.com/docs/plugins.html
Next, loopback-boot should be updated to support loading plugins from
dirs.
2014-08-05 16:16:10 +02:00
Raymond Feng
d07b716ae8
Merge pull request #200 from strongloop/feature/emit-events-during-attach
...
Emit dataAccessConfigured events during attach
2014-08-04 15:27:11 -07:00
Fabien Franzen
93aea7eb66
Changed options.path to option.http.path
2014-08-04 19:45:47 +02:00
Fabien Franzen
81a822524d
Removed normalization (see strong-remoting)
2014-08-04 12:17:06 +02:00
Raymond Feng
b9d9ab0fb3
Emit dataAccessConfigured events during attach
...
See discussions at https://github.com/strongloop/loopback/issues/410
2014-08-01 08:22:33 -07:00
Fabien Franzen
ef65ffee48
Changed normalization api - enabled hasOne remoting
2014-08-01 11:24:41 +02:00
Fabien Franzen
71bf0f8240
Customize/Normalize class-level remoting http path
2014-08-01 09:38:25 +02:00
Raymond Feng
6239d8fde5
Merge branch 'patch-4' of github.com:lchenay/loopback-datasource-juggler into lchenay-patch-4
2014-07-30 21:34:41 -07:00
Jaka Hudoklin
d896a0982e
fix datasources to support new model parameters
...
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-07-31 01:06:52 +02:00
Fabien Franzen
090c738bb5
Correctly handle remoting of scope methods
2014-07-30 17:30:21 +02:00
Fabien Franzen
af0ca5b108
Handle remoting of custom scope methods
2014-07-30 16:46:05 +02:00
Fabien Franzen
e38c92af87
ReferencesMany fixes after LB integration tests
2014-07-30 15:01:55 +02:00
Fabien Franzen
5cee6a4b79
Fixed embedsMany after LB integration
2014-07-30 13:22:20 +02:00
Raymond Feng
7a9b64f1bf
Fix the test failure for mongodb
2014-07-29 22:19:52 -07:00
Fabien Franzen
e888b8cff9
Allow custom scopeMethods option (obj/fn) for relation scopes
2014-07-29 22:59:44 +02:00
Fabien Franzen
06f2b32c21
Renamed EmbedsMany 'reference' option to 'belongsTo'
2014-07-29 21:56:59 +02:00
Fabien Franzen
1782b439f1
Implemented referencesMany
2014-07-29 21:46:12 +02:00
Fabien Franzen
60fd39d311
Added option: reference to enable embedsMany add/remove
2014-07-29 17:43:30 +02:00
Fabien Franzen
b18384459a
Implemented findByIds
2014-07-29 15:01:47 +02:00
Fabien Franzen
13cee9502c
Tests for polymorphic embedsMany
2014-07-29 13:57:49 +02:00
Fabien Franzen
da303b72a5
Implemented more complex scenaro: embedsMany + relations
...
The test case will denormalize data into the embedded object,
and re-use the actual related object id as its own id.
2014-07-29 12:02:52 +02:00
Fabien Franzen
6ed7a0a5f2
Convenience embedsMany accessors: at(idx), get(id), set(id, data)
2014-07-29 10:51:33 +02:00
Raymond Feng
cb43114ab7
Fix test cases
2014-07-28 16:15:37 -07:00
Raymond Feng
1b44a6d779
Merge branch 'feature/embed-hasmany' of github.com:fabien/loopback-datasource-juggler into fabien-feature/embed-hasmany
2014-07-28 14:51:16 -07:00
Raymond Feng
75403ef929
Merge branch 'feature/polymorphic-rel' of github.com:fabien/loopback-datasource-juggler into fabien-feature/polymorphic-rel
...
Fix test cases
2014-07-28 14:22:45 -07:00
Raymond Feng
8bc11ca51e
Increase the max number of model listeners
...
See https://github.com/strongloop/loopback/issues/404
2014-07-28 13:02:00 -07:00
Raymond Feng
5221d12305
Remove unused data
2014-07-28 09:36:04 -07:00
Laurent Chenay
aaf037fc51
Do not overwrite inclusion but scope them. Needed in relation hasManyThrought
2014-07-28 15:20:04 +02:00
Laurent Chenay
04a56e2ea6
Fix HEAD on relation hasMany
2014-07-28 11:36:32 +02:00
Fabien Franzen
309105c4ad
Updated remaining relations to use polymorphicParams
2014-07-28 11:12:20 +02:00
Fabien Franzen
7ddfbb6409
polymorphics can now be declared using object
2014-07-28 10:44:26 +02:00
Fabien Franzen
4e76c2a77f
typeTo => discriminator
2014-07-28 10:18:42 +02:00
Fabien Franzen
e1ecb4b95f
Require unique ids for embedded items
2014-07-27 17:30:10 +02:00
Fabien Franzen
43e11af942
Test build of embedsMany
2014-07-27 17:16:25 +02:00
Fabien Franzen
cd2cc68905
Minor fix
2014-07-27 16:56:30 +02:00
Fabien Franzen
1487a592c1
Added validation for embedded items (optional)
2014-07-27 16:54:01 +02:00
Fabien Franzen
59a957b538
Implemented embedsMany relation
2014-07-27 16:30:45 +02:00
Raymond Feng
1a989041ed
Fix a regression where undefined id should not match any record
2014-07-27 00:38:50 -07:00
Fabien Franzen
5a5aa3f14d
Minor tweaks; pass-through properties/scope for hasAndBelongsToMany
2014-07-26 21:32:24 +02:00
Fabien Franzen
5e30ec8637
Implemented polymorphic hasMany through inverse
...
Added option invert: true to enable inverse polymorphic hasMany
relations.
Fixed missing fk1 in query of HasManyThrough.prototype.exists.
2014-07-26 21:11:25 +02:00
Fabien Franzen
d1896553fd
More hasAndBelongsToMany tests
2014-07-26 17:20:25 +02:00
Fabien Franzen
9f94ec9bde
Minor cleanup
2014-07-26 15:23:40 +02:00
Fabien Franzen
00dfe563eb
Implemented polymorphic hasOne
...
Signed-off-by: Fabien Franzen <info@atelierfabien.be>
2014-07-26 15:20:46 +02:00
Fabien Franzen
295e6fc1f1
Implemented polymorphic hasAndBelongsToMany
2014-07-26 14:54:54 +02:00
Fabien Franzen
9b97e1ae77
Implemented polymorphic hasMany
2014-07-26 12:47:55 +02:00
Miroslav Bajtoš
ebd0bc62ee
datasource: support connectors without `getTypes`
...
Asking connectors to provide `getTypes` function is a breaking
change, connectors working with loopback 1.3 no longer works
in newer versions.
2014-07-25 11:32:40 +02:00
Miroslav Bajtoš
cd4dba79dc
relation: add `scope._target` for `hasOne`
...
Add `_target` property to the scope method created by `hasOne`
relationship. The `_target` property is used by loopback-sdk-angular.
2014-07-24 20:22:11 +02:00
Fabien Franzen
973c96268f
Fix scoped destroyAll: only use 'where', not full 'filter' args
2014-07-24 15:55:00 +02:00
Fabien Franzen
687eb9888b
Added test for belongsTo scope/properties
...
Note: its seems that keyFrom and keyTo were mistakingly reversed in
BelongsTo.prototype.create, please double check. The added test cases
now pass with pk/fk switched.
2014-07-23 11:10:44 +02:00
Fabien Franzen
bc4076f35e
Implement scope/properties for BelongsTo (+ fix foreign key matching)
2014-07-22 22:09:29 +02:00
Raymond Feng
61d315cb28
Merge pull request #180 from strongloop/feature/refactor-relation-remoting
...
Move relation remoting to loopback
2014-07-22 11:13:07 -07:00
Raymond Feng
716b27b0f0
Merge pull request #181 from offlinehacker/master
...
Add support for disabling relationship includes
2014-07-21 13:46:43 -07:00
Jaka Hudoklin
11679beb14
add support for disabling relationship includes
...
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-07-21 22:39:29 +02:00
Jaka Hudoklin
b1a1894635
add support for relationship options
...
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-07-21 22:39:06 +02:00
Raymond Feng
8f46626c0b
Expose base model class as `base` property
2014-07-21 10:21:30 -07:00
Raymond Feng
ad22b025a6
Move relation remoting to loopback
2014-07-16 16:36:43 -07:00
Raymond Feng
fc710ca55a
Merge branch 'master' into 2.0
2014-07-15 17:09:20 -07:00
Raymond Feng
ee6da650e9
Test instance or id by the model type
2014-07-15 16:09:54 -07:00
Raymond Feng
dc6ada6348
Merge pull request #165 from strongloop/feature/allow-hook-skip-next
...
Pass callback to hooks so that next can be skipped
2014-07-15 12:53:52 -07:00
Raymond Feng
efeb59178f
Merge pull request #174 from fabien/fix/validations
...
Fix/validations
2014-07-15 12:53:33 -07:00
Raymond Feng
9325ce316b
Allow before hooks to pass arguments to next()
2014-07-15 12:51:33 -07:00
Raymond Feng
f3dbc6ca5f
Remoting methods for hasMany through
2014-07-15 08:50:34 -07:00
Raymond Feng
ae9c7f8cac
Fix the error message
2014-07-14 08:56:33 -07:00
Fabien Franzen
48c4f25b09
Renamed mapping to properties
2014-07-12 00:02:16 +02:00
Fabien Franzen
61f6d49518
Fix validateUniqueness/nextTick
2014-07-11 23:55:15 +02:00
Fabien Franzen
50656b8206
Handle custom error codes
...
Fixes #151
2014-07-11 23:03:07 +02:00
Fabien Franzen
a58dbe3a54
More validations and tests
...
Added validatesAbsenceOf. Handle async with if/unless prevention of
validators correctly. See: #170 #158
2014-07-11 22:56:02 +02:00
Fabien Franzen
5f1431aa05
Don't check uniqueness of blank values
2014-07-11 22:07:57 +02:00
Fabien Franzen
6aaa3f216e
RelationDefinition applyScope/applyMapping
...
Add the ability to set static/dynamic filtering (where, order, limit,
skip, fields …) and property mapping/transfer (de-normalization) for
hasMany/hasOne.
2014-07-11 15:29:47 +02:00
Raymond Feng
a37129bdff
Allows default model class to be configured
2014-07-08 14:04:20 -07:00
Samuel Reed
b66183f7dc
DAO.prototype.exists should return 'boolean' type.
...
Signed-off-by: Samuel Reed <samuel.trace.reed@gmail.com>
2014-07-08 15:51:24 -05:00
Miroslav Bajtoš
0296ef113d
Make sure 'deleteById' is used as the remote operation name
...
See strongloop/loopback#359
2014-07-03 08:17:01 +02:00
Raymond Feng
f7afade229
Make sure 'upsert' is used as the remote operation name
...
See https://github.com/strongloop/loopback/issues/359
2014-07-02 12:20:56 -07:00
Raymond Feng
e45834b454
Merge pull request #156 from strongloop/feature/fix-lb-353
...
Make sure type of the foreign key match the primary key
2014-06-27 10:08:54 -07:00
Raymond Feng
d0e61af26f
Merge pull request #157 from strongloop/feature/query-order
...
Normalize filter.order and enforce more checks
2014-06-27 10:01:33 -07:00
Raymond Feng
e0c7619908
Normalize filter.order and enforce more checks
2014-06-26 23:40:20 -07:00
Raymond Feng
4515491318
Make sure type of the foreign key match the primary key
...
See https://github.com/strongloop/loopback/issues/353
2014-06-26 23:38:04 -07:00
Ritchie Martori
a3ed1a575e
Add "hasOne" to relationTypes
2014-06-26 14:48:27 -07:00
Miroslav Bajtoš
3572ecd12d
validations: support non-V8 browsers
...
Call `Error.captureStackTrace()` only when it is available.
Use `this.stack = (new Error).stack` when `captureStackTrace` is not
available but the `stack` property is (Firefox).
2014-06-23 14:39:37 +02:00
Raymond Feng
ce8254125f
Merge branch 'master' into 2.0
2014-06-21 12:53:46 -07:00
Raymond Feng
3edee5c4c5
Work around for Date default
...
See https://github.com/strongloop/loopback-connector-postgresql/issues/15
2014-06-21 12:53:06 -07:00
Raymond Feng
332579ec87
Synchronize with cachedRelations
2014-06-21 11:44:33 -07:00
Raymond Feng
cbee68706f
Remove remoting metadata
2014-06-20 23:54:46 -07:00
Raymond Feng
44de2da21f
Merge branch 'master' into 2.0
2014-06-20 23:02:37 -07:00
Raymond Feng
3f7e85101d
Merge pull request #140 from strongloop/feature/refactor-relation
...
Feature/refactor relation
2014-06-20 20:56:44 -07:00
Raymond Feng
86073cb480
Merge pull request #144 from strongloop/feature/add-update
...
Feature/add update
2014-06-20 12:28:48 -07:00
Raymond Feng
a1836662a7
Clean up comments
2014-06-20 12:05:32 -07:00
Raymond Feng
27f4c1b7b4
Fix the error msg
2014-06-19 15:09:19 -07:00
Raymond Feng
1833352238
More clean up for the scope processing
2014-06-19 12:00:49 -07:00
Raymond Feng
177752e144
Add more jsdocs
2014-06-19 11:13:24 -07:00
Raymond Feng
26501eaa2e
Merge pull request #135 from albertoleal/ConvertNullToNotFoundError
...
ConvertNulltoNotFoundError when calling DataAccessObject.findOne via rest
2014-06-18 23:00:30 -07:00
Raymond Feng
7c71e1e53b
Merge pull request #141 from strongloop/feature/fix-perf
...
Feature/fix perf
2014-06-18 22:40:00 -07:00
Raymond Feng
085a0a1681
Merge pull request #143 from strongloop/feature/lb-issue-336
...
Allows skip or offset
2014-06-18 22:31:47 -07:00
Raymond Feng
888d15ce1c
Optimize model instantiation and conversion
2014-06-18 22:13:52 -07:00
crandmck
893768e895
Add hooks and include mixins
2014-06-18 16:42:00 -07:00
Raymond Feng
b3b29d7313
Enhance the wildcard to regexp conversion
2014-06-18 12:37:49 -07:00
Raymond Feng
a487eb57cd
Add like/nlike support for memory connector
2014-06-17 23:19:28 -07:00
Raymond Feng
ad3af82923
Add support for updating multiple instances with query
2014-06-17 16:30:02 -07:00
crandmck
4ff6e0d707
Minor JSDoc cleanup
2014-06-17 13:21:21 -07:00
crandmck
907163949e
Initial JSDoc cleanup
2014-06-17 13:18:18 -07:00
Raymond Feng
4b9d98c6ce
Allows skip or offset
...
See https://github.com/strongloop/loopback/issues/336
2014-06-17 09:07:55 -07:00
Raymond Feng
e2ab9ccc93
Adding back the remoting metadata
2014-06-16 13:46:17 -07:00
Raymond Feng
046816191d
Clean up scope implementation
2014-06-16 10:50:42 -07:00
Raymond Feng
2db43c58e5
Add support for hasOne
2014-06-16 01:17:37 -07:00
Raymond Feng
34c1998f04
Fix the hasMany through connection
2014-06-16 00:36:12 -07:00
Raymond Feng
1406c22a64
Refactor relation into classes
2014-06-15 15:53:58 -07:00
Raymond Feng
0c13f8c23a
Merge pull request #132 from strongloop/feature/memory-connector-comparator
...
Feature/memory connector comparator
2014-06-13 11:46:52 -07:00
crandmck
1787f5ec4f
Add properties and other doc cleanup
2014-06-11 15:47:44 -07:00
Alberto Leal
4fd3c969f9
Convert null to NotFoundError for remoting call to DataAccessObject.findOne.
2014-06-11 16:59:21 -03:00
Raymond Feng
bb57fcbe11
Fix the comparison for null/boolean values
2014-06-10 16:11:50 -07:00
crandmck
c355c99cbd
More JSDoc cleanup
2014-06-10 14:27:58 -07:00
Raymond Feng
6e8034ff93
Fix the forEach closure
2014-06-06 09:59:57 -07:00
Raymond Feng
e0d3fec743
Fix the typo
2014-06-06 09:10:47 -07:00
Raymond Feng
0191e3c2db
Add more tests
2014-06-06 08:48:05 -07:00
Raymond Feng
a0a9fae9c6
Enhance comparators for memory connector
2014-06-06 08:19:41 -07:00
Rand McKinney
04e1256b8b
Update datasource.js
...
Fix small typo
2014-06-04 17:44:57 -07:00
Raymond Feng
5f3c856d2e
Fix the logical operator check
2014-06-04 14:23:53 -07:00
Raymond Feng
cdf9956867
Fix JS doc for private methods
2014-06-04 14:02:55 -07:00
Raymond Feng
42c1ad3dca
Normalize/validate the query filter object
2014-06-02 15:57:44 -07:00
Raymond Feng
3e8284d1ee
Use connector's buildWhere to implement count
2014-06-02 15:57:06 -07:00
Rand McKinney
653aab856c
JSDoc improvements
...
Improve createModel doc, Fix some other minor issues.
2014-05-29 15:33:01 -07:00
Miroslav Bajtoš
d8b4f5833a
ModelBuilder: add `prototype.defineValueType`
...
Add a shortcut for registering a new value type.
The current implementation registers the type in the singleton registry
`ModelBuilder.schemaTypes`.
The API should allow us to to change the implementation to register
the type in the scope of ModelBuilder instance only.
2014-05-29 11:57:59 +02:00
Miroslav Bajtoš
a86648ed7b
Replace connector base with loopback-connector
...
Remove references to Connector and BaseSQL, connectors should require()
loopback-connector instead of loopback-datasource-juggler.
2014-05-29 11:57:49 +02:00
Miroslav Bajtoš
9b33d9a274
Remove unsupported connectors
...
- cradle
- http
- neo4j
- riak
2014-05-28 19:49:07 +02:00
Raymond Feng
97b1501c1f
Keep undefined/null values for the array type
...
This allows connectors to distinguish between empty array and
undefined/null. For example, mongodb will not override existing array
properties if the value is undefined.
2014-05-27 21:59:21 -07:00
crandmck
83979cad7a
Remove JSDocs for scopeMethods.add(acInst) and scopeMethods.remove(acInst)
2014-05-27 21:59:21 -07:00
crandmck
835708d25d
Copy info from api-model.md to JSDoc
2014-05-27 21:59:21 -07:00
Miroslav Bajtoš
65fa7a1c00
validations: include more details in `err.message`
...
Modify ValidationError constructor to include the model name and
a human-readable representation of the validation errors (messages)
in the error message.
Before this change, the message was pointing the reader
to `err.details`. Most frameworks (e.g. express, mocha) log only
`err.message` but not other error properties, thus the logs were
rather unhelpful.
Example of the new error message:
The `User` instance is not valid. Details: `name` can't be blank.
2014-05-27 21:59:21 -07:00
Raymond Feng
050353f11d
Keep undefined/null values for the array type
...
This allows connectors to distinguish between empty array and
undefined/null. For example, mongodb will not override existing array
properties if the value is undefined.
2014-05-27 13:18:21 -07:00
crandmck
5937f0c0d5
Remove JSDocs for scopeMethods.add(acInst) and scopeMethods.remove(acInst)
2014-05-22 15:02:57 -07:00
crandmck
00226dde0d
Copy info from api-model.md to JSDoc
2014-05-21 17:50:44 -07:00
Ritchie Martori
69b0355fa7
Merge pull request #115 from strongloop/refactor/remove-remoting
...
Remove remoting metadata
2014-05-20 13:59:33 -07:00
Ritchie Martori
8849a4b49a
!fixup Remove additional remoting
2014-05-20 13:48:23 -07:00
Ritchie Martori
e724efd95f
!fixup Require ._delegate for fn override
2014-05-20 13:44:25 -07:00
Ritchie Martori
072999775e
Remove relation remoting
2014-05-20 12:47:14 -07:00
Miroslav Bajtoš
05410d56e1
validations: include more details in `err.message`
...
Modify ValidationError constructor to include the model name and
a human-readable representation of the validation errors (messages)
in the error message.
Before this change, the message was pointing the reader
to `err.details`. Most frameworks (e.g. express, mocha) log only
`err.message` but not other error properties, thus the logs were
rather unhelpful.
Example of the new error message:
The `User` instance is not valid. Details: `name` can't be blank.
2014-05-20 11:00:19 +02:00
Ritchie Martori
dc9c9b2bd4
Remove remoting metadata
2014-05-16 12:33:17 -07:00
Raymond Feng
981185f4c0
Merge pull request #112 from strongloop/feature/logical-operator
...
Add support for logical operator (AND/OR)
2014-05-16 08:46:25 -07:00
Adam Schwartz
49f0e5dcee
Fix typo "Unkown" => "Unknown"
2014-05-15 23:26:17 -04:00
crandmck
ba3653d406
Updated JSDoc comments with content from .md file
2014-05-15 17:59:23 -07:00
Raymond Feng
8f9dc1b867
Add support for logical operator (AND/OR)
2014-05-15 08:56:00 -07:00
Miroslav Bajtoš
2a74bdc4de
validations: support multi-key unique constraint
...
Modify the "unique" validator to accept additional property names to
narrow the space of rows searched for duplicates.
Example:
Consider `SiteUser` belongsTo `Site` via `siteId` foreign key.
Inside every site, the user email must be unique. It is allowed to
register the same email with multiple sites.
SiteUser.validateUniquenessOf('email', { scopedTo: ['siteId'] });
2014-05-15 09:15:44 +02:00
crandmck
1db35cc926
Update JSDoc comments with content from api-model.md
2014-05-14 18:30:42 -07:00
Rand McKinney
affe3cd943
Add JSDoc for lat and lng properties.
2014-05-14 16:34:24 -07:00
Ritchie Martori
2922eb63b7
Merge
2014-05-14 13:33:46 -07:00
Ritchie Martori
ad752747d3
Add missing changed event
2014-05-14 13:31:15 -07:00
Ritchie Martori
6c91201f79
Local Storage
2014-05-14 13:31:15 -07:00
Ritchie Martori
0866a55cb2
Do not .toObject if already Object
2014-05-14 13:31:15 -07:00
Zack Bloom
dd4089d1c7
Fix bug where invalid relations in include filters would hang the server
2014-05-13 13:59:15 -04:00
Raymond Feng
3f410cae21
Add test cases for updateOrCreate/save and fix related issues
2014-05-09 15:27:45 -07:00
Raymond Feng
0bcbe6ceae
Remove undefined for the data to be saved
2014-05-09 09:59:34 -07:00
Raymond Feng
4a907b0a18
Remove the undefined property to avoid mongodb upsert overwrite
2014-05-08 15:46:39 -07:00
Raymond Feng
8b128b566d
Make sure ObjectID type is not parsed as object
2014-05-08 15:46:14 -07:00
crandmck
cf75f55f73
Fix JSDoc - remove newlines from function alias declarations, etc.
2014-05-07 11:24:49 -07:00
Rand McKinney
a765ea31ab
Correct JSDoc for discoverModelDefinitions
2014-05-06 14:18:10 -07:00
Ritchie Martori
45eadabbeb
Fix remoting for IDs in URLs
2014-05-01 14:19:31 -07:00
Ritchie Martori
aea5836569
Add hidden property support
2014-04-11 11:39:57 -07:00
Miroslav Bajtoš
440dfaf3a7
scope-like remotable metadata for belongsTo
...
Modify the methods created by `belongsTo` relation to mimick the methods
created by scopes (e.g. via `hasMany` relation).
This allows client code generators like loopback-angular to use the same
code for all relation types.
2014-04-08 10:30:57 +02:00
Raymond Feng
a1f8919e13
Merge pull request #98 from strongloop/feature/fix-issue-97
...
Fix the method for belongsTo with correct receiver
2014-04-04 08:27:55 -07:00
Raymond Feng
68d2696248
Fix the method for belongsTo with correct receiver
2014-04-03 20:41:53 -07:00
Miroslav Bajtoš
d08c6714d8
scope: improve description of shared methods
...
The description is used by client SDK code-generators like
loopback-angularjs.
2014-04-03 09:19:06 +02:00
Miroslav Bajtoš
abf57ff497
scope: add _targetClass to scope property
...
Store the class of the results returned by a scope find method.
This class is different from the "targetClass" when the relations
is using a third "through" model (e.g. hasAndBelongsToMany).
2014-04-02 19:32:37 +02:00
Raymond Feng
c79d0b0c33
Merge pull request #92 from strongloop/feature/fix-issue-91
...
Fix the base sql connector to correct escape id values
2014-03-27 14:34:46 -07:00
Raymond Feng
c28546b629
Fix the base sql connector to correct escape id values
...
This is based on https://github.com/strongloop/loopback-datasource-juggler/pull/91
https://github.com/strongloop/loopback-datasource-juggler/issues/90
2014-03-24 14:56:52 -07:00
Raymond Feng
0e7acec591
Set the relation property correctly
...
See https://github.com/strongloop/loopback/issues/218
2014-03-23 21:07:04 -07:00
Raymond Feng
cc5975486d
Simplify the inclusion processing
2014-03-17 08:40:40 -07:00
Raymond Feng
cadacc44bb
Create scoped methods for belongsTo and improve docs
2014-03-17 08:40:40 -07:00
Raymond Feng
1dc0c34252
Fix the connector resolver to make sure known connectors are used
2014-03-17 08:32:37 -07:00
Raymond Feng
bef90bd529
Refactor the serialize/deserialize into two functions
2014-03-17 08:32:37 -07:00