rhoconnect 3.4.5 → 4.0.0.beta.10
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +57 -3
- data/Gemfile +9 -7
- data/Gemfile.lock +37 -37
- data/Rakefile +18 -7
- data/bench/benchapp/Gemfile +1 -1
- data/bench/benchapp/config.ru +0 -3
- data/bench/benchapp/controllers/ruby/application.rb +17 -0
- data/bench/benchapp/controllers/ruby/application_controller.rb +17 -0
- data/bench/benchapp/controllers/ruby/mock_adapter_controller.rb +8 -0
- data/bench/benchapp/controllers/ruby/queue_mock_adapter_controller.rb +8 -0
- data/bench/benchapp/{sources → models/ruby}/mock_adapter.rb +1 -1
- data/bench/benchapp/{sources → models/ruby}/queue_mock_adapter.rb +0 -0
- data/bench/benchapp/spec/{sources → models/ruby}/mock_adapter_spec.rb +1 -1
- data/bench/benchapp/spec/{sources → models/ruby}/queue_mock_adapter_spec.rb +1 -1
- data/bench/benchapp/spec/spec_helper.rb +2 -2
- data/bench/blobapp/Gemfile +1 -1
- data/bench/blobapp/config.ru +0 -3
- data/bench/blobapp/controllers/ruby/application_controller.rb +17 -0
- data/bench/blobapp/controllers/ruby/blob_adapter_controller.rb +8 -0
- data/bench/blobapp/{sources → models/ruby}/blob_adapter.rb +9 -2
- data/bench/blobapp/spec/{sources → models/ruby}/blob_adapter_spec.rb +1 -1
- data/bench/blobapp/spec/spec_helper.rb +1 -1
- data/bench/lib/bench/cli.rb +1 -1
- data/bench/scripts/blob_cud_script.rb +1 -1
- data/bench/scripts/query_md_script.rb +1 -1
- data/bench/scripts/query_only_script.rb +1 -1
- data/bench/scripts/query_script.rb +1 -1
- data/bench/scripts/test_query_script.rb +7 -1
- data/bench/spec/mock_adapter_spec.rb +1 -1
- data/bench/spec/result_spec.rb +3 -3
- data/bin/rhoconnect +5 -3
- data/commands/dtach/dtach_install.rb +2 -2
- data/commands/execute.rb +8 -3
- data/commands/generators/app.rb +3 -3
- data/commands/generators/controller.rb +6 -0
- data/commands/generators/model.rb +6 -0
- data/commands/generators/source.rb +3 -3
- data/commands/generators/update.rb +1 -1
- data/commands/redis/redis_about.rb +2 -2
- data/commands/redis/redis_download.rb +1 -1
- data/commands/redis/redis_install.rb +4 -3
- data/commands/redis/redis_restart.rb +4 -4
- data/commands/redis/redis_start.rb +5 -4
- data/commands/redis/redis_startbg.rb +5 -4
- data/commands/redis/redis_status.rb +13 -0
- data/commands/redis/redis_stop.rb +3 -3
- data/commands/rhoconnect/config.rb +28 -16
- data/commands/rhoconnect/flushdb.rb +1 -2
- data/commands/rhoconnect/get_token.rb +15 -11
- data/commands/rhoconnect/restart.rb +13 -5
- data/commands/rhoconnect/set_admin_password.rb +8 -8
- data/commands/rhoconnect/start.rb +74 -16
- data/commands/rhoconnect/startbg.rb +1 -1
- data/commands/rhoconnect/startdebug.rb +1 -1
- data/commands/rhoconnect/stop.rb +13 -1
- data/commands/rhoconnect/web.rb +5 -5
- data/commands/rhoconnect_console/console.rb +7 -5
- data/commands/{rhoconnect → rhoconnect_spec}/spec.rb +0 -0
- data/commands/rhoconnect_war/war.rb +9 -9
- data/commands/utilities/blank_app.ru +56 -0
- data/commands/utilities/redis_runner.rb +54 -19
- data/doc/authentication.txt +80 -6
- data/doc/blob-sync.txt +104 -97
- data/doc/bulk-sync.txt +1 -1
- data/doc/client-java.txt +3 -3
- data/doc/client-objc.txt +2 -2
- data/doc/client.txt +4 -4
- data/doc/command-line.txt +105 -200
- data/doc/data-partitioning.txt +40 -0
- data/doc/deploying.txt +249 -77
- data/doc/extending-rhoconnect-server.txt +40 -57
- data/doc/heroku-addon.txt +2 -0
- data/doc/install.txt +45 -95
- data/doc/introduction.txt +1 -1
- data/doc/java-plugin.txt +365 -190
- data/doc/metadata.txt +1 -1
- data/doc/migration.txt +108 -142
- data/doc/preparing-production.txt +1 -1
- data/doc/push-backend-setup.txt +2 -0
- data/doc/push-client-setup-android.txt +78 -0
- data/doc/push-client-setup-bb.txt +81 -0
- data/doc/push-client-setup-ios.txt +70 -0
- data/doc/push-client-setup-rps.txt +200 -0
- data/doc/push-client-setup.txt +63 -66
- data/doc/push-server-setup.txt +67 -40
- data/doc/push-testing.txt +29 -0
- data/doc/push.txt +21 -6
- data/doc/rest-api.txt +128 -55
- data/doc/rhoconnect-redis-stack.txt +120 -0
- data/doc/settings.txt +4 -12
- data/doc/source-adapters-intro.txt +28 -0
- data/doc/source-adapters.txt +235 -272
- data/doc/stats-middleware.txt +9 -29
- data/doc/supported-platforms.txt +21 -30
- data/doc/testing.txt +40 -42
- data/doc/tutorial.txt +72 -57
- data/examples/simple/Gemfile +1 -1
- data/examples/simple/application.rb +4 -5
- data/examples/simple/my_server.rb +2 -2
- data/examples/simple/settings/settings.yml +1 -1
- data/generators/rhoconnect.rb +151 -50
- data/generators/templates/application/Gemfile +1 -1
- data/generators/templates/application/Rakefile +3 -3
- data/generators/templates/application/config.ru +1 -4
- data/generators/templates/application/controllers/application_controller.rb +17 -0
- data/generators/templates/application/controllers/js/application_controller.js +14 -0
- data/generators/templates/application/controllers/ruby/application_controller.rb +17 -0
- data/generators/templates/application/package.json +8 -0
- data/generators/templates/application/rcgemfile +2 -5
- data/generators/templates/application/settings/settings.yml +3 -3
- data/generators/templates/application/spec/application_controller_spec.rb +23 -0
- data/generators/templates/application/spec/js_spec.rb +25 -0
- data/generators/templates/application/spec/spec_helper.rb +21 -7
- data/generators/templates/source/controllers/js/controller.js +7 -0
- data/generators/templates/source/controllers/ruby/controller.rb +8 -0
- data/generators/templates/source/controllers/ruby/controller_spec.rb +27 -0
- data/generators/templates/source/models/js/model.js +46 -0
- data/generators/templates/source/{source_adapter.rb → models/ruby/model.rb} +15 -10
- data/generators/templates/source/{source_spec.rb → models/ruby/model_spec.rb} +1 -1
- data/install.sh +5 -5
- data/installer/unix-like/create_texts.rb +2 -2
- data/installer/unix-like/rho_connect_install_constants.rb +2 -2
- data/installer/unix-like/rho_connect_install_utilities.rb +1 -1
- data/installer/utils/constants.rb +4 -4
- data/js-adapters/ballroom.js +216 -0
- data/js-adapters/node.rb +52 -0
- data/js-adapters/node_channel.rb +181 -0
- data/js-adapters/request.js +27 -0
- data/js-adapters/response.js +57 -0
- data/js-adapters/rhoconnect_helpers.js +60 -0
- data/js-adapters/router.js +60 -0
- data/js-adapters/server.js +5 -0
- data/lib/rhoconnect/api/app/ans_login.rb +3 -3
- data/lib/rhoconnect/api/app/bulk_data.rb +10 -10
- data/lib/rhoconnect/api/app/fast_delete.rb +11 -10
- data/lib/rhoconnect/api/app/fast_insert.rb +11 -10
- data/lib/rhoconnect/api/app/fast_update.rb +11 -10
- data/lib/rhoconnect/api/app/login.rb +5 -5
- data/lib/rhoconnect/api/app/push_deletes.rb +12 -11
- data/lib/rhoconnect/api/app/push_objects.rb +12 -11
- data/lib/rhoconnect/api/app/query.rb +8 -7
- data/lib/rhoconnect/api/app/queue_updates.rb +98 -94
- data/lib/rhoconnect/api/app/search.rb +8 -7
- data/lib/rhoconnect/api/client/client_get_db_doc.rb +5 -5
- data/lib/rhoconnect/api/client/client_set_db_doc.rb +8 -8
- data/lib/rhoconnect/api/client/create.rb +7 -7
- data/lib/rhoconnect/api/client/get_client_params.rb +4 -4
- data/lib/rhoconnect/api/client/list_client_docs.rb +17 -17
- data/lib/rhoconnect/api/client/register.rb +12 -12
- data/lib/rhoconnect/api/client/reset.rb +5 -5
- data/lib/rhoconnect/api/readstate/set_refresh_time.rb +9 -9
- data/lib/rhoconnect/api/source/get_source_params.rb +4 -4
- data/lib/rhoconnect/api/source/list_sources.rb +16 -16
- data/lib/rhoconnect/api/source/update_source_params.rb +6 -6
- data/lib/rhoconnect/api/store/get_db_doc.rb +4 -4
- data/lib/rhoconnect/api/store/set_db_doc.rb +7 -7
- data/lib/rhoconnect/api/system/get_adapter.rb +4 -4
- data/lib/rhoconnect/api/system/get_license_info.rb +8 -8
- data/lib/rhoconnect/api/system/login.rb +15 -15
- data/lib/rhoconnect/api/system/reset.rb +11 -11
- data/lib/rhoconnect/api/system/save_adapter.rb +4 -4
- data/lib/rhoconnect/api/system/stats.rb +22 -22
- data/lib/rhoconnect/api/user/create_user.rb +7 -7
- data/lib/rhoconnect/api/user/delete_client.rb +6 -6
- data/lib/rhoconnect/api/user/delete_user.rb +11 -10
- data/lib/rhoconnect/api/user/list_clients.rb +4 -4
- data/lib/rhoconnect/api/user/list_source_docs.rb +10 -10
- data/lib/rhoconnect/api/user/list_users.rb +3 -3
- data/lib/rhoconnect/api/user/ping.rb +3 -3
- data/lib/rhoconnect/api/user/show_user.rb +3 -3
- data/lib/rhoconnect/api/user/update_user.rb +5 -5
- data/lib/rhoconnect/api/user/user_get_db_doc.rb +5 -5
- data/lib/rhoconnect/api/user/user_set_db_doc.rb +10 -10
- data/lib/rhoconnect/api_token.rb +5 -6
- data/lib/rhoconnect/app.rb +6 -46
- data/lib/rhoconnect/application/init.rb +5 -2
- data/lib/rhoconnect/async.rb +76 -39
- data/lib/rhoconnect/bulk_data/bulk_data.rb +6 -4
- data/lib/rhoconnect/client.rb +59 -9
- data/lib/rhoconnect/condition/admin_required.rb +27 -0
- data/lib/rhoconnect/condition/client_required.rb +50 -0
- data/lib/rhoconnect/condition/login_required.rb +22 -0
- data/lib/rhoconnect/condition/source_required.rb +49 -0
- data/lib/rhoconnect/condition/verbs.rb +17 -0
- data/lib/rhoconnect/condition/verify_success.rb +19 -0
- data/lib/rhoconnect/controller/app_base.rb +74 -0
- data/lib/rhoconnect/controller/base.rb +68 -0
- data/lib/rhoconnect/controller/clients_controller.rb +79 -0
- data/lib/rhoconnect/controller/dynamic_adapter_controller.rb +93 -0
- data/lib/rhoconnect/controller/js_base.rb +124 -0
- data/lib/rhoconnect/controller/read_state_controller.rb +22 -0
- data/lib/rhoconnect/controller/source_adapter_base.rb +14 -0
- data/lib/rhoconnect/controller/sources_controller.rb +44 -0
- data/lib/rhoconnect/controller/store_controller.rb +25 -0
- data/lib/rhoconnect/controller/system_controller.rb +67 -0
- data/lib/rhoconnect/controller/users_controller.rb +99 -0
- data/lib/rhoconnect/db_adapter.rb +1 -3
- data/lib/rhoconnect/document.rb +159 -50
- data/lib/rhoconnect/handler/authenticate/execute_methods.rb +77 -0
- data/lib/rhoconnect/handler/authenticate/runner.rb +49 -0
- data/lib/rhoconnect/handler/authenticate.rb +3 -0
- data/lib/rhoconnect/handler/bulk_data.rb +28 -0
- data/lib/rhoconnect/handler/changes/engine.rb +271 -0
- data/lib/rhoconnect/handler/changes/execute_methods.rb +88 -0
- data/lib/rhoconnect/handler/changes/pass_through_runner.rb +11 -0
- data/lib/rhoconnect/handler/changes/runner.rb +53 -0
- data/lib/rhoconnect/handler/changes.rb +31 -0
- data/lib/rhoconnect/handler/helpers/auth_method.rb +29 -0
- data/lib/rhoconnect/handler/helpers/binding.rb +18 -0
- data/lib/rhoconnect/handler/helpers/bulk_data.rb +53 -0
- data/lib/rhoconnect/handler/helpers/source_job.rb +14 -0
- data/lib/rhoconnect/handler/helpers.rb +4 -0
- data/lib/rhoconnect/handler/plugin_callbacks/execute_methods.rb +99 -0
- data/lib/rhoconnect/handler/plugin_callbacks/runner.rb +28 -0
- data/lib/rhoconnect/handler/plugin_callbacks.rb +67 -0
- data/lib/rhoconnect/handler/query/engine.rb +93 -0
- data/lib/rhoconnect/handler/query/execute_methods.rb +21 -0
- data/lib/rhoconnect/handler/query/pass_through_runner.rb +35 -0
- data/lib/rhoconnect/handler/query/runner.rb +270 -0
- data/lib/rhoconnect/handler/query.rb +19 -0
- data/lib/rhoconnect/handler/search/engine.rb +60 -0
- data/lib/rhoconnect/handler/search/execute_methods.rb +32 -0
- data/lib/rhoconnect/handler/search/pass_through_runner.rb +18 -0
- data/lib/rhoconnect/handler/search/runner.rb +104 -0
- data/lib/rhoconnect/handler/search.rb +26 -0
- data/lib/rhoconnect/handler/sync.rb +29 -0
- data/lib/rhoconnect/jobs/source_job.rb +13 -4
- data/lib/rhoconnect/js_adapter.rb +79 -0
- data/lib/rhoconnect/license.rb +10 -2
- data/lib/rhoconnect/middleware/current_user.rb +14 -1
- data/lib/rhoconnect/middleware/helpers.rb +10 -93
- data/lib/rhoconnect/middleware/x_domain_session_wrapper.rb +1 -1
- data/lib/rhoconnect/model/base.rb +229 -0
- data/lib/rhoconnect/model/dynamic_adapter_model.rb +90 -0
- data/lib/rhoconnect/model/js_base.rb +121 -0
- data/lib/rhoconnect/ping/android.rb +1 -1
- data/lib/rhoconnect/predefined_adapters/bench_adapter.rb +7 -4
- data/lib/rhoconnect/read_state.rb +3 -3
- data/lib/rhoconnect/server.rb +159 -190
- data/lib/rhoconnect/source.rb +100 -11
- data/lib/rhoconnect/stats/record.rb +10 -10
- data/lib/rhoconnect/store.rb +905 -591
- data/lib/rhoconnect/{model.rb → store_orm.rb} +53 -115
- data/lib/rhoconnect/tasks.rb +18 -4
- data/lib/rhoconnect/test_methods.rb +30 -17
- data/lib/rhoconnect/user.rb +35 -17
- data/lib/rhoconnect/utilities.rb +1 -1
- data/lib/rhoconnect/version.rb +2 -2
- data/lib/rhoconnect/web-console/server.rb +29 -14
- data/lib/rhoconnect/web-console/views/home.js +10 -10
- data/lib/rhoconnect/web-console/views/new_ping.js +1 -1
- data/lib/rhoconnect.rb +120 -51
- data/rhoconnect.gemspec +4 -3
- data/spec/api/api_helper.rb +1 -6
- data/spec/api/app/fast_delete_spec.rb +4 -4
- data/spec/api/app/fast_insert_spec.rb +4 -4
- data/spec/api/app/fast_update_spec.rb +8 -8
- data/spec/api/app/push_deletes_spec.rb +2 -2
- data/spec/api/app/push_objects_spec.rb +5 -5
- data/spec/api/client/client_get_db_doc_spec.rb +6 -4
- data/spec/api/client/client_set_db_doc_spec.rb +3 -2
- data/spec/api/client/get_client_params_spec.rb +14 -0
- data/spec/api/client/list_client_docs_spec.rb +30 -20
- data/spec/api/client/reset_spec.rb +36 -0
- data/spec/api/source/get_source_params_spec.rb +23 -17
- data/spec/api/system/get_license_info_spec.rb +0 -20
- data/spec/api/system/login_spec.rb +8 -0
- data/spec/api/system/reset_spec.rb +0 -1
- data/spec/api/system/stats_spec.rb +5 -5
- data/spec/api/user/create_user_spec.rb +14 -6
- data/spec/api/user/delete_user_spec.rb +20 -18
- data/spec/api/user/list_users_spec.rb +5 -6
- data/spec/api/user/update_user_spec.rb +5 -4
- data/spec/apps/rhotestapp/config.ru +16 -1
- data/spec/apps/rhotestapp/controllers/js/js_sample_controller.js +23 -0
- data/spec/apps/rhotestapp/controllers/js/sample2_controller.js +32 -0
- data/spec/apps/rhotestapp/controllers/ruby/application_controller.rb +21 -0
- data/spec/apps/rhotestapp/controllers/ruby/sample_adapter_controller.rb +8 -0
- data/spec/apps/rhotestapp/models/js/js_sample.js +55 -0
- data/spec/apps/rhotestapp/models/js/sample2.js +25 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/base_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/fixed_schema_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/other_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/sample_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/simple_adapter.rb +2 -2
- data/spec/apps/rhotestapp/{sources → models/ruby}/sub_adapter.rb +0 -0
- data/spec/apps/rhotestapp/settings/settings.yml +0 -1
- data/spec/bulk_data/bulk_data_spec.rb +20 -5
- data/spec/cli/cli_spec.rb +83 -0
- data/spec/client_spec.rb +20 -17
- data/spec/client_sync_spec.rb +244 -406
- data/spec/controllers/js_base_spec.rb +89 -0
- data/spec/doc/doc_spec.rb +18 -18
- data/spec/document_spec.rb +29 -13
- data/spec/dynamic_adapter_spec.rb +6 -6
- data/spec/generator/generator_spec.rb +7 -4
- data/spec/jobs/bulk_data_job_spec.rb +14 -10
- data/spec/jobs/source_job_spec.rb +8 -8
- data/spec/license_spec.rb +5 -2
- data/spec/models/js_model_spec.rb +39 -0
- data/spec/node_spec.rb +42 -0
- data/spec/perf/store_perf_spec.rb +67 -12
- data/spec/ping/android_spec.rb +1 -1
- data/spec/read_state_spec.rb +1 -1
- data/spec/rhoconnect_spec.rb +1 -1
- data/spec/server/cors_spec.rb +14 -18
- data/spec/server/server_spec.rb +265 -88
- data/spec/server/stats_spec.rb +1 -1
- data/spec/source_adapter_spec.rb +54 -27
- data/spec/source_spec.rb +8 -3
- data/spec/source_sync_spec.rb +538 -468
- data/spec/spec_helper.rb +35 -4
- data/spec/stats/record_spec.rb +10 -10
- data/spec/{model_spec.rb → store_orm_spec.rb} +56 -54
- data/spec/store_spec.rb +159 -179
- data/spec/support/shared_examples.rb +36 -27
- data/spec/sync_states_spec.rb +40 -33
- data/spec/test_methods_spec.rb +18 -14
- data/spec/user_spec.rb +17 -30
- metadata +156 -52
- data/bench/benchapp/application.rb +0 -39
- data/bench/blobapp/application.rb +0 -44
- data/commands/rhoconnect/clean_start.rb +0 -9
- data/commands/rhoconnect/create_user.rb +0 -18
- data/commands/rhoconnect/delete_device.rb +0 -9
- data/commands/rhoconnect/delete_user.rb +0 -8
- data/commands/rhoconnect/reset.rb +0 -16
- data/commands/rhoconnect/reset_refresh.rb +0 -11
- data/generators/templates/application/application.rb +0 -43
- data/lib/rhoconnect/client_sync.rb +0 -434
- data/lib/rhoconnect/dynamic_adapter.rb +0 -91
- data/lib/rhoconnect/middleware/admin_user.rb +0 -23
- data/lib/rhoconnect/middleware/current_request.rb +0 -16
- data/lib/rhoconnect/middleware/login_required.rb +0 -22
- data/lib/rhoconnect/source_adapter.rb +0 -132
- data/lib/rhoconnect/source_sync.rb +0 -464
- data/spec/apps/rhotestapp/application.rb +0 -23
@@ -0,0 +1,60 @@
|
|
1
|
+
|
2
|
+
var current_user = function(resp,callback){
|
3
|
+
var json = {};
|
4
|
+
json['function'] = 'current_user';
|
5
|
+
json['args'] = '';
|
6
|
+
json['callback'] = callback;
|
7
|
+
resp.send(json);
|
8
|
+
}
|
9
|
+
|
10
|
+
var stash_result = function(resp,callback){
|
11
|
+
var json = {};
|
12
|
+
json['function'] = 'stash_result';
|
13
|
+
json['args'] = resp.params;
|
14
|
+
json['callback'] = callback;
|
15
|
+
resp.send(json);
|
16
|
+
}
|
17
|
+
|
18
|
+
var source = function(resp,callback){
|
19
|
+
var json = {};
|
20
|
+
json['function'] = 'source';
|
21
|
+
json['args'] = '';
|
22
|
+
json['callback'] = callback;
|
23
|
+
resp.send(json);
|
24
|
+
}
|
25
|
+
|
26
|
+
var Store = function(){
|
27
|
+
var kls = 'Store';
|
28
|
+
|
29
|
+
this.put_value = function(resp,callback){
|
30
|
+
var json = this.format_json('put_value',resp.params);
|
31
|
+
resp.send(json);
|
32
|
+
}
|
33
|
+
this.get_value = function(resp,callback){
|
34
|
+
var json = this.format_json('get_value',resp.params);
|
35
|
+
resp.send(json);
|
36
|
+
}
|
37
|
+
this.put_data = function(resp,callback){
|
38
|
+
var json = this.format_json('put_data',resp.params);
|
39
|
+
resp.send(json);
|
40
|
+
}
|
41
|
+
this.get_data = function(resp,callback){
|
42
|
+
var json = this.format_json('get_data',resp.params);
|
43
|
+
resp.send(json);
|
44
|
+
}
|
45
|
+
|
46
|
+
function format_json(method,args){
|
47
|
+
var json = {};
|
48
|
+
json['kls'] = this.kls;
|
49
|
+
json['function'] = method;
|
50
|
+
json['args'] = args;
|
51
|
+
json['route'] = 'request';
|
52
|
+
return json;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
exports.current_user = current_user;
|
58
|
+
exports.stash_result = stash_result;
|
59
|
+
exports.source = source;
|
60
|
+
module.exports.Store = Store;
|
@@ -0,0 +1,60 @@
|
|
1
|
+
var Response = require('./response');
|
2
|
+
var Request = require('./request');
|
3
|
+
|
4
|
+
var router = function(json){
|
5
|
+
switch(json['route']){
|
6
|
+
case 'request':
|
7
|
+
try {
|
8
|
+
var request = new Request();
|
9
|
+
var response = new Response();
|
10
|
+
|
11
|
+
request.params = json['args'];
|
12
|
+
request.header = {'request_id':json['request_id'],'route':json['route']};
|
13
|
+
request.model = json['model'];
|
14
|
+
response.header = {'request_id':json['request_id'],'route':'response'};
|
15
|
+
|
16
|
+
//if calling model function directly load file first
|
17
|
+
if(json['klss'] !== undefined){
|
18
|
+
if(process.argv[3] == 'test' ){
|
19
|
+
var model_dir = process.cwd() + "/spec/apps/rhotestapp/models/js/";
|
20
|
+
}
|
21
|
+
else{
|
22
|
+
var model_dir = process.cwd() + "/models/js/";
|
23
|
+
}
|
24
|
+
//console.error("path is: ******* " + model_dir + json['klss'] + '.js');
|
25
|
+
var mod = require(model_dir + json['klss'] + '.js');
|
26
|
+
mod[ json['function']](response);
|
27
|
+
}
|
28
|
+
else{
|
29
|
+
//console.error("reg routes are: " + registeredRoutes[json['url']]);
|
30
|
+
registeredRoutes[json['url']](request,response);
|
31
|
+
}
|
32
|
+
break;
|
33
|
+
}
|
34
|
+
catch(e){
|
35
|
+
console.error("Node.js error caught: "+ e);
|
36
|
+
console.error("Backtrace: " + e.stack);
|
37
|
+
response.exception = {"error": e};
|
38
|
+
response.send(null);
|
39
|
+
}
|
40
|
+
break;
|
41
|
+
case 'response':
|
42
|
+
//console.error("result callback is: " + json['callback'])
|
43
|
+
var cback = json['callback'];
|
44
|
+
json['callback'] = undefined;
|
45
|
+
var response = new Response();
|
46
|
+
response.header = {'request_id':json['request_id'],'route':'response'};
|
47
|
+
response.result = json['result'];
|
48
|
+
|
49
|
+
rhoconnectCallbacks[cback](response);
|
50
|
+
delete rhoconnectCallbacks[cback];
|
51
|
+
break;
|
52
|
+
case 'deregister':
|
53
|
+
var br = require('ballroom');
|
54
|
+
br.exitNodejs();
|
55
|
+
break;
|
56
|
+
default : break;
|
57
|
+
}
|
58
|
+
};
|
59
|
+
|
60
|
+
exports.router = router;
|
@@ -1,3 +1,3 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
end
|
1
|
+
# Server.resource_api '', "/rc/#{Rhoconnect::API_VERSION}/app/ans_login", :get, {:login_required => false, :admin_route => false} do
|
2
|
+
# do_ans_login
|
3
|
+
# end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
end
|
1
|
+
# Server.resource_api '', "/rc/#{Rhoconnect::API_VERSION}/app/bulk_data", \
|
2
|
+
# :post, {:login_required => true, :admin_route => false, :deprecated_route => {:verb => :get, :url => ['/application/bulk_data', '/api/application/bulk_data']}} do
|
3
|
+
# content_type :json
|
4
|
+
# sources_param = params[:sources]
|
5
|
+
# if sources_param.is_a?String
|
6
|
+
# sources_param = sources_param.split(',')
|
7
|
+
# end
|
8
|
+
# data = ClientSync.bulk_data(params[:partition].to_sym,current_client, sources_param)
|
9
|
+
# data.to_json
|
10
|
+
# end
|
@@ -1,10 +1,11 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_id/fast_delete", :post, \
|
2
|
+
# {:admin_route => true, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/api/fast_delete', '/api/source/fast_delete']}} do
|
3
|
+
# source = Source.load(params[:source_id],{:app_id=>APP_NAME,:user_id=>params[:user_id]})
|
4
|
+
# # if source does not exist create one for dynamic adapter
|
5
|
+
# source = Source.create({:name => params[:source_id]},{:app_id => APP_NAME,:user_id=>params[:user_id]}) unless source
|
6
|
+
# source_sync = SourceSync.new(source)
|
7
|
+
# timeout = params[:timeout] || 10
|
8
|
+
# raise_on_expire = params[:raise_on_expire] || false
|
9
|
+
# source_sync.fast_delete(params[:data], timeout,raise_on_expire)
|
10
|
+
# 'done'
|
11
|
+
# end
|
@@ -1,10 +1,11 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_id/fast_insert", :post, \
|
2
|
+
# {:admin_route => true, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/api/fast_insert', '/api/source/fast_insert']}} do
|
3
|
+
# source = Source.load(params[:source_id],{:app_id=>APP_NAME,:user_id=>params[:user_id]})
|
4
|
+
# # if source does not exist create one for dynamic adapter
|
5
|
+
# source = Source.create({:name => params[:source_id]},{:app_id => APP_NAME,:user_id=>params[:user_id]}) unless source
|
6
|
+
# source_sync = SourceSync.new(source)
|
7
|
+
# timeout = params[:timeout] || 10
|
8
|
+
# raise_on_expire = params[:raise_on_expire] || false
|
9
|
+
# source_sync.fast_insert(params[:data], timeout,raise_on_expire)
|
10
|
+
# 'done'
|
11
|
+
# end
|
@@ -1,10 +1,11 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_id/fast_update", :post, \
|
2
|
+
# {:admin_route => true, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/api/fast_update', '/api/source/fast_update']}} do
|
3
|
+
# source = Source.load(params[:source_id],{:app_id=>APP_NAME,:user_id=>params[:user_id]})
|
4
|
+
# # if source does not exist create one for dynamic adapter
|
5
|
+
# source = Source.create({:name => params[:source_id]},{:app_id => APP_NAME,:user_id=>params[:user_id]}) unless source
|
6
|
+
# source_sync = SourceSync.new(source)
|
7
|
+
# timeout = params[:timeout] || 10
|
8
|
+
# raise_on_expire = params[:raise_on_expire] || false
|
9
|
+
# source_sync.fast_update(params[:delete_data], params[:data],timeout,raise_on_expire)
|
10
|
+
# 'done'
|
11
|
+
# end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
end
|
1
|
+
# Server.resource_api '', "/rc/#{Rhoconnect::API_VERSION}/app/login", :post, \
|
2
|
+
# {:admin_route => false, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/application/clientlogin', '/api/application/clientlogin']}} do
|
3
|
+
# logout
|
4
|
+
# do_login
|
5
|
+
# end
|
@@ -1,11 +1,12 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_id/push_deletes", :post, \
|
2
|
+
# {:admin_route => true, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/api/push_deletes', '/api/source/push_deletes']}} do
|
3
|
+
# source = Source.load(params[:source_id],{:app_id=>APP_NAME,:user_id=>params[:user_id]})
|
4
|
+
# # if source does not exist create one for dynamic adapter
|
5
|
+
# source = Source.create({:name => params[:source_id]},{:app_id => APP_NAME,:user_id=>params[:user_id]}) unless source
|
6
|
+
# source_sync = SourceSync.new(source)
|
7
|
+
# timeout = params[:timeout] || 10
|
8
|
+
# raise_on_expire = params[:raise_on_expire] || false
|
9
|
+
# rebuild_md = params[:rebuild_md].nil? ? true : params[:rebuild_md]
|
10
|
+
# source_sync.push_deletes(params[:objects],timeout,raise_on_expire,rebuild_md)
|
11
|
+
# 'done'
|
12
|
+
# end
|
@@ -1,11 +1,12 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_id/push_objects", :post, \
|
2
|
+
# {:admin_route => true, :login_required => false, :deprecated_route => {:verb => :post, :url => ['/api/push_objects', '/api/source/push_objects']}} do
|
3
|
+
# source = Source.load(params[:source_id],{:app_id=>APP_NAME,:user_id=>params[:user_id]})
|
4
|
+
# # if source does not exist create one for dynamic adapter
|
5
|
+
# source = Source.create({:name => params[:source_id]},{:app_id => APP_NAME,:user_id=>params[:user_id]}) unless source
|
6
|
+
# source_sync = SourceSync.new(source)
|
7
|
+
# timeout = params[:timeout] || 10
|
8
|
+
# raise_on_expire = params[:raise_on_expire] || false
|
9
|
+
# rebuild_md = params[:rebuild_md].nil? ? true : params[:rebuild_md]
|
10
|
+
# source_sync.push_objects(params[:objects],timeout,raise_on_expire,rebuild_md)
|
11
|
+
# 'done'
|
12
|
+
# end
|
@@ -1,7 +1,8 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
# Server.resource_api '', "/app/#{Rhoconnect::API_VERSION}/:source_name", :get, \
|
2
|
+
# {:admin_route => false, :login_required => true, :deprecated_route => {:verb => :get, :url => ['/api/application', '/application', '/api/application/query']}} do
|
3
|
+
# content_type :json
|
4
|
+
# res = current_client_sync.send_cud(params[:token],params[:query])
|
5
|
+
# response.headers[Rhoconnect::PAGE_TOKEN_HEADER] = res[1]['token']
|
6
|
+
# response.headers[Rhoconnect::PAGE_OBJECT_COUNT_HEADER] = res[2]['count'].to_s
|
7
|
+
# res.to_json
|
8
|
+
# end
|
@@ -1,94 +1,98 @@
|
|
1
|
-
Server.api4
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
1
|
+
# Server.api4 '', "/app/#{Rhoconnect::API_VERSION}/:source_name/queue_updates", :post, \
|
2
|
+
# {:admin_route => false, :login_required => true, :deprecated_route => {:verb => :post, :url => ['/api/application', '/application', '/api/application/queue_updates']}} do
|
3
|
+
# begin
|
4
|
+
# if params["cud"]
|
5
|
+
# cud = JSON.parse(params["cud"])
|
6
|
+
# params.delete("cud")
|
7
|
+
# params.merge!(cud)
|
8
|
+
# end
|
9
|
+
# rescue JSON::ParserError => jpe
|
10
|
+
# log jpe.message + jpe.backtrace.join("\n")
|
11
|
+
# throw :halt, [500, "Server error while processing client data"]
|
12
|
+
# rescue Exception => e
|
13
|
+
# log e.message + e.backtrace.join("\n")
|
14
|
+
# throw :halt, [500, "Internal server error"]
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# catch_all do
|
18
|
+
# current_client_sync.receive_cud(params)
|
19
|
+
# status 200
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# Server.api4 '', "/app/#{Rhoconnect::API_VERSION}/:source_name", :post, \
|
24
|
+
# {:login_required => true, :admin_route => false} do
|
25
|
+
# begin
|
26
|
+
# if params["cud"]
|
27
|
+
# cud = JSON.parse(params["cud"])
|
28
|
+
# params.delete("cud")
|
29
|
+
# params.merge!(cud)
|
30
|
+
# end
|
31
|
+
# rescue JSON::ParserError => jpe
|
32
|
+
# log jpe.message + jpe.backtrace.join("\n")
|
33
|
+
# throw :halt, [500, "Server error while processing client data"]
|
34
|
+
# rescue Exception => e
|
35
|
+
# log e.message + e.backtrace.join("\n")
|
36
|
+
# throw :halt, [500, "Internal server error"]
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# catch_all do
|
40
|
+
# current_client_sync.receive_cud(params)
|
41
|
+
# status 200
|
42
|
+
# end
|
43
|
+
# end
|
44
|
+
#
|
45
|
+
# Server.api4 '', "/app/#{Rhoconnect::API_VERSION}/:source_name/:id", :put, \
|
46
|
+
# {:login_required => true, :admin_route => false} do
|
47
|
+
# begin
|
48
|
+
# if params["cud"]
|
49
|
+
# cud = JSON.parse(params["cud"])
|
50
|
+
# params.delete("cud")
|
51
|
+
# params.merge!(cud)
|
52
|
+
# end
|
53
|
+
# rescue JSON::ParserError => jpe
|
54
|
+
# log jpe.message + jpe.backtrace.join("\n")
|
55
|
+
# throw :halt, [500, "Server error while processing client data"]
|
56
|
+
# rescue Exception => e
|
57
|
+
# log e.message + e.backtrace.join("\n")
|
58
|
+
# throw :halt, [500, "Internal server error"]
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# begin
|
62
|
+
# if params["update"]
|
63
|
+
# cud = params["update"]
|
64
|
+
# params.delete("update")
|
65
|
+
# params.merge!("update" => {params[:id] => cud})
|
66
|
+
# end
|
67
|
+
# rescue JSON::ParserError => jpe
|
68
|
+
# log jpe.message + jpe.backtrace.join("\n")
|
69
|
+
# throw :halt, [500, "Server error while processing client data"]
|
70
|
+
# rescue Exception => e
|
71
|
+
# log e.message + e.backtrace.join("\n")
|
72
|
+
# throw :halt, [500, "Internal server error"]
|
73
|
+
# end
|
74
|
+
#
|
75
|
+
# catch_all do
|
76
|
+
# current_client_sync.receive_cud(params)
|
77
|
+
# status 200
|
78
|
+
# end
|
79
|
+
# end
|
80
|
+
#
|
81
|
+
# Server.api4 '', "/app/#{Rhoconnect::API_VERSION}/:source_name/:id", :delete, \
|
82
|
+
# {:login_required => true, :admin_route => false} do
|
83
|
+
# begin
|
84
|
+
# obj = current_client.get_object(:cd, params[:id])
|
85
|
+
# params.merge!("delete" => { params[:id] => obj } )
|
86
|
+
# rescue JSON::ParserError => jpe
|
87
|
+
# log jpe.message + jpe.backtrace.join("\n")
|
88
|
+
# throw :halt, [500, "Server error while processing client data"]
|
89
|
+
# rescue Exception => e
|
90
|
+
# log e.message + e.backtrace.join("\n")
|
91
|
+
# throw :halt, [500, "Internal server error"]
|
92
|
+
# end
|
93
|
+
#
|
94
|
+
# catch_all do
|
95
|
+
# current_client_sync.receive_cud(params)
|
96
|
+
# status 200
|
97
|
+
# end
|
98
|
+
# end
|
@@ -1,7 +1,8 @@
|
|
1
|
-
Server.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
# Server.resource_api '', "/rc/#{Rhoconnect::API_VERSION}/app/search", :post, \
|
2
|
+
# {:admin_route => false, :login_required => true, :deprecated_route => {:verb => :get, :url => ['/application/search', '/api/application/search']}} do
|
3
|
+
# content_type :json
|
4
|
+
# res = ClientSync.search_all(current_client,params)
|
5
|
+
# response.headers[Rhoconnect::PAGE_TOKEN_HEADER] = res[0][1]['token'] if res[0][1] and res[0][1]['token']
|
6
|
+
# response.headers[Rhoconnect::PAGE_OBJECT_COUNT_HEADER] = res[0][3]['count'].to_s if res[0][3] and res[0][3]['count']
|
7
|
+
# res.to_json
|
8
|
+
# end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
Server.api4 :client_get_db_doc, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docs/:doc", true, nil do |params,user|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
end
|
1
|
+
# Server.api4 :client_get_db_doc, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docs/:doc", true, nil do |params,user|
|
2
|
+
# c = Client.load(params[:client_id],{:source_name => params[:source_id]})
|
3
|
+
# db_key = c.docname(params[:doc])
|
4
|
+
# Store.get_db_doc(db_key)
|
5
|
+
# end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
Server.api4 :client_set_db_doc, :post, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docs/:doc", true, nil do |params,user|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
end
|
1
|
+
# Server.api4 :client_set_db_doc, :post, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docs/:doc", true, nil do |params,user|
|
2
|
+
# c = Client.load(params[:client_id],{:source_name => params[:source_id]})
|
3
|
+
# db_key = c.docname(params[:doc])
|
4
|
+
# append_to_doc = params[:append]
|
5
|
+
# append_to_doc ||= false
|
6
|
+
# Store.set_db_doc(db_key,params[:data],append_to_doc)
|
7
|
+
# ''
|
8
|
+
# end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
Server.api4 :clientcreate, :post, "/rc/#{Rhoconnect::API_VERSION}/clients", \
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
end
|
1
|
+
# Server.api4 :clientcreate, :post, "/rc/#{Rhoconnect::API_VERSION}/clients", \
|
2
|
+
# false, {:verb => :get, :url => ['/application/clientcreate', '/api/application/clientcreate']} do |params,user,server|
|
3
|
+
# server.content_type :json
|
4
|
+
# client = Client.create(:user_id => server.current_user.id,:app_id => server.current_app.id)
|
5
|
+
# client.update_fields(params)
|
6
|
+
# { "client" => { "client_id" => client.id.to_s } }.to_json
|
7
|
+
# end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
Server.api4 :get_client_params, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id", \
|
2
|
-
|
3
|
-
|
4
|
-
end
|
1
|
+
# Server.api4 :get_client_params, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id", \
|
2
|
+
# true, {:verb => :post, :url => ['/api/get_client_params', '/api/client/get_client_params']} do |params,user|
|
3
|
+
# Client.load(params[:client_id],{:source_name => '*'}).to_array.to_json
|
4
|
+
# end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
Server.api4 :list_client_docs, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docnames", \
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
1
|
+
# Server.api4 :list_client_docs, :get, "/rc/#{Rhoconnect::API_VERSION}/clients/:client_id/sources/:source_id/docnames", \
|
2
|
+
# true, {:verb => :post, :url => ['/api/list_client_docs', '/api/client/list_client_docs']} do |params,user|
|
3
|
+
# result = ""
|
4
|
+
# Rhoconnect::Stats::Record.update('clientdocs') do
|
5
|
+
# c = Client.load(params[:client_id],{:source_name => params[:source_id]})
|
6
|
+
# res = {}
|
7
|
+
# [:cd,:cd_size,:create,:update,:delete,
|
8
|
+
# :page,:delete_page,:create_links,:create_links_page,:page_token,
|
9
|
+
# :create_errors,:update_errors,:delete_errors,:login_error,:logoff_error,
|
10
|
+
# :search,:search_token,:search_errors].each do |doc|
|
11
|
+
# db_key = c.docname(doc)
|
12
|
+
# res.merge!(doc => db_key)
|
13
|
+
# end
|
14
|
+
# result = res.to_json
|
15
|
+
# end
|
16
|
+
# result
|
17
|
+
# end
|