@stemy/backend 2.5.1 → 2.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,4 +1,4 @@
1
- import { dirname, basename, join } from 'path';
1
+ import { dirname, basename, join, resolve } from 'path';
2
2
  import { json } from 'body-parser';
3
3
  import { sign, verify } from 'jsonwebtoken';
4
4
  import { injectable, scoped, Lifecycle, injectAll, singleton, inject, isFactoryProvider, container } from 'tsyringe';
@@ -12,7 +12,7 @@ import { exec } from 'child_process';
12
12
  import { createHash } from 'crypto';
13
13
  import { Subscription, Observable, Subject, from } from 'rxjs';
14
14
  import { canReportError } from 'rxjs/internal/util/canReportError';
15
- import { mkdir, unlink, readFile as readFile$1, writeFile as writeFile$1, lstat, readdir, access, constants, lstatSync, readFileSync } from 'fs';
15
+ import { mkdir, unlink, readFile as readFile$1, writeFile as writeFile$1, lstat, readdir, access, constants, lstatSync, readFileSync, existsSync } from 'fs';
16
16
  import { Types, model, connect } from 'mongoose';
17
17
  import { getValue as getValue$1, setValue } from 'mongoose/lib/utils';
18
18
  import { PassThrough, Readable } from 'stream';
@@ -27,7 +27,7 @@ import { validate, schedule } from 'node-cron';
27
27
  import ioredis from 'ioredis';
28
28
  import socket_io_client from 'socket.io-client';
29
29
  import { createServer } from 'http';
30
- import express_ from 'express';
30
+ import express_, { static as static$1 } from 'express';
31
31
  import socket_io from 'socket.io';
32
32
  import { v4 } from 'uuid';
33
33
  import { createTransport } from 'nodemailer';
@@ -36,7 +36,7 @@ import axios from 'axios';
36
36
  import { compare } from 'bcrypt';
37
37
  import moment from 'moment';
38
38
 
39
- var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
39
+ var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
40
40
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
41
41
  return new (P || (P = Promise))(function (resolve, reject) {
42
42
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -221,7 +221,7 @@ function hydratePopulated(modelType, json) {
221
221
  return object;
222
222
  }
223
223
  function paginateAggregations(model, aggregations, params, metaProjection = {}) {
224
- return __awaiter$s(this, void 0, void 0, function* () {
224
+ return __awaiter$u(this, void 0, void 0, function* () {
225
225
  const sortField = !isString(params.sort) || !params.sort ? null : (params.sort.startsWith("-") ? params.sort.substr(1) : params.sort);
226
226
  const sortAggregation = !sortField ? [] : [{
227
227
  $sort: { [sortField]: sortField == params.sort ? 1 : -1 }
@@ -320,7 +320,7 @@ function readFile(path) {
320
320
  });
321
321
  }
322
322
  function readAndDeleteFile(path, timeout = 5000) {
323
- return __awaiter$s(this, void 0, void 0, function* () {
323
+ return __awaiter$u(this, void 0, void 0, function* () {
324
324
  const data = yield readFile(path);
325
325
  setTimeout(() => {
326
326
  unlink(path, () => {
@@ -330,7 +330,7 @@ function readAndDeleteFile(path, timeout = 5000) {
330
330
  });
331
331
  }
332
332
  function writeFile(path, data) {
333
- return __awaiter$s(this, void 0, void 0, function* () {
333
+ return __awaiter$u(this, void 0, void 0, function* () {
334
334
  yield mkdirRecursive(dirname(path));
335
335
  return new Promise((res, rej) => {
336
336
  writeFile$1(path, data, err => {
@@ -409,7 +409,7 @@ function ResolveEntity(model, extraCheck) {
409
409
  const paramName = modelName.toLowerCase();
410
410
  return createParamDecorator({
411
411
  required: false,
412
- value: (action) => __awaiter$s(this, void 0, void 0, function* () {
412
+ value: (action) => __awaiter$u(this, void 0, void 0, function* () {
413
413
  const req = action.request;
414
414
  const token = req.header(`x-${paramName}-token`);
415
415
  const id = req.params[`${paramName}Id`];
@@ -625,7 +625,7 @@ function runCommand(scriptPath, expectedCode = 0) {
625
625
  });
626
626
  }
627
627
 
628
- var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
628
+ var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
629
629
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
630
630
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
631
631
  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;
@@ -659,7 +659,7 @@ let IsFile = class IsFile {
659
659
  return checkValue(multi, value);
660
660
  }
661
661
  };
662
- IsFile = __decorate$w([
662
+ IsFile = __decorate$x([
663
663
  ValidatorConstraint()
664
664
  ], IsFile);
665
665
  let IsObjectId = class IsObjectId {
@@ -668,7 +668,7 @@ let IsObjectId = class IsObjectId {
668
668
  return checkValue(multi, value);
669
669
  }
670
670
  };
671
- IsObjectId = __decorate$w([
671
+ IsObjectId = __decorate$x([
672
672
  ValidatorConstraint()
673
673
  ], IsObjectId);
674
674
 
@@ -727,13 +727,13 @@ class Parameter {
727
727
  }
728
728
  }
729
729
 
730
- var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
730
+ var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
731
731
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
732
732
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
733
733
  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;
734
734
  return c > 3 && r && Object.defineProperty(target, key, r), r;
735
735
  };
736
- var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
736
+ var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
737
737
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
738
738
  return new (P || (P = Promise))(function (resolve, reject) {
739
739
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -758,7 +758,7 @@ const fontProps = [
758
758
  ];
759
759
  let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
760
760
  static getMimeType(buffer, mimeType) {
761
- return __awaiter$r(this, void 0, void 0, function* () {
761
+ return __awaiter$t(this, void 0, void 0, function* () {
762
762
  try {
763
763
  mimeType = (yield fromBuffer(buffer)).mime;
764
764
  }
@@ -790,7 +790,7 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
790
790
  return imageTypes.indexOf(contentType) >= 0;
791
791
  }
792
792
  static copyImageMeta(buffer, metadata) {
793
- return __awaiter$r(this, void 0, void 0, function* () {
793
+ return __awaiter$t(this, void 0, void 0, function* () {
794
794
  const output = yield sharp$3(buffer).rotate().toBuffer({ resolveWithObject: true });
795
795
  Object.assign(metadata, output.info);
796
796
  return output.data;
@@ -807,7 +807,7 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
807
807
  });
808
808
  }
809
809
  process(buffer, metadata, contentType) {
810
- return __awaiter$r(this, void 0, void 0, function* () {
810
+ return __awaiter$t(this, void 0, void 0, function* () {
811
811
  if (AssetProcessor_1.isImage(contentType)) {
812
812
  buffer = yield AssetProcessor_1.copyImageMeta(buffer, metadata);
813
813
  }
@@ -818,12 +818,12 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
818
818
  });
819
819
  }
820
820
  };
821
- AssetProcessor = AssetProcessor_1 = __decorate$v([
821
+ AssetProcessor = AssetProcessor_1 = __decorate$w([
822
822
  injectable(),
823
823
  scoped(Lifecycle.ContainerScoped)
824
824
  ], AssetProcessor);
825
825
 
826
- var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
826
+ var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
827
827
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
828
828
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
829
829
  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;
@@ -866,14 +866,14 @@ let Configuration = class Configuration {
866
866
  return param.defaultValue;
867
867
  }
868
868
  };
869
- Configuration = __decorate$u([
869
+ Configuration = __decorate$v([
870
870
  injectable(),
871
871
  scoped(Lifecycle.ContainerScoped),
872
872
  __param$8(0, injectAll(PARAMETER)),
873
873
  __metadata$p("design:paramtypes", [Array])
874
874
  ], Configuration);
875
875
 
876
- var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
876
+ var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
877
877
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
878
878
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
879
879
  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;
@@ -882,7 +882,7 @@ var __decorate$t = (this && this.__decorate) || function (decorators, target, ke
882
882
  var __metadata$o = (this && this.__metadata) || function (k, v) {
883
883
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
884
884
  };
885
- var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
885
+ var __awaiter$s = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
886
886
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
887
887
  return new (P || (P = Promise))(function (resolve, reject) {
888
888
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -908,7 +908,7 @@ let MongoConnector = class MongoConnector {
908
908
  return this.fsBucket;
909
909
  }
910
910
  connect() {
911
- return __awaiter$q(this, void 0, void 0, function* () {
911
+ return __awaiter$s(this, void 0, void 0, function* () {
912
912
  if (this.db)
913
913
  return this.db;
914
914
  this.conn = (yield connect(this.configuration.resolve("mongoUri"), {
@@ -923,13 +923,13 @@ let MongoConnector = class MongoConnector {
923
923
  });
924
924
  }
925
925
  };
926
- MongoConnector = __decorate$t([
926
+ MongoConnector = __decorate$u([
927
927
  injectable(),
928
928
  singleton(),
929
929
  __metadata$o("design:paramtypes", [Configuration])
930
930
  ], MongoConnector);
931
931
 
932
- var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
932
+ var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
933
933
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
934
934
  return new (P || (P = Promise))(function (resolve, reject) {
935
935
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -949,7 +949,7 @@ class Asset {
949
949
  this.collection = collection;
950
950
  }
951
951
  static toImage(stream, params) {
952
- return __awaiter$p(this, void 0, void 0, function* () {
952
+ return __awaiter$r(this, void 0, void 0, function* () {
953
953
  params = params || {};
954
954
  if (Object.keys(params).length == 0)
955
955
  return stream;
@@ -1000,7 +1000,7 @@ class Asset {
1000
1000
  return this.bucket.openDownloadStream(this.fileId);
1001
1001
  }
1002
1002
  unlink() {
1003
- return __awaiter$p(this, void 0, void 0, function* () {
1003
+ return __awaiter$r(this, void 0, void 0, function* () {
1004
1004
  return deleteFromBucket(this.bucket, this.fileId);
1005
1005
  });
1006
1006
  }
@@ -1008,7 +1008,7 @@ class Asset {
1008
1008
  return streamToBuffer(this.stream);
1009
1009
  }
1010
1010
  download(metadata) {
1011
- return __awaiter$p(this, void 0, void 0, function* () {
1011
+ return __awaiter$r(this, void 0, void 0, function* () {
1012
1012
  metadata = Object.assign(this.metadata, metadata || {});
1013
1013
  metadata.downloadCount = isNaN(metadata.downloadCount) || !metadata.firstDownload
1014
1014
  ? 1
@@ -1020,12 +1020,12 @@ class Asset {
1020
1020
  });
1021
1021
  }
1022
1022
  getImage(params = null) {
1023
- return __awaiter$p(this, void 0, void 0, function* () {
1023
+ return __awaiter$r(this, void 0, void 0, function* () {
1024
1024
  return Asset.toImage(this.stream, params);
1025
1025
  });
1026
1026
  }
1027
1027
  downloadImage(params, metadata) {
1028
- return __awaiter$p(this, void 0, void 0, function* () {
1028
+ return __awaiter$r(this, void 0, void 0, function* () {
1029
1029
  return Asset.toImage(yield this.download(metadata), params);
1030
1030
  });
1031
1031
  }
@@ -1039,7 +1039,7 @@ class Asset {
1039
1039
  }
1040
1040
  }
1041
1041
 
1042
- var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
1042
+ var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
1043
1043
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1044
1044
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1045
1045
  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;
@@ -1048,7 +1048,7 @@ var __decorate$s = (this && this.__decorate) || function (decorators, target, ke
1048
1048
  var __metadata$n = (this && this.__metadata) || function (k, v) {
1049
1049
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1050
1050
  };
1051
- var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1051
+ var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1052
1052
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1053
1053
  return new (P || (P = Promise))(function (resolve, reject) {
1054
1054
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1065,7 +1065,7 @@ let Assets = class Assets {
1065
1065
  this.collection = connector.database.collection("assets.files");
1066
1066
  }
1067
1067
  write(stream, contentType = null, metadata = null) {
1068
- return __awaiter$o(this, void 0, void 0, function* () {
1068
+ return __awaiter$q(this, void 0, void 0, function* () {
1069
1069
  let extension = null;
1070
1070
  const fileTypeStream = copyStream(stream);
1071
1071
  const uploadStream = copyStream(stream);
@@ -1107,7 +1107,7 @@ let Assets = class Assets {
1107
1107
  });
1108
1108
  }
1109
1109
  writeBuffer(buffer, metadata = null, contentType = null) {
1110
- return __awaiter$o(this, void 0, void 0, function* () {
1110
+ return __awaiter$q(this, void 0, void 0, function* () {
1111
1111
  contentType = yield AssetProcessor.getMimeType(buffer, contentType);
1112
1112
  metadata = metadata || {};
1113
1113
  buffer = yield this.assetProcessor.process(buffer, metadata, contentType);
@@ -1115,18 +1115,18 @@ let Assets = class Assets {
1115
1115
  });
1116
1116
  }
1117
1117
  read(id) {
1118
- return __awaiter$o(this, void 0, void 0, function* () {
1118
+ return __awaiter$q(this, void 0, void 0, function* () {
1119
1119
  return this.find({ _id: new ObjectId(id) });
1120
1120
  });
1121
1121
  }
1122
1122
  find(where) {
1123
- return __awaiter$o(this, void 0, void 0, function* () {
1123
+ return __awaiter$q(this, void 0, void 0, function* () {
1124
1124
  const data = yield this.collection.findOne(where);
1125
1125
  return !data ? null : new Asset(data._id, data.filename, data.contentType, data.metadata, this.bucket, this.collection);
1126
1126
  });
1127
1127
  }
1128
1128
  unlink(id) {
1129
- return __awaiter$o(this, void 0, void 0, function* () {
1129
+ return __awaiter$q(this, void 0, void 0, function* () {
1130
1130
  const asset = yield this.read(id);
1131
1131
  if (!asset)
1132
1132
  return null;
@@ -1134,13 +1134,13 @@ let Assets = class Assets {
1134
1134
  });
1135
1135
  }
1136
1136
  };
1137
- Assets = __decorate$s([
1137
+ Assets = __decorate$t([
1138
1138
  injectable(),
1139
1139
  scoped(Lifecycle.ContainerScoped),
1140
1140
  __metadata$n("design:paramtypes", [MongoConnector, AssetProcessor])
1141
1141
  ], Assets);
1142
1142
 
1143
- var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1143
+ var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1144
1144
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1145
1145
  return new (P || (P = Promise))(function (resolve, reject) {
1146
1146
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1172,7 +1172,7 @@ class LazyAsset {
1172
1172
  return this.mAssetId;
1173
1173
  }
1174
1174
  unlink() {
1175
- return __awaiter$n(this, void 0, void 0, function* () {
1175
+ return __awaiter$p(this, void 0, void 0, function* () {
1176
1176
  yield this.collection.deleteOne({ _id: this.lazyId });
1177
1177
  return deleteFromBucket(this.assets.bucket, new ObjectId(this.mAssetId));
1178
1178
  });
@@ -1187,7 +1187,7 @@ class LazyAsset {
1187
1187
  });
1188
1188
  }
1189
1189
  loadAsset() {
1190
- return __awaiter$n(this, void 0, void 0, function* () {
1190
+ return __awaiter$p(this, void 0, void 0, function* () {
1191
1191
  if (this.mAssetId) {
1192
1192
  return this.assets.read(this.mAssetId);
1193
1193
  }
@@ -1202,7 +1202,7 @@ class LazyAsset {
1202
1202
  });
1203
1203
  }
1204
1204
  writeAsset(asset) {
1205
- return __awaiter$n(this, void 0, void 0, function* () {
1205
+ return __awaiter$p(this, void 0, void 0, function* () {
1206
1206
  this.mAssetId = asset.id;
1207
1207
  yield this.save();
1208
1208
  return asset;
@@ -1222,7 +1222,7 @@ class LazyAsset {
1222
1222
  };
1223
1223
  }
1224
1224
  startWorkingOnAsset() {
1225
- return __awaiter$n(this, void 0, void 0, function* () {
1225
+ return __awaiter$p(this, void 0, void 0, function* () {
1226
1226
  const progress = yield this.progresses.create();
1227
1227
  this.mProgressId = progress.id;
1228
1228
  yield this.save();
@@ -1231,7 +1231,7 @@ class LazyAsset {
1231
1231
  }
1232
1232
  }
1233
1233
 
1234
- var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
1234
+ var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
1235
1235
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1236
1236
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1237
1237
  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;
@@ -1243,7 +1243,7 @@ var __metadata$m = (this && this.__metadata) || function (k, v) {
1243
1243
  var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
1244
1244
  return function (target, key) { decorator(target, key, paramIndex); }
1245
1245
  };
1246
- var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1246
+ var __awaiter$o = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1247
1247
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1248
1248
  return new (P || (P = Promise))(function (resolve, reject) {
1249
1249
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1266,7 +1266,7 @@ let JobManager = class JobManager {
1266
1266
  }, {});
1267
1267
  }
1268
1268
  process(jobType, params = {}) {
1269
- return __awaiter$m(this, void 0, void 0, function* () {
1269
+ return __awaiter$o(this, void 0, void 0, function* () {
1270
1270
  let instance = null;
1271
1271
  try {
1272
1272
  instance = this.resolveJobInstance(jobType, params);
@@ -1279,25 +1279,25 @@ let JobManager = class JobManager {
1279
1279
  });
1280
1280
  }
1281
1281
  enqueueWithName(name, params = {}, que = "main") {
1282
- return __awaiter$m(this, void 0, void 0, function* () {
1282
+ return __awaiter$o(this, void 0, void 0, function* () {
1283
1283
  const jobName = yield this.tryResolveFromName(name, params);
1284
1284
  yield this.queue.enqueue(que, jobName, [params]);
1285
1285
  });
1286
1286
  }
1287
1287
  enqueue(jobType, params = {}, que = "main") {
1288
- return __awaiter$m(this, void 0, void 0, function* () {
1288
+ return __awaiter$o(this, void 0, void 0, function* () {
1289
1289
  const jobName = yield this.tryResolveAndConnect(jobType, params);
1290
1290
  yield this.queue.enqueue(que, jobName, [params]);
1291
1291
  });
1292
1292
  }
1293
1293
  enqueueAt(timestamp, jobType, params = {}, que = "main") {
1294
- return __awaiter$m(this, void 0, void 0, function* () {
1294
+ return __awaiter$o(this, void 0, void 0, function* () {
1295
1295
  const jobName = yield this.tryResolveAndConnect(jobType, params);
1296
1296
  yield this.queue.enqueueAt(timestamp, que, jobName, [params]);
1297
1297
  });
1298
1298
  }
1299
1299
  enqueueIn(time, jobType, params = {}, que = "main") {
1300
- return __awaiter$m(this, void 0, void 0, function* () {
1300
+ return __awaiter$o(this, void 0, void 0, function* () {
1301
1301
  const jobName = yield this.tryResolveAndConnect(jobType, params);
1302
1302
  yield this.queue.enqueueIn(time, que, jobName, [params]);
1303
1303
  });
@@ -1325,7 +1325,7 @@ let JobManager = class JobManager {
1325
1325
  });
1326
1326
  }
1327
1327
  startProcessing() {
1328
- return __awaiter$m(this, void 0, void 0, function* () {
1328
+ return __awaiter$o(this, void 0, void 0, function* () {
1329
1329
  this.initialize();
1330
1330
  yield this.worker.connect();
1331
1331
  yield this.worker.start();
@@ -1397,7 +1397,7 @@ let JobManager = class JobManager {
1397
1397
  return this.tryResolveAndConnect(jobType, params);
1398
1398
  }
1399
1399
  tryResolveAndConnect(jobType, params) {
1400
- return __awaiter$m(this, void 0, void 0, function* () {
1400
+ return __awaiter$o(this, void 0, void 0, function* () {
1401
1401
  this.initialize();
1402
1402
  const jobName = this.tryResolve(jobType, params);
1403
1403
  yield this.queue.connect();
@@ -1419,14 +1419,14 @@ let JobManager = class JobManager {
1419
1419
  };
1420
1420
  }
1421
1421
  };
1422
- JobManager = __decorate$r([
1422
+ JobManager = __decorate$s([
1423
1423
  injectable(),
1424
1424
  scoped(Lifecycle.ContainerScoped),
1425
1425
  __param$7(1, inject(DI_CONTAINER)), __param$7(2, injectAll(JOB)),
1426
1426
  __metadata$m("design:paramtypes", [Configuration, Object, Array])
1427
1427
  ], JobManager);
1428
1428
 
1429
- var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1429
+ var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1430
1430
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1431
1431
  return new (P || (P = Promise))(function (resolve, reject) {
1432
1432
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1467,7 +1467,7 @@ class Progress {
1467
1467
  return this.mMax > 0 ? this.mMax - this.mCurrent : 0;
1468
1468
  }
1469
1469
  createSubProgress(progressValue, max, message) {
1470
- return __awaiter$l(this, void 0, void 0, function* () {
1470
+ return __awaiter$n(this, void 0, void 0, function* () {
1471
1471
  if (max <= 0 && progressValue > 0) {
1472
1472
  yield this.advance(progressValue);
1473
1473
  }
@@ -1479,7 +1479,7 @@ class Progress {
1479
1479
  });
1480
1480
  }
1481
1481
  setMax(max) {
1482
- return __awaiter$l(this, void 0, void 0, function* () {
1482
+ return __awaiter$n(this, void 0, void 0, function* () {
1483
1483
  if (isNaN(max) || max <= 0) {
1484
1484
  throw "Max progress value must be bigger than zero";
1485
1485
  }
@@ -1488,13 +1488,13 @@ class Progress {
1488
1488
  });
1489
1489
  }
1490
1490
  setError(error) {
1491
- return __awaiter$l(this, void 0, void 0, function* () {
1491
+ return __awaiter$n(this, void 0, void 0, function* () {
1492
1492
  this.mError = error;
1493
1493
  yield this.save();
1494
1494
  });
1495
1495
  }
1496
1496
  advance(value = 1) {
1497
- return __awaiter$l(this, void 0, void 0, function* () {
1497
+ return __awaiter$n(this, void 0, void 0, function* () {
1498
1498
  if (isNaN(value) || value <= 0) {
1499
1499
  throw "Advance value must be bigger than zero";
1500
1500
  }
@@ -1557,7 +1557,7 @@ class SubProgress {
1557
1557
  return this.max - this.currentValue;
1558
1558
  }
1559
1559
  createSubProgress(progressValue, max, message) {
1560
- return __awaiter$l(this, void 0, void 0, function* () {
1560
+ return __awaiter$n(this, void 0, void 0, function* () {
1561
1561
  if (max <= 0 && progressValue > 0) {
1562
1562
  yield this.advance(progressValue);
1563
1563
  }
@@ -1569,7 +1569,7 @@ class SubProgress {
1569
1569
  });
1570
1570
  }
1571
1571
  setMax(max) {
1572
- return __awaiter$l(this, void 0, void 0, function* () {
1572
+ return __awaiter$n(this, void 0, void 0, function* () {
1573
1573
  if (isNaN(max) || max <= 0) {
1574
1574
  throw "Max progress value must be bigger than zero";
1575
1575
  }
@@ -1578,13 +1578,13 @@ class SubProgress {
1578
1578
  });
1579
1579
  }
1580
1580
  setError(error) {
1581
- return __awaiter$l(this, void 0, void 0, function* () {
1581
+ return __awaiter$n(this, void 0, void 0, function* () {
1582
1582
  this.error = error || null;
1583
1583
  yield this.save();
1584
1584
  });
1585
1585
  }
1586
1586
  advance(value = 1) {
1587
- return __awaiter$l(this, void 0, void 0, function* () {
1587
+ return __awaiter$n(this, void 0, void 0, function* () {
1588
1588
  if (isNaN(value) || value <= 0) {
1589
1589
  throw "Advance value must be bigger than zero";
1590
1590
  }
@@ -1593,7 +1593,7 @@ class SubProgress {
1593
1593
  });
1594
1594
  }
1595
1595
  save() {
1596
- return __awaiter$l(this, void 0, void 0, function* () {
1596
+ return __awaiter$n(this, void 0, void 0, function* () {
1597
1597
  const ratio = this.max > 0 ? this.currentValue / this.max : 0;
1598
1598
  const newProgress = this.progressFrom + Math.round(this.progressValue * ratio);
1599
1599
  const current = this.parent.current;
@@ -1607,7 +1607,7 @@ class SubProgress {
1607
1607
  }
1608
1608
  }
1609
1609
 
1610
- var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
1610
+ var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
1611
1611
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1612
1612
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1613
1613
  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;
@@ -1616,7 +1616,7 @@ var __decorate$q = (this && this.__decorate) || function (decorators, target, ke
1616
1616
  var __metadata$l = (this && this.__metadata) || function (k, v) {
1617
1617
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1618
1618
  };
1619
- var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1619
+ var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1620
1620
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1621
1621
  return new (P || (P = Promise))(function (resolve, reject) {
1622
1622
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1635,7 +1635,7 @@ let Progresses = class Progresses {
1635
1635
  this.collection = connector.database.collection("progresses");
1636
1636
  }
1637
1637
  waitToFinish(id) {
1638
- return __awaiter$k(this, void 0, void 0, function* () {
1638
+ return __awaiter$m(this, void 0, void 0, function* () {
1639
1639
  let isFinished = false;
1640
1640
  let progress = null;
1641
1641
  while (!isFinished) {
@@ -1655,18 +1655,18 @@ let Progresses = class Progresses {
1655
1655
  });
1656
1656
  }
1657
1657
  get(id) {
1658
- return __awaiter$k(this, void 0, void 0, function* () {
1658
+ return __awaiter$m(this, void 0, void 0, function* () {
1659
1659
  return this.find({ _id: new ObjectId(id) });
1660
1660
  });
1661
1661
  }
1662
1662
  find(where) {
1663
- return __awaiter$k(this, void 0, void 0, function* () {
1663
+ return __awaiter$m(this, void 0, void 0, function* () {
1664
1664
  const data = yield this.collection.findOne(where);
1665
1665
  return !data ? null : new Progress(data._id, data.current, data.max, data.message, data.error, this.client, this.collection);
1666
1666
  });
1667
1667
  }
1668
1668
  create(max = 100) {
1669
- return __awaiter$k(this, void 0, void 0, function* () {
1669
+ return __awaiter$m(this, void 0, void 0, function* () {
1670
1670
  if (isNaN(max) || max <= 0) {
1671
1671
  throw "Max progress value must be bigger than zero";
1672
1672
  }
@@ -1678,19 +1678,19 @@ let Progresses = class Progresses {
1678
1678
  });
1679
1679
  }
1680
1680
  remove(id) {
1681
- return __awaiter$k(this, void 0, void 0, function* () {
1681
+ return __awaiter$m(this, void 0, void 0, function* () {
1682
1682
  yield this.collection.deleteOne({ _id: new ObjectId(id) });
1683
1683
  return id;
1684
1684
  });
1685
1685
  }
1686
1686
  };
1687
- Progresses = __decorate$q([
1687
+ Progresses = __decorate$r([
1688
1688
  injectable(),
1689
1689
  singleton(),
1690
1690
  __metadata$l("design:paramtypes", [MongoConnector, Configuration])
1691
1691
  ], Progresses);
1692
1692
 
1693
- var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
1693
+ var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
1694
1694
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1695
1695
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1696
1696
  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;
@@ -1699,7 +1699,7 @@ var __decorate$p = (this && this.__decorate) || function (decorators, target, ke
1699
1699
  var __metadata$k = (this && this.__metadata) || function (k, v) {
1700
1700
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1701
1701
  };
1702
- var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1702
+ var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1703
1703
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1704
1704
  return new (P || (P = Promise))(function (resolve, reject) {
1705
1705
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1717,7 +1717,7 @@ let LazyAssets = class LazyAssets {
1717
1717
  this.collection = connector.database.collection("lazyassets");
1718
1718
  }
1719
1719
  create(jobType, jobParams = {}, jobQue = "main") {
1720
- return __awaiter$j(this, void 0, void 0, function* () {
1720
+ return __awaiter$l(this, void 0, void 0, function* () {
1721
1721
  const jobName = this.jobMan.tryResolve(jobType, Object.assign(Object.assign({}, jobParams), { lazyId: "" }));
1722
1722
  const res = yield this.collection.insertOne({
1723
1723
  jobName,
@@ -1728,12 +1728,12 @@ let LazyAssets = class LazyAssets {
1728
1728
  });
1729
1729
  }
1730
1730
  read(id) {
1731
- return __awaiter$j(this, void 0, void 0, function* () {
1731
+ return __awaiter$l(this, void 0, void 0, function* () {
1732
1732
  return this.find({ _id: new ObjectId(id) });
1733
1733
  });
1734
1734
  }
1735
1735
  find(where) {
1736
- return __awaiter$j(this, void 0, void 0, function* () {
1736
+ return __awaiter$l(this, void 0, void 0, function* () {
1737
1737
  const data = yield this.collection.findOne(where);
1738
1738
  return !data
1739
1739
  ? null
@@ -1741,7 +1741,7 @@ let LazyAssets = class LazyAssets {
1741
1741
  });
1742
1742
  }
1743
1743
  unlink(id) {
1744
- return __awaiter$j(this, void 0, void 0, function* () {
1744
+ return __awaiter$l(this, void 0, void 0, function* () {
1745
1745
  const asset = yield this.read(id);
1746
1746
  if (!asset)
1747
1747
  return null;
@@ -1749,14 +1749,14 @@ let LazyAssets = class LazyAssets {
1749
1749
  });
1750
1750
  }
1751
1751
  };
1752
- LazyAssets = __decorate$p([
1752
+ LazyAssets = __decorate$q([
1753
1753
  injectable(),
1754
1754
  scoped(Lifecycle.ContainerScoped),
1755
1755
  __metadata$k("design:paramtypes", [MongoConnector, Assets,
1756
1756
  Progresses, JobManager])
1757
1757
  ], LazyAssets);
1758
1758
 
1759
- var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
1759
+ var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
1760
1760
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1761
1761
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1762
1762
  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;
@@ -1765,7 +1765,7 @@ var __decorate$o = (this && this.__decorate) || function (decorators, target, ke
1765
1765
  var __metadata$j = (this && this.__metadata) || function (k, v) {
1766
1766
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1767
1767
  };
1768
- var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1768
+ var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1769
1769
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1770
1770
  return new (P || (P = Promise))(function (resolve, reject) {
1771
1771
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1780,7 +1780,7 @@ let AssetResolver = class AssetResolver {
1780
1780
  this.lazyAssets = lazyAssets;
1781
1781
  }
1782
1782
  resolve(id, lazy = false) {
1783
- return __awaiter$i(this, void 0, void 0, function* () {
1783
+ return __awaiter$k(this, void 0, void 0, function* () {
1784
1784
  let asset = null;
1785
1785
  if (lazy) {
1786
1786
  const lazyAsset = yield this.lazyAssets.read(id);
@@ -1799,13 +1799,13 @@ let AssetResolver = class AssetResolver {
1799
1799
  });
1800
1800
  }
1801
1801
  };
1802
- AssetResolver = __decorate$o([
1802
+ AssetResolver = __decorate$p([
1803
1803
  injectable(),
1804
1804
  scoped(Lifecycle.ContainerScoped),
1805
1805
  __metadata$j("design:paramtypes", [Assets, LazyAssets])
1806
1806
  ], AssetResolver);
1807
1807
 
1808
- var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
1808
+ var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
1809
1809
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1810
1810
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1811
1811
  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;
@@ -1826,19 +1826,19 @@ let BackendProvider = class BackendProvider {
1826
1826
  return this.ioServer;
1827
1827
  }
1828
1828
  };
1829
- BackendProvider = __decorate$n([
1829
+ BackendProvider = __decorate$o([
1830
1830
  injectable(),
1831
1831
  singleton(),
1832
1832
  __metadata$i("design:paramtypes", [])
1833
1833
  ], BackendProvider);
1834
1834
 
1835
- var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
1835
+ var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
1836
1836
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1837
1837
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1838
1838
  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;
1839
1839
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1840
1840
  };
1841
- var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1841
+ var __awaiter$j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1842
1842
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1843
1843
  return new (P || (P = Promise))(function (resolve, reject) {
1844
1844
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1849,22 +1849,22 @@ var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P,
1849
1849
  };
1850
1850
  let CacheProcessor = class CacheProcessor {
1851
1851
  serialize(data) {
1852
- return __awaiter$h(this, void 0, void 0, function* () {
1852
+ return __awaiter$j(this, void 0, void 0, function* () {
1853
1853
  return data;
1854
1854
  });
1855
1855
  }
1856
1856
  deserialize(data) {
1857
- return __awaiter$h(this, void 0, void 0, function* () {
1857
+ return __awaiter$j(this, void 0, void 0, function* () {
1858
1858
  return data;
1859
1859
  });
1860
1860
  }
1861
1861
  };
1862
- CacheProcessor = __decorate$m([
1862
+ CacheProcessor = __decorate$n([
1863
1863
  injectable(),
1864
1864
  scoped(Lifecycle.ContainerScoped)
1865
1865
  ], CacheProcessor);
1866
1866
 
1867
- var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
1867
+ var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
1868
1868
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1869
1869
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1870
1870
  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;
@@ -1873,7 +1873,7 @@ var __decorate$l = (this && this.__decorate) || function (decorators, target, ke
1873
1873
  var __metadata$h = (this && this.__metadata) || function (k, v) {
1874
1874
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1875
1875
  };
1876
- var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1876
+ var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1877
1877
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1878
1878
  return new (P || (P = Promise))(function (resolve, reject) {
1879
1879
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1889,7 +1889,7 @@ let Cache = class Cache {
1889
1889
  this.cacheProcessor = cacheProcessor;
1890
1890
  }
1891
1891
  prepare() {
1892
- return __awaiter$g(this, void 0, void 0, function* () {
1892
+ return __awaiter$i(this, void 0, void 0, function* () {
1893
1893
  if (this.collection)
1894
1894
  return;
1895
1895
  if (!this.connector.database) {
@@ -1900,7 +1900,7 @@ let Cache = class Cache {
1900
1900
  });
1901
1901
  }
1902
1902
  set(key, value, ttl, expirationTimestamp = null, tags = {}) {
1903
- return __awaiter$g(this, void 0, void 0, function* () {
1903
+ return __awaiter$i(this, void 0, void 0, function* () {
1904
1904
  yield this.prepare();
1905
1905
  const item = {
1906
1906
  _id: key,
@@ -1917,7 +1917,7 @@ let Cache = class Cache {
1917
1917
  });
1918
1918
  }
1919
1919
  get(key) {
1920
- return __awaiter$g(this, void 0, void 0, function* () {
1920
+ return __awaiter$i(this, void 0, void 0, function* () {
1921
1921
  yield this.prepare();
1922
1922
  let item = yield this.collection.findOne({ _id: key });
1923
1923
  const now = Math.round(new Date().getTime() / 1000);
@@ -1931,7 +1931,7 @@ let Cache = class Cache {
1931
1931
  });
1932
1932
  }
1933
1933
  getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
1934
- return __awaiter$g(this, void 0, void 0, function* () {
1934
+ return __awaiter$i(this, void 0, void 0, function* () {
1935
1935
  try {
1936
1936
  return yield this.get(key);
1937
1937
  }
@@ -1941,18 +1941,45 @@ let Cache = class Cache {
1941
1941
  });
1942
1942
  }
1943
1943
  delete(key) {
1944
- return __awaiter$g(this, void 0, void 0, function* () {
1944
+ return __awaiter$i(this, void 0, void 0, function* () {
1945
1945
  yield this.prepare();
1946
1946
  yield this.collection.deleteOne({ _id: key });
1947
1947
  });
1948
1948
  }
1949
1949
  };
1950
- Cache = __decorate$l([
1950
+ Cache = __decorate$m([
1951
1951
  injectable(),
1952
1952
  scoped(Lifecycle.ContainerScoped),
1953
1953
  __metadata$h("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
1954
1954
  ], Cache);
1955
1955
 
1956
+ var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
1957
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1958
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1959
+ 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;
1960
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1961
+ };
1962
+ var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1963
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1964
+ return new (P || (P = Promise))(function (resolve, reject) {
1965
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1966
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1967
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1968
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1969
+ });
1970
+ };
1971
+ let EndpointProvider = class EndpointProvider {
1972
+ configure(app) {
1973
+ return __awaiter$h(this, void 0, void 0, function* () {
1974
+ console.log(`Express app is mounted to: ${app.mountpath}`);
1975
+ });
1976
+ }
1977
+ };
1978
+ EndpointProvider = __decorate$l([
1979
+ injectable(),
1980
+ scoped(Lifecycle.ContainerScoped)
1981
+ ], EndpointProvider);
1982
+
1956
1983
  var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
1957
1984
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1958
1985
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1965,7 +1992,7 @@ var __metadata$g = (this && this.__metadata) || function (k, v) {
1965
1992
  var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
1966
1993
  return function (target, key) { decorator(target, key, paramIndex); }
1967
1994
  };
1968
- var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1995
+ var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1969
1996
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1970
1997
  return new (P || (P = Promise))(function (resolve, reject) {
1971
1998
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -1979,7 +2006,7 @@ let Fixtures = class Fixtures {
1979
2006
  this.fixtures = fixtures;
1980
2007
  }
1981
2008
  load() {
1982
- return __awaiter$f(this, void 0, void 0, function* () {
2009
+ return __awaiter$g(this, void 0, void 0, function* () {
1983
2010
  if (!this.fixtures)
1984
2011
  return;
1985
2012
  for (let fixture of this.fixtures) {
@@ -1995,7 +2022,7 @@ Fixtures = __decorate$k([
1995
2022
  __metadata$g("design:paramtypes", [Array])
1996
2023
  ], Fixtures);
1997
2024
 
1998
- var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2025
+ var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1999
2026
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2000
2027
  return new (P || (P = Promise))(function (resolve, reject) {
2001
2028
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2016,7 +2043,7 @@ class GalleryImage {
2016
2043
  this.targetSize = !size ? { width: thumbSize, height: thumbSize } : size;
2017
2044
  }
2018
2045
  serve(id) {
2019
- return __awaiter$e(this, void 0, void 0, function* () {
2046
+ return __awaiter$f(this, void 0, void 0, function* () {
2020
2047
  const isThumb = id == this.thumb;
2021
2048
  if (yield this.handler.hasResult(isThumb)) {
2022
2049
  return this.handler.serveResult(isThumb);
@@ -2083,7 +2110,7 @@ var __decorate$i = (this && this.__decorate) || function (decorators, target, ke
2083
2110
  var __metadata$e = (this && this.__metadata) || function (k, v) {
2084
2111
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2085
2112
  };
2086
- var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2113
+ var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2087
2114
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2088
2115
  return new (P || (P = Promise))(function (resolve, reject) {
2089
2116
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2102,7 +2129,7 @@ let Gallery = class Gallery {
2102
2129
  this.output = join(this.config.resolve("cacheDir"), "gallery");
2103
2130
  }
2104
2131
  getFolder(folder, size = null) {
2105
- return __awaiter$d(this, void 0, void 0, function* () {
2132
+ return __awaiter$e(this, void 0, void 0, function* () {
2106
2133
  this.cache[folder] = this.cache[folder] || new Promise(resolve => {
2107
2134
  lstat(join(this.dir, folder), (err, stats) => {
2108
2135
  if (err || !stats.isDirectory()) {
@@ -2123,7 +2150,7 @@ let Gallery = class Gallery {
2123
2150
  return;
2124
2151
  }
2125
2152
  const promises = files.map(file => {
2126
- return new Promise((resolve) => __awaiter$d(this, void 0, void 0, function* () {
2153
+ return new Promise((resolve) => __awaiter$e(this, void 0, void 0, function* () {
2127
2154
  const filePath = join(path, file);
2128
2155
  const absoluteFilePath = join(this.dir, filePath);
2129
2156
  lstat(absoluteFilePath, (err, stats) => {
@@ -2156,7 +2183,7 @@ let Gallery = class Gallery {
2156
2183
  });
2157
2184
  },
2158
2185
  writeResult: (isThumb, buffer) => {
2159
- return new Promise((res, rej) => __awaiter$d(this, void 0, void 0, function* () {
2186
+ return new Promise((res, rej) => __awaiter$e(this, void 0, void 0, function* () {
2160
2187
  const resultPath = getResultPath(isThumb);
2161
2188
  yield mkdirRecursive(dirname(resultPath));
2162
2189
  writeFile$1(resultPath, buffer, err => {
@@ -2213,7 +2240,7 @@ var __decorate$h = (this && this.__decorate) || function (decorators, target, ke
2213
2240
  var __metadata$d = (this && this.__metadata) || function (k, v) {
2214
2241
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2215
2242
  };
2216
- var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2243
+ var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2217
2244
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2218
2245
  return new (P || (P = Promise))(function (resolve, reject) {
2219
2246
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2231,7 +2258,7 @@ let IdGenerator = class IdGenerator {
2231
2258
  this.parts = config.resolve("idParts");
2232
2259
  }
2233
2260
  generate(checkCb) {
2234
- return __awaiter$c(this, void 0, void 0, function* () {
2261
+ return __awaiter$d(this, void 0, void 0, function* () {
2235
2262
  let id = null;
2236
2263
  let tries = 0;
2237
2264
  let notGood = true;
@@ -2299,7 +2326,7 @@ var __decorate$f = (this && this.__decorate) || function (decorators, target, ke
2299
2326
  var __metadata$b = (this && this.__metadata) || function (k, v) {
2300
2327
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2301
2328
  };
2302
- var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2329
+ var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2303
2330
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2304
2331
  return new (P || (P = Promise))(function (resolve, reject) {
2305
2332
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2314,7 +2341,7 @@ let Translator = class Translator {
2314
2341
  this.cache = {};
2315
2342
  }
2316
2343
  getDictionary(language) {
2317
- return __awaiter$b(this, void 0, void 0, function* () {
2344
+ return __awaiter$c(this, void 0, void 0, function* () {
2318
2345
  const dictionary = yield this.translationProvider.getDictionary(language);
2319
2346
  this.cache[language] = dictionary;
2320
2347
  return dictionary;
@@ -2380,7 +2407,7 @@ var __decorate$e = (this && this.__decorate) || function (decorators, target, ke
2380
2407
  var __metadata$a = (this && this.__metadata) || function (k, v) {
2381
2408
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2382
2409
  };
2383
- var __awaiter$a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2410
+ var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2384
2411
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2385
2412
  return new (P || (P = Promise))(function (resolve, reject) {
2386
2413
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2412,9 +2439,9 @@ let TemplateRenderer = class TemplateRenderer {
2412
2439
  return this.initPromise;
2413
2440
  }
2414
2441
  parseTemplates(dir, dirPath) {
2415
- return __awaiter$a(this, void 0, void 0, function* () {
2442
+ return __awaiter$b(this, void 0, void 0, function* () {
2416
2443
  return new Promise(resolve => {
2417
- readdir(dir, (err, files) => __awaiter$a(this, void 0, void 0, function* () {
2444
+ readdir(dir, (err, files) => __awaiter$b(this, void 0, void 0, function* () {
2418
2445
  for (let file of files) {
2419
2446
  const path = join(dir, file);
2420
2447
  if (lstatSync(path).isDirectory()) {
@@ -2435,7 +2462,7 @@ let TemplateRenderer = class TemplateRenderer {
2435
2462
  });
2436
2463
  }
2437
2464
  render(template, language, context) {
2438
- return __awaiter$a(this, void 0, void 0, function* () {
2465
+ return __awaiter$b(this, void 0, void 0, function* () {
2439
2466
  yield this.init();
2440
2467
  yield this.translator.getDictionary(language);
2441
2468
  if (!this.templates[template]) {
@@ -2462,7 +2489,7 @@ var __decorate$d = (this && this.__decorate) || function (decorators, target, ke
2462
2489
  var __metadata$9 = (this && this.__metadata) || function (k, v) {
2463
2490
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2464
2491
  };
2465
- var __awaiter$9 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2492
+ var __awaiter$a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2466
2493
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2467
2494
  return new (P || (P = Promise))(function (resolve, reject) {
2468
2495
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2488,7 +2515,7 @@ let MailSender = class MailSender {
2488
2515
  return this.renderer.translator;
2489
2516
  }
2490
2517
  sendMail(language, options) {
2491
- return __awaiter$9(this, void 0, void 0, function* () {
2518
+ return __awaiter$a(this, void 0, void 0, function* () {
2492
2519
  const subject = yield this.translator.getTranslation(language, options.subject || "-");
2493
2520
  const html = yield this.renderer.render(options.template, language, options.context);
2494
2521
  return this.transporter.sendMail({
@@ -2516,7 +2543,7 @@ var __decorate$c = (this && this.__decorate) || function (decorators, target, ke
2516
2543
  var __metadata$8 = (this && this.__metadata) || function (k, v) {
2517
2544
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2518
2545
  };
2519
- var __awaiter$8 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2546
+ var __awaiter$9 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2520
2547
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2521
2548
  return new (P || (P = Promise))(function (resolve, reject) {
2522
2549
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2531,7 +2558,7 @@ let MemoryCache = class MemoryCache {
2531
2558
  this.cacheMap = new Map();
2532
2559
  }
2533
2560
  set(key, value, ttl, expirationTimestamp = null, tags = {}) {
2534
- return __awaiter$8(this, void 0, void 0, function* () {
2561
+ return __awaiter$9(this, void 0, void 0, function* () {
2535
2562
  const now = Math.round(new Date().getTime() / 1000);
2536
2563
  const expTimestamp = Math.min(isNaN(ttl) ? Number.MAX_SAFE_INTEGER : ttl, 3600);
2537
2564
  this.cacheMap.set(key, {
@@ -2544,7 +2571,7 @@ let MemoryCache = class MemoryCache {
2544
2571
  });
2545
2572
  }
2546
2573
  get(key) {
2547
- return __awaiter$8(this, void 0, void 0, function* () {
2574
+ return __awaiter$9(this, void 0, void 0, function* () {
2548
2575
  let item = this.cacheMap.get(key);
2549
2576
  const now = Math.round(new Date().getTime() / 1000);
2550
2577
  let expTimestamp = 3600;
@@ -2566,7 +2593,7 @@ let MemoryCache = class MemoryCache {
2566
2593
  });
2567
2594
  }
2568
2595
  getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
2569
- return __awaiter$8(this, void 0, void 0, function* () {
2596
+ return __awaiter$9(this, void 0, void 0, function* () {
2570
2597
  try {
2571
2598
  return yield this.get(key);
2572
2599
  }
@@ -2576,7 +2603,7 @@ let MemoryCache = class MemoryCache {
2576
2603
  });
2577
2604
  }
2578
2605
  delete(key) {
2579
- return __awaiter$8(this, void 0, void 0, function* () {
2606
+ return __awaiter$9(this, void 0, void 0, function* () {
2580
2607
  this.cacheMap.delete(key);
2581
2608
  yield this.cacheMap.delete(key);
2582
2609
  });
@@ -2594,7 +2621,7 @@ var __decorate$b = (this && this.__decorate) || function (decorators, target, ke
2594
2621
  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;
2595
2622
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2596
2623
  };
2597
- var __awaiter$7 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2624
+ var __awaiter$8 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2598
2625
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2599
2626
  return new (P || (P = Promise))(function (resolve, reject) {
2600
2627
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2611,17 +2638,17 @@ const sampleUser = {
2611
2638
  };
2612
2639
  let UserManager = class UserManager {
2613
2640
  getByCredentials(credentials) {
2614
- return __awaiter$7(this, void 0, void 0, function* () {
2641
+ return __awaiter$8(this, void 0, void 0, function* () {
2615
2642
  return (sampleUser.email == credentials.email) ? sampleUser : yield Promise.reject("message.login.error");
2616
2643
  });
2617
2644
  }
2618
2645
  getById(id) {
2619
- return __awaiter$7(this, void 0, void 0, function* () {
2646
+ return __awaiter$8(this, void 0, void 0, function* () {
2620
2647
  return (sampleUser.id == id) ? sampleUser : null;
2621
2648
  });
2622
2649
  }
2623
2650
  serialize(user) {
2624
- return __awaiter$7(this, void 0, void 0, function* () {
2651
+ return __awaiter$8(this, void 0, void 0, function* () {
2625
2652
  const res = Object.assign({}, user);
2626
2653
  delete res.password;
2627
2654
  return res;
@@ -2645,7 +2672,7 @@ var __metadata$7 = (this && this.__metadata) || function (k, v) {
2645
2672
  var __param$5 = (this && this.__param) || function (paramIndex, decorator) {
2646
2673
  return function (target, key) { decorator(target, key, paramIndex); }
2647
2674
  };
2648
- var __awaiter$6 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2675
+ var __awaiter$7 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2649
2676
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2650
2677
  return new (P || (P = Promise))(function (resolve, reject) {
2651
2678
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2660,7 +2687,7 @@ let AssetsController = class AssetsController {
2660
2687
  this.assetResolver = assetResolver;
2661
2688
  }
2662
2689
  upload(file) {
2663
- return __awaiter$6(this, void 0, void 0, function* () {
2690
+ return __awaiter$7(this, void 0, void 0, function* () {
2664
2691
  try {
2665
2692
  const contentType = file.mimetype === "application/octet-stream" ? null : file.mimetype;
2666
2693
  const asset = yield this.assets.writeBuffer(file.buffer, { filename: file.filename }, contentType);
@@ -2674,7 +2701,7 @@ let AssetsController = class AssetsController {
2674
2701
  }
2675
2702
  getImageRotation(id, params, rotation = 0) {
2676
2703
  var _a;
2677
- return __awaiter$6(this, void 0, void 0, function* () {
2704
+ return __awaiter$7(this, void 0, void 0, function* () {
2678
2705
  const asset = yield this.assetResolver.resolve(id, params.lazy);
2679
2706
  if (!asset) {
2680
2707
  throw new HttpError(404, `Image with id: '${id}' not found.`);
@@ -2687,13 +2714,13 @@ let AssetsController = class AssetsController {
2687
2714
  });
2688
2715
  }
2689
2716
  getImage(id, params) {
2690
- return __awaiter$6(this, void 0, void 0, function* () {
2717
+ return __awaiter$7(this, void 0, void 0, function* () {
2691
2718
  return this.getImageRotation(id, params);
2692
2719
  });
2693
2720
  }
2694
2721
  getFile(id, lazy, res) {
2695
2722
  var _a, _b;
2696
- return __awaiter$6(this, void 0, void 0, function* () {
2723
+ return __awaiter$7(this, void 0, void 0, function* () {
2697
2724
  const asset = yield this.assetResolver.resolve(id, lazy);
2698
2725
  if (!asset) {
2699
2726
  throw new HttpError(404, `File with id: '${id}' not found.`);
@@ -2756,7 +2783,7 @@ var __metadata$6 = (this && this.__metadata) || function (k, v) {
2756
2783
  var __param$4 = (this && this.__param) || function (paramIndex, decorator) {
2757
2784
  return function (target, key) { decorator(target, key, paramIndex); }
2758
2785
  };
2759
- var __awaiter$5 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2786
+ var __awaiter$6 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2760
2787
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2761
2788
  return new (P || (P = Promise))(function (resolve, reject) {
2762
2789
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2771,7 +2798,7 @@ let AuthController = class AuthController {
2771
2798
  this.userManager = userManager;
2772
2799
  }
2773
2800
  login(credentials, res) {
2774
- return __awaiter$5(this, void 0, void 0, function* () {
2801
+ return __awaiter$6(this, void 0, void 0, function* () {
2775
2802
  try {
2776
2803
  const user = yield this.userManager.getByCredentials(credentials);
2777
2804
  const valid = yield compare(credentials.password, user.password);
@@ -2857,7 +2884,7 @@ var __metadata$4 = (this && this.__metadata) || function (k, v) {
2857
2884
  var __param$2 = (this && this.__param) || function (paramIndex, decorator) {
2858
2885
  return function (target, key) { decorator(target, key, paramIndex); }
2859
2886
  };
2860
- var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2887
+ var __awaiter$5 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2861
2888
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2862
2889
  return new (P || (P = Promise))(function (resolve, reject) {
2863
2890
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2874,7 +2901,7 @@ let ProgressesController = class ProgressesController {
2874
2901
  this.connectionType = !mainEndpoint ? "polling" : "socket";
2875
2902
  }
2876
2903
  getProgress(id) {
2877
- return __awaiter$4(this, void 0, void 0, function* () {
2904
+ return __awaiter$5(this, void 0, void 0, function* () {
2878
2905
  const progress = yield this.progresses.get(id);
2879
2906
  if (!progress)
2880
2907
  return null;
@@ -2906,7 +2933,7 @@ var __decorate$6 = (this && this.__decorate) || function (decorators, target, ke
2906
2933
  var __metadata$3 = (this && this.__metadata) || function (k, v) {
2907
2934
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2908
2935
  };
2909
- var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2936
+ var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2910
2937
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2911
2938
  return new (P || (P = Promise))(function (resolve, reject) {
2912
2939
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -2924,7 +2951,7 @@ let ErrorHandlerMiddleware = class ErrorHandlerMiddleware {
2924
2951
  return this.configuration.resolve("nodeEnv") === "development";
2925
2952
  }
2926
2953
  error(error, req, res, next) {
2927
- return __awaiter$3(this, void 0, void 0, function* () {
2954
+ return __awaiter$4(this, void 0, void 0, function* () {
2928
2955
  const result = yield this.getResult(error, req, res);
2929
2956
  if (this.isDev) {
2930
2957
  console.log("ERROR", result, res.statusCode);
@@ -2933,7 +2960,7 @@ let ErrorHandlerMiddleware = class ErrorHandlerMiddleware {
2933
2960
  });
2934
2961
  }
2935
2962
  getResult(error, req, res) {
2936
- return __awaiter$3(this, void 0, void 0, function* () {
2963
+ return __awaiter$4(this, void 0, void 0, function* () {
2937
2964
  const result = {};
2938
2965
  if (error instanceof BadRequestError) {
2939
2966
  res.status(400);
@@ -3079,7 +3106,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
3079
3106
  var __param = (this && this.__param) || function (paramIndex, decorator) {
3080
3107
  return function (target, key) { decorator(target, key, paramIndex); }
3081
3108
  };
3082
- var __awaiter$2 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3109
+ var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3083
3110
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3084
3111
  return new (P || (P = Promise))(function (resolve, reject) {
3085
3112
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -3094,7 +3121,7 @@ let ProgressController = class ProgressController {
3094
3121
  this.socketServer = socketServer;
3095
3122
  }
3096
3123
  advanceProgress(client, progressId) {
3097
- return __awaiter$2(this, void 0, void 0, function* () {
3124
+ return __awaiter$3(this, void 0, void 0, function* () {
3098
3125
  const progress = yield this.progresses.get(progressId);
3099
3126
  if (!progress)
3100
3127
  return;
@@ -3108,7 +3135,7 @@ let ProgressController = class ProgressController {
3108
3135
  });
3109
3136
  }
3110
3137
  setProgressInterest(client, progressId) {
3111
- return __awaiter$2(this, void 0, void 0, function* () {
3138
+ return __awaiter$3(this, void 0, void 0, function* () {
3112
3139
  const progress = yield this.progresses.get(progressId);
3113
3140
  if (!progress)
3114
3141
  return;
@@ -3350,6 +3377,34 @@ class DiContainer {
3350
3377
  }
3351
3378
  }
3352
3379
 
3380
+ var __awaiter$2 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3381
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3382
+ return new (P || (P = Promise))(function (resolve, reject) {
3383
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
3384
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
3385
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
3386
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
3387
+ });
3388
+ };
3389
+ function setupStatic(rootFolder, container) {
3390
+ return __awaiter$2(this, void 0, void 0, function* () {
3391
+ const browserFolder = resolve(rootFolder || __dirname, `public_html`);
3392
+ const app = container.get(EXPRESS);
3393
+ const ep = container.get(EndpointProvider);
3394
+ console.log(browserFolder, existsSync(browserFolder));
3395
+ if (existsSync(browserFolder)) {
3396
+ console.log(`public_html exists. setting up static files serving...`);
3397
+ app.use(static$1(browserFolder, {
3398
+ maxAge: "1y"
3399
+ }));
3400
+ }
3401
+ else {
3402
+ console.log(`public_html does not exist on path: "${browserFolder}"`);
3403
+ }
3404
+ yield ep.configure(app);
3405
+ });
3406
+ }
3407
+
3353
3408
  var __awaiter$1 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3354
3409
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3355
3410
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -3478,6 +3533,7 @@ function createServices() {
3478
3533
  Cache,
3479
3534
  CacheProcessor,
3480
3535
  Configuration,
3536
+ EndpointProvider,
3481
3537
  Fixtures,
3482
3538
  Gallery,
3483
3539
  GalleryCache,
@@ -3642,12 +3698,13 @@ function setupBackend(config, providers, parent) {
3642
3698
  useSocketServer(bp.io, socketOptions);
3643
3699
  }
3644
3700
  // Connect to mongo if necessary
3645
- if (configuration.hasParam("mongoUri")) {
3646
- if (configuration.resolve("mongoUri")) {
3647
- const connector = diContainer.resolve(MongoConnector);
3648
- yield connector.connect();
3649
- }
3701
+ if (configuration.hasParam("mongoUri") && configuration.resolve("mongoUri")) {
3702
+ console.log("Connecting to MongoDB...");
3703
+ const connector = diContainer.resolve(MongoConnector);
3704
+ yield connector.connect();
3705
+ console.log("Successfully connected to MongoDB.");
3650
3706
  }
3707
+ yield setupStatic(config.rootFolder, diContainer);
3651
3708
  return diContainer;
3652
3709
  });
3653
3710
  }
@@ -3656,5 +3713,5 @@ function setupBackend(config, providers, parent) {
3656
3713
  * Generated bundle index. Do not edit.
3657
3714
  */
3658
3715
 
3659
- export { AssetProcessor, AssetResolver, Assets, AuthController, BackendProvider, Cache, CacheProcessor, Configuration, DI_CONTAINER, EXPRESS, ErrorHandlerMiddleware, FIXTURE, Fixtures, Gallery, GalleryCache, GalleryController, HTTP_SERVER, IdGenerator, IsFile, IsObjectId, JOB, JobManager, LanguageMiddleware, LazyAssetGenerator, LazyAssets, MailSender, MemoryCache, MongoConnector, PARAMETER, Parameter, Progresses, ResolveEntity, SOCKET_SERVER, TemplateRenderer, TranslationProvider, Translator, Type, UserManager, assign, broadcast, bufferToStream, convertValue, copy, copyStream, createServices, createTransformer, deleteFile, deleteFromBucket, filter, firstItem, getConstructorName, getExtension, getFileName, getFunctionParams, getType, getValue, groupBy, hydratePopulated, idToString, injectServices, isArray, isBoolean, isConstructor, isDate, isDefined, isFunction, isNullOrUndefined, isObject, isPrimitive, isString, isType, lastItem, lcFirst, lookupPipelines, md5, mkdirRecursive, multiSubscription, observableFromFunction, padLeft, padRight, paginate, paginateAggregations, promiseTimeout, proxyFunction, proxyFunctions, rand, random, readAndDeleteFile, readFile, runCommand, setupBackend, streamToBuffer, ucFirst, valueToPromise, writeFile };
3716
+ export { AssetProcessor, AssetResolver, Assets, AuthController, BackendProvider, Cache, CacheProcessor, Configuration, DI_CONTAINER, EXPRESS, EndpointProvider, ErrorHandlerMiddleware, FIXTURE, Fixtures, Gallery, GalleryCache, GalleryController, HTTP_SERVER, IdGenerator, IsFile, IsObjectId, JOB, JobManager, LanguageMiddleware, LazyAssetGenerator, LazyAssets, MailSender, MemoryCache, MongoConnector, PARAMETER, Parameter, Progresses, ResolveEntity, SOCKET_SERVER, TemplateRenderer, TranslationProvider, Translator, Type, UserManager, assign, broadcast, bufferToStream, convertValue, copy, copyStream, createServices, createTransformer, deleteFile, deleteFromBucket, filter, firstItem, getConstructorName, getExtension, getFileName, getFunctionParams, getType, getValue, groupBy, hydratePopulated, idToString, injectServices, isArray, isBoolean, isConstructor, isDate, isDefined, isFunction, isNullOrUndefined, isObject, isPrimitive, isString, isType, lastItem, lcFirst, lookupPipelines, md5, mkdirRecursive, multiSubscription, observableFromFunction, padLeft, padRight, paginate, paginateAggregations, promiseTimeout, proxyFunction, proxyFunctions, rand, random, readAndDeleteFile, readFile, runCommand, setupBackend, streamToBuffer, ucFirst, valueToPromise, writeFile };
3660
3717
  //# sourceMappingURL=stemy-backend.js.map