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
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
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
Raymond Feng
950be998bc
Fix the test case so that it works with other DBs
2014-08-08 09:39:36 -07:00
Raymond Feng
caff62d8b3
Merge branch 'fabien-feature/plugins'
2014-08-08 09:29:17 -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
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
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
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
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
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
296bb0d73e
Minor touchups
2014-07-29 14:05:18 +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
Laurent Chenay
b336166acc
Add test to protect the use of include in related method
2014-07-29 11:05:57 +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
Fabien Franzen
7ddfbb6409
polymorphics can now be declared using object
2014-07-28 10:44:26 +02:00
Fabien Franzen
43e11af942
Test build of embedsMany
2014-07-27 17:16:25 +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
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
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š
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
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
Raymond Feng
8f46626c0b
Expose base model class as `base` property
2014-07-21 10:21:30 -07:00
Raymond Feng
fc710ca55a
Merge branch 'master' into 2.0
2014-07-15 17:09:20 -07:00
Raymond Feng
82c6c8e851
Make sure related properties are defined for RDBMS
2014-07-15 16:10:37 -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
Fabien Franzen
03617b58df
Sign-off
...
Signed-off-by: Fabien Franzen <info@atelierfabien.be>
2014-07-12 00:24:07 +02:00
Fabien Franzen
48c4f25b09
Renamed mapping to properties
2014-07-12 00:02:16 +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
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
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
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
44de2da21f
Merge branch 'master' into 2.0
2014-06-20 23:02:37 -07:00
Raymond Feng
a2a91499dd
Fix the test case
2014-06-20 21:07:26 -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
b07c36eab7
Use async for flow control
2014-06-20 12:05:42 -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
7c71e1e53b
Merge pull request #141 from strongloop/feature/fix-perf
...
Feature/fix perf
2014-06-18 22:40:00 -07:00
Raymond Feng
888d15ce1c
Optimize model instantiation and conversion
2014-06-18 22:13:52 -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
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
2db43c58e5
Add support for hasOne
2014-06-16 01:17:37 -07:00
Raymond Feng
1406c22a64
Refactor relation into classes
2014-06-15 15:53:58 -07:00
Raymond Feng
bb57fcbe11
Fix the comparison for null/boolean values
2014-06-10 16:11:50 -07:00
Raymond Feng
b5816506e0
Add boolean tests
2014-06-06 09:28:08 -07:00
Raymond Feng
171642ff48
Make sure the records are sorted by seq
2014-06-06 09:09:56 -07:00
Raymond Feng
0191e3c2db
Add more tests
2014-06-06 08:48:05 -07:00
Raymond Feng
5f3c856d2e
Fix the logical operator check
2014-06-04 14:23:53 -07:00
Raymond Feng
42c1ad3dca
Normalize/validate the query filter object
2014-06-02 15:57:44 -07: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
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
Ritchie Martori
69b0355fa7
Merge pull request #115 from strongloop/refactor/remove-remoting
...
Remove remoting metadata
2014-05-20 13:59:33 -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
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
Raymond Feng
3f410cae21
Add test cases for updateOrCreate/save and fix related issues
2014-05-09 15:27:45 -07:00