Commit Graph

626 Commits

Author SHA1 Message Date
Raymond Feng 0b899b0542 Allow settings.base to specify the base model 2013-11-07 17:11:17 -08:00
Raymond Feng 580ce14f0d Extract the relation types 2013-11-07 13:30:54 -08:00
Raymond Feng 566da386ae Refactor the relation handling and enable it with attach 2013-11-07 13:09:09 -08:00
Raymond Feng 34107a6a26 Redefine the existing class if it's resolved 2013-11-06 14:00:22 -08:00
Raymond Feng 68cf633795 Add support for hasMany-through and more tests 2013-11-05 09:29:24 -08:00
Raymond Feng 4fbec288c4 Enable deferred type/relation resolutions 2013-11-04 22:53:02 -08:00
Ritchie Martori 65bb5c8ead Merge pull request #33 from strongloop/get-datasource
Remove model.dataSource property / Add model.getDataSource() method
2013-10-31 14:50:56 -07:00
Ritchie Martori 597a775e4c Add model.getDataSource() method 2013-10-31 11:46:12 -07:00
Raymond Feng d0055d8591 Fix removeUndefined to bypass non-plain objects
traverse.map() transform custom objects such as Date or ObjectID into
plain objects and it breaks the BSON serialization
2013-10-29 22:16:43 -07:00
Raymond Feng dff3367f3a Fix the regression when 1st arg is the connector module 2013-10-29 13:04:23 -07:00
Raymond Feng 37ced0111e Merge pull request #30 from strongloop/ds-url
Support datasource/connector configuration using URL string
2013-10-28 10:58:45 -07:00
Raymond Feng 24e93248d1 Merge pull request #29 from strongloop/scope-remoting
Create remote functions for predefined scopes/relations
2013-10-27 12:59:57 -07:00
Raymond Feng 8ad0194a51 Add a relation example following Ruby on Rails active records 2013-10-27 12:55:01 -07:00
Raymond Feng 2ae0fd8804 Honor the model plural name 2013-10-25 16:25:05 -07:00
Raymond Feng f3011216b5 Support datasource/connector configuration using URL string 2013-10-25 16:18:02 -07:00
Raymond Feng c3d7fd0f1c Create remote functions for predefined scopes/relations 2013-10-24 20:37:43 -07:00
Raymond Feng fc2a53562e Check undefined/null data 2013-10-24 18:43:55 -07:00
Raymond Feng 8a615324d0 Merge pull request #25 from strongloop/ds-attach
Fixes for data source juggler
2013-10-23 11:28:14 -07:00
Raymond Feng 32dbe9cb21 Move resolveType to ModelBuilder 2013-10-17 14:23:29 -07:00
Ritchie Martori fcb35cc3eb Fix prototype mixin bug 2013-10-11 18:37:45 -07:00
Raymond Feng dd936b15a2 Make sure model definition is built when attaching to a DS 2013-10-11 16:35:17 -07:00
Raymond Feng 9ec9f654c7 Remove undefined values from the query object 2013-10-11 11:50:00 -07:00
Raymond Feng aed3fb0e06 Log more information for the connection failure 2013-10-11 11:48:12 -07:00
Raymond Feng 64f57a2297 Handle connection errors 2013-10-10 22:47:26 -07:00
Ritchie Martori 95c14fa97d Fix EventEmitter mixin 2013-10-08 15:48:17 -07:00
Raymond Feng b8f94f5777 Make sure foreign key properties are fully registered 2013-10-07 18:01:31 -07:00
Raymond Feng 0bfc362b18 Use for-in loop to support properties from the super class 2013-10-06 21:27:02 -07:00
Raymond Feng 931636eda4 Allow the id(s) to be redefined by subclass 2013-10-06 21:13:52 -07:00
Raymond Feng 294ebc1ccf Allow to reference a model as type by name 2013-10-05 11:13:10 -07:00
Raymond Feng 2f575482c0 Code clean up 2013-10-05 10:53:13 -07:00
Raymond Feng 7f170a0542 Add more tests and fix toJSON 2013-10-04 21:21:12 -07:00
Raymond Feng 2a15bb917a Fix the foreign key definition 2013-10-04 15:49:13 -07:00
Raymond Feng 409d256e47 Add settings property back to the model class 2013-10-04 15:48:39 -07:00
Raymond Feng 24d87976e8 Merge branch 'master' into juggler-tidyup
Conflicts:
	lib/model.js
2013-10-04 14:32:51 -07:00
Raymond Feng 04bda5c138 Set name and settings 2013-10-04 12:54:14 -07:00
Raymond Feng ee426b63fc Reset _ids for rebuild 2013-10-04 12:41:01 -07:00
Raymond Feng 1ae9478496 Fix the columnName 2013-10-03 14:49:03 -07:00
Raymond Feng d0cdbd84ea Use super_ to call the base class 2013-10-03 09:14:24 -07:00
Raymond Feng 691743493c Fix copy of model definitions 2013-10-02 17:20:54 -07:00
Raymond Feng 1963ea9fb1 Use ModelDefinition to access model name/properties/settings 2013-10-02 15:18:50 -07:00
Raymond Feng fad6ee5e1d Refactor/cleanup the data source juggler implementation
- Add a ModelDefinition class to encapsulate the model schema handling
- Add a Connector class as the base class for connector implementations
- Optimize attachTo and mixin
- Rename some properties/methods
2013-10-01 22:14:21 -07:00
Raymond Feng 92cd7d15a6 Add a ModelDefinition class 2013-09-20 22:22:49 -07:00
Raymond Feng 1575c87caf Make sure schemaless property value is honored over __data 2013-09-18 16:34:52 -07:00
Raymond Feng bf223320ea Allow connector to report failure during initialization 2013-09-12 13:32:53 -07:00
Raymond Feng f4d62e54e6 Add error stack trace for ValidationError
The issue was initially reported by SLA-370.
2013-09-09 10:12:12 -07:00
Raymond Feng 21e6fddf1a Check the filter param to make sure we have a default value
sls-sample-app is failing if we hit http://localhost:3000/locations/findOne

In this case, a undefined param is passed in.

The fix now sets it to {} if the value is undefined/null
2013-09-06 13:42:12 -07:00
Raymond Feng 038f30cb95 Fix the conflicts between MongoDB _id & juggler's internal prefix 2013-08-30 16:59:17 -07:00
Raymond Feng bfcd850dfe Merge pull request #8 from strongloop/id-fix
Allows custom name of the id property for the memory connector
2013-08-30 10:59:50 -07:00
Raymond Feng 84a40cc1c6 Merge pull request #7 from strongloop/SLA-422
Mark id arguments to be required
2013-08-30 10:49:16 -07:00
Raymond Feng f71dc8fe39 Set default value 2013-08-28 21:53:55 -07:00
Raymond Feng c2eb1f55f0 Fix the property population for schemaless models 2013-08-28 21:49:05 -07:00
Raymond Feng 0866f33cec Check the existence of id 2013-08-28 21:39:59 -07:00
Raymond Feng 6f111f8122 Allows custom name of the id property for the memory connector 2013-08-27 22:32:01 -07:00
Raymond Feng cb00aad473 Mark id arguments to be required 2013-08-27 22:03:59 -07:00
Raymond Feng 59841a04a8 Set strict to false by default for non-relational data sources 2013-08-26 13:38:24 -07:00
Raymond Feng ecc142b4d2 Disable remoting for reload 2013-08-26 10:54:26 -07:00
Raymond Feng be15eabc36 Merge pull request #5 from strongloop/memory-connector-ids
Track the greatest id to prevent records from being overriden
2013-08-26 10:52:13 -07:00
Raymond Feng 7234c9822c Add descriptions for remote method paramters 2013-08-23 17:04:08 -07:00
Raymond Feng 43a5398792 Fix the remote method descriptions 2013-08-23 14:08:47 -07:00
Raymond Feng bede7ab499 Track the greatest id to prevent records from being overriden 2013-08-22 16:44:02 -07:00
Raymond Feng 6407098126 Update descriptions to use data source 2013-08-22 13:30:13 -07:00
Raymond Feng a1e4457794 Refactor the shared method declaration and add descriptions 2013-08-22 12:24:02 -07:00
Raymond Feng cf07563414 Fix the message 2013-08-20 16:14:27 -07:00
Raymond Feng 0fd167a41d Use DEBUG or NODE_DEBUG env to override the debug flag 2013-08-18 23:11:32 -07:00
Raymond Feng 9482d3c7de Fix the where option for delete 2013-08-18 10:58:53 -07:00
Raymond Feng 705a1fc2c9 Update the remote methods 2013-08-16 16:44:31 -07:00
Ritchie Martori d5ab26509a Merge pull request #1 from strongloop/id-fix
Fix the id references to allow custom name other than 'id'
2013-08-16 14:46:50 -07:00
Raymond Feng 29c95a4ec7 Remove the deletion of property type as the instane is shared by the base model class 2013-08-15 16:50:50 -07:00
Raymond Feng 281cc38017 Fix the id references to allow custom name other than 'id' 2013-08-14 23:14:44 -07:00
Raymond Feng 8aec0a3b47 Add missing declaration 2013-08-14 17:32:38 -07:00
Raymond Feng 6c0f2483b3 Update jsdocs 2013-08-13 09:37:27 -07:00
Raymond Feng 2e20df2dd3 Add docs.json and jsdocs 2013-08-09 15:16:32 -07:00
Raymond Feng d3bf5c20ac Add an optional models argument to automigrate/autoupdate 2013-08-08 08:30:26 -07:00
Raymond Feng 0a5c0ff77d Refactor introspection to ModelBuilder 2013-08-07 14:51:32 -07:00
Raymond Feng f3443959a1 Rename 'loopback-data' to 'loopback-datasource-juggler' 2013-07-30 14:10:03 -07:00
Raymond Feng 7ce6cfc9ab Allows connector property to be a string 2013-07-30 10:52:30 -07:00
Ritchie Martori 08505d1e78 Add required validation 2013-07-28 13:17:12 -07:00
Raymond Feng 57c181c8b9 Bring up json object introspection to build models 2013-07-26 13:06:43 -07:00
Raymond Feng 0e4162af2a Fix the constructor 2013-07-25 22:39:16 -07:00
Raymond Feng 1109f671da Add precision/scale for sync discovery 2013-07-25 15:20:19 -07:00
Raymond Feng dcada03c43 Add precision/scale 2013-07-25 15:06:00 -07:00
Raymond Feng 630aad2071 Refactor types out 2013-07-25 07:48:31 -07:00
Raymond Feng adb724e3b2 Fix the ref to dataSource 2013-07-24 22:58:57 -07:00
Raymond Feng 9b422752a6 Allows non-strict mode to accept unknown properties 2013-07-24 22:58:57 -07:00
Raymond Feng 96787ad25f Fix id references 2013-07-24 22:58:57 -07:00
Ritchie 5bf2d1ff23 Add root true to remote methods 2013-07-24 17:21:35 -07:00
Raymond Feng 752aedb80d Rename adapters to connectors 2013-07-23 14:40:44 -07:00
Raymond Feng ac76666b7b Set up connector from the data source 2013-07-23 13:19:35 -07:00
Raymond Feng 1970c99424 Rename dataSource() to avoid conflicts with the property 2013-07-23 12:44:04 -07:00
Raymond Feng 4df5a02676 Fix schema references 2013-07-23 12:16:12 -07:00
Raymond Feng 9b169efc8c Set up connector/adapter when postInit is not called 2013-07-23 12:05:08 -07:00
Raymond Feng 6af4b1ba2f More renames: schema -> dataSource, adapter -> connector 2013-07-23 11:16:43 -07:00
Raymond Feng 127fb32d02 Add the id arg 2013-07-22 09:57:55 -07:00
Raymond Feng b7f7f71b15 Add static deleteById 2013-07-22 09:42:09 -07:00
Raymond Feng 588b328e62 Fix the model prop lookup 2013-07-21 17:27:31 -07:00
Ritchie Martori 22db369fb8 Allow queries to filter fields 2013-07-17 09:05:37 -07:00
Ritchie Martori d4ca20c01a Add filter.fields support to dao and memory connector 2013-07-16 17:53:52 -07:00
Raymond Feng be21815e7b Rename jugglingdb to loopback-data 2013-07-16 11:59:53 -07:00
Ritchie Martori a4247ad59f Remove updateAttribute as remote method 2013-07-15 19:44:29 -07:00
Ritchie Martori 0aa0cabdd4 Fix inherit bug 2013-07-15 18:22:49 -07:00