@stemy/backend 3.5.15 → 3.6.0

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('path'), require('body-parser'), require('jsonwebtoken'), require('tsyringe'), require('routing-controllers'), require('socket-controllers'), require('fontkit'), require('file-type'), require('sharp'), require('bson'), require('axios'), require('child_process'), require('crypto'), require('rxjs'), require('rxjs/internal/util/canReportError'), require('fs'), require('mongodb'), require('mongoose'), require('stream'), require('dotenv'), require('node-cron'), require('zeromq'), require('rxjs/operators'), require('http'), require('express'), require('socket.io'), require('uuid'), require('nodemailer'), require('handlebars'), require('routing-controllers-openapi'), require('class-validator-jsonschema'), require('class-transformer/storage'), require('class-validator'), require('bcrypt'), require('moment'), require('@typegoose/typegoose'), require('mongoose/lib/utils')) :
3
- typeof define === 'function' && define.amd ? define('@stemy/backend', ['exports', 'path', 'body-parser', 'jsonwebtoken', 'tsyringe', 'routing-controllers', 'socket-controllers', 'fontkit', 'file-type', 'sharp', 'bson', 'axios', 'child_process', 'crypto', 'rxjs', 'rxjs/internal/util/canReportError', 'fs', 'mongodb', 'mongoose', 'stream', 'dotenv', 'node-cron', 'zeromq', 'rxjs/operators', 'http', 'express', 'socket.io', 'uuid', 'nodemailer', 'handlebars', 'routing-controllers-openapi', 'class-validator-jsonschema', 'class-transformer/storage', 'class-validator', 'bcrypt', 'moment', '@typegoose/typegoose', 'mongoose/lib/utils'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.stemy = global.stemy || {}, global.stemy.backend = {}), global.path, global["body-parser"], global.jsonwebtoken, global.tsyringe, global["routing-controllers"], global["socket-controllers"], global.fontkit, global["file-type"], global.sharp, global.bson, global.axios, global.child_process, global.crypto, global.rxjs, global.rxjs["internal/util/canReportError"], global.fs, global.mongodb, global.mongoose, global.stream, global.dotenv, global["node-cron"], global.zeromq, global.rxjs.operators, global.http, global.express, global.socket.io, global.uuid, global.nodemailer, global.handlebars, global["routing-controllers-openapi"], global["class-validator-jsonschema"], global["class-transformer/storage"], global["class-validator"], global.bcrypt, global.moment, global.typegoose, global["mongoose-lib-utils"]));
5
- })(this, (function (exports, path, bodyParser, jsonwebtoken, tsyringe, routingControllers, socketControllers, fontKit_, fileType, sharp_, bson, axios, child_process, crypto, rxjs, canReportError, fs, mongodb, mongoose, stream, dotenv, nodeCron, zeromq, operators, http, express_, socket_io, uuid, nodemailer, Handlebars, routingControllersOpenapi, classValidatorJsonschema, storage, classValidator, bcrypt, moment, typegoose, utils) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('path'), require('body-parser'), require('jsonwebtoken'), require('tsyringe'), require('routing-controllers'), require('socket-controllers'), require('fontkit'), require('sharp'), require('bson'), require('axios'), require('child_process'), require('crypto'), require('rxjs'), require('rxjs/internal/util/canReportError'), require('fs'), require('mongodb'), require('mongoose'), require('stream'), require('file-type'), require('dotenv'), require('node-cron'), require('zeromq'), require('rxjs/operators'), require('http'), require('express'), require('socket.io'), require('uuid'), require('nodemailer'), require('handlebars'), require('routing-controllers-openapi'), require('class-validator-jsonschema'), require('class-transformer/storage'), require('class-validator'), require('@stemy/terminal-commands-addon'), require('bcrypt'), require('moment'), require('@typegoose/typegoose'), require('mongoose/lib/utils')) :
3
+ typeof define === 'function' && define.amd ? define('@stemy/backend', ['exports', 'path', 'body-parser', 'jsonwebtoken', 'tsyringe', 'routing-controllers', 'socket-controllers', 'fontkit', 'sharp', 'bson', 'axios', 'child_process', 'crypto', 'rxjs', 'rxjs/internal/util/canReportError', 'fs', 'mongodb', 'mongoose', 'stream', 'file-type', 'dotenv', 'node-cron', 'zeromq', 'rxjs/operators', 'http', 'express', 'socket.io', 'uuid', 'nodemailer', 'handlebars', 'routing-controllers-openapi', 'class-validator-jsonschema', 'class-transformer/storage', 'class-validator', '@stemy/terminal-commands-addon', 'bcrypt', 'moment', '@typegoose/typegoose', 'mongoose/lib/utils'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.stemy = global.stemy || {}, global.stemy.backend = {}), global.path, global["body-parser"], global.jsonwebtoken, global.tsyringe, global["routing-controllers"], global["socket-controllers"], global.fontkit, global.sharp, global.bson, global.axios, global.child_process, global.crypto, global.rxjs, global.rxjs["internal/util/canReportError"], global.fs, global.mongodb, global.mongoose, global.stream, global["file-type"], global.dotenv, global["node-cron"], global.zeromq, global.rxjs.operators, global.http, global.express, global.socket.io, global.uuid, global.nodemailer, global.handlebars, global["routing-controllers-openapi"], global["class-validator-jsonschema"], global["class-transformer/storage"], global["class-validator"], global.terminalCommandsAddon, global.bcrypt, global.moment, global.typegoose, global["mongoose-lib-utils"]));
5
+ })(this, (function (exports, path, bodyParser, jsonwebtoken, tsyringe, routingControllers, socketControllers, fontKit_, sharp_, bson, axios, child_process, crypto, rxjs, canReportError, fs, mongodb, mongoose, stream, fileType, dotenv, nodeCron, zeromq, operators, http, express_, socket_io, uuid, nodemailer, Handlebars, routingControllersOpenapi, classValidatorJsonschema, storage, classValidator, terminalCommandsAddon, bcrypt, moment, typegoose, utils) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -87,7 +87,7 @@
87
87
  }
88
88
  return t;
89
89
  }
90
- function __decorate$D(decorators, target, key, desc) {
90
+ function __decorate$H(decorators, target, key, desc) {
91
91
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
92
92
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
93
93
  r = Reflect.decorate(decorators, target, key, desc);
@@ -97,14 +97,14 @@
97
97
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
98
98
  return c > 3 && r && Object.defineProperty(target, key, r), r;
99
99
  }
100
- function __param$a(paramIndex, decorator) {
100
+ function __param$c(paramIndex, decorator) {
101
101
  return function (target, key) { decorator(target, key, paramIndex); };
102
102
  }
103
- function __metadata$w(metadataKey, metadataValue) {
103
+ function __metadata$z(metadataKey, metadataValue) {
104
104
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
105
105
  return Reflect.metadata(metadataKey, metadataValue);
106
106
  }
107
- function __awaiter$C(thisArg, _arguments, P, generator) {
107
+ function __awaiter$G(thisArg, _arguments, P, generator) {
108
108
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
109
109
  return new (P || (P = Promise))(function (resolve, reject) {
110
110
  function fulfilled(value) { try {
@@ -365,6 +365,7 @@
365
365
  // --- Injection tokens ---
366
366
  var FIXTURE = Symbol.for("fixture-token");
367
367
  var JOB = Symbol.for("job-token");
368
+ var TERMINAL_COMMAND = Symbol.for("terminal-command-token");
368
369
  var EXPRESS = Symbol.for("express-token");
369
370
  var HTTP_SERVER = Symbol.for("http-server-token");
370
371
  var SOCKET_SERVER = Symbol.for("socket-server-token");
@@ -381,7 +382,7 @@
381
382
  return Parameter;
382
383
  }());
383
384
 
384
- var __decorate$C = (this && this.__decorate) || function (decorators, target, key, desc) {
385
+ var __decorate$G = (this && this.__decorate) || function (decorators, target, key, desc) {
385
386
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
386
387
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
387
388
  r = Reflect.decorate(decorators, target, key, desc);
@@ -391,7 +392,7 @@
391
392
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
392
393
  return c > 3 && r && Object.defineProperty(target, key, r), r;
393
394
  };
394
- var __awaiter$B = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
395
+ var __awaiter$F = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
395
396
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
396
397
  return new (P || (P = Promise))(function (resolve, reject) {
397
398
  function fulfilled(value) { try {
@@ -427,33 +428,6 @@
427
428
  exports.AssetProcessor = AssetProcessor_1 = /** @class */ (function () {
428
429
  function AssetProcessor() {
429
430
  }
430
- AssetProcessor.checkTextFileType = function (type) {
431
- return type.mime.indexOf("text") >= 0 || type.mime.indexOf("xml") >= 0;
432
- };
433
- AssetProcessor.fixTextFileType = function (type, buffer) {
434
- var text = buffer.toString("utf8");
435
- if (text.indexOf("<svg") >= 0) {
436
- return { ext: "svg", mime: "image/svg+xml" };
437
- }
438
- return type;
439
- };
440
- AssetProcessor.fileTypeFromBuffer = function (buffer) {
441
- var _a;
442
- return __awaiter$B(this, void 0, void 0, function () {
443
- var type;
444
- return __generator(this, function (_b) {
445
- switch (_b.label) {
446
- case 0: return [4 /*yield*/, fileType.fromBuffer(buffer)];
447
- case 1:
448
- type = ((_a = _b.sent()) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
449
- if (AssetProcessor_1.checkTextFileType(type)) {
450
- return [2 /*return*/, AssetProcessor_1.fixTextFileType(type, buffer)];
451
- }
452
- return [2 /*return*/, type];
453
- }
454
- });
455
- });
456
- };
457
431
  AssetProcessor.extractFontFormat = function (font) {
458
432
  var name = font.constructor.name;
459
433
  var tag = font["directory"].tag;
@@ -473,10 +447,10 @@
473
447
  return imageTypes.indexOf(contentType) >= 0;
474
448
  };
475
449
  AssetProcessor.copyImageMeta = function (buffer, metadata, fileType) {
476
- return __awaiter$B(this, void 0, void 0, function () {
450
+ return __awaiter$F(this, void 0, void 0, function () {
477
451
  var match, attrs, parts, output;
478
- return __generator(this, function (_b) {
479
- switch (_b.label) {
452
+ return __generator(this, function (_a) {
453
+ switch (_a.label) {
480
454
  case 0:
481
455
  if (fileType.mime === "image/svg+xml") {
482
456
  match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
@@ -485,7 +459,7 @@
485
459
  attrs.forEach(function (attr) {
486
460
  if (attr.length < 5)
487
461
  return;
488
- var _b = __read(attr.split("="), 2), name = _b[0], value = _b[1];
462
+ var _a = __read(attr.split("="), 2), name = _a[0], value = _a[1];
489
463
  var val = value.replace(/"/gi, "");
490
464
  metadata[name] = isNaN(val) ? val : Number(val);
491
465
  });
@@ -502,7 +476,7 @@
502
476
  }
503
477
  return [4 /*yield*/, sharp$3(buffer).rotate().toBuffer({ resolveWithObject: true })];
504
478
  case 1:
505
- output = _b.sent();
479
+ output = _a.sent();
506
480
  Object.assign(metadata, output.info);
507
481
  return [2 /*return*/, output.data];
508
482
  }
@@ -520,15 +494,15 @@
520
494
  });
521
495
  };
522
496
  AssetProcessor.prototype.process = function (buffer, metadata, fileType) {
523
- return __awaiter$B(this, void 0, void 0, function () {
524
- return __generator(this, function (_b) {
525
- switch (_b.label) {
497
+ return __awaiter$F(this, void 0, void 0, function () {
498
+ return __generator(this, function (_a) {
499
+ switch (_a.label) {
526
500
  case 0:
527
501
  if (!AssetProcessor_1.isImage(fileType.mime)) return [3 /*break*/, 2];
528
502
  return [4 /*yield*/, AssetProcessor_1.copyImageMeta(buffer, metadata, fileType)];
529
503
  case 1:
530
- buffer = _b.sent();
531
- _b.label = 2;
504
+ buffer = _a.sent();
505
+ _a.label = 2;
532
506
  case 2:
533
507
  if (AssetProcessor_1.isFont(fileType.mime)) {
534
508
  AssetProcessor_1.copyFontMeta(buffer, metadata);
@@ -540,12 +514,12 @@
540
514
  };
541
515
  return AssetProcessor;
542
516
  }());
543
- exports.AssetProcessor = AssetProcessor_1 = __decorate$C([
517
+ exports.AssetProcessor = AssetProcessor_1 = __decorate$G([
544
518
  tsyringe.injectable(),
545
519
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
546
520
  ], exports.AssetProcessor);
547
521
 
548
- var __awaiter$A = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
522
+ var __awaiter$E = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
549
523
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
550
524
  return new (P || (P = Promise))(function (resolve, reject) {
551
525
  function fulfilled(value) { try {
@@ -607,7 +581,7 @@
607
581
  return isConstructor(value);
608
582
  }
609
583
  function isInterface(obj, interFaceObject) {
610
- var e_1, _a;
584
+ var e_1, _b;
611
585
  if (!obj || typeof obj !== "object" || isArray(obj) || !isObject(interFaceObject))
612
586
  return false;
613
587
  var keys = Object.keys(interFaceObject);
@@ -628,7 +602,7 @@
628
602
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
629
603
  finally {
630
604
  try {
631
- if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
605
+ if (keys_1_1 && !keys_1_1.done && (_b = keys_1.return)) _b.call(keys_1);
632
606
  }
633
607
  finally { if (e_1) throw e_1.error; }
634
608
  }
@@ -745,10 +719,10 @@
745
719
  };
746
720
  }
747
721
  function toImage(src, params, meta) {
748
- return __awaiter$A(this, void 0, void 0, function () {
749
- var crop, buffer, _a, cropBefore, cropAfter, img, _b, width, height, canvasScaleX, canvasScaleY, e_2;
750
- return __generator(this, function (_c) {
751
- switch (_c.label) {
722
+ return __awaiter$E(this, void 0, void 0, function () {
723
+ var crop, buffer, _b, cropBefore, cropAfter, img, _c, width, height, canvasScaleX, canvasScaleY, e_2;
724
+ return __generator(this, function (_d) {
725
+ switch (_d.label) {
752
726
  case 0:
753
727
  // Default params and meta
754
728
  params = params || {};
@@ -768,22 +742,22 @@
768
742
  if (!(src instanceof stream.Readable)) return [3 /*break*/, 2];
769
743
  return [4 /*yield*/, streamToBuffer(src)];
770
744
  case 1:
771
- _a = _c.sent();
745
+ _b = _d.sent();
772
746
  return [3 /*break*/, 3];
773
747
  case 2:
774
- _a = src;
775
- _c.label = 3;
748
+ _b = src;
749
+ _d.label = 3;
776
750
  case 3:
777
- buffer = _a;
778
- _c.label = 4;
751
+ buffer = _b;
752
+ _d.label = 4;
779
753
  case 4:
780
- _c.trys.push([4, 9, , 10]);
754
+ _d.trys.push([4, 9, , 10]);
781
755
  cropBefore = toCropRegion(params.cropBefore || (params.crop ? meta.cropBefore : null));
782
756
  cropAfter = toCropRegion(params.cropAfter || (params.crop ? meta.cropAfter : null));
783
757
  img = sharp$2(buffer);
784
758
  return [4 /*yield*/, img.metadata()];
785
759
  case 5:
786
- _b = _c.sent(), width = _b.width, height = _b.height;
760
+ _c = _d.sent(), width = _c.width, height = _c.height;
787
761
  // Crop before resize
788
762
  if (cropBefore) {
789
763
  width = cropBefore.width;
@@ -815,16 +789,16 @@
815
789
  if (!(params.rotation !== 0)) return [3 /*break*/, 7];
816
790
  return [4 /*yield*/, img.toBuffer()];
817
791
  case 6:
818
- buffer = _c.sent();
792
+ buffer = _d.sent();
819
793
  img = sharp$2(buffer).rotate(params.rotation);
820
- _c.label = 7;
794
+ _d.label = 7;
821
795
  case 7: return [4 /*yield*/, img.toBuffer()];
822
796
  case 8:
823
- buffer = _c.sent();
797
+ buffer = _d.sent();
824
798
  src = src instanceof stream.Readable ? bufferToStream(buffer) : buffer;
825
799
  return [2 /*return*/, src];
826
800
  case 9:
827
- e_2 = _c.sent();
801
+ e_2 = _d.sent();
828
802
  console.log("Image conversion error", e_2);
829
803
  src = src instanceof stream.Readable ? bufferToStream(buffer) : buffer;
830
804
  return [2 /*return*/, src];
@@ -906,13 +880,13 @@
906
880
  }
907
881
  function readAndDeleteFile(path, timeout) {
908
882
  if (timeout === void 0) { timeout = 5000; }
909
- return __awaiter$A(this, void 0, void 0, function () {
883
+ return __awaiter$E(this, void 0, void 0, function () {
910
884
  var data;
911
- return __generator(this, function (_a) {
912
- switch (_a.label) {
885
+ return __generator(this, function (_b) {
886
+ switch (_b.label) {
913
887
  case 0: return [4 /*yield*/, readFile(path)];
914
888
  case 1:
915
- data = _a.sent();
889
+ data = _b.sent();
916
890
  setTimeout(function () {
917
891
  fs.unlink(path, function () {
918
892
  });
@@ -923,12 +897,12 @@
923
897
  });
924
898
  }
925
899
  function writeFile(path$1, data) {
926
- return __awaiter$A(this, void 0, void 0, function () {
927
- return __generator(this, function (_a) {
928
- switch (_a.label) {
900
+ return __awaiter$E(this, void 0, void 0, function () {
901
+ return __generator(this, function (_b) {
902
+ switch (_b.label) {
929
903
  case 0: return [4 /*yield*/, mkdirRecursive(path.dirname(path$1))];
930
904
  case 1:
931
- _a.sent();
905
+ _b.sent();
932
906
  return [2 /*return*/, new Promise(function (res, rej) {
933
907
  fs.writeFile(path$1, data, function (err) {
934
908
  if (err) {
@@ -1067,6 +1041,9 @@
1067
1041
  if (padWith === void 0) { padWith = "0"; }
1068
1042
  return ("" + value).padEnd(count, padWith);
1069
1043
  }
1044
+ function camelCaseToDash(str) {
1045
+ return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
1046
+ }
1070
1047
  function deleteFromBucket(bucket, fileId) {
1071
1048
  return new Promise((function (resolve, reject) {
1072
1049
  bucket.delete(fileId, function (error) {
@@ -1085,7 +1062,7 @@
1085
1062
  var defaultPredicate = function () { return true; };
1086
1063
  var ɵ0 = defaultPredicate;
1087
1064
  function copyRecursive(target, source, predicate) {
1088
- var e_3, _a;
1065
+ var e_3, _b;
1089
1066
  predicate = predicate || defaultPredicate;
1090
1067
  if (isPrimitive(source) || isDate(source) || isFunction(source))
1091
1068
  return source;
@@ -1122,8 +1099,8 @@
1122
1099
  if (target instanceof Map) {
1123
1100
  if (source instanceof Map) {
1124
1101
  try {
1125
- for (var _b = __values(source.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
1126
- var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
1102
+ for (var _c = __values(source.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {
1103
+ var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
1127
1104
  if (!predicate(value, key, target, source))
1128
1105
  continue;
1129
1106
  target.set(key, !shouldCopy(key, value) ? value : copyRecursive(target.get(key), value, predicate));
@@ -1132,7 +1109,7 @@
1132
1109
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
1133
1110
  finally {
1134
1111
  try {
1135
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1112
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
1136
1113
  }
1137
1114
  finally { if (e_3) throw e_3.error; }
1138
1115
  }
@@ -1266,6 +1243,9 @@
1266
1243
  if (to === void 0) { to = "-"; }
1267
1244
  return ("" + str).replace(/[&\/\\#, +()$~%.@'":*?<>{}]/g, to);
1268
1245
  }
1246
+ function regexEscape(str) {
1247
+ return ("" + str).replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
1248
+ }
1269
1249
  function flatten(arr) {
1270
1250
  return arr.reduce(function (flat, toFlatten) {
1271
1251
  return flat.concat(isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
@@ -1286,9 +1266,36 @@
1286
1266
  };
1287
1267
  }
1288
1268
  var prepareUrlSlash = prepareUrl("/");
1289
- var prepareUrlEmpty = prepareUrl("");
1269
+ var prepareUrlEmpty = prepareUrl("");
1270
+ function checkTextFileType(type) {
1271
+ return type.mime.indexOf("text") >= 0 || type.mime.indexOf("xml") >= 0;
1272
+ }
1273
+ function fixTextFileType(type, buffer) {
1274
+ var text = buffer.toString("utf8");
1275
+ if (text.indexOf("<svg") >= 0) {
1276
+ return { ext: "svg", mime: "image/svg+xml" };
1277
+ }
1278
+ return type;
1279
+ }
1280
+ function fileTypeFromBuffer(buffer) {
1281
+ var _a;
1282
+ return __awaiter$E(this, void 0, void 0, function () {
1283
+ var type;
1284
+ return __generator(this, function (_b) {
1285
+ switch (_b.label) {
1286
+ case 0: return [4 /*yield*/, fileType.fromBuffer(buffer)];
1287
+ case 1:
1288
+ type = ((_a = _b.sent()) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
1289
+ if (checkTextFileType(type)) {
1290
+ return [2 /*return*/, fixTextFileType(type, buffer)];
1291
+ }
1292
+ return [2 /*return*/, type];
1293
+ }
1294
+ });
1295
+ });
1296
+ }
1290
1297
 
1291
- var __decorate$B = (this && this.__decorate) || function (decorators, target, key, desc) {
1298
+ var __decorate$F = (this && this.__decorate) || function (decorators, target, key, desc) {
1292
1299
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1293
1300
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1294
1301
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1298,11 +1305,11 @@
1298
1305
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1299
1306
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1300
1307
  };
1301
- var __metadata$v = (this && this.__metadata) || function (k, v) {
1308
+ var __metadata$y = (this && this.__metadata) || function (k, v) {
1302
1309
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1303
1310
  return Reflect.metadata(k, v);
1304
1311
  };
1305
- var __param$9 = (this && this.__param) || function (paramIndex, decorator) {
1312
+ var __param$b = (this && this.__param) || function (paramIndex, decorator) {
1306
1313
  return function (target, key) { decorator(target, key, paramIndex); };
1307
1314
  };
1308
1315
  exports.Configuration = /** @class */ (function () {
@@ -1319,20 +1326,22 @@
1319
1326
  existingParam.resolver = param.resolver || existingParam.resolver;
1320
1327
  this.paramMap[param.name] = existingParam;
1321
1328
  };
1322
- Configuration.prototype.resolveValue = function (param) {
1329
+ Configuration.prototype.resolveValue = function (param, alreadyResolved) {
1330
+ var _this = this;
1323
1331
  var envName = param.name.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
1324
1332
  return "_" + y.toLowerCase();
1325
1333
  }).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
1326
1334
  var envValue = process.env[envName];
1335
+ var helper = function (p) { return _this.resolveInternal(p, alreadyResolved); };
1327
1336
  if (typeof envValue !== "undefined") {
1328
1337
  var value = isFunction(param.resolver)
1329
- ? param.resolver(envValue)
1338
+ ? param.resolver(envValue, helper)
1330
1339
  : convertValue(envValue, getType(param.defaultValue));
1331
1340
  console.log(colorize("Processing param value", exports.ConsoleColor.FgYellow), colorize(param.name, exports.ConsoleColor.FgGreen), colorize(envName, exports.ConsoleColor.FgBlue), "\"" + envValue + "\"", value);
1332
1341
  return value;
1333
1342
  }
1334
1343
  else if (isFunction(param.resolver)) {
1335
- var value = param.resolver(param.defaultValue);
1344
+ var value = param.resolver(param.defaultValue, helper);
1336
1345
  console.log(colorize("Processing default param value", exports.ConsoleColor.FgYellow), colorize(param.name, exports.ConsoleColor.FgGreen), param.defaultValue, value);
1337
1346
  return value;
1338
1347
  }
@@ -1343,23 +1352,30 @@
1343
1352
  return !!this.paramMap[name];
1344
1353
  };
1345
1354
  Configuration.prototype.resolve = function (name) {
1355
+ return this.resolveInternal(name, []);
1356
+ };
1357
+ Configuration.prototype.resolveInternal = function (name, alreadyResolved) {
1358
+ if (alreadyResolved.includes(name)) {
1359
+ throw new Error("Circular dependency detected: " + alreadyResolved.join(" -> ") + " -> " + name);
1360
+ }
1361
+ alreadyResolved.push(name);
1346
1362
  var param = this.paramMap[name];
1347
1363
  if (!param)
1348
1364
  throw new Error("Parameter with name: '" + name + "' does not exists in configuration");
1349
1365
  if (!(name in this.paramValues)) {
1350
- this.paramValues[name] = this.resolveValue(param);
1366
+ this.paramValues[name] = this.resolveValue(param, alreadyResolved);
1351
1367
  }
1352
1368
  return this.paramValues[name];
1353
1369
  };
1354
1370
  return Configuration;
1355
1371
  }());
1356
- exports.Configuration = __decorate$B([
1372
+ exports.Configuration = __decorate$F([
1357
1373
  tsyringe.singleton(),
1358
- __param$9(0, tsyringe.injectAll(PARAMETER)),
1359
- __metadata$v("design:paramtypes", [Array])
1374
+ __param$b(0, tsyringe.injectAll(PARAMETER)),
1375
+ __metadata$y("design:paramtypes", [Array])
1360
1376
  ], exports.Configuration);
1361
1377
 
1362
- var __decorate$A = (this && this.__decorate) || function (decorators, target, key, desc) {
1378
+ var __decorate$E = (this && this.__decorate) || function (decorators, target, key, desc) {
1363
1379
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1364
1380
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1365
1381
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1369,11 +1385,11 @@
1369
1385
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1370
1386
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1371
1387
  };
1372
- var __metadata$u = (this && this.__metadata) || function (k, v) {
1388
+ var __metadata$x = (this && this.__metadata) || function (k, v) {
1373
1389
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1374
1390
  return Reflect.metadata(k, v);
1375
1391
  };
1376
- var __awaiter$z = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1392
+ var __awaiter$D = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1377
1393
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1378
1394
  return new (P || (P = Promise))(function (resolve, reject) {
1379
1395
  function fulfilled(value) { try {
@@ -1421,7 +1437,7 @@
1421
1437
  configurable: true
1422
1438
  });
1423
1439
  MongoConnector.prototype.connect = function () {
1424
- return __awaiter$z(this, void 0, void 0, function () {
1440
+ return __awaiter$D(this, void 0, void 0, function () {
1425
1441
  var _a;
1426
1442
  return __generator(this, function (_b) {
1427
1443
  switch (_b.label) {
@@ -1445,12 +1461,12 @@
1445
1461
  };
1446
1462
  return MongoConnector;
1447
1463
  }());
1448
- exports.MongoConnector = __decorate$A([
1464
+ exports.MongoConnector = __decorate$E([
1449
1465
  tsyringe.singleton(),
1450
- __metadata$u("design:paramtypes", [exports.Configuration])
1466
+ __metadata$x("design:paramtypes", [exports.Configuration])
1451
1467
  ], exports.MongoConnector);
1452
1468
 
1453
- var __awaiter$y = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1469
+ var __awaiter$C = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1454
1470
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1455
1471
  return new (P || (P = Promise))(function (resolve, reject) {
1456
1472
  function fulfilled(value) { try {
@@ -1486,7 +1502,7 @@
1486
1502
  return this.collection.updateOne({ _id: this.mId }, { $set: this.toJSON() });
1487
1503
  };
1488
1504
  BaseEntity.prototype.load = function () {
1489
- return __awaiter$y(this, void 0, void 0, function () {
1505
+ return __awaiter$C(this, void 0, void 0, function () {
1490
1506
  var res;
1491
1507
  return __generator(this, function (_a) {
1492
1508
  switch (_a.label) {
@@ -1509,7 +1525,7 @@
1509
1525
  return BaseEntity;
1510
1526
  }());
1511
1527
 
1512
- var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1528
+ var __awaiter$B = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1513
1529
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1514
1530
  return new (P || (P = Promise))(function (resolve, reject) {
1515
1531
  function fulfilled(value) { try {
@@ -1564,7 +1580,7 @@
1564
1580
  configurable: true
1565
1581
  });
1566
1582
  Asset.prototype.unlink = function () {
1567
- return __awaiter$x(this, void 0, void 0, function () {
1583
+ return __awaiter$B(this, void 0, void 0, function () {
1568
1584
  return __generator(this, function (_a) {
1569
1585
  return [2 /*return*/, deleteFromBucket(this.bucket, this.mId)];
1570
1586
  });
@@ -1574,7 +1590,7 @@
1574
1590
  return streamToBuffer(this.stream);
1575
1591
  };
1576
1592
  Asset.prototype.download = function (metadata) {
1577
- return __awaiter$x(this, void 0, void 0, function () {
1593
+ return __awaiter$B(this, void 0, void 0, function () {
1578
1594
  return __generator(this, function (_a) {
1579
1595
  switch (_a.label) {
1580
1596
  case 0:
@@ -1594,14 +1610,14 @@
1594
1610
  };
1595
1611
  Asset.prototype.getImage = function (params) {
1596
1612
  if (params === void 0) { params = null; }
1597
- return __awaiter$x(this, void 0, void 0, function () {
1613
+ return __awaiter$B(this, void 0, void 0, function () {
1598
1614
  return __generator(this, function (_a) {
1599
1615
  return [2 /*return*/, toImage(this.stream, params, this.metadata)];
1600
1616
  });
1601
1617
  });
1602
1618
  };
1603
1619
  Asset.prototype.downloadImage = function (params, metadata) {
1604
- return __awaiter$x(this, void 0, void 0, function () {
1620
+ return __awaiter$B(this, void 0, void 0, function () {
1605
1621
  var _a;
1606
1622
  return __generator(this, function (_b) {
1607
1623
  switch (_b.label) {
@@ -1616,7 +1632,7 @@
1616
1632
  return Asset;
1617
1633
  }(BaseEntity));
1618
1634
 
1619
- var __awaiter$w = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1635
+ var __awaiter$A = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1620
1636
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1621
1637
  return new (P || (P = Promise))(function (resolve, reject) {
1622
1638
  function fulfilled(value) { try {
@@ -1651,21 +1667,21 @@
1651
1667
  configurable: true
1652
1668
  });
1653
1669
  TempAsset.prototype.unlink = function () {
1654
- return __awaiter$w(this, void 0, void 0, function () {
1670
+ return __awaiter$A(this, void 0, void 0, function () {
1655
1671
  return __generator(this, function (_a) {
1656
1672
  throw new Error("Temp asset '" + this.id + "' can not be removed!");
1657
1673
  });
1658
1674
  });
1659
1675
  };
1660
1676
  TempAsset.prototype.getBuffer = function () {
1661
- return __awaiter$w(this, void 0, void 0, function () {
1677
+ return __awaiter$A(this, void 0, void 0, function () {
1662
1678
  return __generator(this, function (_a) {
1663
1679
  return [2 /*return*/, this.buffer];
1664
1680
  });
1665
1681
  });
1666
1682
  };
1667
1683
  TempAsset.prototype.download = function (metadata) {
1668
- return __awaiter$w(this, void 0, void 0, function () {
1684
+ return __awaiter$A(this, void 0, void 0, function () {
1669
1685
  return __generator(this, function (_a) {
1670
1686
  return [2 /*return*/, this.stream];
1671
1687
  });
@@ -1679,14 +1695,14 @@
1679
1695
  return this.downloadImage(params);
1680
1696
  };
1681
1697
  TempAsset.prototype.save = function () {
1682
- return __awaiter$w(this, void 0, void 0, function () {
1698
+ return __awaiter$A(this, void 0, void 0, function () {
1683
1699
  return __generator(this, function (_a) {
1684
1700
  return [2 /*return*/, this];
1685
1701
  });
1686
1702
  });
1687
1703
  };
1688
1704
  TempAsset.prototype.load = function () {
1689
- return __awaiter$w(this, void 0, void 0, function () {
1705
+ return __awaiter$A(this, void 0, void 0, function () {
1690
1706
  return __generator(this, function (_a) {
1691
1707
  return [2 /*return*/, this];
1692
1708
  });
@@ -1703,7 +1719,7 @@
1703
1719
  return TempAsset;
1704
1720
  }());
1705
1721
 
1706
- var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
1722
+ var __decorate$D = (this && this.__decorate) || function (decorators, target, key, desc) {
1707
1723
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1708
1724
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1709
1725
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1713,11 +1729,11 @@
1713
1729
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1714
1730
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1715
1731
  };
1716
- var __metadata$t = (this && this.__metadata) || function (k, v) {
1732
+ var __metadata$w = (this && this.__metadata) || function (k, v) {
1717
1733
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1718
1734
  return Reflect.metadata(k, v);
1719
1735
  };
1720
- var __awaiter$v = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1736
+ var __awaiter$z = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1721
1737
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1722
1738
  return new (P || (P = Promise))(function (resolve, reject) {
1723
1739
  function fulfilled(value) { try {
@@ -1747,7 +1763,7 @@
1747
1763
  Assets.prototype.write = function (stream, contentType, metadata) {
1748
1764
  if (contentType === void 0) { contentType = null; }
1749
1765
  if (metadata === void 0) { metadata = null; }
1750
- return __awaiter$v(this, void 0, void 0, function () {
1766
+ return __awaiter$z(this, void 0, void 0, function () {
1751
1767
  var uploadStream, buffer, fileType, e_1;
1752
1768
  return __generator(this, function (_b) {
1753
1769
  switch (_b.label) {
@@ -1760,14 +1776,14 @@
1760
1776
  _b.label = 2;
1761
1777
  case 2:
1762
1778
  _b.trys.push([2, 4, , 5]);
1763
- return [4 /*yield*/, exports.AssetProcessor.fileTypeFromBuffer(buffer)];
1779
+ return [4 /*yield*/, fileTypeFromBuffer(buffer)];
1764
1780
  case 3:
1765
1781
  fileType = _b.sent();
1766
1782
  return [3 /*break*/, 5];
1767
1783
  case 4:
1768
1784
  e_1 = _b.sent();
1769
1785
  if (!fileType.mime) {
1770
- throw "Can't determine mime type";
1786
+ throw new Error("Can't determine mime type: " + e_1);
1771
1787
  }
1772
1788
  console.log("Can't determine mime type", e_1);
1773
1789
  return [3 /*break*/, 5];
@@ -1781,7 +1797,7 @@
1781
1797
  Assets.prototype.writeBuffer = function (buffer, metadata, contentType) {
1782
1798
  if (metadata === void 0) { metadata = null; }
1783
1799
  if (contentType === void 0) { contentType = null; }
1784
- return __awaiter$v(this, void 0, void 0, function () {
1800
+ return __awaiter$z(this, void 0, void 0, function () {
1785
1801
  var fileType, e_2;
1786
1802
  return __generator(this, function (_b) {
1787
1803
  switch (_b.label) {
@@ -1790,7 +1806,7 @@
1790
1806
  _b.label = 1;
1791
1807
  case 1:
1792
1808
  _b.trys.push([1, 3, , 4]);
1793
- return [4 /*yield*/, exports.AssetProcessor.fileTypeFromBuffer(buffer)];
1809
+ return [4 /*yield*/, fileTypeFromBuffer(buffer)];
1794
1810
  case 2:
1795
1811
  fileType = _b.sent();
1796
1812
  return [3 /*break*/, 4];
@@ -1813,7 +1829,7 @@
1813
1829
  };
1814
1830
  Assets.prototype.writeUrl = function (url, metadata) {
1815
1831
  if (metadata === void 0) { metadata = null; }
1816
- return __awaiter$v(this, void 0, void 0, function () {
1832
+ return __awaiter$z(this, void 0, void 0, function () {
1817
1833
  var oneWeek, asset, buffer;
1818
1834
  return __generator(this, function (_b) {
1819
1835
  switch (_b.label) {
@@ -1838,7 +1854,7 @@
1838
1854
  };
1839
1855
  Assets.prototype.download = function (url, contentType) {
1840
1856
  if (contentType === void 0) { contentType = null; }
1841
- return __awaiter$v(this, void 0, void 0, function () {
1857
+ return __awaiter$z(this, void 0, void 0, function () {
1842
1858
  var buffer, fileType, e_3, metadata;
1843
1859
  return __generator(this, function (_b) {
1844
1860
  switch (_b.label) {
@@ -1849,7 +1865,7 @@
1849
1865
  _b.label = 2;
1850
1866
  case 2:
1851
1867
  _b.trys.push([2, 4, , 5]);
1852
- return [4 /*yield*/, exports.AssetProcessor.fileTypeFromBuffer(buffer)];
1868
+ return [4 /*yield*/, fileTypeFromBuffer(buffer)];
1853
1869
  case 3:
1854
1870
  fileType = _b.sent();
1855
1871
  return [3 /*break*/, 5];
@@ -1874,14 +1890,14 @@
1874
1890
  });
1875
1891
  };
1876
1892
  Assets.prototype.read = function (id) {
1877
- return __awaiter$v(this, void 0, void 0, function () {
1893
+ return __awaiter$z(this, void 0, void 0, function () {
1878
1894
  return __generator(this, function (_b) {
1879
1895
  return [2 /*return*/, !id ? null : this.find({ _id: new bson.ObjectId(id) })];
1880
1896
  });
1881
1897
  });
1882
1898
  };
1883
1899
  Assets.prototype.find = function (where) {
1884
- return __awaiter$v(this, void 0, void 0, function () {
1900
+ return __awaiter$z(this, void 0, void 0, function () {
1885
1901
  var data;
1886
1902
  return __generator(this, function (_b) {
1887
1903
  switch (_b.label) {
@@ -1894,7 +1910,7 @@
1894
1910
  });
1895
1911
  };
1896
1912
  Assets.prototype.findMany = function (where) {
1897
- return __awaiter$v(this, void 0, void 0, function () {
1913
+ return __awaiter$z(this, void 0, void 0, function () {
1898
1914
  var cursor, items, result, items_1, items_1_1, item;
1899
1915
  var e_4, _b;
1900
1916
  return __generator(this, function (_c) {
@@ -1926,7 +1942,7 @@
1926
1942
  });
1927
1943
  };
1928
1944
  Assets.prototype.deleteMany = function (where) {
1929
- return __awaiter$v(this, void 0, void 0, function () {
1945
+ return __awaiter$z(this, void 0, void 0, function () {
1930
1946
  var assets;
1931
1947
  return __generator(this, function (_b) {
1932
1948
  switch (_b.label) {
@@ -1939,7 +1955,7 @@
1939
1955
  });
1940
1956
  };
1941
1957
  Assets.prototype.unlink = function (id) {
1942
- return __awaiter$v(this, void 0, void 0, function () {
1958
+ return __awaiter$z(this, void 0, void 0, function () {
1943
1959
  var asset;
1944
1960
  return __generator(this, function (_b) {
1945
1961
  switch (_b.label) {
@@ -1954,7 +1970,7 @@
1954
1970
  });
1955
1971
  };
1956
1972
  Assets.prototype.upload = function (stream, fileType, metadata) {
1957
- return __awaiter$v(this, void 0, void 0, function () {
1973
+ return __awaiter$z(this, void 0, void 0, function () {
1958
1974
  var contentType;
1959
1975
  var _this = this;
1960
1976
  return __generator(this, function (_b) {
@@ -1990,13 +2006,13 @@
1990
2006
  };
1991
2007
  return Assets;
1992
2008
  }());
1993
- exports.Assets = __decorate$z([
2009
+ exports.Assets = __decorate$D([
1994
2010
  tsyringe.injectable(),
1995
2011
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
1996
- __metadata$t("design:paramtypes", [exports.MongoConnector, exports.AssetProcessor])
2012
+ __metadata$w("design:paramtypes", [exports.MongoConnector, exports.AssetProcessor])
1997
2013
  ], exports.Assets);
1998
2014
 
1999
- var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2015
+ var __awaiter$y = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2000
2016
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2001
2017
  return new (P || (P = Promise))(function (resolve, reject) {
2002
2018
  function fulfilled(value) { try {
@@ -2060,7 +2076,7 @@
2060
2076
  configurable: true
2061
2077
  });
2062
2078
  LazyAsset.prototype.unlink = function () {
2063
- return __awaiter$u(this, void 0, void 0, function () {
2079
+ return __awaiter$y(this, void 0, void 0, function () {
2064
2080
  return __generator(this, function (_a) {
2065
2081
  switch (_a.label) {
2066
2082
  case 0: return [4 /*yield*/, this.load()];
@@ -2092,7 +2108,7 @@
2092
2108
  });
2093
2109
  };
2094
2110
  LazyAsset.prototype.loadAsset = function () {
2095
- return __awaiter$u(this, void 0, void 0, function () {
2111
+ return __awaiter$y(this, void 0, void 0, function () {
2096
2112
  return __generator(this, function (_a) {
2097
2113
  switch (_a.label) {
2098
2114
  case 0: return [4 /*yield*/, this.load()];
@@ -2117,7 +2133,7 @@
2117
2133
  });
2118
2134
  };
2119
2135
  LazyAsset.prototype.writeAsset = function (asset) {
2120
- return __awaiter$u(this, void 0, void 0, function () {
2136
+ return __awaiter$y(this, void 0, void 0, function () {
2121
2137
  return __generator(this, function (_a) {
2122
2138
  switch (_a.label) {
2123
2139
  case 0:
@@ -2131,7 +2147,7 @@
2131
2147
  });
2132
2148
  };
2133
2149
  LazyAsset.prototype.startWorkingOnAsset = function (fromLoad) {
2134
- return __awaiter$u(this, void 0, void 0, function () {
2150
+ return __awaiter$y(this, void 0, void 0, function () {
2135
2151
  var _a;
2136
2152
  return __generator(this, function (_b) {
2137
2153
  switch (_b.label) {
@@ -2155,7 +2171,7 @@
2155
2171
  return LazyAsset;
2156
2172
  }(BaseEntity));
2157
2173
 
2158
- var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
2174
+ var __decorate$C = (this && this.__decorate) || function (decorators, target, key, desc) {
2159
2175
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2160
2176
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2161
2177
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2165,7 +2181,7 @@
2165
2181
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2166
2182
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2167
2183
  };
2168
- var __metadata$s = (this && this.__metadata) || function (k, v) {
2184
+ var __metadata$v = (this && this.__metadata) || function (k, v) {
2169
2185
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2170
2186
  return Reflect.metadata(k, v);
2171
2187
  };
@@ -2188,12 +2204,12 @@
2188
2204
  };
2189
2205
  return Logger;
2190
2206
  }());
2191
- exports.Logger = __decorate$y([
2207
+ exports.Logger = __decorate$C([
2192
2208
  tsyringe.singleton(),
2193
- __metadata$s("design:paramtypes", [exports.Configuration])
2209
+ __metadata$v("design:paramtypes", [exports.Configuration])
2194
2210
  ], exports.Logger);
2195
2211
 
2196
- var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
2212
+ var __decorate$B = (this && this.__decorate) || function (decorators, target, key, desc) {
2197
2213
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2198
2214
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2199
2215
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2203,14 +2219,14 @@
2203
2219
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2204
2220
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2205
2221
  };
2206
- var __metadata$r = (this && this.__metadata) || function (k, v) {
2222
+ var __metadata$u = (this && this.__metadata) || function (k, v) {
2207
2223
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2208
2224
  return Reflect.metadata(k, v);
2209
2225
  };
2210
- var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
2226
+ var __param$a = (this && this.__param) || function (paramIndex, decorator) {
2211
2227
  return function (target, key) { decorator(target, key, paramIndex); };
2212
2228
  };
2213
- var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2229
+ var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2214
2230
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2215
2231
  return new (P || (P = Promise))(function (resolve, reject) {
2216
2232
  function fulfilled(value) { try {
@@ -2262,7 +2278,7 @@
2262
2278
  };
2263
2279
  JobManager.prototype.process = function (jobType, params) {
2264
2280
  if (params === void 0) { params = {}; }
2265
- return __awaiter$t(this, void 0, void 0, function () {
2281
+ return __awaiter$x(this, void 0, void 0, function () {
2266
2282
  var instance, jobName;
2267
2283
  return __generator(this, function (_a) {
2268
2284
  instance = null;
@@ -2279,7 +2295,7 @@
2279
2295
  };
2280
2296
  JobManager.prototype.enqueueWithName = function (name, params) {
2281
2297
  if (params === void 0) { params = {}; }
2282
- return __awaiter$t(this, void 0, void 0, function () {
2298
+ return __awaiter$x(this, void 0, void 0, function () {
2283
2299
  return __generator(this, function (_a) {
2284
2300
  return [2 /*return*/, this.sendToWorkers(this.tryResolveFromName(name, params), params)];
2285
2301
  });
@@ -2287,7 +2303,7 @@
2287
2303
  };
2288
2304
  JobManager.prototype.enqueue = function (jobType, params) {
2289
2305
  if (params === void 0) { params = {}; }
2290
- return __awaiter$t(this, void 0, void 0, function () {
2306
+ return __awaiter$x(this, void 0, void 0, function () {
2291
2307
  return __generator(this, function (_a) {
2292
2308
  return [2 /*return*/, this.sendToWorkers(this.tryResolveAndInit(jobType, params), params)];
2293
2309
  });
@@ -2318,7 +2334,7 @@
2318
2334
  });
2319
2335
  };
2320
2336
  JobManager.prototype.startProcessing = function () {
2321
- return __awaiter$t(this, void 0, void 0, function () {
2337
+ return __awaiter$x(this, void 0, void 0, function () {
2322
2338
  var host, pushHost, pullHost;
2323
2339
  var _this = this;
2324
2340
  return __generator(this, function (_a) {
@@ -2344,7 +2360,7 @@
2344
2360
  case 2:
2345
2361
  _a.sent();
2346
2362
  this.logger.log("job-manager", "Worker consumer connected to: " + pullHost);
2347
- this.workerPull.on("message", function (name, args, uniqId) { return __awaiter$t(_this, void 0, void 0, function () {
2363
+ this.workerPull.on("message", function (name, args, uniqId) { return __awaiter$x(_this, void 0, void 0, function () {
2348
2364
  var jobName, jobParams, uniqueId, e_1, e_2;
2349
2365
  return __generator(this, function (_a) {
2350
2366
  switch (_a.label) {
@@ -2442,7 +2458,7 @@
2442
2458
  return container.resolve(jobType);
2443
2459
  };
2444
2460
  JobManager.prototype.sendToWorkers = function (jobName, params) {
2445
- return __awaiter$t(this, void 0, void 0, function () {
2461
+ return __awaiter$x(this, void 0, void 0, function () {
2446
2462
  var publisher, uniqueId;
2447
2463
  return __generator(this, function (_a) {
2448
2464
  switch (_a.label) {
@@ -2460,16 +2476,16 @@
2460
2476
  };
2461
2477
  return JobManager;
2462
2478
  }());
2463
- exports.JobManager = __decorate$x([
2479
+ exports.JobManager = __decorate$B([
2464
2480
  tsyringe.injectable(),
2465
2481
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
2466
- __param$8(2, tsyringe.inject(DI_CONTAINER)),
2467
- __param$8(3, tsyringe.injectAll(JOB)),
2468
- __metadata$r("design:paramtypes", [exports.Configuration,
2482
+ __param$a(2, tsyringe.inject(DI_CONTAINER)),
2483
+ __param$a(3, tsyringe.injectAll(JOB)),
2484
+ __metadata$u("design:paramtypes", [exports.Configuration,
2469
2485
  exports.Logger, Object, Array])
2470
2486
  ], exports.JobManager);
2471
2487
 
2472
- var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2488
+ var __awaiter$w = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2473
2489
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2474
2490
  return new (P || (P = Promise))(function (resolve, reject) {
2475
2491
  function fulfilled(value) { try {
@@ -2547,7 +2563,7 @@
2547
2563
  return this;
2548
2564
  };
2549
2565
  Progress.prototype.createSubProgress = function (progressValue, max, message) {
2550
- return __awaiter$s(this, void 0, void 0, function () {
2566
+ return __awaiter$w(this, void 0, void 0, function () {
2551
2567
  return __generator(this, function (_a) {
2552
2568
  switch (_a.label) {
2553
2569
  case 0:
@@ -2569,7 +2585,7 @@
2569
2585
  });
2570
2586
  };
2571
2587
  Progress.prototype.setMax = function (max) {
2572
- return __awaiter$s(this, void 0, void 0, function () {
2588
+ return __awaiter$w(this, void 0, void 0, function () {
2573
2589
  return __generator(this, function (_a) {
2574
2590
  switch (_a.label) {
2575
2591
  case 0:
@@ -2586,7 +2602,7 @@
2586
2602
  });
2587
2603
  };
2588
2604
  Progress.prototype.setMessage = function (message) {
2589
- return __awaiter$s(this, void 0, void 0, function () {
2605
+ return __awaiter$w(this, void 0, void 0, function () {
2590
2606
  return __generator(this, function (_a) {
2591
2607
  switch (_a.label) {
2592
2608
  case 0:
@@ -2600,7 +2616,7 @@
2600
2616
  });
2601
2617
  };
2602
2618
  Progress.prototype.setError = function (error) {
2603
- return __awaiter$s(this, void 0, void 0, function () {
2619
+ return __awaiter$w(this, void 0, void 0, function () {
2604
2620
  return __generator(this, function (_a) {
2605
2621
  switch (_a.label) {
2606
2622
  case 0:
@@ -2615,18 +2631,21 @@
2615
2631
  };
2616
2632
  Progress.prototype.advance = function (value) {
2617
2633
  if (value === void 0) { value = 1; }
2618
- return __awaiter$s(this, void 0, void 0, function () {
2634
+ return __awaiter$w(this, void 0, void 0, function () {
2635
+ var status;
2619
2636
  return __generator(this, function (_a) {
2620
2637
  switch (_a.label) {
2621
2638
  case 0:
2622
2639
  if (isNaN(value) || value <= 0) {
2623
- throw "Advance value must be bigger than zero";
2640
+ throw new Error("Advance value must be bigger than zero: " + this.id);
2624
2641
  }
2625
2642
  return [4 /*yield*/, this.load()];
2626
2643
  case 1:
2627
2644
  _a.sent();
2628
- if (this.deleted || this.canceled)
2629
- return [2 /*return*/, null];
2645
+ if (this.deleted || this.canceled) {
2646
+ status = this.deleted ? "deleted" : "canceled";
2647
+ throw new Error("Can't advance " + status + " progress: " + this.id);
2648
+ }
2630
2649
  this.data.current = Math.min(this.max, this.current + value);
2631
2650
  return [4 /*yield*/, this.save()];
2632
2651
  case 2:
@@ -2637,7 +2656,7 @@
2637
2656
  });
2638
2657
  };
2639
2658
  Progress.prototype.cancel = function () {
2640
- return __awaiter$s(this, void 0, void 0, function () {
2659
+ return __awaiter$w(this, void 0, void 0, function () {
2641
2660
  return __generator(this, function (_a) {
2642
2661
  switch (_a.label) {
2643
2662
  case 0:
@@ -2736,7 +2755,7 @@
2736
2755
  return this;
2737
2756
  };
2738
2757
  SubProgress.prototype.createSubProgress = function (progressValue, max, message) {
2739
- return __awaiter$s(this, void 0, void 0, function () {
2758
+ return __awaiter$w(this, void 0, void 0, function () {
2740
2759
  return __generator(this, function (_a) {
2741
2760
  switch (_a.label) {
2742
2761
  case 0:
@@ -2757,7 +2776,7 @@
2757
2776
  });
2758
2777
  };
2759
2778
  SubProgress.prototype.setMax = function (max) {
2760
- return __awaiter$s(this, void 0, void 0, function () {
2779
+ return __awaiter$w(this, void 0, void 0, function () {
2761
2780
  return __generator(this, function (_a) {
2762
2781
  switch (_a.label) {
2763
2782
  case 0:
@@ -2774,7 +2793,7 @@
2774
2793
  });
2775
2794
  };
2776
2795
  SubProgress.prototype.setMessage = function (message) {
2777
- return __awaiter$s(this, void 0, void 0, function () {
2796
+ return __awaiter$w(this, void 0, void 0, function () {
2778
2797
  return __generator(this, function (_a) {
2779
2798
  switch (_a.label) {
2780
2799
  case 0:
@@ -2789,7 +2808,7 @@
2789
2808
  });
2790
2809
  };
2791
2810
  SubProgress.prototype.setError = function (error) {
2792
- return __awaiter$s(this, void 0, void 0, function () {
2811
+ return __awaiter$w(this, void 0, void 0, function () {
2793
2812
  return __generator(this, function (_a) {
2794
2813
  switch (_a.label) {
2795
2814
  case 0:
@@ -2805,7 +2824,7 @@
2805
2824
  };
2806
2825
  SubProgress.prototype.advance = function (value) {
2807
2826
  if (value === void 0) { value = 1; }
2808
- return __awaiter$s(this, void 0, void 0, function () {
2827
+ return __awaiter$w(this, void 0, void 0, function () {
2809
2828
  return __generator(this, function (_a) {
2810
2829
  switch (_a.label) {
2811
2830
  case 0:
@@ -2822,7 +2841,7 @@
2822
2841
  });
2823
2842
  };
2824
2843
  SubProgress.prototype.cancel = function () {
2825
- return __awaiter$s(this, void 0, void 0, function () {
2844
+ return __awaiter$w(this, void 0, void 0, function () {
2826
2845
  return __generator(this, function (_a) {
2827
2846
  switch (_a.label) {
2828
2847
  case 0:
@@ -2837,7 +2856,7 @@
2837
2856
  });
2838
2857
  };
2839
2858
  SubProgress.prototype.save = function () {
2840
- return __awaiter$s(this, void 0, void 0, function () {
2859
+ return __awaiter$w(this, void 0, void 0, function () {
2841
2860
  var ratio, newProgress, current;
2842
2861
  return __generator(this, function (_a) {
2843
2862
  switch (_a.label) {
@@ -2856,7 +2875,7 @@
2856
2875
  });
2857
2876
  };
2858
2877
  SubProgress.prototype.load = function () {
2859
- return __awaiter$s(this, void 0, void 0, function () {
2878
+ return __awaiter$w(this, void 0, void 0, function () {
2860
2879
  return __generator(this, function (_a) {
2861
2880
  return [2 /*return*/, null];
2862
2881
  });
@@ -2868,7 +2887,7 @@
2868
2887
  return SubProgress;
2869
2888
  }());
2870
2889
 
2871
- var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
2890
+ var __decorate$A = (this && this.__decorate) || function (decorators, target, key, desc) {
2872
2891
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2873
2892
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2874
2893
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2878,11 +2897,11 @@
2878
2897
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2879
2898
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2880
2899
  };
2881
- var __metadata$q = (this && this.__metadata) || function (k, v) {
2900
+ var __metadata$t = (this && this.__metadata) || function (k, v) {
2882
2901
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2883
2902
  return Reflect.metadata(k, v);
2884
2903
  };
2885
- var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2904
+ var __awaiter$v = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2886
2905
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2887
2906
  return new (P || (P = Promise))(function (resolve, reject) {
2888
2907
  function fulfilled(value) { try {
@@ -2914,11 +2933,11 @@
2914
2933
  });
2915
2934
  }
2916
2935
  Progresses.prototype.waitToFinish = function (id) {
2917
- return __awaiter$r(this, void 0, void 0, function () {
2936
+ return __awaiter$v(this, void 0, void 0, function () {
2918
2937
  var _this = this;
2919
2938
  return __generator(this, function (_a) {
2920
2939
  return [2 /*return*/, Promise.race([
2921
- this.waitForProgress(id, function () { return __awaiter$r(_this, void 0, void 0, function () {
2940
+ this.waitForProgress(id, function () { return __awaiter$v(_this, void 0, void 0, function () {
2922
2941
  var progress;
2923
2942
  return __generator(this, function (_a) {
2924
2943
  switch (_a.label) {
@@ -2937,7 +2956,7 @@
2937
2956
  }
2938
2957
  });
2939
2958
  }); }, 500),
2940
- this.waitForProgress(id, function () { return __awaiter$r(_this, void 0, void 0, function () {
2959
+ this.waitForProgress(id, function () { return __awaiter$v(_this, void 0, void 0, function () {
2941
2960
  return __generator(this, function (_a) {
2942
2961
  return [2 /*return*/, this.progresses[id] || null];
2943
2962
  });
@@ -2947,14 +2966,14 @@
2947
2966
  });
2948
2967
  };
2949
2968
  Progresses.prototype.get = function (id) {
2950
- return __awaiter$r(this, void 0, void 0, function () {
2969
+ return __awaiter$v(this, void 0, void 0, function () {
2951
2970
  return __generator(this, function (_a) {
2952
2971
  return [2 /*return*/, !id ? null : this.find({ _id: new bson.ObjectId(id) })];
2953
2972
  });
2954
2973
  });
2955
2974
  };
2956
2975
  Progresses.prototype.find = function (where) {
2957
- return __awaiter$r(this, void 0, void 0, function () {
2976
+ return __awaiter$v(this, void 0, void 0, function () {
2958
2977
  var data;
2959
2978
  return __generator(this, function (_a) {
2960
2979
  switch (_a.label) {
@@ -2968,7 +2987,7 @@
2968
2987
  };
2969
2988
  Progresses.prototype.create = function (max) {
2970
2989
  if (max === void 0) { max = 100; }
2971
- return __awaiter$r(this, void 0, void 0, function () {
2990
+ return __awaiter$v(this, void 0, void 0, function () {
2972
2991
  var data, res;
2973
2992
  return __generator(this, function (_a) {
2974
2993
  switch (_a.label) {
@@ -2992,7 +3011,7 @@
2992
3011
  });
2993
3012
  };
2994
3013
  Progresses.prototype.remove = function (id) {
2995
- return __awaiter$r(this, void 0, void 0, function () {
3014
+ return __awaiter$v(this, void 0, void 0, function () {
2996
3015
  return __generator(this, function (_a) {
2997
3016
  switch (_a.label) {
2998
3017
  case 0: return [4 /*yield*/, this.collection.deleteOne({ _id: new bson.ObjectId(id) })];
@@ -3004,7 +3023,7 @@
3004
3023
  });
3005
3024
  };
3006
3025
  Progresses.prototype.waitForProgress = function (id, cb, delay) {
3007
- return __awaiter$r(this, void 0, void 0, function () {
3026
+ return __awaiter$v(this, void 0, void 0, function () {
3008
3027
  var isFinished, progress, waitTime;
3009
3028
  return __generator(this, function (_a) {
3010
3029
  switch (_a.label) {
@@ -3041,12 +3060,12 @@
3041
3060
  };
3042
3061
  return Progresses;
3043
3062
  }());
3044
- exports.Progresses = __decorate$w([
3063
+ exports.Progresses = __decorate$A([
3045
3064
  tsyringe.singleton(),
3046
- __metadata$q("design:paramtypes", [exports.MongoConnector, exports.JobManager])
3065
+ __metadata$t("design:paramtypes", [exports.MongoConnector, exports.JobManager])
3047
3066
  ], exports.Progresses);
3048
3067
 
3049
- var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
3068
+ var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
3050
3069
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3051
3070
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3052
3071
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3056,11 +3075,11 @@
3056
3075
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3057
3076
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3058
3077
  };
3059
- var __metadata$p = (this && this.__metadata) || function (k, v) {
3078
+ var __metadata$s = (this && this.__metadata) || function (k, v) {
3060
3079
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3061
3080
  return Reflect.metadata(k, v);
3062
3081
  };
3063
- var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3082
+ var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3064
3083
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3065
3084
  return new (P || (P = Promise))(function (resolve, reject) {
3066
3085
  function fulfilled(value) { try {
@@ -3091,7 +3110,7 @@
3091
3110
  LazyAssets.prototype.create = function (jobType, jobParams, jobQue) {
3092
3111
  if (jobParams === void 0) { jobParams = {}; }
3093
3112
  if (jobQue === void 0) { jobQue = "main"; }
3094
- return __awaiter$q(this, void 0, void 0, function () {
3113
+ return __awaiter$u(this, void 0, void 0, function () {
3095
3114
  var jobName, data, existingAsset, res;
3096
3115
  return __generator(this, function (_a) {
3097
3116
  switch (_a.label) {
@@ -3116,14 +3135,14 @@
3116
3135
  });
3117
3136
  };
3118
3137
  LazyAssets.prototype.read = function (id) {
3119
- return __awaiter$q(this, void 0, void 0, function () {
3138
+ return __awaiter$u(this, void 0, void 0, function () {
3120
3139
  return __generator(this, function (_a) {
3121
3140
  return [2 /*return*/, !id ? null : this.find({ _id: new bson.ObjectId(id) })];
3122
3141
  });
3123
3142
  });
3124
3143
  };
3125
3144
  LazyAssets.prototype.find = function (where) {
3126
- return __awaiter$q(this, void 0, void 0, function () {
3145
+ return __awaiter$u(this, void 0, void 0, function () {
3127
3146
  var data;
3128
3147
  return __generator(this, function (_a) {
3129
3148
  switch (_a.label) {
@@ -3138,7 +3157,7 @@
3138
3157
  });
3139
3158
  };
3140
3159
  LazyAssets.prototype.unlink = function (id) {
3141
- return __awaiter$q(this, void 0, void 0, function () {
3160
+ return __awaiter$u(this, void 0, void 0, function () {
3142
3161
  var asset;
3143
3162
  return __generator(this, function (_a) {
3144
3163
  switch (_a.label) {
@@ -3154,17 +3173,17 @@
3154
3173
  };
3155
3174
  return LazyAssets;
3156
3175
  }());
3157
- exports.LazyAssets = __decorate$v([
3176
+ exports.LazyAssets = __decorate$z([
3158
3177
  tsyringe.injectable(),
3159
3178
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3160
- __metadata$p("design:paramtypes", [exports.MongoConnector,
3179
+ __metadata$s("design:paramtypes", [exports.MongoConnector,
3161
3180
  exports.Assets,
3162
3181
  exports.Progresses,
3163
3182
  exports.Logger,
3164
3183
  exports.JobManager])
3165
3184
  ], exports.LazyAssets);
3166
3185
 
3167
- var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
3186
+ var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
3168
3187
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3169
3188
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3170
3189
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3174,11 +3193,11 @@
3174
3193
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3175
3194
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3176
3195
  };
3177
- var __metadata$o = (this && this.__metadata) || function (k, v) {
3196
+ var __metadata$r = (this && this.__metadata) || function (k, v) {
3178
3197
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3179
3198
  return Reflect.metadata(k, v);
3180
3199
  };
3181
- var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3200
+ var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3182
3201
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3183
3202
  return new (P || (P = Promise))(function (resolve, reject) {
3184
3203
  function fulfilled(value) { try {
@@ -3204,7 +3223,7 @@
3204
3223
  }
3205
3224
  AssetResolver.prototype.resolve = function (id, lazy) {
3206
3225
  if (lazy === void 0) { lazy = false; }
3207
- return __awaiter$p(this, void 0, void 0, function () {
3226
+ return __awaiter$t(this, void 0, void 0, function () {
3208
3227
  var asset, lazyAsset, lazyAsset;
3209
3228
  return __generator(this, function (_a) {
3210
3229
  switch (_a.label) {
@@ -3234,13 +3253,13 @@
3234
3253
  };
3235
3254
  return AssetResolver;
3236
3255
  }());
3237
- exports.AssetResolver = __decorate$u([
3256
+ exports.AssetResolver = __decorate$y([
3238
3257
  tsyringe.injectable(),
3239
3258
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3240
- __metadata$o("design:paramtypes", [exports.Assets, exports.LazyAssets])
3259
+ __metadata$r("design:paramtypes", [exports.Assets, exports.LazyAssets])
3241
3260
  ], exports.AssetResolver);
3242
3261
 
3243
- var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
3262
+ var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
3244
3263
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3245
3264
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3246
3265
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3250,7 +3269,7 @@
3250
3269
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3251
3270
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3252
3271
  };
3253
- var __metadata$n = (this && this.__metadata) || function (k, v) {
3272
+ var __metadata$q = (this && this.__metadata) || function (k, v) {
3254
3273
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3255
3274
  return Reflect.metadata(k, v);
3256
3275
  };
@@ -3272,12 +3291,12 @@
3272
3291
  });
3273
3292
  return BackendProvider;
3274
3293
  }());
3275
- exports.BackendProvider = __decorate$t([
3294
+ exports.BackendProvider = __decorate$x([
3276
3295
  tsyringe.singleton(),
3277
- __metadata$n("design:paramtypes", [])
3296
+ __metadata$q("design:paramtypes", [])
3278
3297
  ], exports.BackendProvider);
3279
3298
 
3280
- var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
3299
+ var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
3281
3300
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3282
3301
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3283
3302
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3287,7 +3306,7 @@
3287
3306
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3288
3307
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3289
3308
  };
3290
- var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3309
+ var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3291
3310
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3292
3311
  return new (P || (P = Promise))(function (resolve, reject) {
3293
3312
  function fulfilled(value) { try {
@@ -3310,14 +3329,14 @@
3310
3329
  function CacheProcessor() {
3311
3330
  }
3312
3331
  CacheProcessor.prototype.serialize = function (data) {
3313
- return __awaiter$o(this, void 0, void 0, function () {
3332
+ return __awaiter$s(this, void 0, void 0, function () {
3314
3333
  return __generator(this, function (_a) {
3315
3334
  return [2 /*return*/, data];
3316
3335
  });
3317
3336
  });
3318
3337
  };
3319
3338
  CacheProcessor.prototype.deserialize = function (data) {
3320
- return __awaiter$o(this, void 0, void 0, function () {
3339
+ return __awaiter$s(this, void 0, void 0, function () {
3321
3340
  return __generator(this, function (_a) {
3322
3341
  return [2 /*return*/, data];
3323
3342
  });
@@ -3325,12 +3344,12 @@
3325
3344
  };
3326
3345
  return CacheProcessor;
3327
3346
  }());
3328
- exports.CacheProcessor = __decorate$s([
3347
+ exports.CacheProcessor = __decorate$w([
3329
3348
  tsyringe.injectable(),
3330
3349
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
3331
3350
  ], exports.CacheProcessor);
3332
3351
 
3333
- var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
3352
+ var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
3334
3353
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3335
3354
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3336
3355
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3340,11 +3359,11 @@
3340
3359
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3341
3360
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3342
3361
  };
3343
- var __metadata$m = (this && this.__metadata) || function (k, v) {
3362
+ var __metadata$p = (this && this.__metadata) || function (k, v) {
3344
3363
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3345
3364
  return Reflect.metadata(k, v);
3346
3365
  };
3347
- var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3366
+ var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3348
3367
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3349
3368
  return new (P || (P = Promise))(function (resolve, reject) {
3350
3369
  function fulfilled(value) { try {
@@ -3370,7 +3389,7 @@
3370
3389
  this.cacheProcessor = cacheProcessor;
3371
3390
  }
3372
3391
  Cache.prototype.prepare = function () {
3373
- return __awaiter$n(this, void 0, void 0, function () {
3392
+ return __awaiter$r(this, void 0, void 0, function () {
3374
3393
  return __generator(this, function (_a) {
3375
3394
  switch (_a.label) {
3376
3395
  case 0:
@@ -3391,7 +3410,7 @@
3391
3410
  Cache.prototype.set = function (key, value, ttl, expirationTimestamp, tags) {
3392
3411
  if (expirationTimestamp === void 0) { expirationTimestamp = null; }
3393
3412
  if (tags === void 0) { tags = {}; }
3394
- return __awaiter$n(this, void 0, void 0, function () {
3413
+ return __awaiter$r(this, void 0, void 0, function () {
3395
3414
  var item, _a, now;
3396
3415
  return __generator(this, function (_b) {
3397
3416
  switch (_b.label) {
@@ -3422,7 +3441,7 @@
3422
3441
  });
3423
3442
  };
3424
3443
  Cache.prototype.get = function (key) {
3425
- return __awaiter$n(this, void 0, void 0, function () {
3444
+ return __awaiter$r(this, void 0, void 0, function () {
3426
3445
  var item, now;
3427
3446
  return __generator(this, function (_a) {
3428
3447
  switch (_a.label) {
@@ -3448,7 +3467,7 @@
3448
3467
  Cache.prototype.getOrSet = function (key, valueCb, ttl, expirationTimestamp, tags) {
3449
3468
  if (expirationTimestamp === void 0) { expirationTimestamp = null; }
3450
3469
  if (tags === void 0) { tags = {}; }
3451
- return __awaiter$n(this, void 0, void 0, function () {
3470
+ return __awaiter$r(this, void 0, void 0, function () {
3452
3471
  var e_1, _a, _b;
3453
3472
  return __generator(this, function (_c) {
3454
3473
  switch (_c.label) {
@@ -3469,7 +3488,7 @@
3469
3488
  });
3470
3489
  };
3471
3490
  Cache.prototype.delete = function (key) {
3472
- return __awaiter$n(this, void 0, void 0, function () {
3491
+ return __awaiter$r(this, void 0, void 0, function () {
3473
3492
  return __generator(this, function (_a) {
3474
3493
  switch (_a.label) {
3475
3494
  case 0: return [4 /*yield*/, this.prepare()];
@@ -3485,12 +3504,12 @@
3485
3504
  };
3486
3505
  return Cache;
3487
3506
  }());
3488
- exports.Cache = __decorate$r([
3507
+ exports.Cache = __decorate$v([
3489
3508
  tsyringe.singleton(),
3490
- __metadata$m("design:paramtypes", [exports.MongoConnector, exports.Configuration, exports.CacheProcessor])
3509
+ __metadata$p("design:paramtypes", [exports.MongoConnector, exports.Configuration, exports.CacheProcessor])
3491
3510
  ], exports.Cache);
3492
3511
 
3493
- var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
3512
+ var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
3494
3513
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3495
3514
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3496
3515
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3500,7 +3519,7 @@
3500
3519
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3501
3520
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3502
3521
  };
3503
- var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3522
+ var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3504
3523
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3505
3524
  return new (P || (P = Promise))(function (resolve, reject) {
3506
3525
  function fulfilled(value) { try {
@@ -3523,7 +3542,7 @@
3523
3542
  function EndpointProvider() {
3524
3543
  }
3525
3544
  EndpointProvider.prototype.configure = function (app) {
3526
- return __awaiter$m(this, void 0, void 0, function () {
3545
+ return __awaiter$q(this, void 0, void 0, function () {
3527
3546
  return __generator(this, function (_a) {
3528
3547
  console.log("Express app is mounted to: " + app.mountpath);
3529
3548
  return [2 /*return*/];
@@ -3532,12 +3551,12 @@
3532
3551
  };
3533
3552
  return EndpointProvider;
3534
3553
  }());
3535
- exports.EndpointProvider = __decorate$q([
3554
+ exports.EndpointProvider = __decorate$u([
3536
3555
  tsyringe.injectable(),
3537
3556
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
3538
3557
  ], exports.EndpointProvider);
3539
3558
 
3540
- var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
3559
+ var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
3541
3560
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3542
3561
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3543
3562
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3547,14 +3566,14 @@
3547
3566
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3548
3567
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3549
3568
  };
3550
- var __metadata$l = (this && this.__metadata) || function (k, v) {
3569
+ var __metadata$o = (this && this.__metadata) || function (k, v) {
3551
3570
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3552
3571
  return Reflect.metadata(k, v);
3553
3572
  };
3554
- var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
3573
+ var __param$9 = (this && this.__param) || function (paramIndex, decorator) {
3555
3574
  return function (target, key) { decorator(target, key, paramIndex); };
3556
3575
  };
3557
- var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3576
+ var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3558
3577
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3559
3578
  return new (P || (P = Promise))(function (resolve, reject) {
3560
3579
  function fulfilled(value) { try {
@@ -3578,7 +3597,7 @@
3578
3597
  this.fixtures = fixtures;
3579
3598
  }
3580
3599
  Fixtures.prototype.load = function () {
3581
- return __awaiter$l(this, void 0, void 0, function () {
3600
+ return __awaiter$p(this, void 0, void 0, function () {
3582
3601
  var _a, _b, fixture, e_1_1;
3583
3602
  var e_1, _c;
3584
3603
  return __generator(this, function (_d) {
@@ -3619,14 +3638,14 @@
3619
3638
  };
3620
3639
  return Fixtures;
3621
3640
  }());
3622
- exports.Fixtures = __decorate$p([
3641
+ exports.Fixtures = __decorate$t([
3623
3642
  tsyringe.injectable(),
3624
3643
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3625
- __param$7(0, tsyringe.injectAll(FIXTURE)),
3626
- __metadata$l("design:paramtypes", [Array])
3644
+ __param$9(0, tsyringe.injectAll(FIXTURE)),
3645
+ __metadata$o("design:paramtypes", [Array])
3627
3646
  ], exports.Fixtures);
3628
3647
 
3629
- var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3648
+ var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3630
3649
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3631
3650
  return new (P || (P = Promise))(function (resolve, reject) {
3632
3651
  function fulfilled(value) { try {
@@ -3657,7 +3676,7 @@
3657
3676
  this.targetSize = !size ? { width: thumbSize, height: thumbSize } : size;
3658
3677
  }
3659
3678
  GalleryImage.prototype.serve = function (id) {
3660
- return __awaiter$k(this, void 0, void 0, function () {
3679
+ return __awaiter$o(this, void 0, void 0, function () {
3661
3680
  var isThumb, original, _a, meta, ratio, sizeRatio, size, targetHeight, targetWidth, resized, buffer;
3662
3681
  return __generator(this, function (_b) {
3663
3682
  switch (_b.label) {
@@ -3700,7 +3719,7 @@
3700
3719
  return GalleryImage;
3701
3720
  }());
3702
3721
 
3703
- var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
3722
+ var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
3704
3723
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3705
3724
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3706
3725
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3710,7 +3729,7 @@
3710
3729
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3711
3730
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3712
3731
  };
3713
- var __metadata$k = (this && this.__metadata) || function (k, v) {
3732
+ var __metadata$n = (this && this.__metadata) || function (k, v) {
3714
3733
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3715
3734
  return Reflect.metadata(k, v);
3716
3735
  };
@@ -3733,13 +3752,13 @@
3733
3752
  };
3734
3753
  return GalleryCache;
3735
3754
  }());
3736
- exports.GalleryCache = __decorate$o([
3755
+ exports.GalleryCache = __decorate$s([
3737
3756
  tsyringe.injectable(),
3738
3757
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3739
- __metadata$k("design:paramtypes", [])
3758
+ __metadata$n("design:paramtypes", [])
3740
3759
  ], exports.GalleryCache);
3741
3760
 
3742
- var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
3761
+ var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
3743
3762
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3744
3763
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3745
3764
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3749,11 +3768,11 @@
3749
3768
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3750
3769
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3751
3770
  };
3752
- var __metadata$j = (this && this.__metadata) || function (k, v) {
3771
+ var __metadata$m = (this && this.__metadata) || function (k, v) {
3753
3772
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3754
3773
  return Reflect.metadata(k, v);
3755
3774
  };
3756
- var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3775
+ var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3757
3776
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3758
3777
  return new (P || (P = Promise))(function (resolve, reject) {
3759
3778
  function fulfilled(value) { try {
@@ -3783,7 +3802,7 @@
3783
3802
  }
3784
3803
  Gallery.prototype.getFolder = function (folder, size) {
3785
3804
  if (size === void 0) { size = null; }
3786
- return __awaiter$j(this, void 0, void 0, function () {
3805
+ return __awaiter$n(this, void 0, void 0, function () {
3787
3806
  var _this = this;
3788
3807
  return __generator(this, function (_a) {
3789
3808
  this.cache[folder] = this.cache[folder] || new Promise(function (resolve) {
@@ -3808,7 +3827,7 @@
3808
3827
  return;
3809
3828
  }
3810
3829
  var promises = files.map(function (file) {
3811
- return new Promise(function (resolve) { return __awaiter$j(_this, void 0, void 0, function () {
3830
+ return new Promise(function (resolve) { return __awaiter$n(_this, void 0, void 0, function () {
3812
3831
  var filePath, absoluteFilePath;
3813
3832
  var _this = this;
3814
3833
  return __generator(this, function (_a) {
@@ -3844,7 +3863,7 @@
3844
3863
  });
3845
3864
  },
3846
3865
  writeResult: function (isThumb, buffer) {
3847
- return new Promise(function (res, rej) { return __awaiter$j(_this, void 0, void 0, function () {
3866
+ return new Promise(function (res, rej) { return __awaiter$n(_this, void 0, void 0, function () {
3848
3867
  var resultPath;
3849
3868
  return __generator(this, function (_a) {
3850
3869
  switch (_a.label) {
@@ -3898,13 +3917,13 @@
3898
3917
  };
3899
3918
  return Gallery;
3900
3919
  }());
3901
- exports.Gallery = __decorate$n([
3920
+ exports.Gallery = __decorate$r([
3902
3921
  tsyringe.injectable(),
3903
3922
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3904
- __metadata$j("design:paramtypes", [exports.Configuration, exports.GalleryCache])
3923
+ __metadata$m("design:paramtypes", [exports.Configuration, exports.GalleryCache])
3905
3924
  ], exports.Gallery);
3906
3925
 
3907
- var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
3926
+ var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
3908
3927
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3909
3928
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3910
3929
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3914,11 +3933,11 @@
3914
3933
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3915
3934
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3916
3935
  };
3917
- var __metadata$i = (this && this.__metadata) || function (k, v) {
3936
+ var __metadata$l = (this && this.__metadata) || function (k, v) {
3918
3937
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3919
3938
  return Reflect.metadata(k, v);
3920
3939
  };
3921
- var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3940
+ var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3922
3941
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3923
3942
  return new (P || (P = Promise))(function (resolve, reject) {
3924
3943
  function fulfilled(value) { try {
@@ -3946,7 +3965,7 @@
3946
3965
  this.parts = config.resolve("idParts");
3947
3966
  }
3948
3967
  IdGenerator.prototype.generate = function (checkCb) {
3949
- return __awaiter$i(this, void 0, void 0, function () {
3968
+ return __awaiter$m(this, void 0, void 0, function () {
3950
3969
  var id, tries, notGood;
3951
3970
  return __generator(this, function (_a) {
3952
3971
  switch (_a.label) {
@@ -3985,13 +4004,13 @@
3985
4004
  };
3986
4005
  return IdGenerator;
3987
4006
  }());
3988
- exports.IdGenerator = __decorate$m([
4007
+ exports.IdGenerator = __decorate$q([
3989
4008
  tsyringe.injectable(),
3990
4009
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3991
- __metadata$i("design:paramtypes", [exports.Configuration])
4010
+ __metadata$l("design:paramtypes", [exports.Configuration])
3992
4011
  ], exports.IdGenerator);
3993
4012
 
3994
- var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
4013
+ var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
3995
4014
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3996
4015
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3997
4016
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4001,11 +4020,11 @@
4001
4020
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4002
4021
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4003
4022
  };
4004
- var __metadata$h = (this && this.__metadata) || function (k, v) {
4023
+ var __metadata$k = (this && this.__metadata) || function (k, v) {
4005
4024
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4006
4025
  return Reflect.metadata(k, v);
4007
4026
  };
4008
- var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4027
+ var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4009
4028
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4010
4029
  return new (P || (P = Promise))(function (resolve, reject) {
4011
4030
  function fulfilled(value) { try {
@@ -4031,7 +4050,7 @@
4031
4050
  }
4032
4051
  TranslationProvider.prototype.getDictionary = function (language) {
4033
4052
  var _this = this;
4034
- return this.cache.getOrSet("translations-" + language, function () { return __awaiter$h(_this, void 0, void 0, function () {
4053
+ return this.cache.getOrSet("translations-" + language, function () { return __awaiter$l(_this, void 0, void 0, function () {
4035
4054
  var url, data, e_1;
4036
4055
  return __generator(this, function (_a) {
4037
4056
  switch (_a.label) {
@@ -4059,12 +4078,12 @@
4059
4078
  };
4060
4079
  return TranslationProvider;
4061
4080
  }());
4062
- exports.TranslationProvider = __decorate$l([
4081
+ exports.TranslationProvider = __decorate$p([
4063
4082
  tsyringe.singleton(),
4064
- __metadata$h("design:paramtypes", [exports.Configuration, exports.Cache])
4083
+ __metadata$k("design:paramtypes", [exports.Configuration, exports.Cache])
4065
4084
  ], exports.TranslationProvider);
4066
4085
 
4067
- var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
4086
+ var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
4068
4087
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4069
4088
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4070
4089
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4074,11 +4093,11 @@
4074
4093
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4075
4094
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4076
4095
  };
4077
- var __metadata$g = (this && this.__metadata) || function (k, v) {
4096
+ var __metadata$j = (this && this.__metadata) || function (k, v) {
4078
4097
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4079
4098
  return Reflect.metadata(k, v);
4080
4099
  };
4081
- var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4100
+ var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4082
4101
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4083
4102
  return new (P || (P = Promise))(function (resolve, reject) {
4084
4103
  function fulfilled(value) { try {
@@ -4103,7 +4122,7 @@
4103
4122
  this.dictionaries = {};
4104
4123
  }
4105
4124
  Translator.prototype.getDictionary = function (language) {
4106
- return __awaiter$g(this, void 0, void 0, function () {
4125
+ return __awaiter$k(this, void 0, void 0, function () {
4107
4126
  var _a, _b;
4108
4127
  return __generator(this, function (_c) {
4109
4128
  switch (_c.label) {
@@ -4170,13 +4189,13 @@
4170
4189
  };
4171
4190
  return Translator;
4172
4191
  }());
4173
- exports.Translator = __decorate$k([
4192
+ exports.Translator = __decorate$o([
4174
4193
  tsyringe.injectable(),
4175
4194
  tsyringe.singleton(),
4176
- __metadata$g("design:paramtypes", [exports.TranslationProvider])
4195
+ __metadata$j("design:paramtypes", [exports.TranslationProvider])
4177
4196
  ], exports.Translator);
4178
4197
 
4179
- var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
4198
+ var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
4180
4199
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4181
4200
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4182
4201
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4186,11 +4205,11 @@
4186
4205
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4187
4206
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4188
4207
  };
4189
- var __metadata$f = (this && this.__metadata) || function (k, v) {
4208
+ var __metadata$i = (this && this.__metadata) || function (k, v) {
4190
4209
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4191
4210
  return Reflect.metadata(k, v);
4192
4211
  };
4193
- var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4212
+ var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4194
4213
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4195
4214
  return new (P || (P = Promise))(function (resolve, reject) {
4196
4215
  function fulfilled(value) { try {
@@ -4233,11 +4252,11 @@
4233
4252
  return this.initPromise;
4234
4253
  };
4235
4254
  TemplateRenderer.prototype.parseTemplates = function (dir, dirPath) {
4236
- return __awaiter$f(this, void 0, void 0, function () {
4255
+ return __awaiter$j(this, void 0, void 0, function () {
4237
4256
  var _this = this;
4238
4257
  return __generator(this, function (_a) {
4239
4258
  return [2 /*return*/, new Promise(function (resolve) {
4240
- fs.readdir(dir, function (err, files) { return __awaiter$f(_this, void 0, void 0, function () {
4259
+ fs.readdir(dir, function (err, files) { return __awaiter$j(_this, void 0, void 0, function () {
4241
4260
  var files_1, files_1_1, file, path$1, parts, name, fullName, content, e_1_1;
4242
4261
  var e_1, _a;
4243
4262
  return __generator(this, function (_b) {
@@ -4289,7 +4308,7 @@
4289
4308
  });
4290
4309
  };
4291
4310
  TemplateRenderer.prototype.render = function (template, language, context) {
4292
- return __awaiter$f(this, void 0, void 0, function () {
4311
+ return __awaiter$j(this, void 0, void 0, function () {
4293
4312
  var res, _a;
4294
4313
  return __generator(this, function (_b) {
4295
4314
  switch (_b.label) {
@@ -4319,13 +4338,12 @@
4319
4338
  };
4320
4339
  return TemplateRenderer;
4321
4340
  }());
4322
- exports.TemplateRenderer = __decorate$j([
4323
- tsyringe.injectable(),
4341
+ exports.TemplateRenderer = __decorate$n([
4324
4342
  tsyringe.singleton(),
4325
- __metadata$f("design:paramtypes", [exports.Translator, exports.Configuration])
4343
+ __metadata$i("design:paramtypes", [exports.Translator, exports.Configuration])
4326
4344
  ], exports.TemplateRenderer);
4327
4345
 
4328
- var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
4346
+ var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
4329
4347
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4330
4348
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4331
4349
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4335,11 +4353,11 @@
4335
4353
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4336
4354
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4337
4355
  };
4338
- var __metadata$e = (this && this.__metadata) || function (k, v) {
4356
+ var __metadata$h = (this && this.__metadata) || function (k, v) {
4339
4357
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4340
4358
  return Reflect.metadata(k, v);
4341
4359
  };
4342
- var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4360
+ var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4343
4361
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4344
4362
  return new (P || (P = Promise))(function (resolve, reject) {
4345
4363
  function fulfilled(value) { try {
@@ -4379,7 +4397,7 @@
4379
4397
  configurable: true
4380
4398
  });
4381
4399
  MailSender.prototype.sendMail = function (language, options) {
4382
- return __awaiter$e(this, void 0, void 0, function () {
4400
+ return __awaiter$i(this, void 0, void 0, function () {
4383
4401
  var subject, html;
4384
4402
  return __generator(this, function (_a) {
4385
4403
  switch (_a.label) {
@@ -4402,12 +4420,12 @@
4402
4420
  };
4403
4421
  return MailSender;
4404
4422
  }());
4405
- exports.MailSender = __decorate$i([
4423
+ exports.MailSender = __decorate$m([
4406
4424
  tsyringe.singleton(),
4407
- __metadata$e("design:paramtypes", [exports.Configuration, exports.TemplateRenderer])
4425
+ __metadata$h("design:paramtypes", [exports.Configuration, exports.TemplateRenderer])
4408
4426
  ], exports.MailSender);
4409
4427
 
4410
- var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
4428
+ var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
4411
4429
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4412
4430
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4413
4431
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4417,11 +4435,11 @@
4417
4435
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4418
4436
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4419
4437
  };
4420
- var __metadata$d = (this && this.__metadata) || function (k, v) {
4438
+ var __metadata$g = (this && this.__metadata) || function (k, v) {
4421
4439
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4422
4440
  return Reflect.metadata(k, v);
4423
4441
  };
4424
- var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4442
+ var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4425
4443
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4426
4444
  return new (P || (P = Promise))(function (resolve, reject) {
4427
4445
  function fulfilled(value) { try {
@@ -4448,7 +4466,7 @@
4448
4466
  MemoryCache.prototype.set = function (key, value, ttl, expirationTimestamp, tags) {
4449
4467
  if (expirationTimestamp === void 0) { expirationTimestamp = null; }
4450
4468
  if (tags === void 0) { tags = {}; }
4451
- return __awaiter$d(this, void 0, void 0, function () {
4469
+ return __awaiter$h(this, void 0, void 0, function () {
4452
4470
  var now, expTimestamp;
4453
4471
  return __generator(this, function (_a) {
4454
4472
  now = Math.round(new Date().getTime() / 1000);
@@ -4464,7 +4482,7 @@
4464
4482
  });
4465
4483
  };
4466
4484
  MemoryCache.prototype.get = function (key) {
4467
- return __awaiter$d(this, void 0, void 0, function () {
4485
+ return __awaiter$h(this, void 0, void 0, function () {
4468
4486
  var item, now, expTimestamp, value;
4469
4487
  return __generator(this, function (_a) {
4470
4488
  switch (_a.label) {
@@ -4495,7 +4513,7 @@
4495
4513
  MemoryCache.prototype.getOrSet = function (key, valueCb, ttl, expirationTimestamp, tags) {
4496
4514
  if (expirationTimestamp === void 0) { expirationTimestamp = null; }
4497
4515
  if (tags === void 0) { tags = {}; }
4498
- return __awaiter$d(this, void 0, void 0, function () {
4516
+ return __awaiter$h(this, void 0, void 0, function () {
4499
4517
  var e_1, _a, _b;
4500
4518
  return __generator(this, function (_c) {
4501
4519
  switch (_c.label) {
@@ -4516,7 +4534,7 @@
4516
4534
  });
4517
4535
  };
4518
4536
  MemoryCache.prototype.delete = function (key) {
4519
- return __awaiter$d(this, void 0, void 0, function () {
4537
+ return __awaiter$h(this, void 0, void 0, function () {
4520
4538
  return __generator(this, function (_a) {
4521
4539
  switch (_a.label) {
4522
4540
  case 0:
@@ -4531,13 +4549,13 @@
4531
4549
  };
4532
4550
  return MemoryCache;
4533
4551
  }());
4534
- exports.MemoryCache = __decorate$h([
4552
+ exports.MemoryCache = __decorate$l([
4535
4553
  tsyringe.injectable(),
4536
4554
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
4537
- __metadata$d("design:paramtypes", [exports.Cache])
4555
+ __metadata$g("design:paramtypes", [exports.Cache])
4538
4556
  ], exports.MemoryCache);
4539
4557
 
4540
- var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
4558
+ var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
4541
4559
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4542
4560
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4543
4561
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4578,7 +4596,7 @@
4578
4596
  };
4579
4597
  return IsFile;
4580
4598
  }());
4581
- exports.IsFile = __decorate$g([
4599
+ exports.IsFile = __decorate$k([
4582
4600
  classValidator.ValidatorConstraint()
4583
4601
  ], exports.IsFile);
4584
4602
  exports.IsObjectId = /** @class */ (function () {
@@ -4590,11 +4608,11 @@
4590
4608
  };
4591
4609
  return IsObjectId;
4592
4610
  }());
4593
- exports.IsObjectId = __decorate$g([
4611
+ exports.IsObjectId = __decorate$k([
4594
4612
  classValidator.ValidatorConstraint()
4595
4613
  ], exports.IsObjectId);
4596
4614
 
4597
- var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
4615
+ var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
4598
4616
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4599
4617
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4600
4618
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4604,14 +4622,14 @@
4604
4622
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4605
4623
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4606
4624
  };
4607
- var __metadata$c = (this && this.__metadata) || function (k, v) {
4625
+ var __metadata$f = (this && this.__metadata) || function (k, v) {
4608
4626
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4609
4627
  return Reflect.metadata(k, v);
4610
4628
  };
4611
- var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
4629
+ var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
4612
4630
  return function (target, key) { decorator(target, key, paramIndex); };
4613
4631
  };
4614
- var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4632
+ var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4615
4633
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4616
4634
  return new (P || (P = Promise))(function (resolve, reject) {
4617
4635
  function fulfilled(value) { try {
@@ -4656,7 +4674,7 @@
4656
4674
  });
4657
4675
  OpenApi.prototype.schemaToExample = function (src, req) {
4658
4676
  var _a, _b, _c;
4659
- return __awaiter$c(this, void 0, void 0, function () {
4677
+ return __awaiter$g(this, void 0, void 0, function () {
4660
4678
  var schemas, schema_1, schema, result_1;
4661
4679
  var _this = this;
4662
4680
  return __generator(this, function (_d) {
@@ -4675,7 +4693,7 @@
4675
4693
  }
4676
4694
  if (!(schema.type === "object")) return [3 /*break*/, 2];
4677
4695
  result_1 = {};
4678
- return [4 /*yield*/, Promise.all(Object.keys(schema.properties).map(function (key) { return __awaiter$c(_this, void 0, void 0, function () {
4696
+ return [4 /*yield*/, Promise.all(Object.keys(schema.properties).map(function (key) { return __awaiter$g(_this, void 0, void 0, function () {
4679
4697
  var _d, _e;
4680
4698
  return __generator(this, function (_f) {
4681
4699
  switch (_f.label) {
@@ -4765,14 +4783,14 @@
4765
4783
  };
4766
4784
  return OpenApi;
4767
4785
  }());
4768
- exports.OpenApi = __decorate$f([
4786
+ exports.OpenApi = __decorate$j([
4769
4787
  tsyringe.singleton(),
4770
- __param$6(0, tsyringe.inject(DI_CONTAINER)),
4771
- __param$6(1, tsyringe.inject(OPENAPI_VALIDATION)),
4772
- __metadata$c("design:paramtypes", [Object, Object])
4788
+ __param$8(0, tsyringe.inject(DI_CONTAINER)),
4789
+ __param$8(1, tsyringe.inject(OPENAPI_VALIDATION)),
4790
+ __metadata$f("design:paramtypes", [Object, Object])
4773
4791
  ], exports.OpenApi);
4774
4792
 
4775
- var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
4793
+ var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
4776
4794
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4777
4795
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4778
4796
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4782,11 +4800,131 @@
4782
4800
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4783
4801
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4784
4802
  };
4785
- var __metadata$b = (this && this.__metadata) || function (k, v) {
4803
+ var __metadata$e = (this && this.__metadata) || function (k, v) {
4786
4804
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4787
4805
  return Reflect.metadata(k, v);
4788
4806
  };
4789
- var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4807
+ var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
4808
+ return function (target, key) { decorator(target, key, paramIndex); };
4809
+ };
4810
+ var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4811
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4812
+ return new (P || (P = Promise))(function (resolve, reject) {
4813
+ function fulfilled(value) { try {
4814
+ step(generator.next(value));
4815
+ }
4816
+ catch (e) {
4817
+ reject(e);
4818
+ } }
4819
+ function rejected(value) { try {
4820
+ step(generator["throw"](value));
4821
+ }
4822
+ catch (e) {
4823
+ reject(e);
4824
+ } }
4825
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4826
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
4827
+ });
4828
+ };
4829
+ exports.TerminalManager = /** @class */ (function () {
4830
+ function TerminalManager(logger, config, commands) {
4831
+ var _this = this;
4832
+ this.logger = logger;
4833
+ this.config = config;
4834
+ this.servicePassword = config.resolve("servicePassword");
4835
+ this.suggestions = Object.assign({ login: function (args) { return __awaiter$f(_this, void 0, void 0, function () {
4836
+ var input;
4837
+ return __generator(this, function (_a) {
4838
+ if (args.length > 2) {
4839
+ return [2 /*return*/, null];
4840
+ }
4841
+ input = "" + args.at(1).label;
4842
+ return [2 /*return*/, (!input) ? [] : [{
4843
+ id: input,
4844
+ label: input,
4845
+ masked: true
4846
+ }]];
4847
+ });
4848
+ }); } }, commands.reduce(function (acc, command) {
4849
+ command.name = camelCaseToDash(command.name || command.constructor.name || "");
4850
+ if (!command.name || !command.suggest)
4851
+ return acc;
4852
+ acc[command.name] = function (a, t) { return __awaiter$f(_this, void 0, void 0, function () { return __generator(this, function (_a) {
4853
+ return [2 /*return*/, command.suggest(a, t)];
4854
+ }); }); };
4855
+ return acc;
4856
+ }, {}));
4857
+ this.commands = commands.reduce(function (acc, command) {
4858
+ if (!command.name)
4859
+ return acc;
4860
+ acc[command.name] = function (a, t) { return __awaiter$f(_this, void 0, void 0, function () { return __generator(this, function (_a) {
4861
+ return [2 /*return*/, command.execute(a, t)];
4862
+ }); }); };
4863
+ return acc;
4864
+ }, {});
4865
+ this.loggedOutCommands = ["login", "clear"];
4866
+ this.loggedInCommands = Object.keys(this.commands);
4867
+ this.loggedInCommands.push("logout");
4868
+ console.log("Current service password is: " + colorize(this.servicePassword, exports.ConsoleColor.FgGreen));
4869
+ }
4870
+ TerminalManager.prototype.loadAddons = function (terminal) {
4871
+ var _this = this;
4872
+ var loggedIn = false;
4873
+ var addon = new terminalCommandsAddon.CommandsAddon({
4874
+ commands: Object.assign({ login: function (args, terminal) { return __awaiter$f(_this, void 0, void 0, function () {
4875
+ return __generator(this, function (_a) {
4876
+ if (args.at(1).label === this.servicePassword) {
4877
+ loggedIn = true;
4878
+ terminal.writeln("Logged in as admin");
4879
+ }
4880
+ else {
4881
+ throw new Error("Invalid login");
4882
+ }
4883
+ return [2 /*return*/];
4884
+ });
4885
+ }); }, logout: function (args, terminal) { return __awaiter$f(_this, void 0, void 0, function () {
4886
+ return __generator(this, function (_a) {
4887
+ loggedIn = false;
4888
+ terminal.writeln("Logged out");
4889
+ return [2 /*return*/];
4890
+ });
4891
+ }); } }, this.commands),
4892
+ suggestCommands: function () { return __awaiter$f(_this, void 0, void 0, function () {
4893
+ return __generator(this, function (_a) {
4894
+ if (loggedIn) {
4895
+ return [2 /*return*/, this.loggedInCommands];
4896
+ }
4897
+ return [2 /*return*/, this.loggedOutCommands];
4898
+ });
4899
+ }); },
4900
+ suggestions: this.suggestions
4901
+ });
4902
+ terminal.loadAddon(addon);
4903
+ };
4904
+ return TerminalManager;
4905
+ }());
4906
+ exports.TerminalManager = __decorate$i([
4907
+ tsyringe.singleton(),
4908
+ __param$7(2, tsyringe.injectAll(TERMINAL_COMMAND)),
4909
+ __metadata$e("design:paramtypes", [exports.Logger,
4910
+ exports.Configuration, Array])
4911
+ ], exports.TerminalManager);
4912
+
4913
+ var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
4914
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4915
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4916
+ r = Reflect.decorate(decorators, target, key, desc);
4917
+ else
4918
+ for (var i = decorators.length - 1; i >= 0; i--)
4919
+ if (d = decorators[i])
4920
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4921
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4922
+ };
4923
+ var __metadata$d = (this && this.__metadata) || function (k, v) {
4924
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4925
+ return Reflect.metadata(k, v);
4926
+ };
4927
+ var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4790
4928
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4791
4929
  return new (P || (P = Promise))(function (resolve, reject) {
4792
4930
  function fulfilled(value) { try {
@@ -4810,7 +4948,7 @@
4810
4948
  this.chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
4811
4949
  }
4812
4950
  TokenGenerator.prototype.generate = function (checkCb) {
4813
- return __awaiter$b(this, void 0, void 0, function () {
4951
+ return __awaiter$e(this, void 0, void 0, function () {
4814
4952
  var token, tries, notGood;
4815
4953
  return __generator(this, function (_a) {
4816
4954
  switch (_a.label) {
@@ -4846,12 +4984,12 @@
4846
4984
  };
4847
4985
  return TokenGenerator;
4848
4986
  }());
4849
- exports.TokenGenerator = __decorate$e([
4987
+ exports.TokenGenerator = __decorate$h([
4850
4988
  tsyringe.singleton(),
4851
- __metadata$b("design:paramtypes", [])
4989
+ __metadata$d("design:paramtypes", [])
4852
4990
  ], exports.TokenGenerator);
4853
4991
 
4854
- var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
4992
+ var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
4855
4993
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4856
4994
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4857
4995
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4861,7 +4999,7 @@
4861
4999
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4862
5000
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4863
5001
  };
4864
- var __awaiter$a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5002
+ var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4865
5003
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4866
5004
  return new (P || (P = Promise))(function (resolve, reject) {
4867
5005
  function fulfilled(value) { try {
@@ -4890,7 +5028,7 @@
4890
5028
  function UserManager() {
4891
5029
  }
4892
5030
  UserManager.prototype.getByCredentials = function (credentials) {
4893
- return __awaiter$a(this, void 0, void 0, function () {
5031
+ return __awaiter$d(this, void 0, void 0, function () {
4894
5032
  var _a;
4895
5033
  return __generator(this, function (_b) {
4896
5034
  switch (_b.label) {
@@ -4908,14 +5046,14 @@
4908
5046
  });
4909
5047
  };
4910
5048
  UserManager.prototype.getById = function (id) {
4911
- return __awaiter$a(this, void 0, void 0, function () {
5049
+ return __awaiter$d(this, void 0, void 0, function () {
4912
5050
  return __generator(this, function (_a) {
4913
5051
  return [2 /*return*/, (sampleUser.id == id) ? sampleUser : null];
4914
5052
  });
4915
5053
  });
4916
5054
  };
4917
5055
  UserManager.prototype.serialize = function (user) {
4918
- return __awaiter$a(this, void 0, void 0, function () {
5056
+ return __awaiter$d(this, void 0, void 0, function () {
4919
5057
  var res;
4920
5058
  return __generator(this, function (_a) {
4921
5059
  res = Object.assign({}, user);
@@ -4926,12 +5064,12 @@
4926
5064
  };
4927
5065
  return UserManager;
4928
5066
  }());
4929
- exports.UserManager = __decorate$d([
5067
+ exports.UserManager = __decorate$g([
4930
5068
  tsyringe.injectable(),
4931
5069
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
4932
5070
  ], exports.UserManager);
4933
5071
 
4934
- var __decorate$c = (this && this.__decorate) || function (decorators, target, key, desc) {
5072
+ var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
4935
5073
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4936
5074
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4937
5075
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4941,7 +5079,7 @@
4941
5079
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4942
5080
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4943
5081
  };
4944
- var __metadata$a = (this && this.__metadata) || function (k, v) {
5082
+ var __metadata$c = (this && this.__metadata) || function (k, v) {
4945
5083
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4946
5084
  return Reflect.metadata(k, v);
4947
5085
  };
@@ -4959,54 +5097,54 @@
4959
5097
  }
4960
5098
  return AssetImageParams;
4961
5099
  }());
4962
- __decorate$c([
5100
+ __decorate$f([
4963
5101
  classValidator.Min(-360),
4964
5102
  classValidator.Max(360),
4965
5103
  classValidator.IsOptional(),
4966
- __metadata$a("design:type", Number)
5104
+ __metadata$c("design:type", Number)
4967
5105
  ], AssetImageParams.prototype, "rotation", void 0);
4968
- __decorate$c([
5106
+ __decorate$f([
4969
5107
  classValidator.Min(0.0001),
4970
5108
  classValidator.IsOptional(),
4971
- __metadata$a("design:type", Number)
5109
+ __metadata$c("design:type", Number)
4972
5110
  ], AssetImageParams.prototype, "canvasScaleX", void 0);
4973
- __decorate$c([
5111
+ __decorate$f([
4974
5112
  classValidator.Min(0.0001),
4975
5113
  classValidator.IsOptional(),
4976
- __metadata$a("design:type", Number)
5114
+ __metadata$c("design:type", Number)
4977
5115
  ], AssetImageParams.prototype, "canvasScaleY", void 0);
4978
- __decorate$c([
5116
+ __decorate$f([
4979
5117
  classValidator.Min(0.0001),
4980
5118
  classValidator.IsOptional(),
4981
- __metadata$a("design:type", Number)
5119
+ __metadata$c("design:type", Number)
4982
5120
  ], AssetImageParams.prototype, "scaleX", void 0);
4983
- __decorate$c([
5121
+ __decorate$f([
4984
5122
  classValidator.Min(0.0001),
4985
5123
  classValidator.IsOptional(),
4986
- __metadata$a("design:type", Number)
5124
+ __metadata$c("design:type", Number)
4987
5125
  ], AssetImageParams.prototype, "scaleY", void 0);
4988
- __decorate$c([
5126
+ __decorate$f([
4989
5127
  classValidator.IsBoolean(),
4990
5128
  classValidator.IsOptional(),
4991
- __metadata$a("design:type", Boolean)
5129
+ __metadata$c("design:type", Boolean)
4992
5130
  ], AssetImageParams.prototype, "lazy", void 0);
4993
- __decorate$c([
5131
+ __decorate$f([
4994
5132
  classValidator.IsBoolean(),
4995
5133
  classValidator.IsOptional(),
4996
- __metadata$a("design:type", Boolean)
5134
+ __metadata$c("design:type", Boolean)
4997
5135
  ], AssetImageParams.prototype, "crop", void 0);
4998
- __decorate$c([
5136
+ __decorate$f([
4999
5137
  classValidator.IsBoolean(),
5000
5138
  classValidator.IsOptional(),
5001
- __metadata$a("design:type", Boolean)
5139
+ __metadata$c("design:type", Boolean)
5002
5140
  ], AssetImageParams.prototype, "cropBefore", void 0);
5003
- __decorate$c([
5141
+ __decorate$f([
5004
5142
  classValidator.IsBoolean(),
5005
5143
  classValidator.IsOptional(),
5006
- __metadata$a("design:type", Boolean)
5144
+ __metadata$c("design:type", Boolean)
5007
5145
  ], AssetImageParams.prototype, "cropAfter", void 0);
5008
5146
 
5009
- var __decorate$b = (this && this.__decorate) || function (decorators, target, key, desc) {
5147
+ var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
5010
5148
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5011
5149
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5012
5150
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5016,14 +5154,14 @@
5016
5154
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5017
5155
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5018
5156
  };
5019
- var __metadata$9 = (this && this.__metadata) || function (k, v) {
5157
+ var __metadata$b = (this && this.__metadata) || function (k, v) {
5020
5158
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5021
5159
  return Reflect.metadata(k, v);
5022
5160
  };
5023
- var __param$5 = (this && this.__param) || function (paramIndex, decorator) {
5161
+ var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
5024
5162
  return function (target, key) { decorator(target, key, paramIndex); };
5025
5163
  };
5026
- var __awaiter$9 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5164
+ var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5027
5165
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5028
5166
  return new (P || (P = Promise))(function (resolve, reject) {
5029
5167
  function fulfilled(value) { try {
@@ -5048,7 +5186,7 @@
5048
5186
  this.assetResolver = assetResolver;
5049
5187
  }
5050
5188
  AssetsController.prototype.upload = function (file) {
5051
- return __awaiter$9(this, void 0, void 0, function () {
5189
+ return __awaiter$c(this, void 0, void 0, function () {
5052
5190
  var contentType, asset, e_1, msg;
5053
5191
  return __generator(this, function (_c) {
5054
5192
  switch (_c.label) {
@@ -5069,7 +5207,7 @@
5069
5207
  });
5070
5208
  };
5071
5209
  AssetsController.prototype.uploadUrl = function (body) {
5072
- return __awaiter$9(this, void 0, void 0, function () {
5210
+ return __awaiter$c(this, void 0, void 0, function () {
5073
5211
  var asset, e_2, msg;
5074
5212
  return __generator(this, function (_c) {
5075
5213
  switch (_c.label) {
@@ -5089,7 +5227,7 @@
5089
5227
  });
5090
5228
  };
5091
5229
  AssetsController.prototype.getFile = function (id, lazy, res) {
5092
- return __awaiter$9(this, void 0, void 0, function () {
5230
+ return __awaiter$c(this, void 0, void 0, function () {
5093
5231
  var asset;
5094
5232
  return __generator(this, function (_c) {
5095
5233
  switch (_c.label) {
@@ -5103,7 +5241,7 @@
5103
5241
  };
5104
5242
  AssetsController.prototype.getImageRotation = function (id, params, res, rotation) {
5105
5243
  if (rotation === void 0) { rotation = 0; }
5106
- return __awaiter$9(this, void 0, void 0, function () {
5244
+ return __awaiter$c(this, void 0, void 0, function () {
5107
5245
  var asset;
5108
5246
  return __generator(this, function (_c) {
5109
5247
  switch (_c.label) {
@@ -5119,14 +5257,14 @@
5119
5257
  });
5120
5258
  };
5121
5259
  AssetsController.prototype.getImage = function (id, params, res) {
5122
- return __awaiter$9(this, void 0, void 0, function () {
5260
+ return __awaiter$c(this, void 0, void 0, function () {
5123
5261
  return __generator(this, function (_c) {
5124
5262
  return [2 /*return*/, this.getImageRotation(id, params, res)];
5125
5263
  });
5126
5264
  });
5127
5265
  };
5128
5266
  AssetsController.prototype.getFileByName = function (name, res) {
5129
- return __awaiter$9(this, void 0, void 0, function () {
5267
+ return __awaiter$c(this, void 0, void 0, function () {
5130
5268
  var asset;
5131
5269
  return __generator(this, function (_c) {
5132
5270
  switch (_c.label) {
@@ -5139,7 +5277,7 @@
5139
5277
  });
5140
5278
  };
5141
5279
  AssetsController.prototype.getImageByName = function (name, params, res) {
5142
- return __awaiter$9(this, void 0, void 0, function () {
5280
+ return __awaiter$c(this, void 0, void 0, function () {
5143
5281
  var asset;
5144
5282
  return __generator(this, function (_c) {
5145
5283
  switch (_c.label) {
@@ -5165,7 +5303,7 @@
5165
5303
  }
5166
5304
  };
5167
5305
  AssetsController.prototype.getAsset = function (type, id, lazy, res) {
5168
- return __awaiter$9(this, void 0, void 0, function () {
5306
+ return __awaiter$c(this, void 0, void 0, function () {
5169
5307
  var asset;
5170
5308
  return __generator(this, function (_c) {
5171
5309
  switch (_c.label) {
@@ -5182,7 +5320,7 @@
5182
5320
  });
5183
5321
  };
5184
5322
  AssetsController.prototype.getAssetByName = function (type, filename, res) {
5185
- return __awaiter$9(this, void 0, void 0, function () {
5323
+ return __awaiter$c(this, void 0, void 0, function () {
5186
5324
  var asset;
5187
5325
  return __generator(this, function (_c) {
5188
5326
  switch (_c.label) {
@@ -5200,64 +5338,64 @@
5200
5338
  };
5201
5339
  return AssetsController;
5202
5340
  }());
5203
- __decorate$b([
5341
+ __decorate$e([
5204
5342
  routingControllers.Authorized(),
5205
5343
  routingControllers.Post(""),
5206
- __param$5(0, routingControllers.UploadedFile("file")),
5207
- __metadata$9("design:type", Function),
5208
- __metadata$9("design:paramtypes", [Object]),
5209
- __metadata$9("design:returntype", Promise)
5344
+ __param$6(0, routingControllers.UploadedFile("file")),
5345
+ __metadata$b("design:type", Function),
5346
+ __metadata$b("design:paramtypes", [Object]),
5347
+ __metadata$b("design:returntype", Promise)
5210
5348
  ], AssetsController.prototype, "upload", null);
5211
- __decorate$b([
5349
+ __decorate$e([
5212
5350
  routingControllers.Authorized(),
5213
5351
  routingControllers.Post("url"),
5214
- __param$5(0, routingControllers.Body()),
5215
- __metadata$9("design:type", Function),
5216
- __metadata$9("design:paramtypes", [Object]),
5217
- __metadata$9("design:returntype", Promise)
5352
+ __param$6(0, routingControllers.Body()),
5353
+ __metadata$b("design:type", Function),
5354
+ __metadata$b("design:paramtypes", [Object]),
5355
+ __metadata$b("design:returntype", Promise)
5218
5356
  ], AssetsController.prototype, "uploadUrl", null);
5219
- __decorate$b([
5357
+ __decorate$e([
5220
5358
  routingControllers.Get("/:id"),
5221
- __param$5(0, routingControllers.Param("id")), __param$5(1, routingControllers.QueryParam("lazy")), __param$5(2, routingControllers.Res()),
5222
- __metadata$9("design:type", Function),
5223
- __metadata$9("design:paramtypes", [String, Boolean, Object]),
5224
- __metadata$9("design:returntype", Promise)
5359
+ __param$6(0, routingControllers.Param("id")), __param$6(1, routingControllers.QueryParam("lazy")), __param$6(2, routingControllers.Res()),
5360
+ __metadata$b("design:type", Function),
5361
+ __metadata$b("design:paramtypes", [String, Boolean, Object]),
5362
+ __metadata$b("design:returntype", Promise)
5225
5363
  ], AssetsController.prototype, "getFile", null);
5226
- __decorate$b([
5364
+ __decorate$e([
5227
5365
  routingControllers.Get("/image/:id/:rotation"),
5228
- __param$5(0, routingControllers.Param("id")), __param$5(1, routingControllers.QueryParams()), __param$5(2, routingControllers.Res()), __param$5(3, routingControllers.Param("rotation")),
5229
- __metadata$9("design:type", Function),
5230
- __metadata$9("design:paramtypes", [String, AssetImageParams, Object, Number]),
5231
- __metadata$9("design:returntype", Promise)
5366
+ __param$6(0, routingControllers.Param("id")), __param$6(1, routingControllers.QueryParams()), __param$6(2, routingControllers.Res()), __param$6(3, routingControllers.Param("rotation")),
5367
+ __metadata$b("design:type", Function),
5368
+ __metadata$b("design:paramtypes", [String, AssetImageParams, Object, Number]),
5369
+ __metadata$b("design:returntype", Promise)
5232
5370
  ], AssetsController.prototype, "getImageRotation", null);
5233
- __decorate$b([
5371
+ __decorate$e([
5234
5372
  routingControllers.Get("/image/:id"),
5235
- __param$5(0, routingControllers.Param("id")), __param$5(1, routingControllers.QueryParams()), __param$5(2, routingControllers.Res()),
5236
- __metadata$9("design:type", Function),
5237
- __metadata$9("design:paramtypes", [String, AssetImageParams, Object]),
5238
- __metadata$9("design:returntype", Promise)
5373
+ __param$6(0, routingControllers.Param("id")), __param$6(1, routingControllers.QueryParams()), __param$6(2, routingControllers.Res()),
5374
+ __metadata$b("design:type", Function),
5375
+ __metadata$b("design:paramtypes", [String, AssetImageParams, Object]),
5376
+ __metadata$b("design:returntype", Promise)
5239
5377
  ], AssetsController.prototype, "getImage", null);
5240
- __decorate$b([
5378
+ __decorate$e([
5241
5379
  routingControllers.Get("/by-name/:name"),
5242
- __param$5(0, routingControllers.Param("name")), __param$5(1, routingControllers.Res()),
5243
- __metadata$9("design:type", Function),
5244
- __metadata$9("design:paramtypes", [String, Object]),
5245
- __metadata$9("design:returntype", Promise)
5380
+ __param$6(0, routingControllers.Param("name")), __param$6(1, routingControllers.Res()),
5381
+ __metadata$b("design:type", Function),
5382
+ __metadata$b("design:paramtypes", [String, Object]),
5383
+ __metadata$b("design:returntype", Promise)
5246
5384
  ], AssetsController.prototype, "getFileByName", null);
5247
- __decorate$b([
5385
+ __decorate$e([
5248
5386
  routingControllers.Get("/by-name/image/:name"),
5249
- __param$5(0, routingControllers.Param("name")), __param$5(1, routingControllers.QueryParams()), __param$5(2, routingControllers.Res()),
5250
- __metadata$9("design:type", Function),
5251
- __metadata$9("design:paramtypes", [String, AssetImageParams, Object]),
5252
- __metadata$9("design:returntype", Promise)
5387
+ __param$6(0, routingControllers.Param("name")), __param$6(1, routingControllers.QueryParams()), __param$6(2, routingControllers.Res()),
5388
+ __metadata$b("design:type", Function),
5389
+ __metadata$b("design:paramtypes", [String, AssetImageParams, Object]),
5390
+ __metadata$b("design:returntype", Promise)
5253
5391
  ], AssetsController.prototype, "getImageByName", null);
5254
- AssetsController = __decorate$b([
5392
+ AssetsController = __decorate$e([
5255
5393
  tsyringe.injectable(),
5256
5394
  routingControllers.Controller("/assets"),
5257
- __metadata$9("design:paramtypes", [exports.Assets, exports.AssetResolver])
5395
+ __metadata$b("design:paramtypes", [exports.Assets, exports.AssetResolver])
5258
5396
  ], AssetsController);
5259
5397
 
5260
- var __decorate$a = (this && this.__decorate) || function (decorators, target, key, desc) {
5398
+ var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
5261
5399
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5262
5400
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5263
5401
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5267,14 +5405,14 @@
5267
5405
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5268
5406
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5269
5407
  };
5270
- var __metadata$8 = (this && this.__metadata) || function (k, v) {
5408
+ var __metadata$a = (this && this.__metadata) || function (k, v) {
5271
5409
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5272
5410
  return Reflect.metadata(k, v);
5273
5411
  };
5274
- var __param$4 = (this && this.__param) || function (paramIndex, decorator) {
5412
+ var __param$5 = (this && this.__param) || function (paramIndex, decorator) {
5275
5413
  return function (target, key) { decorator(target, key, paramIndex); };
5276
5414
  };
5277
- var __awaiter$8 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5415
+ var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5278
5416
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5279
5417
  return new (P || (P = Promise))(function (resolve, reject) {
5280
5418
  function fulfilled(value) { try {
@@ -5299,7 +5437,7 @@
5299
5437
  this.userManager = userManager;
5300
5438
  }
5301
5439
  AuthController.prototype.login = function (credentials, res) {
5302
- return __awaiter$8(this, void 0, void 0, function () {
5440
+ return __awaiter$b(this, void 0, void 0, function () {
5303
5441
  var user, reason_1, valid, _a, _b;
5304
5442
  return __generator(this, function (_c) {
5305
5443
  switch (_c.label) {
@@ -5342,28 +5480,28 @@
5342
5480
  };
5343
5481
  return AuthController;
5344
5482
  }());
5345
- __decorate$a([
5483
+ __decorate$d([
5346
5484
  routingControllers.Post("/login"),
5347
- __param$4(0, routingControllers.Body()), __param$4(1, routingControllers.Res()),
5348
- __metadata$8("design:type", Function),
5349
- __metadata$8("design:paramtypes", [Object, Object]),
5350
- __metadata$8("design:returntype", Promise)
5485
+ __param$5(0, routingControllers.Body()), __param$5(1, routingControllers.Res()),
5486
+ __metadata$a("design:type", Function),
5487
+ __metadata$a("design:paramtypes", [Object, Object]),
5488
+ __metadata$a("design:returntype", Promise)
5351
5489
  ], exports.AuthController.prototype, "login", null);
5352
- __decorate$a([
5490
+ __decorate$d([
5353
5491
  routingControllers.Authorized(),
5354
5492
  routingControllers.Get("/user"),
5355
- __param$4(0, routingControllers.CurrentUser()),
5356
- __metadata$8("design:type", Function),
5357
- __metadata$8("design:paramtypes", [Object]),
5358
- __metadata$8("design:returntype", void 0)
5493
+ __param$5(0, routingControllers.CurrentUser()),
5494
+ __metadata$a("design:type", Function),
5495
+ __metadata$a("design:paramtypes", [Object]),
5496
+ __metadata$a("design:returntype", void 0)
5359
5497
  ], exports.AuthController.prototype, "getProfile", null);
5360
- exports.AuthController = __decorate$a([
5498
+ exports.AuthController = __decorate$d([
5361
5499
  tsyringe.injectable(),
5362
5500
  routingControllers.Controller(),
5363
- __metadata$8("design:paramtypes", [exports.Configuration, exports.UserManager])
5501
+ __metadata$a("design:paramtypes", [exports.Configuration, exports.UserManager])
5364
5502
  ], exports.AuthController);
5365
5503
 
5366
- var __decorate$9 = (this && this.__decorate) || function (decorators, target, key, desc) {
5504
+ var __decorate$c = (this && this.__decorate) || function (decorators, target, key, desc) {
5367
5505
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5368
5506
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5369
5507
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5373,11 +5511,11 @@
5373
5511
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5374
5512
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5375
5513
  };
5376
- var __metadata$7 = (this && this.__metadata) || function (k, v) {
5514
+ var __metadata$9 = (this && this.__metadata) || function (k, v) {
5377
5515
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5378
5516
  return Reflect.metadata(k, v);
5379
5517
  };
5380
- var __param$3 = (this && this.__param) || function (paramIndex, decorator) {
5518
+ var __param$4 = (this && this.__param) || function (paramIndex, decorator) {
5381
5519
  return function (target, key) { decorator(target, key, paramIndex); };
5382
5520
  };
5383
5521
  exports.GalleryController = /** @class */ (function () {
@@ -5389,20 +5527,20 @@
5389
5527
  };
5390
5528
  return GalleryController;
5391
5529
  }());
5392
- __decorate$9([
5530
+ __decorate$c([
5393
5531
  routingControllers.Get("/:id"),
5394
- __param$3(0, routingControllers.Param("id")),
5395
- __metadata$7("design:type", Function),
5396
- __metadata$7("design:paramtypes", [String]),
5397
- __metadata$7("design:returntype", void 0)
5532
+ __param$4(0, routingControllers.Param("id")),
5533
+ __metadata$9("design:type", Function),
5534
+ __metadata$9("design:paramtypes", [String]),
5535
+ __metadata$9("design:returntype", void 0)
5398
5536
  ], exports.GalleryController.prototype, "getFile", null);
5399
- exports.GalleryController = __decorate$9([
5537
+ exports.GalleryController = __decorate$c([
5400
5538
  tsyringe.injectable(),
5401
5539
  routingControllers.Controller("/gallery"),
5402
- __metadata$7("design:paramtypes", [exports.GalleryCache])
5540
+ __metadata$9("design:paramtypes", [exports.GalleryCache])
5403
5541
  ], exports.GalleryController);
5404
5542
 
5405
- var __decorate$8 = (this && this.__decorate) || function (decorators, target, key, desc) {
5543
+ var __decorate$b = (this && this.__decorate) || function (decorators, target, key, desc) {
5406
5544
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5407
5545
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5408
5546
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5412,14 +5550,14 @@
5412
5550
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5413
5551
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5414
5552
  };
5415
- var __metadata$6 = (this && this.__metadata) || function (k, v) {
5553
+ var __metadata$8 = (this && this.__metadata) || function (k, v) {
5416
5554
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5417
5555
  return Reflect.metadata(k, v);
5418
5556
  };
5419
- var __param$2 = (this && this.__param) || function (paramIndex, decorator) {
5557
+ var __param$3 = (this && this.__param) || function (paramIndex, decorator) {
5420
5558
  return function (target, key) { decorator(target, key, paramIndex); };
5421
5559
  };
5422
- var __awaiter$7 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5560
+ var __awaiter$a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5423
5561
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5424
5562
  return new (P || (P = Promise))(function (resolve, reject) {
5425
5563
  function fulfilled(value) { try {
@@ -5446,7 +5584,7 @@
5446
5584
  this.connectionType = !mainEndpoint ? "polling" : "socket";
5447
5585
  }
5448
5586
  ProgressesController.prototype.getProgress = function (id) {
5449
- return __awaiter$7(this, void 0, void 0, function () {
5587
+ return __awaiter$a(this, void 0, void 0, function () {
5450
5588
  var progress, json;
5451
5589
  return __generator(this, function (_a) {
5452
5590
  switch (_a.label) {
@@ -5464,20 +5602,20 @@
5464
5602
  };
5465
5603
  return ProgressesController;
5466
5604
  }());
5467
- __decorate$8([
5605
+ __decorate$b([
5468
5606
  routingControllers.Get("/:id"),
5469
- __param$2(0, routingControllers.Param("id")),
5470
- __metadata$6("design:type", Function),
5471
- __metadata$6("design:paramtypes", [String]),
5472
- __metadata$6("design:returntype", Promise)
5607
+ __param$3(0, routingControllers.Param("id")),
5608
+ __metadata$8("design:type", Function),
5609
+ __metadata$8("design:paramtypes", [String]),
5610
+ __metadata$8("design:returntype", Promise)
5473
5611
  ], ProgressesController.prototype, "getProgress", null);
5474
- ProgressesController = __decorate$8([
5612
+ ProgressesController = __decorate$b([
5475
5613
  tsyringe.injectable(),
5476
5614
  routingControllers.Controller("/progresses"),
5477
- __metadata$6("design:paramtypes", [exports.Progresses, exports.Configuration])
5615
+ __metadata$8("design:paramtypes", [exports.Progresses, exports.Configuration])
5478
5616
  ], ProgressesController);
5479
5617
 
5480
- var __decorate$7 = (this && this.__decorate) || function (decorators, target, key, desc) {
5618
+ var __decorate$a = (this && this.__decorate) || function (decorators, target, key, desc) {
5481
5619
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5482
5620
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5483
5621
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5487,11 +5625,49 @@
5487
5625
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5488
5626
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5489
5627
  };
5490
- var __metadata$5 = (this && this.__metadata) || function (k, v) {
5628
+ var __metadata$7 = (this && this.__metadata) || function (k, v) {
5491
5629
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5492
5630
  return Reflect.metadata(k, v);
5493
5631
  };
5494
- var __awaiter$6 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5632
+ var TerminalController$1 = /** @class */ (function () {
5633
+ function TerminalController(config) {
5634
+ this.config = config;
5635
+ this.serviceName = config.resolve("serviceName");
5636
+ this.serviceUrl = config.resolve("serviceUrl");
5637
+ }
5638
+ TerminalController.prototype.terminal = function () {
5639
+ return "\n <!DOCTYPE html>\n <html>\n <head>\n <meta charset=\"utf-8\">\n <title>" + this.serviceName + " console</title>\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/xterm@5.1.0/css/xterm.min.css\"/>\n <script type=\"text/javascript\" src=\"" + this.serviceUrl + "/socket/socket.io.js\"></script>\n <style>\n body {\n margin: 0;\n padding: 0;\n background: #1e1e1e;\n }\n body * {\n box-sizing: border-box;\n }\n #terminal {\n margin: 40px;\n background: black;\n border: 1px solid #dedede;\n border-radius: 5px;\n overflow: hidden;\n }\n #terminal .xterm {\n margin: 10px;\n height: calc(100vh - 120px);\n border-radius: 5px;\n }\n #terminal .xterm-viewport::-webkit-scrollbar {\n width: 0.4em;\n background-color: #222;\n }\n #terminal .xterm-viewport::-webkit-scrollbar-thumb {\n background-color: #555;\n }\n </style>\n </head>\n <body>\n <div id=\"terminal\"></div>\n <script type=\"module\">\n // Import terminal modules\n import xterm from 'https://cdn.jsdelivr.net/npm/xterm@5.1.0/+esm';\n import xtermFit from 'https://cdn.jsdelivr.net/npm/xterm-addon-fit@0.7.0/+esm';\n // Initialize variables\n var terminal = new xterm.Terminal();\n var fitAddon = new xtermFit.FitAddon();\n var socket = io(\"" + this.serviceUrl + "\", {path: \"/socket\"});\n var clear = function () {\n terminal.clear();\n terminal.reset();\n // Prev line\n terminal.write(\"\u001B[F\");\n }\n // Initialize terminal\n terminal.loadAddon(fitAddon);\n terminal.open(document.getElementById('terminal'));\n terminal.onData(function (data) {\n socket.emit(\"terminal-data\", data.charCodeAt(0) === 127 ? \"\b\" : data);\n });\n // Socket listeners\n socket.on(\"terminal-data\", function (data) {\n if (data === \"\u001Bc\") {\n clear();\n return;\n }\n terminal.write(data);\n });\n socket.on(\"terminal-upload\", function (data) {\n var input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = data.accept;\n input.onchange = function () {\n var file = input.files[0];\n var reader = new FileReader();\n reader.onload = function () {\n console.log(reader.result);\n socket.emit(\"terminal-upload\", {\n id: data.id,\n label: file.name,\n content: reader.result,\n accept: data.accept\n });\n };\n reader.onerror = function () {\n console.error(reader.error);\n socket.emit(\"terminal-upload\", {\n id: data.id,\n label: file.name,\n error: reader.error,\n accept: data.accept\n });\n };\n reader.readAsDataURL(file);\n };\n input.click();\n });\n socket.on(\"terminal-download\", function (data) {\n var link = document.createElement(\"a\");\n link.href = data.content;\n link.download = data.filename;\n link.click();\n });\n socket.on(\"connect\", function () {\n clear();\n terminal.writeln(\"Welcome to " + this.serviceName + " service's console!\");\n socket.emit(\"terminal-init\");\n });\n socket.on(\"disconnect\", function () {\n clear();\n terminal.writeln(\"Disconnected from " + this.serviceName + " service's console.\");\n });\n </script>\n </body>\n </html>\n ";
5640
+ };
5641
+ return TerminalController;
5642
+ }());
5643
+ __decorate$a([
5644
+ routingControllers.Get(),
5645
+ routingControllers.Header("Content-Type", "text/html"),
5646
+ __metadata$7("design:type", Function),
5647
+ __metadata$7("design:paramtypes", []),
5648
+ __metadata$7("design:returntype", void 0)
5649
+ ], TerminalController$1.prototype, "terminal", null);
5650
+ TerminalController$1 = __decorate$a([
5651
+ tsyringe.injectable(),
5652
+ routingControllers.Controller("/console"),
5653
+ __metadata$7("design:paramtypes", [exports.Configuration])
5654
+ ], TerminalController$1);
5655
+
5656
+ var __decorate$9 = (this && this.__decorate) || function (decorators, target, key, desc) {
5657
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5658
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5659
+ r = Reflect.decorate(decorators, target, key, desc);
5660
+ else
5661
+ for (var i = decorators.length - 1; i >= 0; i--)
5662
+ if (d = decorators[i])
5663
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5664
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5665
+ };
5666
+ var __metadata$6 = (this && this.__metadata) || function (k, v) {
5667
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5668
+ return Reflect.metadata(k, v);
5669
+ };
5670
+ var __awaiter$9 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5495
5671
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5496
5672
  return new (P || (P = Promise))(function (resolve, reject) {
5497
5673
  function fulfilled(value) { try {
@@ -5524,7 +5700,7 @@
5524
5700
  });
5525
5701
  ErrorHandlerMiddleware.prototype.error = function (error, req, res, next) {
5526
5702
  var _a;
5527
- return __awaiter$6(this, void 0, void 0, function () {
5703
+ return __awaiter$9(this, void 0, void 0, function () {
5528
5704
  var result;
5529
5705
  return __generator(this, function (_b) {
5530
5706
  switch (_b.label) {
@@ -5547,7 +5723,7 @@
5547
5723
  });
5548
5724
  };
5549
5725
  ErrorHandlerMiddleware.prototype.getResult = function (error, req, res) {
5550
- return __awaiter$6(this, void 0, void 0, function () {
5726
+ return __awaiter$9(this, void 0, void 0, function () {
5551
5727
  var result, _b, _c, _d;
5552
5728
  return __generator(this, function (_e) {
5553
5729
  switch (_e.label) {
@@ -5609,13 +5785,13 @@
5609
5785
  };
5610
5786
  return ErrorHandlerMiddleware;
5611
5787
  }());
5612
- exports.ErrorHandlerMiddleware = __decorate$7([
5788
+ exports.ErrorHandlerMiddleware = __decorate$9([
5613
5789
  tsyringe.injectable(),
5614
5790
  routingControllers.Middleware({ type: "after" }),
5615
- __metadata$5("design:paramtypes", [exports.Configuration, exports.Translator])
5791
+ __metadata$6("design:paramtypes", [exports.Configuration, exports.Translator])
5616
5792
  ], exports.ErrorHandlerMiddleware);
5617
5793
 
5618
- var __decorate$6 = (this && this.__decorate) || function (decorators, target, key, desc) {
5794
+ var __decorate$8 = (this && this.__decorate) || function (decorators, target, key, desc) {
5619
5795
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5620
5796
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5621
5797
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5625,11 +5801,11 @@
5625
5801
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5626
5802
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5627
5803
  };
5628
- var __metadata$4 = (this && this.__metadata) || function (k, v) {
5804
+ var __metadata$5 = (this && this.__metadata) || function (k, v) {
5629
5805
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5630
5806
  return Reflect.metadata(k, v);
5631
5807
  };
5632
- var __param$1 = (this && this.__param) || function (paramIndex, decorator) {
5808
+ var __param$2 = (this && this.__param) || function (paramIndex, decorator) {
5633
5809
  return function (target, key) { decorator(target, key, paramIndex); };
5634
5810
  };
5635
5811
  var ContainerMiddleware = /** @class */ (function () {
@@ -5642,14 +5818,14 @@
5642
5818
  };
5643
5819
  return ContainerMiddleware;
5644
5820
  }());
5645
- ContainerMiddleware = __decorate$6([
5821
+ ContainerMiddleware = __decorate$8([
5646
5822
  tsyringe.injectable(),
5647
5823
  routingControllers.Middleware({ type: "before" }),
5648
- __param$1(0, tsyringe.inject(DI_CONTAINER)),
5649
- __metadata$4("design:paramtypes", [Object])
5824
+ __param$2(0, tsyringe.inject(DI_CONTAINER)),
5825
+ __metadata$5("design:paramtypes", [Object])
5650
5826
  ], ContainerMiddleware);
5651
5827
 
5652
- var __decorate$5 = (this && this.__decorate) || function (decorators, target, key, desc) {
5828
+ var __decorate$7 = (this && this.__decorate) || function (decorators, target, key, desc) {
5653
5829
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5654
5830
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5655
5831
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5659,7 +5835,7 @@
5659
5835
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5660
5836
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5661
5837
  };
5662
- var __metadata$3 = (this && this.__metadata) || function (k, v) {
5838
+ var __metadata$4 = (this && this.__metadata) || function (k, v) {
5663
5839
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5664
5840
  return Reflect.metadata(k, v);
5665
5841
  };
@@ -5673,13 +5849,13 @@
5673
5849
  };
5674
5850
  return LanguageMiddleware;
5675
5851
  }());
5676
- exports.LanguageMiddleware = __decorate$5([
5852
+ exports.LanguageMiddleware = __decorate$7([
5677
5853
  tsyringe.injectable(),
5678
5854
  routingControllers.Middleware({ type: "before" }),
5679
- __metadata$3("design:paramtypes", [exports.Configuration])
5855
+ __metadata$4("design:paramtypes", [exports.Configuration])
5680
5856
  ], exports.LanguageMiddleware);
5681
5857
 
5682
- var __decorate$4 = (this && this.__decorate) || function (decorators, target, key, desc) {
5858
+ var __decorate$6 = (this && this.__decorate) || function (decorators, target, key, desc) {
5683
5859
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5684
5860
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5685
5861
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5689,7 +5865,7 @@
5689
5865
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5690
5866
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5691
5867
  };
5692
- var __metadata$2 = (this && this.__metadata) || function (k, v) {
5868
+ var __metadata$3 = (this && this.__metadata) || function (k, v) {
5693
5869
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5694
5870
  return Reflect.metadata(k, v);
5695
5871
  };
@@ -5707,13 +5883,13 @@
5707
5883
  };
5708
5884
  return RequestEndedMiddleware;
5709
5885
  }());
5710
- RequestEndedMiddleware = __decorate$4([
5886
+ RequestEndedMiddleware = __decorate$6([
5711
5887
  tsyringe.injectable(),
5712
5888
  routingControllers.Middleware({ type: "after" }),
5713
- __metadata$2("design:paramtypes", [exports.Logger])
5889
+ __metadata$3("design:paramtypes", [exports.Logger])
5714
5890
  ], RequestEndedMiddleware);
5715
5891
 
5716
- var __decorate$3 = (this && this.__decorate) || function (decorators, target, key, desc) {
5892
+ var __decorate$5 = (this && this.__decorate) || function (decorators, target, key, desc) {
5717
5893
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5718
5894
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5719
5895
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5723,7 +5899,7 @@
5723
5899
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5724
5900
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5725
5901
  };
5726
- var __metadata$1 = (this && this.__metadata) || function (k, v) {
5902
+ var __metadata$2 = (this && this.__metadata) || function (k, v) {
5727
5903
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5728
5904
  return Reflect.metadata(k, v);
5729
5905
  };
@@ -5739,13 +5915,13 @@
5739
5915
  };
5740
5916
  return RequestStartedMiddleware;
5741
5917
  }());
5742
- RequestStartedMiddleware = __decorate$3([
5918
+ RequestStartedMiddleware = __decorate$5([
5743
5919
  tsyringe.injectable(),
5744
5920
  routingControllers.Middleware({ type: "before" }),
5745
- __metadata$1("design:paramtypes", [exports.Logger])
5921
+ __metadata$2("design:paramtypes", [exports.Logger])
5746
5922
  ], RequestStartedMiddleware);
5747
5923
 
5748
- var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {
5924
+ var __decorate$4 = (this && this.__decorate) || function (decorators, target, key, desc) {
5749
5925
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5750
5926
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5751
5927
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5755,14 +5931,14 @@
5755
5931
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5756
5932
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5757
5933
  };
5758
- var __metadata = (this && this.__metadata) || function (k, v) {
5934
+ var __metadata$1 = (this && this.__metadata) || function (k, v) {
5759
5935
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
5760
5936
  return Reflect.metadata(k, v);
5761
5937
  };
5762
- var __param = (this && this.__param) || function (paramIndex, decorator) {
5938
+ var __param$1 = (this && this.__param) || function (paramIndex, decorator) {
5763
5939
  return function (target, key) { decorator(target, key, paramIndex); };
5764
5940
  };
5765
- var __awaiter$5 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5941
+ var __awaiter$8 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5766
5942
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5767
5943
  return new (P || (P = Promise))(function (resolve, reject) {
5768
5944
  function fulfilled(value) { try {
@@ -5787,7 +5963,7 @@
5787
5963
  this.socketServer = socketServer;
5788
5964
  }
5789
5965
  ProgressController.prototype.advanceProgress = function (client, progressId) {
5790
- return __awaiter$5(this, void 0, void 0, function () {
5966
+ return __awaiter$8(this, void 0, void 0, function () {
5791
5967
  var progress, json;
5792
5968
  return __generator(this, function (_a) {
5793
5969
  switch (_a.label) {
@@ -5809,7 +5985,7 @@
5809
5985
  });
5810
5986
  };
5811
5987
  ProgressController.prototype.setProgressInterest = function (client, progressId) {
5812
- return __awaiter$5(this, void 0, void 0, function () {
5988
+ return __awaiter$8(this, void 0, void 0, function () {
5813
5989
  var progress, json;
5814
5990
  return __generator(this, function (_a) {
5815
5991
  switch (_a.label) {
@@ -5832,28 +6008,260 @@
5832
6008
  };
5833
6009
  return ProgressController;
5834
6010
  }());
5835
- __decorate$2([
6011
+ __decorate$4([
5836
6012
  socketControllers.OnMessage("background-progress"),
6013
+ __param$1(0, socketControllers.ConnectedSocket()), __param$1(1, socketControllers.MessageBody()),
6014
+ __metadata$1("design:type", Function),
6015
+ __metadata$1("design:paramtypes", [Object, String]),
6016
+ __metadata$1("design:returntype", Promise)
6017
+ ], ProgressController.prototype, "advanceProgress", null);
6018
+ __decorate$4([
6019
+ socketControllers.OnMessage("background-progress-interest"),
6020
+ __param$1(0, socketControllers.ConnectedSocket()), __param$1(1, socketControllers.MessageBody()),
6021
+ __metadata$1("design:type", Function),
6022
+ __metadata$1("design:paramtypes", [Object, String]),
6023
+ __metadata$1("design:returntype", Promise)
6024
+ ], ProgressController.prototype, "setProgressInterest", null);
6025
+ ProgressController = __decorate$4([
6026
+ tsyringe.singleton(),
6027
+ socketControllers.SocketController(),
6028
+ __param$1(1, tsyringe.inject(SOCKET_SERVER)),
6029
+ __metadata$1("design:paramtypes", [exports.Progresses, Object])
6030
+ ], ProgressController);
6031
+
6032
+ var __awaiter$7 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6033
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6034
+ return new (P || (P = Promise))(function (resolve, reject) {
6035
+ function fulfilled(value) { try {
6036
+ step(generator.next(value));
6037
+ }
6038
+ catch (e) {
6039
+ reject(e);
6040
+ } }
6041
+ function rejected(value) { try {
6042
+ step(generator["throw"](value));
6043
+ }
6044
+ catch (e) {
6045
+ reject(e);
6046
+ } }
6047
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
6048
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
6049
+ });
6050
+ };
6051
+ var Terminal = /** @class */ (function () {
6052
+ function Terminal(client) {
6053
+ this.client = client;
6054
+ this.addons = [];
6055
+ this.files$ = new rxjs.BehaviorSubject([]);
6056
+ this.input$ = new rxjs.Subject();
6057
+ }
6058
+ Terminal.prototype.onData = function (cb) {
6059
+ var sub = this.input$.pipe(operators.map(function (v) {
6060
+ if (v === "\b") {
6061
+ return "\x7f";
6062
+ }
6063
+ return v;
6064
+ })).subscribe(cb);
6065
+ return {
6066
+ dispose: function () { return sub.unsubscribe(); }
6067
+ };
6068
+ };
6069
+ Terminal.prototype.write = function (data) {
6070
+ this.client.emit("terminal-data", data);
6071
+ };
6072
+ Terminal.prototype.writeln = function (data) {
6073
+ this.write(data + "\n");
6074
+ };
6075
+ Terminal.prototype.loadAddon = function (addon) {
6076
+ addon.activate(this);
6077
+ this.addons.push(addon);
6078
+ };
6079
+ Terminal.prototype.dispose = function () {
6080
+ this.input$.complete();
6081
+ this.client = null;
6082
+ this.addons.forEach(function (a) { return a.dispose(); });
6083
+ };
6084
+ Terminal.prototype.suggestFiles = function (accept) {
6085
+ return __awaiter$7(this, void 0, void 0, function () {
6086
+ var rand, id, files;
6087
+ var _this = this;
6088
+ return __generator(this, function (_a) {
6089
+ rand = Math.round(Math.random() * 1000);
6090
+ id = Date.now() + "-" + rand;
6091
+ files = this.files$.value;
6092
+ return [2 /*return*/, files.filter(function (f) { return f.accept === accept; }).concat([
6093
+ {
6094
+ id: id,
6095
+ label: "...",
6096
+ onAccept: function () { return __awaiter$7(_this, void 0, void 0, function () {
6097
+ var file;
6098
+ return __generator(this, function (_a) {
6099
+ switch (_a.label) {
6100
+ case 0:
6101
+ this.client.emit("terminal-upload", {
6102
+ id: id,
6103
+ accept: accept
6104
+ });
6105
+ return [4 /*yield*/, this.files$
6106
+ .pipe(operators.first(function (v) { return v.some(function (f) { return f.id === id; }); }))
6107
+ .pipe(operators.timeout(120000))
6108
+ .pipe(operators.map(function (v) { return v.find(function (f) { return f.id === id; }); }))
6109
+ .toPromise()];
6110
+ case 1:
6111
+ file = _a.sent();
6112
+ if (file.error) {
6113
+ this.files$.next(this.files$.value.filter(function (f) { return f.id !== id; }));
6114
+ throw new Error(file.error);
6115
+ }
6116
+ return [2 /*return*/, file];
6117
+ }
6118
+ });
6119
+ }); },
6120
+ showAlways: true,
6121
+ accept: accept,
6122
+ }
6123
+ ])];
6124
+ });
6125
+ });
6126
+ };
6127
+ Terminal.prototype.downloadFile = function (filename, buffer) {
6128
+ return __awaiter$7(this, void 0, void 0, function () {
6129
+ var type, data, content;
6130
+ return __generator(this, function (_a) {
6131
+ switch (_a.label) {
6132
+ case 0: return [4 /*yield*/, fileTypeFromBuffer(buffer)];
6133
+ case 1:
6134
+ type = _a.sent();
6135
+ data = buffer.toString("base64");
6136
+ content = "data:" + type.mime + ";base64," + data;
6137
+ this.client.emit("terminal-download", {
6138
+ filename: filename,
6139
+ content: content
6140
+ });
6141
+ return [2 /*return*/];
6142
+ }
6143
+ });
6144
+ });
6145
+ };
6146
+ Terminal.prototype.addFile = function (upload) {
6147
+ if (upload.content) {
6148
+ upload.buffer = Buffer.from(upload.content, "base64");
6149
+ }
6150
+ this.files$.next(this.files$.value.concat(upload));
6151
+ };
6152
+ Terminal.prototype.input = function (data) {
6153
+ this.input$.next(data);
6154
+ };
6155
+ return Terminal;
6156
+ }());
6157
+
6158
+ var __decorate$3 = (this && this.__decorate) || function (decorators, target, key, desc) {
6159
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6160
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
6161
+ r = Reflect.decorate(decorators, target, key, desc);
6162
+ else
6163
+ for (var i = decorators.length - 1; i >= 0; i--)
6164
+ if (d = decorators[i])
6165
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6166
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6167
+ };
6168
+ var __metadata = (this && this.__metadata) || function (k, v) {
6169
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
6170
+ return Reflect.metadata(k, v);
6171
+ };
6172
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
6173
+ return function (target, key) { decorator(target, key, paramIndex); };
6174
+ };
6175
+ var __awaiter$6 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6176
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6177
+ return new (P || (P = Promise))(function (resolve, reject) {
6178
+ function fulfilled(value) { try {
6179
+ step(generator.next(value));
6180
+ }
6181
+ catch (e) {
6182
+ reject(e);
6183
+ } }
6184
+ function rejected(value) { try {
6185
+ step(generator["throw"](value));
6186
+ }
6187
+ catch (e) {
6188
+ reject(e);
6189
+ } }
6190
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
6191
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
6192
+ });
6193
+ };
6194
+ var TerminalController = /** @class */ (function () {
6195
+ function TerminalController(manager) {
6196
+ this.manager = manager;
6197
+ this.terminals = {};
6198
+ }
6199
+ TerminalController.prototype.terminalInit = function (client) {
6200
+ return __awaiter$6(this, void 0, void 0, function () {
6201
+ var terminal;
6202
+ return __generator(this, function (_a) {
6203
+ terminal = new Terminal(client);
6204
+ this.manager.loadAddons(terminal);
6205
+ this.terminals[client.id] = terminal;
6206
+ client.on("disconnect", function () { return terminal.dispose(); });
6207
+ return [2 /*return*/];
6208
+ });
6209
+ });
6210
+ };
6211
+ TerminalController.prototype.terminalData = function (client, data) {
6212
+ return __awaiter$6(this, void 0, void 0, function () {
6213
+ var terminal;
6214
+ return __generator(this, function (_a) {
6215
+ terminal = this.terminals[client.id];
6216
+ if (!terminal)
6217
+ return [2 /*return*/];
6218
+ terminal.input(data);
6219
+ return [2 /*return*/];
6220
+ });
6221
+ });
6222
+ };
6223
+ TerminalController.prototype.terminalUpload = function (client, upload) {
6224
+ return __awaiter$6(this, void 0, void 0, function () {
6225
+ var terminal;
6226
+ return __generator(this, function (_a) {
6227
+ terminal = this.terminals[client.id];
6228
+ if (!terminal || !upload)
6229
+ return [2 /*return*/];
6230
+ terminal.addFile(upload);
6231
+ return [2 /*return*/];
6232
+ });
6233
+ });
6234
+ };
6235
+ return TerminalController;
6236
+ }());
6237
+ __decorate$3([
6238
+ socketControllers.OnMessage("terminal-init"),
6239
+ __param(0, socketControllers.ConnectedSocket()),
6240
+ __metadata("design:type", Function),
6241
+ __metadata("design:paramtypes", [Object]),
6242
+ __metadata("design:returntype", Promise)
6243
+ ], TerminalController.prototype, "terminalInit", null);
6244
+ __decorate$3([
6245
+ socketControllers.OnMessage("terminal-data"),
5837
6246
  __param(0, socketControllers.ConnectedSocket()), __param(1, socketControllers.MessageBody()),
5838
6247
  __metadata("design:type", Function),
5839
6248
  __metadata("design:paramtypes", [Object, String]),
5840
6249
  __metadata("design:returntype", Promise)
5841
- ], ProgressController.prototype, "advanceProgress", null);
5842
- __decorate$2([
5843
- socketControllers.OnMessage("background-progress-interest"),
6250
+ ], TerminalController.prototype, "terminalData", null);
6251
+ __decorate$3([
6252
+ socketControllers.OnMessage("terminal-upload"),
5844
6253
  __param(0, socketControllers.ConnectedSocket()), __param(1, socketControllers.MessageBody()),
5845
6254
  __metadata("design:type", Function),
5846
- __metadata("design:paramtypes", [Object, String]),
6255
+ __metadata("design:paramtypes", [Object, Object]),
5847
6256
  __metadata("design:returntype", Promise)
5848
- ], ProgressController.prototype, "setProgressInterest", null);
5849
- ProgressController = __decorate$2([
5850
- tsyringe.injectable(),
6257
+ ], TerminalController.prototype, "terminalUpload", null);
6258
+ TerminalController = __decorate$3([
6259
+ tsyringe.singleton(),
5851
6260
  socketControllers.SocketController(),
5852
- __param(1, tsyringe.inject(SOCKET_SERVER)),
5853
- __metadata("design:paramtypes", [exports.Progresses, Object])
5854
- ], ProgressController);
6261
+ __metadata("design:paramtypes", [exports.TerminalManager])
6262
+ ], TerminalController);
5855
6263
 
5856
- var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
6264
+ var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {
5857
6265
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5858
6266
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5859
6267
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5871,7 +6279,7 @@
5871
6279
  };
5872
6280
  return CompressionMiddleware;
5873
6281
  }());
5874
- CompressionMiddleware = __decorate$1([
6282
+ CompressionMiddleware = __decorate$2([
5875
6283
  tsyringe.injectable(),
5876
6284
  socketControllers.Middleware()
5877
6285
  ], CompressionMiddleware);
@@ -6098,7 +6506,7 @@
6098
6506
  return DiContainer;
6099
6507
  }());
6100
6508
 
6101
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6509
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
6102
6510
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6103
6511
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
6104
6512
  r = Reflect.decorate(decorators, target, key, desc);
@@ -6108,7 +6516,7 @@
6108
6516
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6109
6517
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6110
6518
  };
6111
- var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6519
+ var __awaiter$5 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6112
6520
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6113
6521
  return new (P || (P = Promise))(function (resolve, reject) {
6114
6522
  function fulfilled(value) { try {
@@ -6131,7 +6539,7 @@
6131
6539
  function EmptyJob() {
6132
6540
  }
6133
6541
  EmptyJob.prototype.process = function () {
6134
- return __awaiter$4(this, void 0, void 0, function () {
6542
+ return __awaiter$5(this, void 0, void 0, function () {
6135
6543
  return __generator(this, function (_a) {
6136
6544
  return [2 /*return*/, null];
6137
6545
  });
@@ -6139,12 +6547,12 @@
6139
6547
  };
6140
6548
  return EmptyJob;
6141
6549
  }());
6142
- EmptyJob = __decorate([
6550
+ EmptyJob = __decorate$1([
6143
6551
  tsyringe.injectable(),
6144
6552
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
6145
6553
  ], EmptyJob);
6146
6554
 
6147
- var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6555
+ var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6148
6556
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6149
6557
  return new (P || (P = Promise))(function (resolve, reject) {
6150
6558
  function fulfilled(value) { try {
@@ -6164,7 +6572,7 @@
6164
6572
  });
6165
6573
  };
6166
6574
  function setupStatic(rootFolder, container) {
6167
- return __awaiter$3(this, void 0, void 0, function () {
6575
+ return __awaiter$4(this, void 0, void 0, function () {
6168
6576
  var browserFolder, app, ep;
6169
6577
  return __generator(this, function (_a) {
6170
6578
  switch (_a.label) {
@@ -6191,6 +6599,54 @@
6191
6599
  });
6192
6600
  }
6193
6601
 
6602
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6603
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6604
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
6605
+ r = Reflect.decorate(decorators, target, key, desc);
6606
+ else
6607
+ for (var i = decorators.length - 1; i >= 0; i--)
6608
+ if (d = decorators[i])
6609
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6610
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6611
+ };
6612
+ var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6613
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6614
+ return new (P || (P = Promise))(function (resolve, reject) {
6615
+ function fulfilled(value) { try {
6616
+ step(generator.next(value));
6617
+ }
6618
+ catch (e) {
6619
+ reject(e);
6620
+ } }
6621
+ function rejected(value) { try {
6622
+ step(generator["throw"](value));
6623
+ }
6624
+ catch (e) {
6625
+ reject(e);
6626
+ } }
6627
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
6628
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
6629
+ });
6630
+ };
6631
+ var ClearCommand = /** @class */ (function () {
6632
+ function ClearCommand() {
6633
+ this.name = "clear";
6634
+ }
6635
+ ClearCommand.prototype.execute = function (args, terminal) {
6636
+ return __awaiter$3(this, void 0, void 0, function () {
6637
+ return __generator(this, function (_a) {
6638
+ terminal.write(terminalCommandsAddon.AnsiCodes.clear);
6639
+ return [2 /*return*/];
6640
+ });
6641
+ });
6642
+ };
6643
+ return ClearCommand;
6644
+ }());
6645
+ ClearCommand = __decorate([
6646
+ tsyringe.injectable(),
6647
+ tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
6648
+ ], ClearCommand);
6649
+
6194
6650
  var BaseDoc = /** @class */ (function () {
6195
6651
  function BaseDoc() {
6196
6652
  }
@@ -6687,6 +7143,14 @@
6687
7143
  function createServices() {
6688
7144
  // List of parameters
6689
7145
  var params = [
7146
+ new Parameter("serviceName", "Backend"),
7147
+ new Parameter("servicePassword", Math.random().toString(36).substring(7)),
7148
+ new Parameter("serviceUrl", "http://localhost:3000", function (value, helper) {
7149
+ // Replace port number to empty string
7150
+ var url = prepareUrlEmpty(("" + value).replace(/:[0-9]+$/, ""), helper);
7151
+ var port = helper("appPort");
7152
+ return (!port || port === 80 || port === 443) ? url : url + ":" + port;
7153
+ }),
6690
7154
  new Parameter("templatesDir", path.join(__dirname, "templates")),
6691
7155
  new Parameter("galleryDir", path.join(__dirname, "gallery")),
6692
7156
  new Parameter("cacheDir", path.join(__dirname, "cache")),
@@ -6749,6 +7213,7 @@
6749
7213
  exports.OpenApi,
6750
7214
  exports.Progresses,
6751
7215
  exports.TemplateRenderer,
7216
+ exports.TerminalManager,
6752
7217
  exports.TokenGenerator,
6753
7218
  exports.TranslationProvider,
6754
7219
  exports.Translator,
@@ -6767,7 +7232,7 @@
6767
7232
  }
6768
7233
  function setupBackend(config, providers, parent) {
6769
7234
  return __awaiter(this, void 0, void 0, function () {
6770
- var fixtureTypes, fixtureProviders, paramProviders, jobProviders, restOptions, socketOptions, allProviders, diContainer, configuration, bp, openApi_1, connector;
7235
+ var fixtureTypes, fixtureProviders, paramProviders, jobProviders, commandProviders, restOptions, socketOptions, allProviders, diContainer, configuration, bp, openApi_1, connector;
6771
7236
  var _this = this;
6772
7237
  return __generator(this, function (_a) {
6773
7238
  switch (_a.label) {
@@ -6793,6 +7258,12 @@
6793
7258
  useValue: jobType
6794
7259
  };
6795
7260
  });
7261
+ commandProviders = [ClearCommand].concat(config.commands || []).map(function (commandType) {
7262
+ return {
7263
+ provide: TERMINAL_COMMAND,
7264
+ useClass: commandType
7265
+ };
7266
+ });
6796
7267
  restOptions = config.restOptions || {};
6797
7268
  restOptions.defaultErrorHandler = false;
6798
7269
  restOptions.cors = Object.assign({
@@ -6806,11 +7277,11 @@
6806
7277
  restOptions.routePrefix = restOptions.routePrefix == "/" ? "" : restOptions.routePrefix;
6807
7278
  restOptions.middlewares = [exports.ErrorHandlerMiddleware, ContainerMiddleware, exports.LanguageMiddleware, RequestStartedMiddleware, RequestEndedMiddleware]
6808
7279
  .concat(restOptions.middlewares || []);
6809
- restOptions.controllers = [AssetsController, exports.AuthController, exports.GalleryController, ProgressesController]
7280
+ restOptions.controllers = [AssetsController, exports.AuthController, exports.GalleryController, ProgressesController, TerminalController$1]
6810
7281
  .concat(restOptions.controllers || []);
6811
7282
  socketOptions = config.socketOptions || {};
6812
7283
  socketOptions.middlewares = [CompressionMiddleware].concat(socketOptions.middlewares || []);
6813
- socketOptions.controllers = [ProgressController].concat(socketOptions.controllers || []);
7284
+ socketOptions.controllers = [ProgressController, TerminalController].concat(socketOptions.controllers || []);
6814
7285
  allProviders = [];
6815
7286
  // Add multi tokens to sub container
6816
7287
  [PARAMETER].forEach(function (provide) {
@@ -6820,7 +7291,7 @@
6820
7291
  });
6821
7292
  });
6822
7293
  // Add other providers
6823
- allProviders.push.apply(allProviders, __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(fixtureTypes)), __read(fixtureProviders)), __read(paramProviders)), __read(jobProviders)), __read(restOptions.middlewares)), __read(restOptions.controllers)), __read(socketOptions.middlewares)), __read(socketOptions.controllers)), __read(providers)), [{
7294
+ allProviders.push.apply(allProviders, __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(fixtureTypes)), __read(fixtureProviders)), __read(paramProviders)), __read(jobProviders)), __read(commandProviders)), __read(restOptions.middlewares)), __read(restOptions.controllers)), __read(socketOptions.middlewares)), __read(socketOptions.controllers)), __read(providers)), [{
6824
7295
  provide: EXPRESS,
6825
7296
  useFactory: function (container) {
6826
7297
  return container.resolve(exports.BackendProvider).express;
@@ -6993,10 +7464,12 @@
6993
7464
  exports.ResolveEntity = ResolveEntity;
6994
7465
  exports.ResponseType = ResponseType;
6995
7466
  exports.SOCKET_SERVER = SOCKET_SERVER;
7467
+ exports.TERMINAL_COMMAND = TERMINAL_COMMAND;
6996
7468
  exports.Type = Type;
6997
7469
  exports.assign = assign;
6998
7470
  exports.broadcast = broadcast;
6999
7471
  exports.bufferToStream = bufferToStream;
7472
+ exports.camelCaseToDash = camelCaseToDash;
7000
7473
  exports.colorize = colorize;
7001
7474
  exports.convertValue = convertValue;
7002
7475
  exports.copy = copy;
@@ -7006,6 +7479,7 @@
7006
7479
  exports.createTransformer = createTransformer;
7007
7480
  exports.deleteFile = deleteFile;
7008
7481
  exports.deleteFromBucket = deleteFromBucket;
7482
+ exports.fileTypeFromBuffer = fileTypeFromBuffer;
7009
7483
  exports.filter = filter;
7010
7484
  exports.firstItem = firstItem;
7011
7485
  exports.flatten = flatten;
@@ -7057,6 +7531,7 @@
7057
7531
  exports.random = random;
7058
7532
  exports.readAndDeleteFile = readAndDeleteFile;
7059
7533
  exports.readFile = readFile;
7534
+ exports.regexEscape = regexEscape;
7060
7535
  exports.regroup = regroup;
7061
7536
  exports.replaceSpecialChars = replaceSpecialChars;
7062
7537
  exports.resolveUser = resolveUser;