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
package/lib/class/datasource.js
CHANGED
|
@@ -3,7 +3,7 @@ var instances = {};
|
|
|
3
3
|
/**
|
|
4
4
|
* Datasource
|
|
5
5
|
*
|
|
6
|
-
* @author Jelle De Loecker
|
|
6
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
7
7
|
* @since 0.2.0
|
|
8
8
|
* @version 1.1.0
|
|
9
9
|
*/
|
|
@@ -27,21 +27,23 @@ Datasource.startNewGroup();
|
|
|
27
27
|
/**
|
|
28
28
|
* Enable query caching according to settings
|
|
29
29
|
*
|
|
30
|
-
* @author Jelle De Loecker
|
|
30
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
31
31
|
* @since 0.2.0
|
|
32
|
-
* @version
|
|
32
|
+
* @version 1.4.0
|
|
33
33
|
*/
|
|
34
|
-
Datasource.setProperty(
|
|
34
|
+
Datasource.setProperty(function queryCache() {
|
|
35
|
+
return !!alchemy.settings.data_management.model_query_cache_duration;
|
|
36
|
+
});
|
|
35
37
|
|
|
36
38
|
/**
|
|
37
39
|
* Set support flag for something
|
|
38
40
|
*
|
|
39
|
-
* @author Jelle De Loecker
|
|
41
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
40
42
|
* @since 1.0.7
|
|
41
43
|
* @version 1.0.7
|
|
42
44
|
*
|
|
43
|
-
* @param {
|
|
44
|
-
* @param {
|
|
45
|
+
* @param {string} name
|
|
46
|
+
* @param {boolean} value
|
|
45
47
|
*/
|
|
46
48
|
Datasource.setStatic(function setSupport(name, value) {
|
|
47
49
|
this.constitute(function doSetSupport() {
|
|
@@ -57,13 +59,13 @@ Datasource.setStatic(function setSupport(name, value) {
|
|
|
57
59
|
/**
|
|
58
60
|
* See if this supports the given flag
|
|
59
61
|
*
|
|
60
|
-
* @author Jelle De Loecker
|
|
62
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
61
63
|
* @since 1.0.7
|
|
62
64
|
* @version 1.0.7
|
|
63
65
|
*
|
|
64
|
-
* @param {
|
|
66
|
+
* @param {string} name
|
|
65
67
|
*
|
|
66
|
-
* @return {
|
|
68
|
+
* @return {boolean}
|
|
67
69
|
*/
|
|
68
70
|
Datasource.setStatic(function supports(name) {
|
|
69
71
|
|
|
@@ -77,13 +79,13 @@ Datasource.setStatic(function supports(name) {
|
|
|
77
79
|
/**
|
|
78
80
|
* Instance method alias for support flags
|
|
79
81
|
*
|
|
80
|
-
* @author Jelle De Loecker
|
|
82
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
81
83
|
* @since 1.0.7
|
|
82
84
|
* @version 1.0.7
|
|
83
85
|
*
|
|
84
|
-
* @param {
|
|
86
|
+
* @param {string} name
|
|
85
87
|
*
|
|
86
|
-
* @return {
|
|
88
|
+
* @return {boolean}
|
|
87
89
|
*/
|
|
88
90
|
Datasource.setMethod(function supports(name) {
|
|
89
91
|
return this.constructor.supports(name);
|
|
@@ -92,13 +94,13 @@ Datasource.setMethod(function supports(name) {
|
|
|
92
94
|
/**
|
|
93
95
|
* Allow a specific action?
|
|
94
96
|
*
|
|
95
|
-
* @author Jelle De Loecker
|
|
97
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
96
98
|
* @since 1.1.0
|
|
97
99
|
* @version 1.1.0
|
|
98
100
|
*
|
|
99
|
-
* @param {
|
|
101
|
+
* @param {string} name
|
|
100
102
|
*
|
|
101
|
-
* @return {
|
|
103
|
+
* @return {boolean}
|
|
102
104
|
*/
|
|
103
105
|
Datasource.setMethod(function allows(name) {
|
|
104
106
|
|
|
@@ -119,7 +121,7 @@ Datasource.setMethod(function allows(name) {
|
|
|
119
121
|
/**
|
|
120
122
|
* Convert the given value to a BigInt (for use in JS)
|
|
121
123
|
*
|
|
122
|
-
* @author Jelle De Loecker
|
|
124
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
123
125
|
* @since 1.3.20
|
|
124
126
|
* @version 1.3.20
|
|
125
127
|
*
|
|
@@ -139,7 +141,7 @@ Datasource.setMethod(function castToBigInt(value) {
|
|
|
139
141
|
/**
|
|
140
142
|
* Convert the given value from a BigInt (for use in DB)
|
|
141
143
|
*
|
|
142
|
-
* @author Jelle De Loecker
|
|
144
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
143
145
|
* @since 1.3.20
|
|
144
146
|
* @version 1.3.20
|
|
145
147
|
*
|
|
@@ -159,7 +161,7 @@ Datasource.setMethod(function convertBigIntForDatasource(value) {
|
|
|
159
161
|
/**
|
|
160
162
|
* Convert the given value to a Decimal (for use in JS)
|
|
161
163
|
*
|
|
162
|
-
* @author Jelle De Loecker
|
|
164
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
163
165
|
* @since 1.3.20
|
|
164
166
|
* @version 1.3.20
|
|
165
167
|
*
|
|
@@ -179,11 +181,11 @@ Datasource.setMethod(function castToDecimal(value) {
|
|
|
179
181
|
/**
|
|
180
182
|
* Convert the given decimal for use in DB
|
|
181
183
|
*
|
|
182
|
-
* @author Jelle De Loecker
|
|
184
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
183
185
|
* @since 1.3.20
|
|
184
186
|
* @version 1.3.20
|
|
185
187
|
*
|
|
186
|
-
* @param {Decimal|
|
|
188
|
+
* @param {Decimal|string} value
|
|
187
189
|
*
|
|
188
190
|
* @return {Decimal}
|
|
189
191
|
*/
|
|
@@ -199,13 +201,13 @@ Datasource.setMethod(function convertDecimalForDatasource(value) {
|
|
|
199
201
|
/**
|
|
200
202
|
* Hash a string synchronously
|
|
201
203
|
*
|
|
202
|
-
* @author Jelle De Loecker
|
|
204
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
203
205
|
* @since 0.2.0
|
|
204
206
|
* @version 1.1.5
|
|
205
207
|
*
|
|
206
|
-
* @param {
|
|
208
|
+
* @param {string} str
|
|
207
209
|
*
|
|
208
|
-
* @return {
|
|
210
|
+
* @return {string}
|
|
209
211
|
*/
|
|
210
212
|
Datasource.setMethod(function hashString(str) {
|
|
211
213
|
return alchemy.checksum(str);
|
|
@@ -214,7 +216,7 @@ Datasource.setMethod(function hashString(str) {
|
|
|
214
216
|
/**
|
|
215
217
|
* Get a schema
|
|
216
218
|
*
|
|
217
|
-
* @author Jelle De Loecker
|
|
219
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
218
220
|
* @since 1.1.0
|
|
219
221
|
* @version 1.1.0
|
|
220
222
|
*
|
|
@@ -243,7 +245,7 @@ Datasource.setMethod(function getSchema(schema) {
|
|
|
243
245
|
/**
|
|
244
246
|
* Prepare record to be stored in the database
|
|
245
247
|
*
|
|
246
|
-
* @author Jelle De Loecker
|
|
248
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
247
249
|
* @since 0.2.0
|
|
248
250
|
* @version 1.3.0
|
|
249
251
|
*
|
|
@@ -268,7 +270,7 @@ Datasource.setMethod(function toDatasource(schema, data, callback) {
|
|
|
268
270
|
|
|
269
271
|
if (!schema) {
|
|
270
272
|
|
|
271
|
-
if (alchemy.settings.debug) {
|
|
273
|
+
if (alchemy.settings.debugging.debug) {
|
|
272
274
|
alchemy.distinctProblem('schema-not-found', 'Schema not found: not normalizing data');
|
|
273
275
|
}
|
|
274
276
|
|
|
@@ -334,9 +336,9 @@ Datasource.setMethod(function toDatasource(schema, data, callback) {
|
|
|
334
336
|
/**
|
|
335
337
|
* Prepare to return the record from the database to the app
|
|
336
338
|
*
|
|
337
|
-
* @author Jelle De Loecker
|
|
339
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
338
340
|
* @since 0.2.0
|
|
339
|
-
* @version 1.
|
|
341
|
+
* @version 1.4.0
|
|
340
342
|
*
|
|
341
343
|
* @param {Schema|Model} schema
|
|
342
344
|
* @param {Object} query
|
|
@@ -347,16 +349,13 @@ Datasource.setMethod(function toDatasource(schema, data, callback) {
|
|
|
347
349
|
*/
|
|
348
350
|
Datasource.setMethod(function toApp(schema, query, options, data, callback) {
|
|
349
351
|
|
|
350
|
-
var pledge;
|
|
351
|
-
|
|
352
352
|
if (!data) {
|
|
353
|
-
pledge = Pledge.reject(new Error('Unable to convert data: no data given'));
|
|
353
|
+
let pledge = Pledge.reject(new Error('Unable to convert data: no data given'));
|
|
354
354
|
pledge.done(callback);
|
|
355
355
|
return pledge;
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
let that = this
|
|
359
|
-
tasks;
|
|
358
|
+
let that = this;
|
|
360
359
|
|
|
361
360
|
schema = this.getSchema(schema);
|
|
362
361
|
|
|
@@ -375,6 +374,8 @@ Datasource.setMethod(function toApp(schema, query, options, data, callback) {
|
|
|
375
374
|
options._root_data = data;
|
|
376
375
|
}
|
|
377
376
|
|
|
377
|
+
let tasks;
|
|
378
|
+
|
|
378
379
|
if (data[schema.name]) {
|
|
379
380
|
tasks = {};
|
|
380
381
|
|
|
@@ -428,34 +429,32 @@ Datasource.setMethod(function toApp(schema, query, options, data, callback) {
|
|
|
428
429
|
data = Object.assign({}, data);
|
|
429
430
|
tasks = {};
|
|
430
431
|
|
|
431
|
-
|
|
432
|
+
for (let entry of schema.getSortedItems()) {
|
|
432
433
|
|
|
433
|
-
|
|
434
|
+
let field_name = entry.key,
|
|
435
|
+
field = entry.value,
|
|
436
|
+
value = data[field_name];
|
|
434
437
|
|
|
435
438
|
if (field != null) {
|
|
436
|
-
tasks[
|
|
439
|
+
tasks[field_name] = function doToDatasource(next) {
|
|
437
440
|
that.valueToApp(field, query, options, value, next);
|
|
438
441
|
};
|
|
439
|
-
}
|
|
440
|
-
|
|
442
|
+
}
|
|
443
|
+
}
|
|
441
444
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
+
if (Blast.isBrowser) {
|
|
446
|
+
for (let key in data) {
|
|
447
|
+
if (key[0] == '_' && key[1] == '$') {
|
|
445
448
|
// Certain extra data is stored on the browser as
|
|
446
449
|
// properties starting with "_$"
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
if (allow_field) {
|
|
451
|
-
tasks[fieldName] = function addExtraneous(next) {
|
|
452
|
-
next(null, value);
|
|
450
|
+
tasks[key] = function addExtraneous(next) {
|
|
451
|
+
next(null, data[key]);
|
|
453
452
|
};
|
|
454
453
|
}
|
|
455
454
|
}
|
|
456
|
-
}
|
|
455
|
+
}
|
|
457
456
|
|
|
458
|
-
pledge = Function.parallel(tasks, callback);
|
|
457
|
+
let pledge = Function.parallel(tasks, callback);
|
|
459
458
|
|
|
460
459
|
return pledge;
|
|
461
460
|
});
|
|
@@ -463,7 +462,7 @@ Datasource.setMethod(function toApp(schema, query, options, data, callback) {
|
|
|
463
462
|
/**
|
|
464
463
|
* Prepare value to be stored in the database
|
|
465
464
|
*
|
|
466
|
-
* @author Jelle De Loecker
|
|
465
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
467
466
|
* @since 0.2.0
|
|
468
467
|
* @version 0.2.0
|
|
469
468
|
*/
|
|
@@ -484,7 +483,7 @@ Datasource.setMethod(function valueToDatasource(field, value, data, callback) {
|
|
|
484
483
|
/**
|
|
485
484
|
* Prepare value to be returned to the app
|
|
486
485
|
*
|
|
487
|
-
* @author Jelle De Loecker
|
|
486
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
488
487
|
* @since 0.2.0
|
|
489
488
|
* @version 0.2.0
|
|
490
489
|
*/
|
|
@@ -506,34 +505,30 @@ Datasource.setMethod(function valueToApp(field, query, options, value, callback)
|
|
|
506
505
|
* Prepare value to be stored in the database.
|
|
507
506
|
* Should be overridden by extended datasources.
|
|
508
507
|
*
|
|
509
|
-
* @author Jelle De Loecker
|
|
508
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
510
509
|
* @since 0.2.0
|
|
511
510
|
* @version 1.1.0
|
|
512
511
|
*/
|
|
513
512
|
Datasource.setMethod(function _valueToDatasource(field, value, data, callback) {
|
|
514
|
-
|
|
515
|
-
callback(null, value);
|
|
516
|
-
});
|
|
513
|
+
callback(null, value);
|
|
517
514
|
});
|
|
518
515
|
|
|
519
516
|
/**
|
|
520
517
|
* Prepare value to be returned to the app.
|
|
521
518
|
* Should be overridden by extended datasources.
|
|
522
519
|
*
|
|
523
|
-
* @author Jelle De Loecker
|
|
520
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
524
521
|
* @since 0.2.0
|
|
525
522
|
* @version 1.1.0
|
|
526
523
|
*/
|
|
527
524
|
Datasource.setMethod(function _valueToApp(field, query, options, value, callback) {
|
|
528
|
-
|
|
529
|
-
callback(null, value);
|
|
530
|
-
});
|
|
525
|
+
callback(null, value);
|
|
531
526
|
});
|
|
532
527
|
|
|
533
528
|
/**
|
|
534
529
|
* Query the database
|
|
535
530
|
*
|
|
536
|
-
* @author Jelle De Loecker
|
|
531
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
537
532
|
* @since 0.2.0
|
|
538
533
|
* @version 1.3.16
|
|
539
534
|
*
|
|
@@ -657,7 +652,7 @@ Datasource.setMethod(function read(model, criteria, callback) {
|
|
|
657
652
|
/**
|
|
658
653
|
* Insert new data into the database
|
|
659
654
|
*
|
|
660
|
-
* @author Jelle De Loecker
|
|
655
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
661
656
|
* @since 0.2.0
|
|
662
657
|
* @version 1.0.6
|
|
663
658
|
*
|
|
@@ -701,7 +696,7 @@ Datasource.setMethod(function create(model, data, options, callback) {
|
|
|
701
696
|
/**
|
|
702
697
|
* Update data
|
|
703
698
|
*
|
|
704
|
-
* @author Jelle De Loecker
|
|
699
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
705
700
|
* @since 0.2.0
|
|
706
701
|
* @version 1.1.0
|
|
707
702
|
*
|
|
@@ -755,7 +750,7 @@ Datasource.setMethod(function update(model, data, options, callback) {
|
|
|
755
750
|
/**
|
|
756
751
|
* Remove data from the database
|
|
757
752
|
*
|
|
758
|
-
* @author Jelle De Loecker
|
|
753
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
759
754
|
* @since 0.2.0
|
|
760
755
|
* @version 0.2.0
|
|
761
756
|
*/
|
|
@@ -766,7 +761,7 @@ Datasource.setMethod(function remove(model, query, options, callback) {
|
|
|
766
761
|
/**
|
|
767
762
|
* Ensure an index in the database
|
|
768
763
|
*
|
|
769
|
-
* @author Jelle De Loecker
|
|
764
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
770
765
|
* @since 0.2.0
|
|
771
766
|
* @version 0.3.0
|
|
772
767
|
*/
|
|
@@ -782,7 +777,7 @@ Datasource.setMethod(function ensureIndex(model, index, callback) {
|
|
|
782
777
|
/**
|
|
783
778
|
* Insert new data into the database
|
|
784
779
|
*
|
|
785
|
-
* @author Jelle De Loecker
|
|
780
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
786
781
|
* @since 0.2.0
|
|
787
782
|
* @version 0.2.0
|
|
788
783
|
*
|
|
@@ -800,7 +795,7 @@ Datasource.setMethod(function _create(model, data, options, callback) {
|
|
|
800
795
|
/**
|
|
801
796
|
* Query the database
|
|
802
797
|
*
|
|
803
|
-
* @author Jelle De Loecker
|
|
798
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
804
799
|
* @since 0.2.0
|
|
805
800
|
* @version 0.2.0
|
|
806
801
|
*/
|
|
@@ -811,7 +806,7 @@ Datasource.setMethod(function _read(model, query, options, callback) {
|
|
|
811
806
|
/**
|
|
812
807
|
* Update data
|
|
813
808
|
*
|
|
814
|
-
* @author Jelle De Loecker
|
|
809
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
815
810
|
* @since 0.2.0
|
|
816
811
|
* @version 0.2.0
|
|
817
812
|
*/
|
|
@@ -822,7 +817,7 @@ Datasource.setMethod(function _update(model, data, options, callback) {
|
|
|
822
817
|
/**
|
|
823
818
|
* Remove data from the database
|
|
824
819
|
*
|
|
825
|
-
* @author Jelle De Loecker
|
|
820
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
826
821
|
* @since 0.2.0
|
|
827
822
|
* @version 0.2.0
|
|
828
823
|
*/
|
|
@@ -833,7 +828,7 @@ Datasource.setMethod(function _remove(model, query, options, callback) {
|
|
|
833
828
|
/**
|
|
834
829
|
* Ensure an index in the database
|
|
835
830
|
*
|
|
836
|
-
* @author Jelle De Loecker
|
|
831
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
837
832
|
* @since 0.2.0
|
|
838
833
|
* @version 0.2.0
|
|
839
834
|
*/
|
|
@@ -844,7 +839,7 @@ Datasource.setMethod(function _ensureIndex(model, index, callback) {
|
|
|
844
839
|
/**
|
|
845
840
|
* Return a rejected pledge
|
|
846
841
|
*
|
|
847
|
-
* @author Jelle De Loecker
|
|
842
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
848
843
|
* @since 1.1.0
|
|
849
844
|
* @version 1.1.0
|
|
850
845
|
*/
|
|
@@ -857,7 +852,7 @@ Datasource.setMethod(function createRejectedPledge(method, callback) {
|
|
|
857
852
|
/**
|
|
858
853
|
* Setup the datasource
|
|
859
854
|
*
|
|
860
|
-
* @author Jelle De Loecker
|
|
855
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
861
856
|
* @since 1.1.0
|
|
862
857
|
* @version 1.1.0
|
|
863
858
|
*/
|
|
@@ -904,7 +899,7 @@ Datasource.setMethod(function setup(callback) {
|
|
|
904
899
|
/**
|
|
905
900
|
* Get all model classes that connect through this datasource
|
|
906
901
|
*
|
|
907
|
-
* @author Jelle De Loecker
|
|
902
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
908
903
|
* @since 1.1.0
|
|
909
904
|
* @version 1.1.0
|
|
910
905
|
*
|
|
@@ -937,13 +932,13 @@ Datasource.setMethod(function getModels() {
|
|
|
937
932
|
/**
|
|
938
933
|
* Is the given model an abstract model?
|
|
939
934
|
*
|
|
940
|
-
* @author Jelle De Loecker
|
|
935
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
941
936
|
* @since 1.1.0
|
|
942
937
|
* @version 1.1.0
|
|
943
938
|
*
|
|
944
939
|
* @param {Function} model
|
|
945
940
|
*
|
|
946
|
-
* @return {
|
|
941
|
+
* @return {boolean}
|
|
947
942
|
*/
|
|
948
943
|
Datasource.setMethod(function isAbstractModel(model) {
|
|
949
944
|
return !!model.is_abstract;
|
|
@@ -952,12 +947,12 @@ Datasource.setMethod(function isAbstractModel(model) {
|
|
|
952
947
|
/**
|
|
953
948
|
* Create a new datasource
|
|
954
949
|
*
|
|
955
|
-
* @author Jelle De Loecker
|
|
950
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
956
951
|
* @since 0.2.0
|
|
957
952
|
* @version 1.1.0
|
|
958
953
|
*
|
|
959
|
-
* @param {
|
|
960
|
-
* @param {
|
|
954
|
+
* @param {string} type The type of datasource to create
|
|
955
|
+
* @param {string} name The internal name of the datasource
|
|
961
956
|
* @param {Object} options Configuration options for the datasource
|
|
962
957
|
*
|
|
963
958
|
* @return {Datasource}
|
|
@@ -979,7 +974,7 @@ Datasource.create = function create(type, name, options) {
|
|
|
979
974
|
/**
|
|
980
975
|
* Get a datasource instance
|
|
981
976
|
*
|
|
982
|
-
* @author Jelle De Loecker
|
|
977
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
983
978
|
* @since 0.2.0
|
|
984
979
|
* @version 1.1.0
|
|
985
980
|
*
|