alchemymvc 1.3.22 → 1.4.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3 -3
- package/lib/app/behaviour/publishable_behaviour.js +5 -5
- package/lib/app/behaviour/revision_behaviour.js +96 -59
- package/lib/app/behaviour/sluggable_behaviour.js +14 -14
- package/lib/app/conduit/electron_conduit.js +9 -9
- package/lib/app/conduit/http_conduit.js +13 -13
- package/lib/app/conduit/loopback_conduit.js +15 -15
- package/lib/app/conduit/socket_conduit.js +43 -43
- package/lib/app/config/routes.js +26 -0
- package/lib/app/controller/00-default_app_controller.js +21 -0
- package/lib/app/controller/alchemy_info_controller.js +12 -12
- package/lib/app/datasource/mongo_datasource.js +27 -18
- package/lib/app/element/00-default_app_element.js +19 -0
- package/lib/app/element/time_ago.js +5 -5
- package/lib/app/helper/00-default_app_helper.js +11 -0
- package/lib/app/helper/alchemy_helper.js +22 -22
- package/lib/app/helper/backed_map.js +1 -1
- package/lib/app/helper/breadcrumb.js +10 -10
- package/lib/app/helper/client_collection.js +3 -3
- package/lib/app/helper/cron.js +29 -29
- package/lib/app/helper/enum_values.js +6 -6
- package/lib/app/helper/pagination_helper.js +36 -36
- package/lib/app/helper/router_helper.js +35 -35
- package/lib/app/helper/socket_helper.js +57 -57
- package/lib/app/helper/syncable.js +62 -62
- package/lib/app/helper_component/paginate_component.js +9 -9
- package/lib/app/helper_controller/component.js +1 -1
- package/lib/app/helper_controller/conduit.js +31 -31
- package/lib/app/helper_controller/controller.js +54 -39
- package/lib/app/helper_datasource/00-nosql_datasource.js +624 -70
- package/lib/app/helper_datasource/05-fallback_datasource.js +10 -10
- package/lib/app/helper_datasource/idb_datasource.js +6 -6
- package/lib/app/helper_datasource/indexed_db.js +22 -22
- package/lib/app/helper_datasource/remote_datasource.js +5 -5
- package/lib/app/helper_error/http_error.js +4 -4
- package/lib/app/helper_error/model_error.js +2 -2
- package/lib/app/helper_error/validation_error.js +12 -12
- package/lib/app/helper_field/00-objectid_field.js +7 -7
- package/lib/app/helper_field/05-string_field.js +16 -12
- package/lib/app/helper_field/06-text_field.js +2 -4
- package/lib/app/helper_field/10-number_field.js +9 -12
- package/lib/app/helper_field/11-date_field.js +15 -15
- package/lib/app/helper_field/15-local_temporal_field.js +10 -10
- package/lib/app/helper_field/20-decimal_field.js +8 -9
- package/lib/app/helper_field/belongsto_field.js +1 -1
- package/lib/app/helper_field/big_int_field.js +8 -8
- package/lib/app/helper_field/boolean_field.js +9 -11
- package/lib/app/helper_field/datetime_field.js +3 -3
- package/lib/app/helper_field/enum_field.js +13 -8
- package/lib/app/helper_field/fixed_decimal_field.js +6 -7
- package/lib/app/helper_field/geopoint_field.js +9 -10
- package/lib/app/helper_field/habtm_field.js +3 -3
- package/lib/app/helper_field/hasoneparent_field.js +1 -1
- package/lib/app/helper_field/html_field.js +2 -4
- package/lib/app/helper_field/integer_field.js +8 -11
- package/lib/app/helper_field/local_date_field.js +5 -5
- package/lib/app/helper_field/local_date_time_field.js +5 -5
- package/lib/app/helper_field/local_time_field.js +5 -5
- package/lib/app/helper_field/mixed_field.js +5 -5
- package/lib/app/helper_field/object_field.js +6 -6
- package/lib/app/helper_field/password_field.js +3 -3
- package/lib/app/helper_field/regexp_field.js +7 -9
- package/lib/app/helper_field/schema_field.js +91 -88
- package/lib/app/helper_field/settings_field.js +92 -0
- package/lib/app/helper_field/time_field.js +6 -6
- package/lib/app/helper_field/url_field.js +2 -4
- package/lib/app/helper_model/00-base_criteria.js +662 -0
- package/lib/app/helper_model/05-criteria_expressions.js +605 -0
- package/lib/app/helper_model/10-model_criteria.js +1182 -0
- package/lib/app/helper_model/data_provider.js +2 -2
- package/lib/app/helper_model/document.js +103 -92
- package/lib/app/helper_model/document_list.js +14 -14
- package/lib/app/helper_model/field_config.js +11 -11
- package/lib/app/helper_model/field_set.js +17 -17
- package/lib/app/helper_model/model.js +201 -123
- package/lib/app/helper_model/remote_data_provider.js +2 -2
- package/lib/app/helper_validator/00_validator.js +16 -16
- package/lib/app/helper_validator/not_empty_validator.js +9 -9
- package/lib/app/model/00-default_app_model.js +18 -0
- package/lib/app/model/05-system_model.js +27 -0
- package/lib/app/model/{alchemy_migration_model.js → system_migration_model.js} +4 -4
- package/lib/app/model/system_setting_model.js +154 -0
- package/lib/app/model/{alchemy_task_history_model.js → system_task_history_model.js} +7 -7
- package/lib/app/model/{alchemy_task_model.js → system_task_model.js} +11 -11
- package/lib/bootstrap.js +22 -312
- package/lib/class/accumulator.js +5 -5
- package/lib/class/behaviour.js +5 -5
- package/lib/class/component.js +3 -3
- package/lib/class/conduit.js +152 -150
- package/lib/class/controller.js +42 -42
- package/lib/class/datasource.js +74 -79
- package/lib/class/document.js +74 -95
- package/lib/class/document_list.js +5 -5
- package/lib/class/element.js +17 -17
- package/lib/class/error.js +3 -3
- package/lib/class/field.js +169 -91
- package/lib/class/field_value.js +6 -6
- package/lib/class/helper.js +3 -3
- package/lib/class/inode.js +17 -17
- package/lib/class/inode_dir.js +12 -12
- package/lib/class/inode_file.js +26 -26
- package/lib/class/inode_list.js +4 -4
- package/lib/class/migration.js +4 -4
- package/lib/class/model.js +146 -165
- package/lib/class/path_definition.js +22 -22
- package/lib/class/path_evaluator.js +5 -5
- package/lib/class/path_param_definition.js +7 -7
- package/lib/class/plugin.js +312 -0
- package/lib/class/postponement.js +29 -29
- package/lib/class/reciprocal.js +8 -8
- package/lib/class/route.js +33 -33
- package/lib/class/router.js +73 -73
- package/lib/class/schema.js +21 -21
- package/lib/class/schema_client.js +105 -82
- package/lib/class/session.js +63 -29
- package/lib/class/session_scene.js +4 -4
- package/lib/class/sitemap.js +16 -16
- package/lib/class/task.js +39 -39
- package/lib/class/task_service.js +43 -47
- package/lib/{init → core}/alchemy.js +411 -373
- package/lib/{init/functions.js → core/alchemy_functions.js} +113 -91
- package/lib/core/alchemy_load_functions.js +715 -0
- package/lib/core/base.js +50 -62
- package/lib/core/client_alchemy.js +144 -152
- package/lib/core/client_base.js +27 -50
- package/lib/core/discovery.js +16 -18
- package/lib/core/middleware.js +54 -43
- package/lib/core/{routing.js → prefix.js} +14 -16
- package/lib/core/setting.js +1684 -0
- package/lib/core/stage.js +758 -0
- package/lib/scripts/create_constants.js +119 -0
- package/lib/{init/languages.js → scripts/create_languages.js} +5 -5
- package/lib/scripts/create_settings.js +449 -0
- package/lib/scripts/create_shared_constants.js +95 -0
- package/lib/scripts/create_stages.js +55 -0
- package/lib/scripts/init_alchemy.js +51 -0
- package/lib/{init/requirements.js → scripts/preload_modules.js} +15 -2
- package/lib/scripts/setup_devwatch.js +238 -0
- package/lib/stages/00-load_core.js +342 -0
- package/lib/stages/05-load_app.js +57 -0
- package/lib/stages/10-datasource.js +61 -0
- package/lib/stages/15-tasks.js +27 -0
- package/lib/stages/20-settings.js +68 -0
- package/lib/stages/50-routes.js +218 -0
- package/lib/stages/90-server.js +347 -0
- package/package.json +5 -7
- package/lib/app/helper_model/criteria.js +0 -2294
- package/lib/app/helper_model/db_query.js +0 -1488
- package/lib/app/routes.js +0 -11
- package/lib/core/socket.js +0 -171
- package/lib/init/constants.js +0 -158
- package/lib/init/devwatch.js +0 -238
- package/lib/init/load_functions.js +0 -979
- package/lib/stages.js +0 -515
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
var fs = alchemy.use('fs'),
|
|
4
2
|
connections = alchemy.shared('Connection.all'),
|
|
5
3
|
prefixes = alchemy.shared('Routing.prefixes'),
|
|
@@ -18,11 +16,11 @@ global.Prefix = {
|
|
|
18
16
|
/**
|
|
19
17
|
* Add a prefix
|
|
20
18
|
*
|
|
21
|
-
* @author Jelle De Loecker
|
|
19
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
22
20
|
* @since 0.0.1
|
|
23
21
|
* @version 1.1.0
|
|
24
22
|
*
|
|
25
|
-
* @param
|
|
23
|
+
* @param {string} name An identifier for this url
|
|
26
24
|
*/
|
|
27
25
|
Prefix.add = function addPrefix(name, options) {
|
|
28
26
|
|
|
@@ -47,11 +45,11 @@ Prefix.add = function addPrefix(name, options) {
|
|
|
47
45
|
/**
|
|
48
46
|
* Get a prefix
|
|
49
47
|
*
|
|
50
|
-
* @author Jelle De Loecker
|
|
48
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
51
49
|
* @since 0.0.1
|
|
52
50
|
* @version 0.0.1
|
|
53
51
|
*
|
|
54
|
-
* @param
|
|
52
|
+
* @param {string} name The name of the prefix
|
|
55
53
|
*/
|
|
56
54
|
Prefix.get = function getPrefix(name) {
|
|
57
55
|
return prefixes[name];
|
|
@@ -60,7 +58,7 @@ Prefix.get = function getPrefix(name) {
|
|
|
60
58
|
/**
|
|
61
59
|
* Get all the available prefixes
|
|
62
60
|
*
|
|
63
|
-
* @author Jelle De Loecker
|
|
61
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
64
62
|
* @since 0.0.1
|
|
65
63
|
* @version 0.0.1
|
|
66
64
|
*/
|
|
@@ -80,7 +78,7 @@ Prefix.all = function allPrefixes() {
|
|
|
80
78
|
/**
|
|
81
79
|
* Get a list of all the available prefixes
|
|
82
80
|
*
|
|
83
|
-
* @author Jelle De Loecker
|
|
81
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
84
82
|
* @since 0.1.1
|
|
85
83
|
* @version 0.1.1
|
|
86
84
|
*/
|
|
@@ -91,7 +89,7 @@ Prefix.getPrefixList = function getPrefixList() {
|
|
|
91
89
|
/**
|
|
92
90
|
* Determine which prefix should be used
|
|
93
91
|
*
|
|
94
|
-
* @author Jelle De Loecker
|
|
92
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
95
93
|
* @since 0.0.1
|
|
96
94
|
* @version 0.0.1
|
|
97
95
|
*
|
|
@@ -157,7 +155,7 @@ Prefix.determine = function determinePrefix(alchemyRoute, clientLanguages, sessi
|
|
|
157
155
|
/**
|
|
158
156
|
* Get fallback prefixes
|
|
159
157
|
*
|
|
160
|
-
* @author Jelle De Loecker
|
|
158
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
161
159
|
* @since 0.0.1
|
|
162
160
|
* @version 0.0.1
|
|
163
161
|
*
|
|
@@ -190,12 +188,12 @@ Prefix.getFallback = function getFallback(languages) {
|
|
|
190
188
|
/**
|
|
191
189
|
* Construct a URL for a connection name with the given parameters
|
|
192
190
|
*
|
|
193
|
-
* @author Jelle De Loecker
|
|
191
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
194
192
|
* @since 0.0.1
|
|
195
193
|
* @version 0.0.1
|
|
196
194
|
*
|
|
197
|
-
* @param
|
|
198
|
-
* @param
|
|
195
|
+
* @param {string} connectionName The connection to get
|
|
196
|
+
* @param {Object} options The options for this connection
|
|
199
197
|
*/
|
|
200
198
|
Connection.url = function url(connectionName, options) {
|
|
201
199
|
|
|
@@ -234,12 +232,12 @@ Connection.url = function url(connectionName, options) {
|
|
|
234
232
|
/**
|
|
235
233
|
* Fill in a source url with the given parameters
|
|
236
234
|
*
|
|
237
|
-
* @author Jelle De Loecker
|
|
235
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
238
236
|
* @since 0.0.1
|
|
239
237
|
* @version 0.0.1
|
|
240
238
|
*
|
|
241
|
-
* @param
|
|
242
|
-
* @param
|
|
239
|
+
* @param {string} url The source url to fill in
|
|
240
|
+
* @param {Object} params The parameters to use
|
|
243
241
|
*/
|
|
244
242
|
Connection.fill = function fill(url, params) {
|
|
245
243
|
|