Commit Graph

508 Commits

Author SHA1 Message Date
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
Anatoliy Chakkaev 5ea5da0153 Rewrite hooks API
This commit breaks compatibility, but adds consistent API and allow modify data of update
2013-03-25 01:25:10 +04:00
Anatoliy Chakkaev e0b52c6b7e Settings always set 2013-03-23 22:49:34 +04:00
Anatoliy Chakkaev a90fe8da41 Merge branch 'master' of github1602:1602/jugglingdb 2013-03-19 14:19:39 +04:00
Anatoliy Chakkaev ccffd10a58 Added filter, fix [] as type 2013-03-18 23:45:34 +04:00
Scott Nonnenberg bf3234b9f0 http adapter: pre/postProcess, fix destroy and all
preProcess() ensures that null fields are excluded from the wire. I've experienced jQuery/node/express 3.0 turning nulls into empty strings.

postProcess() ensures that Date fields are actually turned back into dates. JSON, you're annoying sometimes.

destroy() is now implemented.

all() now URL encodes any query filters provided.
2013-03-06 18:05:30 -08:00
dgsan 0503ad3295 This is the smash with blunt object fix for #215, since the more flexible #213 was rejected.
There needs to be something done so that types not in `BASE_TYPES` can be parsed without
throwing an exception and making things go nuts when they aren't JSON.

As noted this is the blunt object solution and will not cover all cases, but something needs to be done.
2013-03-05 12:02:07 -07:00
Anatoliy Chakkaev 358f7b788c FIxes in async validations (in sync case), closes 214 2013-03-01 21:13:04 +07:00
Anatoliy Chakkaev 35571dcd58 Add proper type registration 2013-02-22 01:24:20 +07:00
Anatoliy Chakkaev 56db693454 List support for non-object values 2013-02-19 16:33:09 +08:00
Anatoliy Chakkaev 4d75cb74d7 Add some array methods for List 2013-02-18 16:18:09 +08:00
Anatoliy Chakkaev a4ec751424 Eliminated global leak 2013-02-12 17:25:59 +08:00
Anatoliy Chakkaev 4eda7df7bc Described custom validations 2013-02-12 17:05:04 +08:00
Anatoliy Chakkaev 734ab8abd1 If property is array (List) need to convert it to JSON 2013-02-10 04:53:05 +08:00
dgsan cba174b4ff This fixes the apparent scope and comparison issues when calling a foreign key relation. 2013-02-01 10:15:03 -07:00
Anatoliy Chakkaev cdd328c902 Revert validatable fix 2013-01-30 23:08:52 +07:00
Anatoliy Chakkaev 9f0dfeb58a Add attr param to custom validator, closes #200 2013-01-30 22:30:31 +07:00
Anatoliy Chakkaev 5b33c2a0f1 Removed unused experimental stuff 2013-01-29 18:47:03 +07:00
Anatoliy Chakkaev 707fb01713 Make pathTo available in db/schema 2013-01-23 06:31:02 +07:00
Anatoliy Chakkaev 59e80e8454 Fix uniqueness validation (mongo ids) 2013-01-23 03:22:48 +07:00
Anatoliy Chakkaev d03dbfcb99 Throw error when model is not configured for webservice 2013-01-23 03:22:31 +07:00
Anatoliy Chakkaev cefd79dbf6 Return null when findOne could not find record, closes #128 2013-01-22 23:47:14 +07:00
Anatoliy Chakkaev 8cfa00a1b2 Work with cs-compound 2013-01-22 23:27:49 +07:00
Anatoliy Chakkaev 0f592d4bf5 Implement schema.extendModel, closes #157 2013-01-22 01:48:04 +07:00
Anatoliy Chakkaev 91fee1d565 Make memory adapter async 2013-01-22 01:21:43 +07:00
Anatoliy Chakkaev 9dbc8fa50b Implement findOrCreate, requested in #190 2013-01-22 01:21:31 +07:00
Anatoliy Chakkaev 4d47d8348d Revert hasMany change 2013-01-21 23:08:13 +07:00
Anatoliy Chakkaev 1010d5d64d Merge pull request #192 from robblovell/hasmany
Hasmany
2013-01-21 07:42:01 -08:00
Anatoliy Chakkaev d5758ec8be Added schema::model::set for railway 2013-01-21 20:29:41 +07:00
Anatoliy Chakkaev 02b7f707ff Added http (WebService) adapter 2013-01-20 23:05:45 +07:00
Anatoliy Chakkaev e9b7e89ee9 Accept adapter as first argument of Schema constructor 2013-01-19 20:50:53 +07:00
Erin Noe-Payne d4043d715f fix lost callback 2013-01-18 12:31:49 -05:00
Robb Lovell 6f9c495720 added 'all' method to hasMany in abstract-class.js to correctly support a 'many' collection. added .idea to .gitignore to ignore WebStorm projects. 2013-01-17 11:16:52 -08:00
Asp3ctus 4f7ffb903e fix typo :) 2013-01-08 15:37:58 +06:00
Asp3ctus c78a4de375 app.enable('autoupdate') option support 2013-01-08 15:34:59 +06:00
Anatoliy Chakkaev c7409be559 Fix for reading yml files 2012-12-24 22:17:23 +04:00
Anatoliy Chakkaev e8ef71c431 Only update id if it does not present in resulting dataset 2012-12-24 00:31:32 +04:00
Anatoliy Chakkaev 05a6d686aa Strict adapter checking 2012-12-21 18:26:21 +04:00
Anatoliy Chakkaev 3dc24b8f51 Merge branch 'master' of github.com:1602/jugglingdb 2012-12-21 12:56:45 +04:00
Anatoliy Chakkaev 3038eb33fd Do not throw on missing adapter, just display warning 2012-12-21 12:56:16 +04:00
Sascha Gehlich 7ec8ab55d1 updateAttributes data defaults to {} 2012-12-19 19:29:14 +01:00
Anatoliy Chakkaev 0d433c1c5d merge 2012-12-19 19:00:00 +04:00
Anatoliy Chakkaev acc0a71bde Update railwayjs name, add ability to skip tests 2012-12-19 18:57:21 +04:00
Anatoliy Chakkaev 3c4fd78014 Merge pull request #177 from saschagehlich/js_config
allow database.js config
2012-12-17 01:30:21 -08:00
Sascha Gehlich 252a067df7 allow database.js config 2012-12-17 10:25:27 +01:00
Sébastien Drouyer 519d6cf7fb Merge github.com:1602/jugglingdb 2012-12-16 23:58:53 +01:00
Sébastien Drouyer fbe04233cc added some documentation for include and all function 2012-12-16 19:44:14 +01:00
Sébastien Drouyer 6db1a003d4 cleaned some old comments 2012-12-16 19:19:53 +01:00
Anatoliy Chakkaev bc250b1bb2 Merge pull request #169 from saschagehlich/schema_wait_connect
let the adapter decide when to load the schema
2012-12-16 10:10:04 -08:00
Sébastien Drouyer 708265df22 merged + removed preprocessdata callback as it seems it isn't usefull 2012-12-16 18:58:52 +01:00
Sébastien Drouyer 175ad3141d small fix on relations 2012-12-16 18:20:39 +01:00
Sébastien Drouyer c6bddf170a added include functionnality to abstract class and mysql 2012-12-16 18:05:36 +01:00
Sascha Gehlich 53e2dcf30b add additional types stored in Schema.types to schema context 2012-12-16 14:29:53 +01:00
Sascha Gehlich ed8ff0ca36 let the adapter decide when to load the schema 2012-12-16 14:08:51 +01:00
Anatoliy Chakkaev 5208298a67 Fix broken yml config, closes #159 2012-12-15 16:05:32 +04:00
Sébastien Drouyer 24ccb0ffc2 added relations key 2012-12-14 16:28:29 +01:00
Anatoliy Chakkaev 100b5322c6 Remove sql adapters and tests 2012-12-14 19:25:32 +04:00
Anatoliy Chakkaev 91c90ef3ad Remove sqlite3 adapter 2012-12-14 17:12:13 +04:00
Anatoliy Chakkaev a62aab180d Removed nosql adapters (moved to own repos) 2012-12-14 01:50:02 +04:00
Tim Griesser fe4f19106a allow socketPath for mysql config 2012-12-12 15:16:23 -05:00
Anatoliy Chakkaev 91cde064a6 Merge branch 'master' of github.com:1602/jugglingdb 2012-12-10 17:48:55 +04:00
Anatoliy Chakkaev f929272fa3 Fix cradle+railwayjs 2012-12-10 17:48:22 +04:00
Nicholas Westlake 85535dc955 added nano adapter 2012-12-09 03:13:09 -06:00
Dominik Krejcik 035c42eb9d Log Redis connection errors instead of crashing 2012-11-29 01:33:19 +00:00
Anatoliy Chakkaev c252926f34 Docs and style in lib/list 2012-11-20 18:37:04 +07:00
Anatoliy Chakkaev b3ce33805c Namespace adapters 2012-11-14 11:29:29 +07:00
Muneeb Samuels fa50e0e5e8 when using cradle if we don't wait for the schema to be connected, the models fails to load correctly. 2012-11-10 20:14:13 +02:00
Anatoliy Chakkaev cb9f0c3d16 Better docs, no warning 2012-11-10 09:28:07 +04:00
Nathan Cartwright 596cd3d461 update mongodb adapter 2012-11-08 14:54:36 -06:00
Anatoliy Chakkaev 3731447787 Merge branch 'master' of github.com:1602/jugglingdb 2012-11-06 19:53:04 +04:00
Anatoliy Chakkaev 47d72ce14e Cast id to string before creation, fix #145 2012-11-06 19:52:37 +04:00
Anatoliy Chakkaev fb075fdd97 Merge pull request #144 from muneebs/master
update cradle.js
2012-11-05 09:09:39 -08:00
taiyoh 30e9983abf remove commentouted source 2012-11-05 22:30:57 +09:00
taiyoh 885e9188f8 fixed type check strictly 2012-11-05 22:22:47 +09:00
Anatoliy Chakkaev e10c42ed1b Fix id:null issue #98 2012-11-05 08:08:32 +04:00
Muneeb Samuels 75c96bdaa9 - fixed typo in updateOrCreate method. 2012-11-04 22:24:15 +02:00
Muneeb Samuels d248de7f9d - added views to do .all queries, it speeds up the query. 2012-11-04 22:22:00 +02:00
Muneeb Samuels 53272e6fd6 Merge remote-tracking branch 'origin/master'
Conflicts:
	lib/adapters/cradle.js
2012-11-04 21:30:42 +02:00