Commit Graph

685 Commits

Author SHA1 Message Date
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
Ritchie Martori 2de55df939 Fix extend by using util.inherits 2013-07-15 10:44:34 -07:00
Raymond Feng 12c28ce363 Fix typos 2013-07-15 10:38:54 -07:00
Raymond Feng ef671825ff Only flatten array/object for relational DBs 2013-07-12 19:10:42 -07:00
Raymond Feng 8e01e17bdb Add support for nesting objects with an array 2013-07-12 18:59:43 -07:00
Raymond Feng 09ab8356b8 Fix the array data population 2013-07-12 12:36:14 -07:00
Raymond Feng 296b258f35 Add http mapping for create/updateAttributes methods 2013-07-11 16:49:18 -07:00
Raymond Feng aa5bba3bac Fix the ref to getSchemaType 2013-07-11 16:04:28 -07:00
Raymond Feng 194f68468a Add support for nesting schema 2013-07-11 14:24:47 -07:00
Raymond Feng 049f4c0c38 Add Object type 2013-07-11 11:04:31 -07:00
Raymond Feng 12199ad779 Add support to use adapter constructor for initialization 2013-07-11 09:55:26 -07:00
Ritchie Martori 7684fe2946 Change default create method from save to create for remoting 2013-07-02 20:28:00 -07:00
Ritchie Martori c8bfc5802a Add event emitter methods to models. 2013-07-02 14:59:24 -07:00
Ritchie Martori 522291bf08 Add support for extending models 2013-07-01 16:49:43 -07:00
Ritchie Martori dbd5efed50 Revert adapter serialization. Remove geo point distance indicator. 2013-07-01 13:16:51 -07:00
Ritchie Martori e6a88ac254 Add properties to ModelClass during definition 2013-06-27 18:25:42 -07:00
Ritchie ce63ef9ac2 Fix global leak and incorrect var 2013-06-27 12:21:31 -07:00
Raymond Feng 64da1d441a Add alias to destroy/destroyAll 2013-06-25 21:08:34 -07:00
Raymond Feng 0ae61d3b53 Alias destroy/destroyAll 2013-06-25 20:36:08 -07:00
Ritchie Martori 6cb53e5001 Add in memory geo filtering. 2013-06-25 20:31:00 -07:00
Ritchie Martori d730aab674 Move geo filter creation into reusable module. 2013-06-24 16:38:50 -07:00
Ritchie Martori 572445de39 Rename long to lng 2013-06-24 15:32:34 -07:00
Ritchie Martori 6856ff7254 Add geo filtering for memory adapter 2013-06-24 15:21:59 -07:00
Ritchie Martori 008b406dd7 model.find => model.findById, model.all => model.find 2013-06-24 12:42:58 -07:00
Ritchie Martori ff37cc001a Fix incorrect variable name in updateAttributes 2013-06-21 15:01:40 -07:00
Ritchie Martori 0a3e642c9e Fix memory adapter updateAttributes issue.
Callback with an error if an id was not provided or if a model was not
found by that id.
2013-06-21 14:56:23 -07:00
Raymond Feng 4940187663 Fix the schema building 2013-06-21 14:15:24 -07:00
Raymond Feng 3830f0bfda Normalize the schema definition 2013-06-21 14:04:24 -07:00
Raymond Feng a6ad39ba0f Update the discover apis to take options 2013-06-20 15:51:24 -07:00
Michael Schoonmaker bc62d28b12 Removed a stray log. 2013-06-19 13:15:57 -07:00
Raymond Feng 3b731b1a12 Move the _operations={} up 2013-06-18 14:44:30 -07:00
Raymond Feng 72e8e7230f Work around the JDB test coverage tool limitation. See https://github.com/1602/semicov 2013-06-18 12:07:13 -07:00
Raymond Feng b3e98f0c6f Pass in the options 2013-06-18 11:50:13 -07:00
Ritchie 502b0512d3 Support string types when defining properties 2013-06-17 16:42:13 -07:00
Ritchie d442c40f25 Rename discoverModels to discoverModelDefinitions 2013-06-17 11:43:20 -07:00
Ritchie 25f2920e95 Handle separate settings and adapter objects 2013-06-17 07:54:51 -07:00
Ritchie 864135e0e4 Remove console log 2013-06-17 07:39:31 -07:00
Ritchie 473dd794ef Fix missing settings 2013-06-14 14:22:51 -07:00
Ritchie bf83a76eae Fix missing connector alias 2013-06-14 13:56:44 -07:00
Ritchie b78050410d Merge branch 'asteroid-0.7'
Conflicts:
	lib/datasource.js
2013-06-13 16:27:31 -07:00
Ritchie Martori 7e23393e99 Fixed memory adapter filtering + asteroid compatibility upddates 2013-06-12 15:45:31 -07:00
Raymond Feng a47bc15e64 Make sure options is present 2013-06-11 14:56:26 -07:00
Ritchie 3628bd5be8 Fix remoteEnabled bug 2013-06-11 11:11:10 -07:00
Ritchie Martori 51d4a74264 Revert "Asteroid 0.7 updates"
This reverts commit c87abafec8.
2013-06-11 09:04:37 -07:00
Ritchie Martori c87abafec8 Asteroid 0.7 updates 2013-06-11 09:03:11 -07:00
Raymond Feng 36c22ab972 Adjust the mixins 2013-06-05 14:34:05 -07:00
Ritchie Martori adf7c49c91 Allow dao.find() and exists() to take any type for id 2013-06-05 07:39:26 -07:00
Raymond Feng 24a1c76c59 Fix the receiver 2013-06-03 08:51:17 -07:00
Raymond Feng 567efc5698 Add discoverExportedForeignKeys 2013-06-02 23:00:11 -07:00
Raymond Feng a2da90867f Add sync versions of discovery 2013-06-01 23:03:25 -07:00
Raymond Feng 56af9673c1 Avoid duplicate connecting 2013-05-31 13:40:50 -07:00
Raymond Feng 9d74759f90 Improve connect/disconnect 2013-05-31 13:10:09 -07:00
Ritchie 1bb8047b57 Merge branch 'master' of github.com:strongloop/jugglingdb 2013-05-31 10:28:05 -07:00
Ritchie 5f26eba571 Add plural name to models 2013-05-31 10:27:52 -07:00
Raymond Feng 7b861c2aac Update buildModels and support associations via foreign keys 2013-05-31 10:25:11 -07:00
Raymond Feng 2d62b5ba6a Add support to discover related schemas by foreign keys 2013-05-30 23:13:04 -07:00
Raymond Feng ad14bd9dbc Add more debugging info 2013-05-30 17:23:31 -07:00
Raymond Feng 8912defe8e Enhance support for composite keys 2013-05-30 16:06:04 -07:00
Raymond Feng d9998d8294 Update column type info 2013-05-29 10:03:01 -07:00
Raymond Feng 6255da2ae0 Fix mixin 2013-05-29 07:17:07 -07:00
Raymond Feng 771bf70ec5 Add options including default 2013-05-28 15:40:16 -07:00
Raymond Feng 465a963d2d Adding more tests 2013-05-28 13:50:59 -07:00
Raymond Feng dd8512bc1f Refactor more functions into mixins 2013-05-27 22:20:43 -07:00
Ritchie Martori 50b2036511 Update remoting signatures for dao. 2013-05-24 15:10:34 -07:00
Ritchie 0a8df17135 Merge branch 'master' of github.com:strongloop/jugglingdb 2013-05-24 08:03:11 -07:00
Ritchie ae9cb9a6f2 Add pluralized name to model and remoting method signatures 2013-05-24 08:02:58 -07:00
Raymond Feng 98690a4881 Add docs 2013-05-23 22:40:33 -07:00
Raymond Feng dea07f3a02 Rename adl to be ModelBuilder 2013-05-23 22:20:20 -07:00
Raymond Feng a014fddd8a Add more methods to map column/property names 2013-05-23 21:09:46 -07:00
Ritchie a690f8d8df Add data source attach example 2013-05-23 17:29:03 -07:00
Ritchie 1dee840de5 Add ability to attach data source to an existing model 2013-05-23 16:38:14 -07:00
Raymond Feng 2c2768e929 Fix the mapping 2013-05-23 10:46:01 -07:00
Raymond Feng e51bd2d360 Fix the column mapping 2013-05-22 18:04:05 -07:00
Raymond Feng 31473d3add Fix the id column name 2013-05-22 12:17:14 -07:00
Raymond Feng 5b32141e31 Start to add discoverSchema and name mapping 2013-05-22 10:41:08 -07:00
Raymond Feng aebd7de68c Fix the capitalize 2013-05-21 14:54:14 -07:00
Raymond Feng 0022edb774 Transform the names 2013-05-21 14:43:25 -07:00
Raymond Feng 88f174ee39 Add discoverSchema 2013-05-21 14:25:23 -07:00
Raymond Feng fcdd8c2bca Fix the delegation for discover 2013-05-21 12:00:16 -07:00
Raymond Feng 26230be417 Fix the discover methods 2013-05-21 11:59:16 -07:00
Raymond Feng 184c190223 Bring up the schema loading from json docs 2013-05-20 16:05:59 -07:00
Raymond Feng 347147a36b Remove schema.js 2013-05-17 17:06:40 -07:00
Raymond Feng fca91e3400 Fix the on-demand connection 2013-05-17 16:21:12 -07:00
Raymond Feng 7caaeb2623 Fix the datasource.define 2013-05-17 14:41:04 -07:00
Raymond Feng 8263a6d71b Start to refactor ADL and DataSource 2013-05-17 10:54:14 -07:00
Anatoliy Chakkaev 4c717e4335 Fail uniqueness check in case of db error 2013-05-17 09:01:29 -07:00
Raymond Feng 630b991d1d Refactor the CRUD operations to DataAccessObject 2013-05-17 08:49:57 -07:00
Raymond Feng 3d82fc10b9 Fix the discover keys 2013-05-13 22:10:10 -07:00
Raymond Feng e207628538 Add discover primary/foreign keys 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev c15ff3cad0 Safer include 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 0f040f7814 Fix Problem with DataType Text, closes #278 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 06641da2c6 Add context info to validation error 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev ba75af1490 Only save schema props 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 25db533827 Fix tick 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 8370538e4e Safe connect call 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 23004c12c1 Support define fk with class name 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 8099f7edf2 Fix find with NaN id in base-sql 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev e13149edc5 Added skip/limit to memory adapter 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev ee05ebcca6 Relations passed to belongsTo.add 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 504ae56acd Fix injection in ids 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 83027f9ead Accept related objects when creating instance #247 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev eecbd32d07 Allow null properties for headless models 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev a73f53521e Fix m2m: only add fk when hasMany have no "through" 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev c9e97744dd Many-to-many relation
- hasMany {through: Class}
- hasAndBelongsToMany
- some specs in relations.test.js
2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 9facf369b1 Some tests for scope 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 136ea91fbf Organize model.js 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev c4d4b68413 Datatypes casting 2013-05-13 22:04:28 -07:00
Raymond Feng 5620be1d57 Add discover methods for model names and properties 2013-04-19 14:11:52 -07:00
Raymond Feng ad1b2ad7e9 Only call the orginal method once 2013-04-16 22:25:31 -07:00
Raymond Feng 3613f6e22f Set up the connected handler before connect 2013-04-15 16:05:17 -07:00
Raymond Feng 589908a78f The connecting flag should be set to false initially 2013-04-15 16:00:08 -07:00
Anatoliy Chakkaev 3364102771 Do not assign enumerable schema to object #256 2013-04-07 00:21:42 +04:00
Anatoliy Chakkaev 2fd2157d28 Fix dates in memory adapter 2013-04-06 14:50:23 +04:00
Anatoliy Chakkaev 4943feb230 Merge transactions 2013-04-05 02:13:14 +04:00
Anatoliy Chakkaev 43d1cbd39e Merge 2013-04-05 02:12:34 +04:00
Anatoliy Chakkaev 029dfb6f3b Allow database.js to export function(compound) 2013-04-04 22:24:56 +04:00
Anatoliy Chakkaev 3a355851b6 ValidationError instead Error 2013-04-04 19:31:07 +04:00
Anatoliy Chakkaev 704bc965bd Find on hasMany scope method 2013-04-04 00:46:41 +04:00
Anatoliy Chakkaev f56cbaa150 Added map-reduce and find methods to list 2013-04-03 23:52:19 +04:00
Anatoliy Chakkaev be17763eca Return valid in case of sync validations 2013-04-01 20:13:55 +04:00
Anatoliy Chakkaev b0a1ed3bed Fix validation issue 2013-04-01 20:08:22 +04:00
Anatoliy Chakkaev cf5ed5b877 Transactions 2013-04-01 17:49:12 +04:00
Anatoliy Chakkaev 6d1e47ceaf Schemas switching 2013-03-31 16:35:26 +04:00
Anatoliy Chakkaev 76c7fbd6ec Merge branch 'http' of github.com:NiKnight/jugglingdb 2013-03-31 14:08:38 +04:00
Anatoliy Chakkaev 6449f1ca72 Fix validations 2013-03-31 13:41:02 +04:00
Anatoliy Chakkaev 0776c51994 Batch create 2013-03-31 13:40:37 +04:00
Scott Nonnenberg 2ba862f5af afterDestroy not called on adapter error
Similar to afterCreate and afterUpdate, we don't want to run the afterXXXX handlers if the delete failed according to the adapter.
2013-03-30 17:18:47 -07:00
Anatoliy Chakkaev 5b429e8d41 Fix memory adapter: broken upd attrs 2013-03-30 21:07:16 +04:00
Anatoliy Chakkaev 2f048e79c0 Return instance of object when create 2013-03-30 21:06:09 +04:00
Anatoliy Chakkaev 5540750626 Validation amends
- rename event
- pass data to hooks
- always call hooks (even when no validations set up)
2013-03-28 15:29:11 +04:00
Anatoliy Chakkaev 1f29064b3d Rewrite save and create for correct hooks order
Validation should be called first, and then all other actions
to allow modify data after validation (for example hash
password after validating length.

Issue #242
2013-03-28 15:26:51 +04:00
Anatoliy Chakkaev 48d78b71f6 Rename validation hooks
Name should be "beforeValidate" and "afterValidate"
to be consistent with other hook hames. This change doesnt break
backward compatibility
2013-03-28 15:23:31 +04:00
Anatoliy Chakkaev e75029ebbf Fix memory adapter and test 2013-03-27 17:10:13 +04:00
Anatoliy Chakkaev 2749a1f7e0 Fixes in belongsTo relation definition syntax 2013-03-27 04:48:26 +04:00
Anatoliy Chakkaev cba87ce339 Query testing: findOne 2013-03-27 00:50:13 +04:00
Anatoliy Chakkaev de28603460 Added short syntax for belongsTo 2013-03-27 00:48:14 +04:00
Anatoliy Chakkaev 58e2349575 Fix memory adapter to support lowercase desc order 2013-03-26 23:33:40 +04:00
Anatoliy Chakkaev d5d07d8806 Make tests importable 2013-03-26 04:41:00 +04:00
Anatoliy Chakkaev f76b56d2fe Another way to define belongsTo 2013-03-26 04:39:47 +04:00
Anatoliy Chakkaev 16c826bd4f Rename files 2013-03-25 01:35:08 +04:00
Anatoliy Chakkaev b59fb01b4a Upd memory adapter to work with undefined in dataset 2013-03-25 01:28:08 +04:00
Anatoliy Chakkaev 2fa07e8e1d Rename essentials 2013-03-25 01:27:36 +04:00