@stemy/backend 3.5.4 → 3.5.7

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.
@@ -55,13 +55,13 @@ class Parameter {
55
55
  }
56
56
  }
57
57
 
58
- var __decorate$B = (this && this.__decorate) || function (decorators, target, key, desc) {
58
+ var __decorate$C = (this && this.__decorate) || function (decorators, target, key, desc) {
59
59
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
60
60
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
61
61
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62
62
  return c > 3 && r && Object.defineProperty(target, key, r), r;
63
63
  };
64
- var __awaiter$z = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
64
+ var __awaiter$B = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
65
65
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
66
66
  return new (P || (P = Promise))(function (resolve, reject) {
67
67
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -97,7 +97,7 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
97
97
  }
98
98
  static fileTypeFromBuffer(buffer) {
99
99
  var _a;
100
- return __awaiter$z(this, void 0, void 0, function* () {
100
+ return __awaiter$B(this, void 0, void 0, function* () {
101
101
  const type = ((_a = yield fromBuffer(buffer)) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
102
102
  if (AssetProcessor_1.checkTextFileType(type)) {
103
103
  return AssetProcessor_1.fixTextFileType(type, buffer);
@@ -124,7 +124,7 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
124
124
  return imageTypes.indexOf(contentType) >= 0;
125
125
  }
126
126
  static copyImageMeta(buffer, metadata, fileType) {
127
- return __awaiter$z(this, void 0, void 0, function* () {
127
+ return __awaiter$B(this, void 0, void 0, function* () {
128
128
  if (fileType.mime === "image/svg+xml") {
129
129
  const match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
130
130
  if (match && match.length > 1) {
@@ -163,7 +163,7 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
163
163
  });
164
164
  }
165
165
  process(buffer, metadata, fileType) {
166
- return __awaiter$z(this, void 0, void 0, function* () {
166
+ return __awaiter$B(this, void 0, void 0, function* () {
167
167
  if (AssetProcessor_1.isImage(fileType.mime)) {
168
168
  buffer = yield AssetProcessor_1.copyImageMeta(buffer, metadata, fileType);
169
169
  }
@@ -174,12 +174,12 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
174
174
  });
175
175
  }
176
176
  };
177
- AssetProcessor = AssetProcessor_1 = __decorate$B([
177
+ AssetProcessor = AssetProcessor_1 = __decorate$C([
178
178
  injectable(),
179
179
  scoped(Lifecycle.ContainerScoped)
180
180
  ], AssetProcessor);
181
181
 
182
- var __awaiter$y = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
182
+ var __awaiter$A = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
183
183
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
184
184
  return new (P || (P = Promise))(function (resolve, reject) {
185
185
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -357,7 +357,7 @@ function toCropRegion(cropInfo) {
357
357
  };
358
358
  }
359
359
  function toImage(src, params, meta) {
360
- return __awaiter$y(this, void 0, void 0, function* () {
360
+ return __awaiter$A(this, void 0, void 0, function* () {
361
361
  // Default params and meta
362
362
  params = params || {};
363
363
  meta = meta || {};
@@ -495,7 +495,7 @@ function readFile(path) {
495
495
  });
496
496
  }
497
497
  function readAndDeleteFile(path, timeout = 5000) {
498
- return __awaiter$y(this, void 0, void 0, function* () {
498
+ return __awaiter$A(this, void 0, void 0, function* () {
499
499
  const data = yield readFile(path);
500
500
  setTimeout(() => {
501
501
  unlink(path, () => {
@@ -505,7 +505,7 @@ function readAndDeleteFile(path, timeout = 5000) {
505
505
  });
506
506
  }
507
507
  function writeFile(path, data) {
508
- return __awaiter$y(this, void 0, void 0, function* () {
508
+ return __awaiter$A(this, void 0, void 0, function* () {
509
509
  yield mkdirRecursive(dirname(path));
510
510
  return new Promise((res, rej) => {
511
511
  writeFile$1(path, data, err => {
@@ -824,13 +824,13 @@ function flatten(arr) {
824
824
  }, []);
825
825
  }
826
826
 
827
- var __decorate$A = (this && this.__decorate) || function (decorators, target, key, desc) {
827
+ var __decorate$B = (this && this.__decorate) || function (decorators, target, key, desc) {
828
828
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
829
829
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
830
830
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
831
831
  return c > 3 && r && Object.defineProperty(target, key, r), r;
832
832
  };
833
- var __metadata$u = (this && this.__metadata) || function (k, v) {
833
+ var __metadata$v = (this && this.__metadata) || function (k, v) {
834
834
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
835
835
  };
836
836
  var __param$9 = (this && this.__param) || function (paramIndex, decorator) {
@@ -876,22 +876,22 @@ let Configuration = class Configuration {
876
876
  return this.paramValues[name];
877
877
  }
878
878
  };
879
- Configuration = __decorate$A([
879
+ Configuration = __decorate$B([
880
880
  singleton(),
881
881
  __param$9(0, injectAll(PARAMETER)),
882
- __metadata$u("design:paramtypes", [Array])
882
+ __metadata$v("design:paramtypes", [Array])
883
883
  ], Configuration);
884
884
 
885
- var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
885
+ var __decorate$A = (this && this.__decorate) || function (decorators, target, key, desc) {
886
886
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
887
887
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
888
888
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
889
889
  return c > 3 && r && Object.defineProperty(target, key, r), r;
890
890
  };
891
- var __metadata$t = (this && this.__metadata) || function (k, v) {
891
+ var __metadata$u = (this && this.__metadata) || function (k, v) {
892
892
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
893
893
  };
894
- var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
894
+ var __awaiter$z = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
895
895
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
896
896
  return new (P || (P = Promise))(function (resolve, reject) {
897
897
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -917,7 +917,7 @@ let MongoConnector = class MongoConnector {
917
917
  return this.fsBucket;
918
918
  }
919
919
  connect() {
920
- return __awaiter$x(this, void 0, void 0, function* () {
920
+ return __awaiter$z(this, void 0, void 0, function* () {
921
921
  if (this.db)
922
922
  return this.db;
923
923
  this.conn = (yield connect(this.configuration.resolve("mongoUri"), {
@@ -930,13 +930,12 @@ let MongoConnector = class MongoConnector {
930
930
  });
931
931
  }
932
932
  };
933
- MongoConnector = __decorate$z([
934
- injectable(),
933
+ MongoConnector = __decorate$A([
935
934
  singleton(),
936
- __metadata$t("design:paramtypes", [Configuration])
935
+ __metadata$u("design:paramtypes", [Configuration])
937
936
  ], MongoConnector);
938
937
 
939
- var __awaiter$w = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
938
+ var __awaiter$y = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
940
939
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
941
940
  return new (P || (P = Promise))(function (resolve, reject) {
942
941
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -958,7 +957,7 @@ class BaseEntity {
958
957
  return this.collection.updateOne({ _id: this.mId }, { $set: this.toJSON() });
959
958
  }
960
959
  load() {
961
- return __awaiter$w(this, void 0, void 0, function* () {
960
+ return __awaiter$y(this, void 0, void 0, function* () {
962
961
  const res = yield this.collection.findOne({ _id: this.mId });
963
962
  this.deleted = !res;
964
963
  this.data = res || {};
@@ -973,7 +972,7 @@ class BaseEntity {
973
972
  }
974
973
  }
975
974
 
976
- var __awaiter$v = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
975
+ var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
977
976
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
978
977
  return new (P || (P = Promise))(function (resolve, reject) {
979
978
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1000,7 +999,7 @@ class Asset extends BaseEntity {
1000
999
  return this.bucket.openDownloadStream(this.mId);
1001
1000
  }
1002
1001
  unlink() {
1003
- return __awaiter$v(this, void 0, void 0, function* () {
1002
+ return __awaiter$x(this, void 0, void 0, function* () {
1004
1003
  return deleteFromBucket(this.bucket, this.mId);
1005
1004
  });
1006
1005
  }
@@ -1008,7 +1007,7 @@ class Asset extends BaseEntity {
1008
1007
  return streamToBuffer(this.stream);
1009
1008
  }
1010
1009
  download(metadata) {
1011
- return __awaiter$v(this, void 0, void 0, function* () {
1010
+ return __awaiter$x(this, void 0, void 0, function* () {
1012
1011
  metadata = Object.assign(this.metadata, metadata || {});
1013
1012
  metadata.downloadCount = isNaN(metadata.downloadCount) || !metadata.firstDownload
1014
1013
  ? 1
@@ -1020,18 +1019,18 @@ class Asset extends BaseEntity {
1020
1019
  });
1021
1020
  }
1022
1021
  getImage(params = null) {
1023
- return __awaiter$v(this, void 0, void 0, function* () {
1022
+ return __awaiter$x(this, void 0, void 0, function* () {
1024
1023
  return toImage(this.stream, params, this.metadata);
1025
1024
  });
1026
1025
  }
1027
1026
  downloadImage(params, metadata) {
1028
- return __awaiter$v(this, void 0, void 0, function* () {
1027
+ return __awaiter$x(this, void 0, void 0, function* () {
1029
1028
  return toImage(yield this.download(metadata), params, this.metadata);
1030
1029
  });
1031
1030
  }
1032
1031
  }
1033
1032
 
1034
- var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1033
+ var __awaiter$w = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1035
1034
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1036
1035
  return new (P || (P = Promise))(function (resolve, reject) {
1037
1036
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1052,17 +1051,17 @@ class TempAsset {
1052
1051
  return bufferToStream(this.buffer);
1053
1052
  }
1054
1053
  unlink() {
1055
- return __awaiter$u(this, void 0, void 0, function* () {
1054
+ return __awaiter$w(this, void 0, void 0, function* () {
1056
1055
  throw new Error(`Temp asset '${this.id}' can not be removed!`);
1057
1056
  });
1058
1057
  }
1059
1058
  getBuffer() {
1060
- return __awaiter$u(this, void 0, void 0, function* () {
1059
+ return __awaiter$w(this, void 0, void 0, function* () {
1061
1060
  return this.buffer;
1062
1061
  });
1063
1062
  }
1064
1063
  download(metadata) {
1065
- return __awaiter$u(this, void 0, void 0, function* () {
1064
+ return __awaiter$w(this, void 0, void 0, function* () {
1066
1065
  return this.stream;
1067
1066
  });
1068
1067
  }
@@ -1074,12 +1073,12 @@ class TempAsset {
1074
1073
  return this.downloadImage(params);
1075
1074
  }
1076
1075
  save() {
1077
- return __awaiter$u(this, void 0, void 0, function* () {
1076
+ return __awaiter$w(this, void 0, void 0, function* () {
1078
1077
  return this;
1079
1078
  });
1080
1079
  }
1081
1080
  load() {
1082
- return __awaiter$u(this, void 0, void 0, function* () {
1081
+ return __awaiter$w(this, void 0, void 0, function* () {
1083
1082
  return this;
1084
1083
  });
1085
1084
  }
@@ -1093,16 +1092,16 @@ class TempAsset {
1093
1092
  }
1094
1093
  }
1095
1094
 
1096
- var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
1095
+ var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
1097
1096
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1098
1097
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1099
1098
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1100
1099
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1101
1100
  };
1102
- var __metadata$s = (this && this.__metadata) || function (k, v) {
1101
+ var __metadata$t = (this && this.__metadata) || function (k, v) {
1103
1102
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1104
1103
  };
1105
- var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1104
+ var __awaiter$v = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1106
1105
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1107
1106
  return new (P || (P = Promise))(function (resolve, reject) {
1108
1107
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1120,7 +1119,7 @@ let Assets = class Assets {
1120
1119
  this.collection = (_a = connector.database) === null || _a === void 0 ? void 0 : _a.collection("assets.files");
1121
1120
  }
1122
1121
  write(stream, contentType = null, metadata = null) {
1123
- return __awaiter$t(this, void 0, void 0, function* () {
1122
+ return __awaiter$v(this, void 0, void 0, function* () {
1124
1123
  const uploadStream = copyStream(stream);
1125
1124
  const buffer = yield streamToBuffer(stream);
1126
1125
  let fileType = { ext: "", mime: contentType };
@@ -1138,7 +1137,7 @@ let Assets = class Assets {
1138
1137
  });
1139
1138
  }
1140
1139
  writeBuffer(buffer, metadata = null, contentType = null) {
1141
- return __awaiter$t(this, void 0, void 0, function* () {
1140
+ return __awaiter$v(this, void 0, void 0, function* () {
1142
1141
  let fileType = { ext: "", mime: contentType };
1143
1142
  try {
1144
1143
  fileType = yield AssetProcessor.fileTypeFromBuffer(buffer);
@@ -1155,7 +1154,7 @@ let Assets = class Assets {
1155
1154
  });
1156
1155
  }
1157
1156
  writeUrl(url, metadata = null) {
1158
- return __awaiter$t(this, void 0, void 0, function* () {
1157
+ return __awaiter$v(this, void 0, void 0, function* () {
1159
1158
  metadata = metadata || {};
1160
1159
  metadata.filename = metadata.filename || url;
1161
1160
  metadata.uploadTime = new Date().getTime();
@@ -1168,7 +1167,7 @@ let Assets = class Assets {
1168
1167
  });
1169
1168
  }
1170
1169
  download(url, contentType = null) {
1171
- return __awaiter$t(this, void 0, void 0, function* () {
1170
+ return __awaiter$v(this, void 0, void 0, function* () {
1172
1171
  let buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
1173
1172
  let fileType = { ext: "", mime: contentType };
1174
1173
  try {
@@ -1189,18 +1188,18 @@ let Assets = class Assets {
1189
1188
  });
1190
1189
  }
1191
1190
  read(id) {
1192
- return __awaiter$t(this, void 0, void 0, function* () {
1191
+ return __awaiter$v(this, void 0, void 0, function* () {
1193
1192
  return !id ? null : this.find({ _id: new ObjectId$1(id) });
1194
1193
  });
1195
1194
  }
1196
1195
  find(where) {
1197
- return __awaiter$t(this, void 0, void 0, function* () {
1196
+ return __awaiter$v(this, void 0, void 0, function* () {
1198
1197
  const data = yield this.collection.findOne(where);
1199
1198
  return !data ? null : new Asset(data._id, data, this.collection, this.bucket);
1200
1199
  });
1201
1200
  }
1202
1201
  findMany(where) {
1203
- return __awaiter$t(this, void 0, void 0, function* () {
1202
+ return __awaiter$v(this, void 0, void 0, function* () {
1204
1203
  const cursor = this.collection.find(where);
1205
1204
  const items = (yield cursor.toArray()) || [];
1206
1205
  const result = [];
@@ -1213,13 +1212,13 @@ let Assets = class Assets {
1213
1212
  });
1214
1213
  }
1215
1214
  deleteMany(where) {
1216
- return __awaiter$t(this, void 0, void 0, function* () {
1215
+ return __awaiter$v(this, void 0, void 0, function* () {
1217
1216
  const assets = yield this.findMany(where);
1218
1217
  return Promise.all(assets.map(a => a.unlink()));
1219
1218
  });
1220
1219
  }
1221
1220
  unlink(id) {
1222
- return __awaiter$t(this, void 0, void 0, function* () {
1221
+ return __awaiter$v(this, void 0, void 0, function* () {
1223
1222
  const asset = yield this.read(id);
1224
1223
  if (!asset)
1225
1224
  return null;
@@ -1227,7 +1226,7 @@ let Assets = class Assets {
1227
1226
  });
1228
1227
  }
1229
1228
  upload(stream, fileType, metadata) {
1230
- return __awaiter$t(this, void 0, void 0, function* () {
1229
+ return __awaiter$v(this, void 0, void 0, function* () {
1231
1230
  const contentType = fileType.mime.trim();
1232
1231
  metadata = Object.assign({
1233
1232
  downloadCount: 0,
@@ -1258,13 +1257,13 @@ let Assets = class Assets {
1258
1257
  });
1259
1258
  }
1260
1259
  };
1261
- Assets = __decorate$y([
1260
+ Assets = __decorate$z([
1262
1261
  injectable(),
1263
1262
  scoped(Lifecycle.ContainerScoped),
1264
- __metadata$s("design:paramtypes", [MongoConnector, AssetProcessor])
1263
+ __metadata$t("design:paramtypes", [MongoConnector, AssetProcessor])
1265
1264
  ], Assets);
1266
1265
 
1267
- var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1266
+ var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1268
1267
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1269
1268
  return new (P || (P = Promise))(function (resolve, reject) {
1270
1269
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1296,7 +1295,7 @@ class LazyAsset extends BaseEntity {
1296
1295
  return this.data.assetId;
1297
1296
  }
1298
1297
  unlink() {
1299
- return __awaiter$s(this, void 0, void 0, function* () {
1298
+ return __awaiter$u(this, void 0, void 0, function* () {
1300
1299
  yield this.load();
1301
1300
  if (!this.progressId) {
1302
1301
  yield this.collection.deleteOne({ _id: this.mId });
@@ -1319,7 +1318,7 @@ class LazyAsset extends BaseEntity {
1319
1318
  });
1320
1319
  }
1321
1320
  loadAsset() {
1322
- return __awaiter$s(this, void 0, void 0, function* () {
1321
+ return __awaiter$u(this, void 0, void 0, function* () {
1323
1322
  yield this.load();
1324
1323
  if (this.deleted)
1325
1324
  return null;
@@ -1335,14 +1334,14 @@ class LazyAsset extends BaseEntity {
1335
1334
  });
1336
1335
  }
1337
1336
  writeAsset(asset) {
1338
- return __awaiter$s(this, void 0, void 0, function* () {
1337
+ return __awaiter$u(this, void 0, void 0, function* () {
1339
1338
  this.data.assetId = asset.id;
1340
1339
  yield this.save();
1341
1340
  return asset;
1342
1341
  });
1343
1342
  }
1344
1343
  startWorkingOnAsset(fromLoad) {
1345
- return __awaiter$s(this, void 0, void 0, function* () {
1344
+ return __awaiter$u(this, void 0, void 0, function* () {
1346
1345
  this.data.progressId = (yield this.progresses.create()).id;
1347
1346
  this.data.assetId = null;
1348
1347
  yield this.save();
@@ -1351,13 +1350,13 @@ class LazyAsset extends BaseEntity {
1351
1350
  }
1352
1351
  }
1353
1352
 
1354
- var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
1353
+ var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
1355
1354
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1356
1355
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1357
1356
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1358
1357
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1359
1358
  };
1360
- var __metadata$r = (this && this.__metadata) || function (k, v) {
1359
+ var __metadata$s = (this && this.__metadata) || function (k, v) {
1361
1360
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1362
1361
  };
1363
1362
  let Logger = class Logger {
@@ -1372,24 +1371,24 @@ let Logger = class Logger {
1372
1371
  }
1373
1372
  }
1374
1373
  };
1375
- Logger = __decorate$x([
1374
+ Logger = __decorate$y([
1376
1375
  singleton(),
1377
- __metadata$r("design:paramtypes", [Configuration])
1376
+ __metadata$s("design:paramtypes", [Configuration])
1378
1377
  ], Logger);
1379
1378
 
1380
- var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
1379
+ var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
1381
1380
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1382
1381
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1383
1382
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1384
1383
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1385
1384
  };
1386
- var __metadata$q = (this && this.__metadata) || function (k, v) {
1385
+ var __metadata$r = (this && this.__metadata) || function (k, v) {
1387
1386
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1388
1387
  };
1389
1388
  var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
1390
1389
  return function (target, key) { decorator(target, key, paramIndex); }
1391
1390
  };
1392
- var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1391
+ var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1393
1392
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1394
1393
  return new (P || (P = Promise))(function (resolve, reject) {
1395
1394
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1429,7 +1428,7 @@ let JobManager = class JobManager {
1429
1428
  .pipe(map(t => t.params)).subscribe(cb);
1430
1429
  }
1431
1430
  process(jobType, params = {}) {
1432
- return __awaiter$r(this, void 0, void 0, function* () {
1431
+ return __awaiter$t(this, void 0, void 0, function* () {
1433
1432
  let instance = null;
1434
1433
  try {
1435
1434
  instance = this.resolveJobInstance(jobType, params);
@@ -1442,12 +1441,12 @@ let JobManager = class JobManager {
1442
1441
  });
1443
1442
  }
1444
1443
  enqueueWithName(name, params = {}) {
1445
- return __awaiter$r(this, void 0, void 0, function* () {
1444
+ return __awaiter$t(this, void 0, void 0, function* () {
1446
1445
  return this.sendToWorkers(this.tryResolveFromName(name, params), params);
1447
1446
  });
1448
1447
  }
1449
1448
  enqueue(jobType, params = {}) {
1450
- return __awaiter$r(this, void 0, void 0, function* () {
1449
+ return __awaiter$t(this, void 0, void 0, function* () {
1451
1450
  return this.sendToWorkers(this.tryResolveAndInit(jobType, params), params);
1452
1451
  });
1453
1452
  }
@@ -1474,7 +1473,7 @@ let JobManager = class JobManager {
1474
1473
  });
1475
1474
  }
1476
1475
  startProcessing() {
1477
- return __awaiter$r(this, void 0, void 0, function* () {
1476
+ return __awaiter$t(this, void 0, void 0, function* () {
1478
1477
  if (this.processing)
1479
1478
  return null;
1480
1479
  this.processing = true;
@@ -1491,7 +1490,7 @@ let JobManager = class JobManager {
1491
1490
  this.workerPull = socket("pull");
1492
1491
  yield this.workerPull.connect(pullHost);
1493
1492
  this.logger.log("job-manager", `Worker consumer connected to: ${pullHost}`);
1494
- this.workerPull.on("message", (name, args, uniqId) => __awaiter$r(this, void 0, void 0, function* () {
1493
+ this.workerPull.on("message", (name, args, uniqId) => __awaiter$t(this, void 0, void 0, function* () {
1495
1494
  try {
1496
1495
  const jobName = name.toString("utf8");
1497
1496
  const jobParams = JSON.parse(args.toString("utf8"));
@@ -1570,7 +1569,7 @@ let JobManager = class JobManager {
1570
1569
  return container.resolve(jobType);
1571
1570
  }
1572
1571
  sendToWorkers(jobName, params) {
1573
- return __awaiter$r(this, void 0, void 0, function* () {
1572
+ return __awaiter$t(this, void 0, void 0, function* () {
1574
1573
  const publisher = yield this.apiPush;
1575
1574
  const uniqueId = new ObjectId$1().toHexString();
1576
1575
  yield publisher.send([jobName, JSON.stringify(params), uniqueId]);
@@ -1578,16 +1577,16 @@ let JobManager = class JobManager {
1578
1577
  });
1579
1578
  }
1580
1579
  };
1581
- JobManager = __decorate$w([
1580
+ JobManager = __decorate$x([
1582
1581
  injectable(),
1583
1582
  scoped(Lifecycle.ContainerScoped),
1584
1583
  __param$8(2, inject(DI_CONTAINER)),
1585
1584
  __param$8(3, injectAll(JOB)),
1586
- __metadata$q("design:paramtypes", [Configuration,
1585
+ __metadata$r("design:paramtypes", [Configuration,
1587
1586
  Logger, Object, Array])
1588
1587
  ], JobManager);
1589
1588
 
1590
- var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1589
+ var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1591
1590
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1592
1591
  return new (P || (P = Promise))(function (resolve, reject) {
1593
1592
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1626,7 +1625,7 @@ class Progress extends BaseEntity {
1626
1625
  return this;
1627
1626
  }
1628
1627
  createSubProgress(progressValue, max, message) {
1629
- return __awaiter$q(this, void 0, void 0, function* () {
1628
+ return __awaiter$s(this, void 0, void 0, function* () {
1630
1629
  if (max <= 0 && progressValue > 0) {
1631
1630
  yield this.advance(progressValue);
1632
1631
  }
@@ -1638,7 +1637,7 @@ class Progress extends BaseEntity {
1638
1637
  });
1639
1638
  }
1640
1639
  setMax(max) {
1641
- return __awaiter$q(this, void 0, void 0, function* () {
1640
+ return __awaiter$s(this, void 0, void 0, function* () {
1642
1641
  if (isNaN(max) || max <= 0) {
1643
1642
  throw "Max progress value must be bigger than zero";
1644
1643
  }
@@ -1647,19 +1646,19 @@ class Progress extends BaseEntity {
1647
1646
  });
1648
1647
  }
1649
1648
  setMessage(message) {
1650
- return __awaiter$q(this, void 0, void 0, function* () {
1649
+ return __awaiter$s(this, void 0, void 0, function* () {
1651
1650
  this.data.message = message;
1652
1651
  yield this.save();
1653
1652
  });
1654
1653
  }
1655
1654
  setError(error) {
1656
- return __awaiter$q(this, void 0, void 0, function* () {
1655
+ return __awaiter$s(this, void 0, void 0, function* () {
1657
1656
  this.data.error = error;
1658
1657
  yield this.save();
1659
1658
  });
1660
1659
  }
1661
1660
  advance(value = 1) {
1662
- return __awaiter$q(this, void 0, void 0, function* () {
1661
+ return __awaiter$s(this, void 0, void 0, function* () {
1663
1662
  if (isNaN(value) || value <= 0) {
1664
1663
  throw "Advance value must be bigger than zero";
1665
1664
  }
@@ -1671,7 +1670,7 @@ class Progress extends BaseEntity {
1671
1670
  });
1672
1671
  }
1673
1672
  cancel() {
1674
- return __awaiter$q(this, void 0, void 0, function* () {
1673
+ return __awaiter$s(this, void 0, void 0, function* () {
1675
1674
  this.data.canceled = true;
1676
1675
  yield this.save();
1677
1676
  });
@@ -1728,7 +1727,7 @@ class SubProgress {
1728
1727
  return this;
1729
1728
  }
1730
1729
  createSubProgress(progressValue, max, message) {
1731
- return __awaiter$q(this, void 0, void 0, function* () {
1730
+ return __awaiter$s(this, void 0, void 0, function* () {
1732
1731
  if (max <= 0 && progressValue > 0) {
1733
1732
  yield this.advance(progressValue);
1734
1733
  }
@@ -1739,7 +1738,7 @@ class SubProgress {
1739
1738
  });
1740
1739
  }
1741
1740
  setMax(max) {
1742
- return __awaiter$q(this, void 0, void 0, function* () {
1741
+ return __awaiter$s(this, void 0, void 0, function* () {
1743
1742
  if (isNaN(max) || max <= 0) {
1744
1743
  throw "Max progress value must be bigger than zero";
1745
1744
  }
@@ -1748,21 +1747,21 @@ class SubProgress {
1748
1747
  });
1749
1748
  }
1750
1749
  setMessage(message) {
1751
- return __awaiter$q(this, void 0, void 0, function* () {
1750
+ return __awaiter$s(this, void 0, void 0, function* () {
1752
1751
  if (!this.parent)
1753
1752
  return null;
1754
1753
  yield this.parent.setMessage(message);
1755
1754
  });
1756
1755
  }
1757
1756
  setError(error) {
1758
- return __awaiter$q(this, void 0, void 0, function* () {
1757
+ return __awaiter$s(this, void 0, void 0, function* () {
1759
1758
  if (!this.parent)
1760
1759
  return null;
1761
1760
  yield this.parent.setError(error);
1762
1761
  });
1763
1762
  }
1764
1763
  advance(value = 1) {
1765
- return __awaiter$q(this, void 0, void 0, function* () {
1764
+ return __awaiter$s(this, void 0, void 0, function* () {
1766
1765
  if (isNaN(value) || value <= 0) {
1767
1766
  throw "Advance value must be bigger than zero";
1768
1767
  }
@@ -1771,14 +1770,14 @@ class SubProgress {
1771
1770
  });
1772
1771
  }
1773
1772
  cancel() {
1774
- return __awaiter$q(this, void 0, void 0, function* () {
1773
+ return __awaiter$s(this, void 0, void 0, function* () {
1775
1774
  if (!this.parent)
1776
1775
  return null;
1777
1776
  yield this.parent.cancel();
1778
1777
  });
1779
1778
  }
1780
1779
  save() {
1781
- return __awaiter$q(this, void 0, void 0, function* () {
1780
+ return __awaiter$s(this, void 0, void 0, function* () {
1782
1781
  const ratio = this.max > 0 ? this.mCurrent / this.max : 0;
1783
1782
  const newProgress = this.progressFrom + Math.round(this.progressValue * ratio);
1784
1783
  const current = this.parent.current;
@@ -1788,7 +1787,7 @@ class SubProgress {
1788
1787
  });
1789
1788
  }
1790
1789
  load() {
1791
- return __awaiter$q(this, void 0, void 0, function* () {
1790
+ return __awaiter$s(this, void 0, void 0, function* () {
1792
1791
  return null;
1793
1792
  });
1794
1793
  }
@@ -1797,16 +1796,16 @@ class SubProgress {
1797
1796
  }
1798
1797
  }
1799
1798
 
1800
- var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
1799
+ var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
1801
1800
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1802
1801
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1803
1802
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1804
1803
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1805
1804
  };
1806
- var __metadata$p = (this && this.__metadata) || function (k, v) {
1805
+ var __metadata$q = (this && this.__metadata) || function (k, v) {
1807
1806
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1808
1807
  };
1809
- var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1808
+ var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1810
1809
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1811
1810
  return new (P || (P = Promise))(function (resolve, reject) {
1812
1811
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1827,9 +1826,9 @@ let Progresses = class Progresses {
1827
1826
  });
1828
1827
  }
1829
1828
  waitToFinish(id) {
1830
- return __awaiter$p(this, void 0, void 0, function* () {
1829
+ return __awaiter$r(this, void 0, void 0, function* () {
1831
1830
  return Promise.race([
1832
- this.waitForProgress(id, () => __awaiter$p(this, void 0, void 0, function* () {
1831
+ this.waitForProgress(id, () => __awaiter$r(this, void 0, void 0, function* () {
1833
1832
  let progress = this.progresses[id];
1834
1833
  if (!progress || progress.percent < 100) {
1835
1834
  progress = yield this.get(id);
@@ -1839,25 +1838,25 @@ let Progresses = class Progresses {
1839
1838
  }
1840
1839
  return progress;
1841
1840
  }), 500),
1842
- this.waitForProgress(id, () => __awaiter$p(this, void 0, void 0, function* () {
1841
+ this.waitForProgress(id, () => __awaiter$r(this, void 0, void 0, function* () {
1843
1842
  return this.progresses[id] || null;
1844
1843
  }), 25)
1845
1844
  ]);
1846
1845
  });
1847
1846
  }
1848
1847
  get(id) {
1849
- return __awaiter$p(this, void 0, void 0, function* () {
1848
+ return __awaiter$r(this, void 0, void 0, function* () {
1850
1849
  return !id ? null : this.find({ _id: new ObjectId$1(id) });
1851
1850
  });
1852
1851
  }
1853
1852
  find(where) {
1854
- return __awaiter$p(this, void 0, void 0, function* () {
1853
+ return __awaiter$r(this, void 0, void 0, function* () {
1855
1854
  const data = yield this.collection.findOne(where);
1856
1855
  return !data ? null : new Progress(data._id, data, this.collection);
1857
1856
  });
1858
1857
  }
1859
1858
  create(max = 100) {
1860
- return __awaiter$p(this, void 0, void 0, function* () {
1859
+ return __awaiter$r(this, void 0, void 0, function* () {
1861
1860
  if (isNaN(max) || max <= 0) {
1862
1861
  throw new Error(`Max progress value must be bigger than zero`);
1863
1862
  }
@@ -1873,13 +1872,13 @@ let Progresses = class Progresses {
1873
1872
  });
1874
1873
  }
1875
1874
  remove(id) {
1876
- return __awaiter$p(this, void 0, void 0, function* () {
1875
+ return __awaiter$r(this, void 0, void 0, function* () {
1877
1876
  yield this.collection.deleteOne({ _id: new ObjectId$1(id) });
1878
1877
  return id;
1879
1878
  });
1880
1879
  }
1881
1880
  waitForProgress(id, cb, delay) {
1882
- return __awaiter$p(this, void 0, void 0, function* () {
1881
+ return __awaiter$r(this, void 0, void 0, function* () {
1883
1882
  let isFinished = false;
1884
1883
  let progress = null;
1885
1884
  let waitTime = 0;
@@ -1903,22 +1902,21 @@ let Progresses = class Progresses {
1903
1902
  });
1904
1903
  }
1905
1904
  };
1906
- Progresses = __decorate$v([
1907
- injectable(),
1905
+ Progresses = __decorate$w([
1908
1906
  singleton(),
1909
- __metadata$p("design:paramtypes", [MongoConnector, JobManager])
1907
+ __metadata$q("design:paramtypes", [MongoConnector, JobManager])
1910
1908
  ], Progresses);
1911
1909
 
1912
- var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
1910
+ var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
1913
1911
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1914
1912
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1915
1913
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1916
1914
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1917
1915
  };
1918
- var __metadata$o = (this && this.__metadata) || function (k, v) {
1916
+ var __metadata$p = (this && this.__metadata) || function (k, v) {
1919
1917
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1920
1918
  };
1921
- var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1919
+ var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1922
1920
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1923
1921
  return new (P || (P = Promise))(function (resolve, reject) {
1924
1922
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1937,7 +1935,7 @@ let LazyAssets = class LazyAssets {
1937
1935
  this.collection = connector.database.collection("lazyassets");
1938
1936
  }
1939
1937
  create(jobType, jobParams = {}, jobQue = "main") {
1940
- return __awaiter$o(this, void 0, void 0, function* () {
1938
+ return __awaiter$q(this, void 0, void 0, function* () {
1941
1939
  const jobName = this.jobMan.tryResolve(jobType, Object.assign(Object.assign({}, jobParams), { lazyId: "" }));
1942
1940
  const data = {
1943
1941
  jobName,
@@ -1952,12 +1950,12 @@ let LazyAssets = class LazyAssets {
1952
1950
  });
1953
1951
  }
1954
1952
  read(id) {
1955
- return __awaiter$o(this, void 0, void 0, function* () {
1953
+ return __awaiter$q(this, void 0, void 0, function* () {
1956
1954
  return !id ? null : this.find({ _id: new ObjectId$1(id) });
1957
1955
  });
1958
1956
  }
1959
1957
  find(where) {
1960
- return __awaiter$o(this, void 0, void 0, function* () {
1958
+ return __awaiter$q(this, void 0, void 0, function* () {
1961
1959
  const data = yield this.collection.findOne(where);
1962
1960
  return !data
1963
1961
  ? null
@@ -1965,7 +1963,7 @@ let LazyAssets = class LazyAssets {
1965
1963
  });
1966
1964
  }
1967
1965
  unlink(id) {
1968
- return __awaiter$o(this, void 0, void 0, function* () {
1966
+ return __awaiter$q(this, void 0, void 0, function* () {
1969
1967
  const asset = yield this.read(id);
1970
1968
  if (!asset)
1971
1969
  return null;
@@ -1973,26 +1971,26 @@ let LazyAssets = class LazyAssets {
1973
1971
  });
1974
1972
  }
1975
1973
  };
1976
- LazyAssets = __decorate$u([
1974
+ LazyAssets = __decorate$v([
1977
1975
  injectable(),
1978
1976
  scoped(Lifecycle.ContainerScoped),
1979
- __metadata$o("design:paramtypes", [MongoConnector,
1977
+ __metadata$p("design:paramtypes", [MongoConnector,
1980
1978
  Assets,
1981
1979
  Progresses,
1982
1980
  Logger,
1983
1981
  JobManager])
1984
1982
  ], LazyAssets);
1985
1983
 
1986
- var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
1984
+ var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
1987
1985
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1988
1986
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1989
1987
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1990
1988
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1991
1989
  };
1992
- var __metadata$n = (this && this.__metadata) || function (k, v) {
1990
+ var __metadata$o = (this && this.__metadata) || function (k, v) {
1993
1991
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1994
1992
  };
1995
- var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1993
+ var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1996
1994
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1997
1995
  return new (P || (P = Promise))(function (resolve, reject) {
1998
1996
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2007,7 +2005,7 @@ let AssetResolver = class AssetResolver {
2007
2005
  this.lazyAssets = lazyAssets;
2008
2006
  }
2009
2007
  resolve(id, lazy = false) {
2010
- return __awaiter$n(this, void 0, void 0, function* () {
2008
+ return __awaiter$p(this, void 0, void 0, function* () {
2011
2009
  let asset = null;
2012
2010
  if (lazy) {
2013
2011
  const lazyAsset = yield this.lazyAssets.read(id);
@@ -2026,19 +2024,19 @@ let AssetResolver = class AssetResolver {
2026
2024
  });
2027
2025
  }
2028
2026
  };
2029
- AssetResolver = __decorate$t([
2027
+ AssetResolver = __decorate$u([
2030
2028
  injectable(),
2031
2029
  scoped(Lifecycle.ContainerScoped),
2032
- __metadata$n("design:paramtypes", [Assets, LazyAssets])
2030
+ __metadata$o("design:paramtypes", [Assets, LazyAssets])
2033
2031
  ], AssetResolver);
2034
2032
 
2035
- var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
2033
+ var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
2036
2034
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2037
2035
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2038
2036
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2039
2037
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2040
2038
  };
2041
- var __metadata$m = (this && this.__metadata) || function (k, v) {
2039
+ var __metadata$n = (this && this.__metadata) || function (k, v) {
2042
2040
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2043
2041
  };
2044
2042
  const express = express_;
@@ -2054,19 +2052,18 @@ let BackendProvider = class BackendProvider {
2054
2052
  return this.ioServer;
2055
2053
  }
2056
2054
  };
2057
- BackendProvider = __decorate$s([
2058
- injectable(),
2055
+ BackendProvider = __decorate$t([
2059
2056
  singleton(),
2060
- __metadata$m("design:paramtypes", [])
2057
+ __metadata$n("design:paramtypes", [])
2061
2058
  ], BackendProvider);
2062
2059
 
2063
- var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
2060
+ var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
2064
2061
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2065
2062
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2066
2063
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2067
2064
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2068
2065
  };
2069
- var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2066
+ var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2070
2067
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2071
2068
  return new (P || (P = Promise))(function (resolve, reject) {
2072
2069
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2077,31 +2074,31 @@ var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P,
2077
2074
  };
2078
2075
  let CacheProcessor = class CacheProcessor {
2079
2076
  serialize(data) {
2080
- return __awaiter$m(this, void 0, void 0, function* () {
2077
+ return __awaiter$o(this, void 0, void 0, function* () {
2081
2078
  return data;
2082
2079
  });
2083
2080
  }
2084
2081
  deserialize(data) {
2085
- return __awaiter$m(this, void 0, void 0, function* () {
2082
+ return __awaiter$o(this, void 0, void 0, function* () {
2086
2083
  return data;
2087
2084
  });
2088
2085
  }
2089
2086
  };
2090
- CacheProcessor = __decorate$r([
2087
+ CacheProcessor = __decorate$s([
2091
2088
  injectable(),
2092
2089
  scoped(Lifecycle.ContainerScoped)
2093
2090
  ], CacheProcessor);
2094
2091
 
2095
- var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
2092
+ var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
2096
2093
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2097
2094
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2098
2095
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2099
2096
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2100
2097
  };
2101
- var __metadata$l = (this && this.__metadata) || function (k, v) {
2098
+ var __metadata$m = (this && this.__metadata) || function (k, v) {
2102
2099
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2103
2100
  };
2104
- var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2101
+ var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2105
2102
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2106
2103
  return new (P || (P = Promise))(function (resolve, reject) {
2107
2104
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2117,7 +2114,7 @@ let Cache = class Cache {
2117
2114
  this.cacheProcessor = cacheProcessor;
2118
2115
  }
2119
2116
  prepare() {
2120
- return __awaiter$l(this, void 0, void 0, function* () {
2117
+ return __awaiter$n(this, void 0, void 0, function* () {
2121
2118
  if (this.collection)
2122
2119
  return;
2123
2120
  if (!this.connector.database) {
@@ -2128,7 +2125,7 @@ let Cache = class Cache {
2128
2125
  });
2129
2126
  }
2130
2127
  set(key, value, ttl, expirationTimestamp = null, tags = {}) {
2131
- return __awaiter$l(this, void 0, void 0, function* () {
2128
+ return __awaiter$n(this, void 0, void 0, function* () {
2132
2129
  yield this.prepare();
2133
2130
  const item = {
2134
2131
  _id: key,
@@ -2145,7 +2142,7 @@ let Cache = class Cache {
2145
2142
  });
2146
2143
  }
2147
2144
  get(key) {
2148
- return __awaiter$l(this, void 0, void 0, function* () {
2145
+ return __awaiter$n(this, void 0, void 0, function* () {
2149
2146
  yield this.prepare();
2150
2147
  let item = yield this.collection.findOne({ _id: key });
2151
2148
  const now = Math.round(new Date().getTime() / 1000);
@@ -2159,7 +2156,7 @@ let Cache = class Cache {
2159
2156
  });
2160
2157
  }
2161
2158
  getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
2162
- return __awaiter$l(this, void 0, void 0, function* () {
2159
+ return __awaiter$n(this, void 0, void 0, function* () {
2163
2160
  try {
2164
2161
  return yield this.get(key);
2165
2162
  }
@@ -2169,25 +2166,24 @@ let Cache = class Cache {
2169
2166
  });
2170
2167
  }
2171
2168
  delete(key) {
2172
- return __awaiter$l(this, void 0, void 0, function* () {
2169
+ return __awaiter$n(this, void 0, void 0, function* () {
2173
2170
  yield this.prepare();
2174
2171
  yield this.collection.deleteOne({ _id: key });
2175
2172
  });
2176
2173
  }
2177
2174
  };
2178
- Cache = __decorate$q([
2179
- injectable(),
2180
- scoped(Lifecycle.ContainerScoped),
2181
- __metadata$l("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
2175
+ Cache = __decorate$r([
2176
+ singleton(),
2177
+ __metadata$m("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
2182
2178
  ], Cache);
2183
2179
 
2184
- var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
2180
+ var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
2185
2181
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2186
2182
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2187
2183
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2188
2184
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2189
2185
  };
2190
- var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2186
+ var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2191
2187
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2192
2188
  return new (P || (P = Promise))(function (resolve, reject) {
2193
2189
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2198,29 +2194,29 @@ var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P,
2198
2194
  };
2199
2195
  let EndpointProvider = class EndpointProvider {
2200
2196
  configure(app) {
2201
- return __awaiter$k(this, void 0, void 0, function* () {
2197
+ return __awaiter$m(this, void 0, void 0, function* () {
2202
2198
  console.log(`Express app is mounted to: ${app.mountpath}`);
2203
2199
  });
2204
2200
  }
2205
2201
  };
2206
- EndpointProvider = __decorate$p([
2202
+ EndpointProvider = __decorate$q([
2207
2203
  injectable(),
2208
2204
  scoped(Lifecycle.ContainerScoped)
2209
2205
  ], EndpointProvider);
2210
2206
 
2211
- var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
2207
+ var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
2212
2208
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2213
2209
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2214
2210
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2215
2211
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2216
2212
  };
2217
- var __metadata$k = (this && this.__metadata) || function (k, v) {
2213
+ var __metadata$l = (this && this.__metadata) || function (k, v) {
2218
2214
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2219
2215
  };
2220
2216
  var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
2221
2217
  return function (target, key) { decorator(target, key, paramIndex); }
2222
2218
  };
2223
- var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2219
+ var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2224
2220
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2225
2221
  return new (P || (P = Promise))(function (resolve, reject) {
2226
2222
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2234,7 +2230,7 @@ let Fixtures = class Fixtures {
2234
2230
  this.fixtures = fixtures;
2235
2231
  }
2236
2232
  load() {
2237
- return __awaiter$j(this, void 0, void 0, function* () {
2233
+ return __awaiter$l(this, void 0, void 0, function* () {
2238
2234
  if (!this.fixtures)
2239
2235
  return;
2240
2236
  for (let fixture of this.fixtures) {
@@ -2243,14 +2239,14 @@ let Fixtures = class Fixtures {
2243
2239
  });
2244
2240
  }
2245
2241
  };
2246
- Fixtures = __decorate$o([
2242
+ Fixtures = __decorate$p([
2247
2243
  injectable(),
2248
2244
  scoped(Lifecycle.ContainerScoped),
2249
2245
  __param$7(0, injectAll(FIXTURE)),
2250
- __metadata$k("design:paramtypes", [Array])
2246
+ __metadata$l("design:paramtypes", [Array])
2251
2247
  ], Fixtures);
2252
2248
 
2253
- var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2249
+ var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2254
2250
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2255
2251
  return new (P || (P = Promise))(function (resolve, reject) {
2256
2252
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2271,7 +2267,7 @@ class GalleryImage {
2271
2267
  this.targetSize = !size ? { width: thumbSize, height: thumbSize } : size;
2272
2268
  }
2273
2269
  serve(id) {
2274
- return __awaiter$i(this, void 0, void 0, function* () {
2270
+ return __awaiter$k(this, void 0, void 0, function* () {
2275
2271
  const isThumb = id == this.thumb;
2276
2272
  if (yield this.handler.hasResult(isThumb)) {
2277
2273
  return this.handler.serveResult(isThumb);
@@ -2296,13 +2292,13 @@ class GalleryImage {
2296
2292
  }
2297
2293
  }
2298
2294
 
2299
- var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
2295
+ var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
2300
2296
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2301
2297
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2302
2298
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2303
2299
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2304
2300
  };
2305
- var __metadata$j = (this && this.__metadata) || function (k, v) {
2301
+ var __metadata$k = (this && this.__metadata) || function (k, v) {
2306
2302
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2307
2303
  };
2308
2304
  let GalleryCache = class GalleryCache {
@@ -2323,22 +2319,22 @@ let GalleryCache = class GalleryCache {
2323
2319
  return image;
2324
2320
  }
2325
2321
  };
2326
- GalleryCache = __decorate$n([
2322
+ GalleryCache = __decorate$o([
2327
2323
  injectable(),
2328
2324
  scoped(Lifecycle.ContainerScoped),
2329
- __metadata$j("design:paramtypes", [])
2325
+ __metadata$k("design:paramtypes", [])
2330
2326
  ], GalleryCache);
2331
2327
 
2332
- var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
2328
+ var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
2333
2329
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2334
2330
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2335
2331
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2336
2332
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2337
2333
  };
2338
- var __metadata$i = (this && this.__metadata) || function (k, v) {
2334
+ var __metadata$j = (this && this.__metadata) || function (k, v) {
2339
2335
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2340
2336
  };
2341
- var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2337
+ var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2342
2338
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2343
2339
  return new (P || (P = Promise))(function (resolve, reject) {
2344
2340
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2357,7 +2353,7 @@ let Gallery = class Gallery {
2357
2353
  this.output = join(this.config.resolve("cacheDir"), "gallery");
2358
2354
  }
2359
2355
  getFolder(folder, size = null) {
2360
- return __awaiter$h(this, void 0, void 0, function* () {
2356
+ return __awaiter$j(this, void 0, void 0, function* () {
2361
2357
  this.cache[folder] = this.cache[folder] || new Promise(resolve => {
2362
2358
  lstat(join(this.dir, folder), (err, stats) => {
2363
2359
  if (err || !stats.isDirectory()) {
@@ -2378,7 +2374,7 @@ let Gallery = class Gallery {
2378
2374
  return;
2379
2375
  }
2380
2376
  const promises = files.map(file => {
2381
- return new Promise((resolve) => __awaiter$h(this, void 0, void 0, function* () {
2377
+ return new Promise((resolve) => __awaiter$j(this, void 0, void 0, function* () {
2382
2378
  const filePath = join(path, file);
2383
2379
  const absoluteFilePath = join(this.dir, filePath);
2384
2380
  lstat(absoluteFilePath, (err, stats) => {
@@ -2411,7 +2407,7 @@ let Gallery = class Gallery {
2411
2407
  });
2412
2408
  },
2413
2409
  writeResult: (isThumb, buffer) => {
2414
- return new Promise((res, rej) => __awaiter$h(this, void 0, void 0, function* () {
2410
+ return new Promise((res, rej) => __awaiter$j(this, void 0, void 0, function* () {
2415
2411
  const resultPath = getResultPath(isThumb);
2416
2412
  yield mkdirRecursive(dirname(resultPath));
2417
2413
  writeFile$1(resultPath, buffer, err => {
@@ -2453,22 +2449,22 @@ let Gallery = class Gallery {
2453
2449
  });
2454
2450
  }
2455
2451
  };
2456
- Gallery = __decorate$m([
2452
+ Gallery = __decorate$n([
2457
2453
  injectable(),
2458
2454
  scoped(Lifecycle.ContainerScoped),
2459
- __metadata$i("design:paramtypes", [Configuration, GalleryCache])
2455
+ __metadata$j("design:paramtypes", [Configuration, GalleryCache])
2460
2456
  ], Gallery);
2461
2457
 
2462
- var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
2458
+ var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
2463
2459
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2464
2460
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2465
2461
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2466
2462
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2467
2463
  };
2468
- var __metadata$h = (this && this.__metadata) || function (k, v) {
2464
+ var __metadata$i = (this && this.__metadata) || function (k, v) {
2469
2465
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2470
2466
  };
2471
- var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2467
+ var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2472
2468
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2473
2469
  return new (P || (P = Promise))(function (resolve, reject) {
2474
2470
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2486,7 +2482,7 @@ let IdGenerator = class IdGenerator {
2486
2482
  this.parts = config.resolve("idParts");
2487
2483
  }
2488
2484
  generate(checkCb) {
2489
- return __awaiter$g(this, void 0, void 0, function* () {
2485
+ return __awaiter$i(this, void 0, void 0, function* () {
2490
2486
  let id = null;
2491
2487
  let tries = 0;
2492
2488
  let notGood = true;
@@ -2512,49 +2508,70 @@ let IdGenerator = class IdGenerator {
2512
2508
  }).join(this.separator);
2513
2509
  }
2514
2510
  };
2515
- IdGenerator = __decorate$l([
2511
+ IdGenerator = __decorate$m([
2516
2512
  injectable(),
2517
2513
  scoped(Lifecycle.ContainerScoped),
2518
- __metadata$h("design:paramtypes", [Configuration])
2514
+ __metadata$i("design:paramtypes", [Configuration])
2519
2515
  ], IdGenerator);
2520
2516
 
2521
- var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
2517
+ var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
2522
2518
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2523
2519
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2524
2520
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2525
2521
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2526
2522
  };
2527
- var __metadata$g = (this && this.__metadata) || function (k, v) {
2523
+ var __metadata$h = (this && this.__metadata) || function (k, v) {
2528
2524
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2529
2525
  };
2526
+ var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2527
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2528
+ return new (P || (P = Promise))(function (resolve, reject) {
2529
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2530
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2531
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2532
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2533
+ });
2534
+ };
2530
2535
  let TranslationProvider = class TranslationProvider {
2531
- constructor(config) {
2536
+ constructor(config, cache) {
2532
2537
  this.config = config;
2533
- this.cache = {};
2538
+ this.cache = cache;
2534
2539
  }
2535
2540
  getDictionary(language) {
2536
- this.cache[language] = this.cache[language] || axios.get(this.config.resolve("translationsTemplate").replace(`[lang]`, language)).then(r => r.data, reason => ({
2537
- message: reason
2538
- }));
2539
- return this.cache[language];
2541
+ return this.cache.getOrSet(`translations-${language}`, () => __awaiter$h(this, void 0, void 0, function* () {
2542
+ try {
2543
+ const url = this.config.resolve("translationsTemplate")
2544
+ .replace(`__lang__`, language)
2545
+ .replace(`[lang]`, language);
2546
+ const data = yield axios.get(url).then(t => t.data);
2547
+ if (isObject(data[language])) {
2548
+ return data[language];
2549
+ }
2550
+ return data;
2551
+ }
2552
+ catch (e) {
2553
+ return {
2554
+ message: `${e}`
2555
+ };
2556
+ }
2557
+ }), 5 * 60);
2540
2558
  }
2541
2559
  };
2542
- TranslationProvider = __decorate$k([
2543
- injectable(),
2560
+ TranslationProvider = __decorate$l([
2544
2561
  singleton(),
2545
- __metadata$g("design:paramtypes", [Configuration])
2562
+ __metadata$h("design:paramtypes", [Configuration, Cache])
2546
2563
  ], TranslationProvider);
2547
2564
 
2548
- var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
2565
+ var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
2549
2566
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2550
2567
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2551
2568
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2552
2569
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2553
2570
  };
2554
- var __metadata$f = (this && this.__metadata) || function (k, v) {
2571
+ var __metadata$g = (this && this.__metadata) || function (k, v) {
2555
2572
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2556
2573
  };
2557
- var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2574
+ var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2558
2575
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2559
2576
  return new (P || (P = Promise))(function (resolve, reject) {
2560
2577
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2569,7 +2586,7 @@ let Translator = class Translator {
2569
2586
  this.cache = {};
2570
2587
  }
2571
2588
  getDictionary(language) {
2572
- return __awaiter$f(this, void 0, void 0, function* () {
2589
+ return __awaiter$g(this, void 0, void 0, function* () {
2573
2590
  const dictionary = yield this.translationProvider.getDictionary(language);
2574
2591
  this.cache[language] = dictionary;
2575
2592
  return dictionary;
@@ -2620,22 +2637,22 @@ let Translator = class Translator {
2620
2637
  });
2621
2638
  }
2622
2639
  };
2623
- Translator = __decorate$j([
2640
+ Translator = __decorate$k([
2624
2641
  injectable(),
2625
2642
  singleton(),
2626
- __metadata$f("design:paramtypes", [TranslationProvider])
2643
+ __metadata$g("design:paramtypes", [TranslationProvider])
2627
2644
  ], Translator);
2628
2645
 
2629
- var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
2646
+ var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
2630
2647
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2631
2648
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2632
2649
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2633
2650
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2634
2651
  };
2635
- var __metadata$e = (this && this.__metadata) || function (k, v) {
2652
+ var __metadata$f = (this && this.__metadata) || function (k, v) {
2636
2653
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2637
2654
  };
2638
- var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2655
+ var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2639
2656
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2640
2657
  return new (P || (P = Promise))(function (resolve, reject) {
2641
2658
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2667,9 +2684,9 @@ let TemplateRenderer = class TemplateRenderer {
2667
2684
  return this.initPromise;
2668
2685
  }
2669
2686
  parseTemplates(dir, dirPath) {
2670
- return __awaiter$e(this, void 0, void 0, function* () {
2687
+ return __awaiter$f(this, void 0, void 0, function* () {
2671
2688
  return new Promise(resolve => {
2672
- readdir(dir, (err, files) => __awaiter$e(this, void 0, void 0, function* () {
2689
+ readdir(dir, (err, files) => __awaiter$f(this, void 0, void 0, function* () {
2673
2690
  for (let file of files) {
2674
2691
  const path = join(dir, file);
2675
2692
  if (lstatSync(path).isDirectory()) {
@@ -2690,7 +2707,7 @@ let TemplateRenderer = class TemplateRenderer {
2690
2707
  });
2691
2708
  }
2692
2709
  render(template, language, context) {
2693
- return __awaiter$e(this, void 0, void 0, function* () {
2710
+ return __awaiter$f(this, void 0, void 0, function* () {
2694
2711
  yield this.init();
2695
2712
  yield this.translator.getDictionary(language);
2696
2713
  if (!this.templates[template]) {
@@ -2702,22 +2719,22 @@ let TemplateRenderer = class TemplateRenderer {
2702
2719
  });
2703
2720
  }
2704
2721
  };
2705
- TemplateRenderer = __decorate$i([
2722
+ TemplateRenderer = __decorate$j([
2706
2723
  injectable(),
2707
2724
  singleton(),
2708
- __metadata$e("design:paramtypes", [Translator, Configuration])
2725
+ __metadata$f("design:paramtypes", [Translator, Configuration])
2709
2726
  ], TemplateRenderer);
2710
2727
 
2711
- var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
2728
+ var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
2712
2729
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2713
2730
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2714
2731
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2715
2732
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2716
2733
  };
2717
- var __metadata$d = (this && this.__metadata) || function (k, v) {
2734
+ var __metadata$e = (this && this.__metadata) || function (k, v) {
2718
2735
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2719
2736
  };
2720
- var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2737
+ var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2721
2738
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2722
2739
  return new (P || (P = Promise))(function (resolve, reject) {
2723
2740
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2743,7 +2760,7 @@ let MailSender = class MailSender {
2743
2760
  return this.renderer.translator;
2744
2761
  }
2745
2762
  sendMail(language, options) {
2746
- return __awaiter$d(this, void 0, void 0, function* () {
2763
+ return __awaiter$e(this, void 0, void 0, function* () {
2747
2764
  const subject = yield this.translator.getTranslation(language, options.subject || "-");
2748
2765
  const html = yield this.renderer.render(options.template, language, options.context);
2749
2766
  return this.transporter.sendMail({
@@ -2756,22 +2773,21 @@ let MailSender = class MailSender {
2756
2773
  });
2757
2774
  }
2758
2775
  };
2759
- MailSender = __decorate$h([
2760
- injectable(),
2776
+ MailSender = __decorate$i([
2761
2777
  singleton(),
2762
- __metadata$d("design:paramtypes", [Configuration, TemplateRenderer])
2778
+ __metadata$e("design:paramtypes", [Configuration, TemplateRenderer])
2763
2779
  ], MailSender);
2764
2780
 
2765
- var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
2781
+ var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
2766
2782
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2767
2783
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2768
2784
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2769
2785
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2770
2786
  };
2771
- var __metadata$c = (this && this.__metadata) || function (k, v) {
2787
+ var __metadata$d = (this && this.__metadata) || function (k, v) {
2772
2788
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2773
2789
  };
2774
- var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2790
+ var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2775
2791
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2776
2792
  return new (P || (P = Promise))(function (resolve, reject) {
2777
2793
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2786,7 +2802,7 @@ let MemoryCache = class MemoryCache {
2786
2802
  this.cacheMap = new Map();
2787
2803
  }
2788
2804
  set(key, value, ttl, expirationTimestamp = null, tags = {}) {
2789
- return __awaiter$c(this, void 0, void 0, function* () {
2805
+ return __awaiter$d(this, void 0, void 0, function* () {
2790
2806
  const now = Math.round(new Date().getTime() / 1000);
2791
2807
  const expTimestamp = Math.min(isNaN(ttl) ? Number.MAX_SAFE_INTEGER : ttl, 3600);
2792
2808
  this.cacheMap.set(key, {
@@ -2799,7 +2815,7 @@ let MemoryCache = class MemoryCache {
2799
2815
  });
2800
2816
  }
2801
2817
  get(key) {
2802
- return __awaiter$c(this, void 0, void 0, function* () {
2818
+ return __awaiter$d(this, void 0, void 0, function* () {
2803
2819
  let item = this.cacheMap.get(key);
2804
2820
  const now = Math.round(new Date().getTime() / 1000);
2805
2821
  let expTimestamp = 3600;
@@ -2821,7 +2837,7 @@ let MemoryCache = class MemoryCache {
2821
2837
  });
2822
2838
  }
2823
2839
  getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
2824
- return __awaiter$c(this, void 0, void 0, function* () {
2840
+ return __awaiter$d(this, void 0, void 0, function* () {
2825
2841
  try {
2826
2842
  return yield this.get(key);
2827
2843
  }
@@ -2831,19 +2847,19 @@ let MemoryCache = class MemoryCache {
2831
2847
  });
2832
2848
  }
2833
2849
  delete(key) {
2834
- return __awaiter$c(this, void 0, void 0, function* () {
2850
+ return __awaiter$d(this, void 0, void 0, function* () {
2835
2851
  this.cacheMap.delete(key);
2836
2852
  yield this.cacheMap.delete(key);
2837
2853
  });
2838
2854
  }
2839
2855
  };
2840
- MemoryCache = __decorate$g([
2856
+ MemoryCache = __decorate$h([
2841
2857
  injectable(),
2842
2858
  scoped(Lifecycle.ContainerScoped),
2843
- __metadata$c("design:paramtypes", [Cache])
2859
+ __metadata$d("design:paramtypes", [Cache])
2844
2860
  ], MemoryCache);
2845
2861
 
2846
- var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
2862
+ var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
2847
2863
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2848
2864
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2849
2865
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2877,7 +2893,7 @@ let IsFile = class IsFile {
2877
2893
  return checkValue(multi, value);
2878
2894
  }
2879
2895
  };
2880
- IsFile = __decorate$f([
2896
+ IsFile = __decorate$g([
2881
2897
  ValidatorConstraint()
2882
2898
  ], IsFile);
2883
2899
  let IsObjectId = class IsObjectId {
@@ -2886,23 +2902,23 @@ let IsObjectId = class IsObjectId {
2886
2902
  return checkValue(multi, value);
2887
2903
  }
2888
2904
  };
2889
- IsObjectId = __decorate$f([
2905
+ IsObjectId = __decorate$g([
2890
2906
  ValidatorConstraint()
2891
2907
  ], IsObjectId);
2892
2908
 
2893
- var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
2909
+ var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
2894
2910
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2895
2911
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2896
2912
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2897
2913
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2898
2914
  };
2899
- var __metadata$b = (this && this.__metadata) || function (k, v) {
2915
+ var __metadata$c = (this && this.__metadata) || function (k, v) {
2900
2916
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2901
2917
  };
2902
2918
  var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
2903
2919
  return function (target, key) { decorator(target, key, paramIndex); }
2904
2920
  };
2905
- var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2921
+ var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2906
2922
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2907
2923
  return new (P || (P = Promise))(function (resolve, reject) {
2908
2924
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2929,10 +2945,13 @@ let OpenApi = class OpenApi {
2929
2945
  }
2930
2946
  schemaToExample(src, req) {
2931
2947
  var _a, _b, _c;
2932
- return __awaiter$b(this, void 0, void 0, function* () {
2948
+ return __awaiter$c(this, void 0, void 0, function* () {
2933
2949
  if (src.$ref) {
2934
2950
  const schemas = this.apiDocs.components.schemas;
2935
- return this.schemaToExample(schemas[src.$ref.replace("#/components/schemas/", "")], req);
2951
+ const schema = src.$ref
2952
+ .replace("#/components/schemas/", "")
2953
+ .replace("#/definitions/", "");
2954
+ return this.schemaToExample(schemas[schema], req);
2936
2955
  }
2937
2956
  let schema = src;
2938
2957
  if (schema.oneOf) {
@@ -2940,7 +2959,7 @@ let OpenApi = class OpenApi {
2940
2959
  }
2941
2960
  if (schema.type === "object") {
2942
2961
  const result = {};
2943
- yield Promise.all(Object.keys(schema.properties).map((key) => __awaiter$b(this, void 0, void 0, function* () {
2962
+ yield Promise.all(Object.keys(schema.properties).map((key) => __awaiter$c(this, void 0, void 0, function* () {
2944
2963
  result[key] = yield this.schemaToExample(schema.properties[key], req);
2945
2964
  })));
2946
2965
  return result;
@@ -3010,13 +3029,65 @@ let OpenApi = class OpenApi {
3010
3029
  return docs;
3011
3030
  }
3012
3031
  };
3013
- OpenApi = __decorate$e([
3032
+ OpenApi = __decorate$f([
3014
3033
  singleton(),
3015
3034
  __param$6(0, inject(DI_CONTAINER)),
3016
3035
  __param$6(1, inject(OPENAPI_VALIDATION)),
3017
- __metadata$b("design:paramtypes", [Object, Object])
3036
+ __metadata$c("design:paramtypes", [Object, Object])
3018
3037
  ], OpenApi);
3019
3038
 
3039
+ var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
3040
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3041
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3042
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3043
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3044
+ };
3045
+ var __metadata$b = (this && this.__metadata) || function (k, v) {
3046
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3047
+ };
3048
+ var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3049
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3050
+ return new (P || (P = Promise))(function (resolve, reject) {
3051
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
3052
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
3053
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
3054
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
3055
+ });
3056
+ };
3057
+ let TokenGenerator = class TokenGenerator {
3058
+ constructor() {
3059
+ this.chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
3060
+ }
3061
+ generate(checkCb) {
3062
+ return __awaiter$b(this, void 0, void 0, function* () {
3063
+ let token = null;
3064
+ let tries = 0;
3065
+ let notGood = true;
3066
+ while (notGood && tries < 5) {
3067
+ token = this.generateToken();
3068
+ notGood = yield checkCb(token);
3069
+ tries++;
3070
+ }
3071
+ if (notGood) {
3072
+ throw new Error(`Couldn't generate an unique token..`);
3073
+ }
3074
+ return token;
3075
+ });
3076
+ }
3077
+ generateToken() {
3078
+ let s = "";
3079
+ for (let i = 0; i < 15; i++) {
3080
+ const ix = rand(0, this.chars.length - 1);
3081
+ s += this.chars[ix];
3082
+ }
3083
+ return s;
3084
+ }
3085
+ };
3086
+ TokenGenerator = __decorate$e([
3087
+ singleton(),
3088
+ __metadata$b("design:paramtypes", [])
3089
+ ], TokenGenerator);
3090
+
3020
3091
  var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
3021
3092
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3022
3093
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -4420,6 +4491,7 @@ function createServices() {
4420
4491
  OpenApi,
4421
4492
  Progresses,
4422
4493
  TemplateRenderer,
4494
+ TokenGenerator,
4423
4495
  TranslationProvider,
4424
4496
  Translator,
4425
4497
  UserManager
@@ -4603,5 +4675,5 @@ function setupBackend(config, providers, parent) {
4603
4675
  * Generated bundle index. Do not edit.
4604
4676
  */
4605
4677
 
4606
- export { AssetImageParams, AssetProcessor, AssetResolver, Assets, AuthController, BackendProvider, BaseDoc, Cache, CacheProcessor, Configuration, ConsoleColor, DI_CONTAINER, DocumentArray, EXPRESS, EndpointProvider, ErrorHandlerMiddleware, FIXTURE, Fixtures, Gallery, GalleryCache, GalleryController, HTTP_SERVER, IdGenerator, IsDocumented, IsFile, IsObjectId, JOB, JobManager, JsonResponse, LanguageMiddleware, LazyAssetGenerator, LazyAssets, MailSender, MemoryCache, MongoConnector, OPENAPI_VALIDATION, OpenApi, PARAMETER, Parameter, PrimitiveArray, Progresses, ResolveEntity, ResponseType, SOCKET_SERVER, TemplateRenderer, TranslationProvider, Translator, Type, UserManager, assign, broadcast, bufferToStream, colorize, convertValue, copy, copyStream, createIdString, createServices, createTransformer, deleteFile, deleteFromBucket, filter, firstItem, flatten, getConstructorName, getExtension, getFileName, getFunctionParams, getType, getValue, groupBy, hydratePopulated, idToString, injectServices, isArray, isBoolean, isConstructor, isDate, isDefined, isFunction, isInterface, isNullOrUndefined, isObject, isObjectId, isPrimitive, isString, isType, jsonHighlight, lastItem, lcFirst, letsLookupStage, lookupStages, matchField, matchFieldStages, matchStage, md5, mkdirRecursive, multiSubscription, observableFromFunction, padLeft, padRight, paginate, paginateAggregations, projectStage, promiseTimeout, rand, random, readAndDeleteFile, readFile, regroup, replaceSpecialChars, resolveUser, runCommand, service, setupBackend, streamToBuffer, toImage, ucFirst, uniqueItems, unwindStage, valueToPromise, writeFile, Logger as ɵa };
4678
+ export { AssetImageParams, AssetProcessor, AssetResolver, Assets, AuthController, BackendProvider, BaseDoc, Cache, CacheProcessor, Configuration, ConsoleColor, DI_CONTAINER, DocumentArray, EXPRESS, EndpointProvider, ErrorHandlerMiddleware, FIXTURE, Fixtures, Gallery, GalleryCache, GalleryController, HTTP_SERVER, IdGenerator, IsDocumented, IsFile, IsObjectId, JOB, JobManager, JsonResponse, LanguageMiddleware, LazyAssetGenerator, LazyAssets, MailSender, MemoryCache, MongoConnector, OPENAPI_VALIDATION, OpenApi, PARAMETER, Parameter, PrimitiveArray, Progresses, ResolveEntity, ResponseType, SOCKET_SERVER, TemplateRenderer, TokenGenerator, TranslationProvider, Translator, Type, UserManager, assign, broadcast, bufferToStream, colorize, convertValue, copy, copyStream, createIdString, createServices, createTransformer, deleteFile, deleteFromBucket, filter, firstItem, flatten, getConstructorName, getExtension, getFileName, getFunctionParams, getType, getValue, groupBy, hydratePopulated, idToString, injectServices, isArray, isBoolean, isConstructor, isDate, isDefined, isFunction, isInterface, isNullOrUndefined, isObject, isObjectId, isPrimitive, isString, isType, jsonHighlight, lastItem, lcFirst, letsLookupStage, lookupStages, matchField, matchFieldStages, matchStage, md5, mkdirRecursive, multiSubscription, observableFromFunction, padLeft, padRight, paginate, paginateAggregations, projectStage, promiseTimeout, rand, random, readAndDeleteFile, readFile, regroup, replaceSpecialChars, resolveUser, runCommand, service, setupBackend, streamToBuffer, toImage, ucFirst, uniqueItems, unwindStage, valueToPromise, writeFile, Logger as ɵa };
4607
4679
  //# sourceMappingURL=stemy-backend.js.map