alchemymvc 1.3.21 → 1.4.0-alpha.1
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 +10 -10
- 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 +16 -16
- 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 +84 -59
- 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 +8 -8
- 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 +203 -124
- 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 +203 -163
- 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 +50 -25
- package/lib/class/inode_list.js +4 -4
- package/lib/class/migration.js +4 -4
- package/lib/class/model.js +182 -168
- 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 +73 -67
- 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 +413 -374
- package/lib/{init/functions.js → core/alchemy_functions.js} +171 -108
- 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 +39 -52
- 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 -973
- package/lib/stages.js +0 -513
|
@@ -4,7 +4,7 @@ var iostream = alchemy.use('socket.io-stream'),
|
|
|
4
4
|
/**
|
|
5
5
|
* The Socket Conduit Class
|
|
6
6
|
*
|
|
7
|
-
* @author Jelle De Loecker
|
|
7
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
8
8
|
* @since 0.2.0
|
|
9
9
|
* @version 1.3.10
|
|
10
10
|
*
|
|
@@ -102,7 +102,7 @@ var SocketConduit = Function.inherits('Alchemy.Conduit', function Socket(socket,
|
|
|
102
102
|
/**
|
|
103
103
|
* Return the client IP address
|
|
104
104
|
*
|
|
105
|
-
* @author Jelle De Loecker
|
|
105
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
106
106
|
* @since 0.2.1
|
|
107
107
|
* @version 1.3.1
|
|
108
108
|
*/
|
|
@@ -135,11 +135,11 @@ SocketConduit.setProperty(function ip() {
|
|
|
135
135
|
/**
|
|
136
136
|
* Is this client still connected?
|
|
137
137
|
*
|
|
138
|
-
* @author Jelle De Loecker
|
|
138
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
139
139
|
* @since 1.3.16
|
|
140
140
|
* @version 1.3.16
|
|
141
141
|
*
|
|
142
|
-
* @type {
|
|
142
|
+
* @type {boolean}
|
|
143
143
|
*/
|
|
144
144
|
SocketConduit.setProperty(function is_connected() {
|
|
145
145
|
return this.socket?.connected || false;
|
|
@@ -148,7 +148,7 @@ SocketConduit.setProperty(function is_connected() {
|
|
|
148
148
|
/**
|
|
149
149
|
* Parse the request, get information from the url
|
|
150
150
|
*
|
|
151
|
-
* @author Jelle De Loecker
|
|
151
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
152
152
|
* @since 0.2.0
|
|
153
153
|
* @version 0.2.0
|
|
154
154
|
*/
|
|
@@ -160,9 +160,9 @@ SocketConduit.setMethod(function parseRequest() {
|
|
|
160
160
|
/**
|
|
161
161
|
* Handle a client announcement
|
|
162
162
|
*
|
|
163
|
-
* @author Jelle De Loecker
|
|
163
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
164
164
|
* @since 0.2.0
|
|
165
|
-
* @version 1.
|
|
165
|
+
* @version 1.4.0
|
|
166
166
|
*
|
|
167
167
|
* @param {Object} data
|
|
168
168
|
*/
|
|
@@ -182,7 +182,7 @@ SocketConduit.setMethod(function parseAnnouncement() {
|
|
|
182
182
|
// Tell the client we're ready
|
|
183
183
|
this.websocket.emit('ready');
|
|
184
184
|
|
|
185
|
-
if (alchemy.settings.debug) {
|
|
185
|
+
if (alchemy.settings.debugging.debug) {
|
|
186
186
|
log.info('Established websocket connection to', this.ip, 'using', this.useragent.family, this.useragent.major);
|
|
187
187
|
}
|
|
188
188
|
});
|
|
@@ -190,7 +190,7 @@ SocketConduit.setMethod(function parseAnnouncement() {
|
|
|
190
190
|
/**
|
|
191
191
|
* Handle an incoming linkup
|
|
192
192
|
*
|
|
193
|
-
* @author Jelle De Loecker
|
|
193
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
194
194
|
* @since 0.2.0
|
|
195
195
|
* @version 0.4.0
|
|
196
196
|
*
|
|
@@ -267,7 +267,7 @@ SocketConduit.setMethod(function onLinkup(packet) {
|
|
|
267
267
|
/**
|
|
268
268
|
* Handle a client packet
|
|
269
269
|
*
|
|
270
|
-
* @author Jelle De Loecker
|
|
270
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
271
271
|
* @since 0.2.0
|
|
272
272
|
* @version 1.1.4
|
|
273
273
|
*
|
|
@@ -395,7 +395,7 @@ SocketConduit.setMethod(function onPayload(packet) {
|
|
|
395
395
|
/**
|
|
396
396
|
* Handle a client response
|
|
397
397
|
*
|
|
398
|
-
* @author Jelle De Loecker
|
|
398
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
399
399
|
* @since 0.2.0
|
|
400
400
|
* @version 0.2.0
|
|
401
401
|
*
|
|
@@ -413,11 +413,11 @@ SocketConduit.setMethod(function onResponse(packet) {
|
|
|
413
413
|
/**
|
|
414
414
|
* Submit a message to the client
|
|
415
415
|
*
|
|
416
|
-
* @author Jelle De Loecker
|
|
416
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
417
417
|
* @since 0.0.1
|
|
418
418
|
* @version 1.0.5
|
|
419
419
|
*
|
|
420
|
-
* @param {
|
|
420
|
+
* @param {string} type
|
|
421
421
|
* @param {Object} data
|
|
422
422
|
* @param {IOStream} stream
|
|
423
423
|
* @param {Function} callback
|
|
@@ -487,7 +487,7 @@ SocketConduit.setMethod(function submit(type, data, stream, callback) {
|
|
|
487
487
|
/**
|
|
488
488
|
* Create a stream we can send through a websocket connection
|
|
489
489
|
*
|
|
490
|
-
* @author Jelle De Loecker
|
|
490
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
491
491
|
* @since 0.2.0
|
|
492
492
|
* @version 0.2.0
|
|
493
493
|
*/
|
|
@@ -498,7 +498,7 @@ SocketConduit.setMethod(function createStream() {
|
|
|
498
498
|
/**
|
|
499
499
|
* Create a linkup to the client
|
|
500
500
|
*
|
|
501
|
-
* @author Jelle De Loecker
|
|
501
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
502
502
|
* @since 0.2.0
|
|
503
503
|
* @version 0.2.0
|
|
504
504
|
*/
|
|
@@ -529,13 +529,13 @@ SocketConduit.setMethod(function linkup(type, data, cb) {
|
|
|
529
529
|
/**
|
|
530
530
|
* The Linkup class
|
|
531
531
|
*
|
|
532
|
-
* @author
|
|
533
|
-
* @since
|
|
534
|
-
* @version
|
|
532
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
533
|
+
* @since 0.2.0
|
|
534
|
+
* @version 0.2.0
|
|
535
535
|
*
|
|
536
536
|
* @param {SocketConduit} conduit
|
|
537
|
-
* @param {
|
|
538
|
-
* @param {
|
|
537
|
+
* @param {string} type
|
|
538
|
+
* @param {string} id
|
|
539
539
|
* @param {Object} data
|
|
540
540
|
*/
|
|
541
541
|
var Linkup = Function.inherits('Informer', function Linkup(conduit, type, id, data) {
|
|
@@ -566,9 +566,9 @@ var Linkup = Function.inherits('Informer', function Linkup(conduit, type, id, da
|
|
|
566
566
|
/**
|
|
567
567
|
* Add a reference to its scene_id
|
|
568
568
|
*
|
|
569
|
-
* @author
|
|
570
|
-
* @since
|
|
571
|
-
* @version
|
|
569
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
570
|
+
* @since 1.3.10
|
|
571
|
+
* @version 1.3.10
|
|
572
572
|
*/
|
|
573
573
|
Linkup.setProperty(function scene_id() {
|
|
574
574
|
return this.conduit?.scene_id;
|
|
@@ -577,9 +577,9 @@ Linkup.setProperty(function scene_id() {
|
|
|
577
577
|
/**
|
|
578
578
|
* Destroy this link
|
|
579
579
|
*
|
|
580
|
-
* @author
|
|
581
|
-
* @since
|
|
582
|
-
* @version
|
|
580
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
581
|
+
* @since 0.2.0
|
|
582
|
+
* @version 1.3.10
|
|
583
583
|
*/
|
|
584
584
|
Linkup.setMethod(function destroy() {
|
|
585
585
|
|
|
@@ -596,9 +596,9 @@ Linkup.setMethod(function destroy() {
|
|
|
596
596
|
/**
|
|
597
597
|
* Make sure the linkup is removed
|
|
598
598
|
*
|
|
599
|
-
* @author
|
|
600
|
-
* @since
|
|
601
|
-
* @version
|
|
599
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
600
|
+
* @since 1.3.10
|
|
601
|
+
* @version 1.3.10
|
|
602
602
|
*/
|
|
603
603
|
Linkup.setMethod(function _destroy() {
|
|
604
604
|
|
|
@@ -611,11 +611,11 @@ Linkup.setMethod(function _destroy() {
|
|
|
611
611
|
/**
|
|
612
612
|
* Submit a message to the client
|
|
613
613
|
*
|
|
614
|
-
* @author
|
|
615
|
-
* @since
|
|
616
|
-
* @version
|
|
614
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
615
|
+
* @since 0.2.0
|
|
616
|
+
* @version 0.2.0
|
|
617
617
|
*
|
|
618
|
-
* @param {
|
|
618
|
+
* @param {string} type
|
|
619
619
|
* @param {Object} data
|
|
620
620
|
* @param {IOStream} stream
|
|
621
621
|
* @param {Function} callback
|
|
@@ -627,11 +627,11 @@ Linkup.setMethod(function submit(type, data, stream, callback) {
|
|
|
627
627
|
/**
|
|
628
628
|
* Submit a message to the server on this link and return a promise
|
|
629
629
|
*
|
|
630
|
-
* @author
|
|
631
|
-
* @since
|
|
632
|
-
* @version
|
|
630
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
631
|
+
* @since 1.1.2
|
|
632
|
+
* @version 1.1.2
|
|
633
633
|
*
|
|
634
|
-
* @param {
|
|
634
|
+
* @param {string} type
|
|
635
635
|
* @param {Object} data
|
|
636
636
|
*/
|
|
637
637
|
Linkup.setMethod(function demand(type, data, stream) {
|
|
@@ -660,9 +660,9 @@ Linkup.setMethod(function demand(type, data, stream) {
|
|
|
660
660
|
/**
|
|
661
661
|
* Create a stream
|
|
662
662
|
*
|
|
663
|
-
* @author
|
|
664
|
-
* @since
|
|
665
|
-
* @version
|
|
663
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
664
|
+
* @since 0.2.0
|
|
665
|
+
* @version 0.2.0
|
|
666
666
|
*/
|
|
667
667
|
Linkup.setMethod(function createStream() {
|
|
668
668
|
return this.conduit.createStream();
|
|
@@ -671,9 +671,9 @@ Linkup.setMethod(function createStream() {
|
|
|
671
671
|
/**
|
|
672
672
|
* Send an error to the client
|
|
673
673
|
*
|
|
674
|
-
* @author
|
|
675
|
-
* @since
|
|
676
|
-
* @version
|
|
674
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
675
|
+
* @since 0.2.0
|
|
676
|
+
* @version 0.2.0
|
|
677
677
|
*
|
|
678
678
|
* @param {Error} err
|
|
679
679
|
* @param {Function} callback
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Router.add({
|
|
2
|
+
name : 'APIResource',
|
|
3
|
+
paths : '/api/{action}',
|
|
4
|
+
handler : 'Api#{action}',
|
|
5
|
+
methods : ['get', 'post'],
|
|
6
|
+
visible_location : false,
|
|
7
|
+
is_system_route : true,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
Router.add({
|
|
11
|
+
name : 'AlchemyInfo',
|
|
12
|
+
paths : '/alchemy-info',
|
|
13
|
+
handler : 'AlchemyInfo#info',
|
|
14
|
+
methods : ['get'],
|
|
15
|
+
is_system_route : true,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
Router.POSTPONED_ROUTE = Router.add({
|
|
19
|
+
name : 'AlchemyInfo#postponed',
|
|
20
|
+
paths : '/alchemy/postponed/{id}',
|
|
21
|
+
methods : ['get'],
|
|
22
|
+
can_be_postponed : false,
|
|
23
|
+
is_system_route : true,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
Router.linkup('Syncable#linkup', 'syncablelink', 'AlchemyInfo#syncable');
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default App Controller class:
|
|
3
|
+
* The main app can use this to extend from and add custom functionality.
|
|
4
|
+
*
|
|
5
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
6
|
+
* @since 1.4.0
|
|
7
|
+
* @version 1.4.0
|
|
8
|
+
*
|
|
9
|
+
* @param {Alchemy.Conduit} conduit
|
|
10
|
+
* @param {Object} options
|
|
11
|
+
*/
|
|
12
|
+
const App = Function.inherits('Alchemy.Controller', 'App');
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Mark this class as being abstract
|
|
16
|
+
*
|
|
17
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
18
|
+
* @since 1.4.0
|
|
19
|
+
* @version 1.4.0
|
|
20
|
+
*/
|
|
21
|
+
App.makeAbstractClass();
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* @constructor
|
|
5
5
|
* @extends Alchemy.Controller
|
|
6
6
|
*
|
|
7
|
-
* @author
|
|
8
|
-
* @since
|
|
9
|
-
* @version
|
|
7
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
8
|
+
* @since 0.2.0
|
|
9
|
+
* @version 0.2.0
|
|
10
10
|
*/
|
|
11
11
|
var Info = Function.inherits('Alchemy.Controller.App', function AlchemyInfo(conduit, options) {
|
|
12
12
|
AlchemyInfo.super.call(this, conduit, options);
|
|
@@ -15,7 +15,7 @@ var Info = Function.inherits('Alchemy.Controller.App', function AlchemyInfo(cond
|
|
|
15
15
|
/**
|
|
16
16
|
* Set information variables
|
|
17
17
|
*
|
|
18
|
-
* @author Jelle De Loecker
|
|
18
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
19
19
|
* @since 0.2.0
|
|
20
20
|
* @version 1.3.5
|
|
21
21
|
*/
|
|
@@ -88,14 +88,14 @@ Info.setMethod(function setInfoVariables() {
|
|
|
88
88
|
/**
|
|
89
89
|
* Show information on this setup
|
|
90
90
|
*
|
|
91
|
-
* @author Jelle De Loecker
|
|
91
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
92
92
|
* @since 0.2.0
|
|
93
|
-
* @version 1.
|
|
93
|
+
* @version 1.4.0
|
|
94
94
|
*/
|
|
95
95
|
Info.setAction(function info(conduit, name) {
|
|
96
96
|
|
|
97
97
|
// Don't show the page if info_page is false
|
|
98
|
-
if (!alchemy.settings.info_page) {
|
|
98
|
+
if (!alchemy.settings.debugging.info_page) {
|
|
99
99
|
return conduit.notFound();
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -108,13 +108,13 @@ Info.setAction(function info(conduit, name) {
|
|
|
108
108
|
/**
|
|
109
109
|
* Return the appcache manifest
|
|
110
110
|
*
|
|
111
|
-
* @author Jelle De Loecker
|
|
111
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
112
112
|
* @since 1.0.7
|
|
113
|
-
* @version 1.0
|
|
113
|
+
* @version 1.4.0
|
|
114
114
|
*/
|
|
115
115
|
Info.setAction(async function appcache(conduit) {
|
|
116
116
|
|
|
117
|
-
if (!alchemy.settings.
|
|
117
|
+
if (!alchemy.settings.frontend.appcache) {
|
|
118
118
|
return conduit.notFound();
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -128,7 +128,7 @@ Info.setAction(async function appcache(conduit) {
|
|
|
128
128
|
/**
|
|
129
129
|
* Resume a postponed action
|
|
130
130
|
*
|
|
131
|
-
* @author Jelle De Loecker
|
|
131
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
132
132
|
* @since 1.1.0
|
|
133
133
|
* @version 1.3.1
|
|
134
134
|
*/
|
|
@@ -147,7 +147,7 @@ Info.setAction(function postponed(conduit, id) {
|
|
|
147
147
|
/**
|
|
148
148
|
* Syncable link
|
|
149
149
|
*
|
|
150
|
-
* @author Jelle De Loecker
|
|
150
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
151
151
|
* @since 1.3.10
|
|
152
152
|
* @version 1.3.10
|
|
153
153
|
*/
|
|
@@ -4,7 +4,7 @@ const mongo = alchemy.use('mongodb'),
|
|
|
4
4
|
/**
|
|
5
5
|
* MongoDb Datasource
|
|
6
6
|
*
|
|
7
|
-
* @author Jelle De Loecker
|
|
7
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
8
8
|
* @since 0.2.0
|
|
9
9
|
* @version 1.3.16
|
|
10
10
|
*/
|
|
@@ -66,7 +66,7 @@ Mongo.setSupport('querying_associations', true);
|
|
|
66
66
|
/**
|
|
67
67
|
* Get find options for the MongoDB server
|
|
68
68
|
*
|
|
69
|
-
* @author Jelle De Loecker
|
|
69
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
70
70
|
* @since 1.0.0
|
|
71
71
|
* @version 1.0.0
|
|
72
72
|
*
|
|
@@ -106,7 +106,7 @@ Mongo.setProperty('allowed_find_options', [
|
|
|
106
106
|
/**
|
|
107
107
|
* Convert the given value to a BigInt
|
|
108
108
|
*
|
|
109
|
-
* @author Jelle De Loecker
|
|
109
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
110
110
|
* @since 1.3.20
|
|
111
111
|
* @version 1.3.20
|
|
112
112
|
*
|
|
@@ -130,7 +130,7 @@ Mongo.setMethod(function castToBigInt(value) {
|
|
|
130
130
|
/**
|
|
131
131
|
* Convert the given value from a BigInt (for use in DB)
|
|
132
132
|
*
|
|
133
|
-
* @author Jelle De Loecker
|
|
133
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
134
134
|
* @since 1.3.20
|
|
135
135
|
* @version 1.3.20
|
|
136
136
|
*
|
|
@@ -150,7 +150,7 @@ Mongo.setMethod(function convertBigIntForDatasource(value) {
|
|
|
150
150
|
/**
|
|
151
151
|
* Convert the given value to a Decimal (for use in JS)
|
|
152
152
|
*
|
|
153
|
-
* @author Jelle De Loecker
|
|
153
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
154
154
|
* @since 1.3.20
|
|
155
155
|
* @version 1.3.20
|
|
156
156
|
*
|
|
@@ -174,11 +174,11 @@ Mongo.setMethod(function castToDecimal(value) {
|
|
|
174
174
|
/**
|
|
175
175
|
* Convert the given decimal for use in DB
|
|
176
176
|
*
|
|
177
|
-
* @author Jelle De Loecker
|
|
177
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
178
178
|
* @since 1.3.20
|
|
179
179
|
* @version 1.3.20
|
|
180
180
|
*
|
|
181
|
-
* @param {Decimal|
|
|
181
|
+
* @param {Decimal|string} value
|
|
182
182
|
*
|
|
183
183
|
* @return {Mongo.Decimal128}
|
|
184
184
|
*/
|
|
@@ -198,7 +198,7 @@ Mongo.setMethod(function convertDecimalForDatasource(value) {
|
|
|
198
198
|
/**
|
|
199
199
|
* Get find options for the MongoDB server
|
|
200
200
|
*
|
|
201
|
-
* @author Jelle De Loecker
|
|
201
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
202
202
|
* @since 1.0.0
|
|
203
203
|
* @version 1.0.0
|
|
204
204
|
*
|
|
@@ -229,7 +229,7 @@ Mongo.setMethod(function normalizeFindOptions(options) {
|
|
|
229
229
|
/**
|
|
230
230
|
* Get a connection to the database
|
|
231
231
|
*
|
|
232
|
-
* @author Jelle De Loecker
|
|
232
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
233
233
|
* @since 0.2.0
|
|
234
234
|
* @version 1.3.16
|
|
235
235
|
*/
|
|
@@ -271,11 +271,11 @@ Mongo.decorateMethod(Blast.Decorators.memoize({ignore_arguments: true}), functio
|
|
|
271
271
|
/**
|
|
272
272
|
* Get a mongodb collection
|
|
273
273
|
*
|
|
274
|
-
* @author Jelle De Loecker
|
|
274
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
275
275
|
* @since 0.2.0
|
|
276
276
|
* @version 1.3.16
|
|
277
277
|
*
|
|
278
|
-
* @param {
|
|
278
|
+
* @param {string} name
|
|
279
279
|
* @param {Function} callback
|
|
280
280
|
*
|
|
281
281
|
* @return {Pledge<Collection>}
|
|
@@ -319,7 +319,7 @@ Mongo.setMethod(function collection(name, callback) {
|
|
|
319
319
|
/**
|
|
320
320
|
* Query the database
|
|
321
321
|
*
|
|
322
|
-
* @author Jelle De Loecker
|
|
322
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
323
323
|
* @since 0.2.0
|
|
324
324
|
* @version 1.3.16
|
|
325
325
|
*/
|
|
@@ -464,7 +464,7 @@ Mongo.setMethod(function _read(model, criteria, callback) {
|
|
|
464
464
|
/**
|
|
465
465
|
* Create a record in the database
|
|
466
466
|
*
|
|
467
|
-
* @author Jelle De Loecker
|
|
467
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
468
468
|
* @since 0.2.0
|
|
469
469
|
* @version 1.3.16
|
|
470
470
|
*/
|
|
@@ -514,7 +514,7 @@ Mongo.setMethod(function _create(model, data, options, callback) {
|
|
|
514
514
|
/**
|
|
515
515
|
* Update a record in the database
|
|
516
516
|
*
|
|
517
|
-
* @author Jelle De Loecker
|
|
517
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
518
518
|
* @since 0.2.0
|
|
519
519
|
* @version 1.3.16
|
|
520
520
|
*/
|
|
@@ -628,7 +628,7 @@ Mongo.setMethod(function _update(model, data, options, callback) {
|
|
|
628
628
|
* Remove a record from the database
|
|
629
629
|
*
|
|
630
630
|
* @author Kjell Keisse <kjell@codedor.be>
|
|
631
|
-
* @author Jelle De Loecker <jelle@
|
|
631
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
632
632
|
* @since 0.2.0
|
|
633
633
|
* @version 1.3.16
|
|
634
634
|
*/
|
|
@@ -657,7 +657,7 @@ Mongo.setMethod(function _remove(model, query, options, callback) {
|
|
|
657
657
|
/**
|
|
658
658
|
* Ensure an index in the database
|
|
659
659
|
*
|
|
660
|
-
* @author Jelle De Loecker
|
|
660
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
661
661
|
* @since 0.2.0
|
|
662
662
|
* @version 1.3.17
|
|
663
663
|
*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The App custom element.
|
|
3
|
+
* The main app can use this to extend from and add custom functionality.
|
|
4
|
+
*
|
|
5
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
6
|
+
* @since 1.4.0
|
|
7
|
+
* @version 1.4.0
|
|
8
|
+
*/
|
|
9
|
+
const App = Function.inherits('Alchemy.Element', 'App');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Mark this as an "abstract" class
|
|
13
|
+
* This will make sure this isn't registered as an `<al-app>` element
|
|
14
|
+
*
|
|
15
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
16
|
+
* @since 1.4.0
|
|
17
|
+
* @version 1.4.0
|
|
18
|
+
*/
|
|
19
|
+
App.makeAbstractClass(true);
|
|
@@ -3,7 +3,7 @@ const TIMEOUT_ID = Symbol('timeout_id');
|
|
|
3
3
|
/**
|
|
4
4
|
* The custom al-time-ago element
|
|
5
5
|
*
|
|
6
|
-
* @author Jelle De Loecker
|
|
6
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
7
7
|
* @since 0.1.0
|
|
8
8
|
* @version 0.1.0
|
|
9
9
|
*/
|
|
@@ -12,7 +12,7 @@ const TimeAgo = Function.inherits('Alchemy.Element', 'TimeAgo');
|
|
|
12
12
|
/**
|
|
13
13
|
* Set the time
|
|
14
14
|
*
|
|
15
|
-
* @author Jelle De Loecker
|
|
15
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
16
16
|
* @since 0.1.0
|
|
17
17
|
* @version 0.1.0
|
|
18
18
|
*/
|
|
@@ -50,7 +50,7 @@ TimeAgo.setAttribute(function date(str) {
|
|
|
50
50
|
/**
|
|
51
51
|
* Get the value
|
|
52
52
|
*
|
|
53
|
-
* @author Jelle De Loecker
|
|
53
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
54
54
|
* @since 0.1.0
|
|
55
55
|
* @version 0.1.0
|
|
56
56
|
*/
|
|
@@ -68,7 +68,7 @@ TimeAgo.setProperty(function value() {
|
|
|
68
68
|
/**
|
|
69
69
|
* The element has been inserted in the dom
|
|
70
70
|
*
|
|
71
|
-
* @author Jelle De Loecker
|
|
71
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
72
72
|
* @since 0.1.0
|
|
73
73
|
* @version 0.1.0
|
|
74
74
|
*/
|
|
@@ -79,7 +79,7 @@ TimeAgo.setMethod(function connected() {
|
|
|
79
79
|
/**
|
|
80
80
|
* Refresh the content
|
|
81
81
|
*
|
|
82
|
-
* @author Jelle De Loecker
|
|
82
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
83
83
|
* @since 0.1.0
|
|
84
84
|
* @version 1.3.17
|
|
85
85
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The App helper.
|
|
3
|
+
* The main app can use this to extend from and add custom functionality.
|
|
4
|
+
*
|
|
5
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
6
|
+
* @since 1.4.0
|
|
7
|
+
* @version 1.4.0
|
|
8
|
+
*
|
|
9
|
+
* @param {Hawkejs.Renderer}
|
|
10
|
+
*/
|
|
11
|
+
const App = Function.inherits('Alchemy.Helper', 'App');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The Alchemy helper
|
|
3
3
|
*
|
|
4
|
-
* @author Jelle De Loecker
|
|
4
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
5
5
|
* @since 0.0.1
|
|
6
6
|
* @version 1.0.0
|
|
7
7
|
*
|
|
@@ -14,7 +14,7 @@ var Alchemy = Function.inherits('Alchemy.Helper', function Alchemy(view) {
|
|
|
14
14
|
/**
|
|
15
15
|
* Function to execute on the client side, when the scene is made
|
|
16
16
|
*
|
|
17
|
-
* @author Jelle De Loecker
|
|
17
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
18
18
|
* @since 0.2.0
|
|
19
19
|
* @version 1.0.7
|
|
20
20
|
*
|
|
@@ -28,11 +28,11 @@ Alchemy.setStatic(function onScene(scene, options) {
|
|
|
28
28
|
/**
|
|
29
29
|
* Perform a resource request
|
|
30
30
|
*
|
|
31
|
-
* @author Jelle De Loecker
|
|
31
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
32
32
|
* @since 0.0.1
|
|
33
33
|
* @version 1.3.21
|
|
34
34
|
*
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {string|Object} options
|
|
36
36
|
* @param {Object} data
|
|
37
37
|
* @param {Function} callback
|
|
38
38
|
*
|
|
@@ -163,13 +163,13 @@ Alchemy.setMethod(function getResource(options, data, callback) {
|
|
|
163
163
|
/**
|
|
164
164
|
* Register & recompile a callback
|
|
165
165
|
*
|
|
166
|
-
* @author
|
|
167
|
-
* @since
|
|
168
|
-
* @version
|
|
166
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
167
|
+
* @since 0.2.0
|
|
168
|
+
* @version 0.2.0
|
|
169
169
|
*
|
|
170
|
-
* @param
|
|
170
|
+
* @param {Function} callback
|
|
171
171
|
*
|
|
172
|
-
* @return
|
|
172
|
+
* @return {Function}
|
|
173
173
|
*/
|
|
174
174
|
Alchemy.setMethod(function registerCallback(callback) {
|
|
175
175
|
|
|
@@ -201,9 +201,9 @@ Alchemy.setMethod(function registerCallback(callback) {
|
|
|
201
201
|
/**
|
|
202
202
|
* Register a group and possible id
|
|
203
203
|
*
|
|
204
|
-
* @author
|
|
205
|
-
* @since
|
|
206
|
-
* @version
|
|
204
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
205
|
+
* @since 0.2.0
|
|
206
|
+
* @version 0.2.0
|
|
207
207
|
*/
|
|
208
208
|
Alchemy.setMethod(function registerGroup(name, id, callback) {
|
|
209
209
|
|
|
@@ -233,9 +233,9 @@ Alchemy.setMethod(function registerGroup(name, id, callback) {
|
|
|
233
233
|
/**
|
|
234
234
|
* Get the group data
|
|
235
235
|
*
|
|
236
|
-
* @author
|
|
237
|
-
* @since
|
|
238
|
-
* @version
|
|
236
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
237
|
+
* @since 0.2.0
|
|
238
|
+
* @version 0.2.0
|
|
239
239
|
*/
|
|
240
240
|
Alchemy.setMethod(function getGroupData(name, callback) {
|
|
241
241
|
|
|
@@ -257,9 +257,9 @@ Alchemy.setMethod(function getGroupData(name, callback) {
|
|
|
257
257
|
* Aggregate data.
|
|
258
258
|
* The callback needs to be named and be unique per scope structure
|
|
259
259
|
*
|
|
260
|
-
* @author
|
|
261
|
-
* @since
|
|
262
|
-
* @version
|
|
260
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
261
|
+
* @since 0.2.0
|
|
262
|
+
* @version 0.2.0
|
|
263
263
|
*/
|
|
264
264
|
Alchemy.setMethod(function group(name, id, callback) {
|
|
265
265
|
|
|
@@ -294,11 +294,11 @@ Alchemy.setMethod(function group(name, id, callback) {
|
|
|
294
294
|
/**
|
|
295
295
|
* Print a segment
|
|
296
296
|
*
|
|
297
|
-
* @author Jelle De Loecker
|
|
297
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
298
298
|
* @since 0.5.0
|
|
299
299
|
* @version 1.3.17
|
|
300
300
|
*
|
|
301
|
-
* @param {
|
|
301
|
+
* @param {string|Object} options
|
|
302
302
|
* @param {Object} data
|
|
303
303
|
*
|
|
304
304
|
* @return {HePlaceholder}
|
|
@@ -370,11 +370,11 @@ Alchemy.setMethod(function segment(options, data) {
|
|
|
370
370
|
/**
|
|
371
371
|
* Get the current locale
|
|
372
372
|
*
|
|
373
|
-
* @author Jelle De Loecker
|
|
373
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
374
374
|
* @since 1.1.0
|
|
375
375
|
* @version 1.1.0
|
|
376
376
|
*
|
|
377
|
-
* @return {
|
|
377
|
+
* @return {string}
|
|
378
378
|
*/
|
|
379
379
|
Alchemy.setMethod(function getLocale() {
|
|
380
380
|
|