@stemy/backend 3.2.5 → 3.4.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.
@@ -2,26 +2,26 @@ 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';
5
- import { createParamDecorator, BadRequestError, HttpError, getMetadataArgsStorage, Authorized, Post, UploadedFile, Body, Get, Param, QueryParam, Res, QueryParams, Controller, CurrentUser, Middleware, useContainer, useExpressServer } from 'routing-controllers';
5
+ import { createParamDecorator, BadRequestError, HttpError, getMetadataArgsStorage, Authorized, Post, UploadedFile, Body, Get, Param, QueryParam, Res, QueryParams, Controller, UnauthorizedError, CurrentUser, Middleware, useContainer, useExpressServer } from 'routing-controllers';
6
6
  import { OnMessage, ConnectedSocket, MessageBody, SocketController, Middleware as Middleware$1, useContainer as useContainer$1, useSocketServer } from 'socket-controllers';
7
7
  import { routingControllersToSpec } from 'routing-controllers-openapi';
8
8
  import { defaultMetadataStorage } from 'class-transformer/storage';
9
- import { ValidatorConstraint, ValidationTypes } from 'class-validator';
9
+ import { ValidatorConstraint, ValidationTypes, Min, Max, IsOptional, IsBoolean } from 'class-validator';
10
10
  import { validationMetadatasToSchemas } from 'class-validator-jsonschema';
11
11
  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
15
  import { mkdir, unlink, readFile as readFile$1, writeFile as writeFile$1, lstat, readdir, access, constants, lstatSync, readFileSync, existsSync } from 'fs';
16
+ import { ObjectId, GridFSBucket } from 'mongodb';
16
17
  import { Types, model, connect } from 'mongoose';
17
18
  import { getValue as getValue$1, setValue } from 'mongoose/lib/utils';
18
19
  import { Readable, PassThrough } from 'stream';
19
- import { ObjectId } from 'bson';
20
20
  import sharp_ from 'sharp';
21
+ import { ObjectId as ObjectId$1 } from 'bson';
21
22
  import fontKit_ from 'fontkit';
22
23
  import { fromBuffer } from 'file-type';
23
24
  import axios from 'axios';
24
- import { GridFSBucket } from 'mongodb';
25
25
  import dotenv from 'dotenv';
26
26
  import { validate, schedule } from 'node-cron';
27
27
  import { socket } from 'zeromq';
@@ -556,29 +556,6 @@ function getFunctionParams(func) {
556
556
  });
557
557
  return params;
558
558
  }
559
- function proxyFunction(name) {
560
- return function () {
561
- const args = Array.from(arguments);
562
- args.unshift(this);
563
- return this.helper[name].apply(this.helper, args);
564
- };
565
- }
566
- function proxyFunctions(schema, helper, paramName = null) {
567
- paramName = paramName || lcFirst(getConstructorName(helper)).replace(/helper$/gi, "");
568
- const descriptors = Object.getOwnPropertyDescriptors(helper.prototype);
569
- Object.keys(descriptors).forEach(name => {
570
- const func = descriptors[name].value;
571
- if (isFunction(func) && name !== "constructor") {
572
- const paramNames = getFunctionParams(func);
573
- if (paramNames[0] == paramName) {
574
- schema.methods[name] = proxyFunction(name);
575
- }
576
- }
577
- });
578
- injectServices(schema, {
579
- "helper": helper
580
- });
581
- }
582
559
  function ResolveEntity(model, extraCheck) {
583
560
  const modelName = model.modelName;
584
561
  const paramName = modelName.toLowerCase();
@@ -594,21 +571,23 @@ function ResolveEntity(model, extraCheck) {
594
571
  const query = !token
595
572
  ? model.findById(id)
596
573
  : model.findOne({ token });
597
- const doc = yield query;
598
- if (!doc) {
599
- throw new HttpError(404, !token
600
- ? `${modelName} could not be found with id: ${id}`
601
- : `${modelName} could not be found with token: ${token}`);
602
- }
574
+ let doc = null;
603
575
  if (isFunction(extraCheck)) {
604
576
  try {
605
- action.request[paramName] = (yield valueToPromise(extraCheck(query, action))) || doc;
606
- return action.request[paramName];
577
+ doc = yield valueToPromise(extraCheck(query, action));
607
578
  }
608
579
  catch (e) {
609
580
  throw new BadRequestError(`${modelName} check error: ${e.message || e}`);
610
581
  }
611
582
  }
583
+ else {
584
+ doc = yield query;
585
+ }
586
+ if (!doc) {
587
+ throw new HttpError(404, !token
588
+ ? `${modelName} could not be found with id: ${id}`
589
+ : `${modelName} could not be found with token: ${token}`);
590
+ }
612
591
  action.request[paramName] = doc;
613
592
  return doc;
614
593
  })
@@ -626,7 +605,9 @@ function idToString(value) {
626
605
  if (Array.isArray(value)) {
627
606
  return value.map(idToString);
628
607
  }
629
- return value instanceof ObjectId ? value.toHexString() : null;
608
+ return value instanceof ObjectId || value instanceof Types.ObjectId
609
+ ? value.toHexString()
610
+ : (isString(value) ? value : value || null);
630
611
  }
631
612
  function createTransformer(transform) {
632
613
  return (doc, ret, options) => {
@@ -868,7 +849,7 @@ function replaceSpecialChars(str, to = "-") {
868
849
  return `${str}`.replace(/[&\/\\#, +()$~%.@'":*?<>{}]/g, to);
869
850
  }
870
851
 
871
- var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
852
+ var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
872
853
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
873
854
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
874
855
  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;
@@ -878,8 +859,8 @@ function checkValue(multi, value) {
878
859
  if (multi) {
879
860
  return Array.isArray(value) && value.every(v => {
880
861
  try {
881
- const id = new ObjectId(v);
882
- return id instanceof ObjectId;
862
+ const id = new ObjectId$1(v);
863
+ return id instanceof ObjectId$1;
883
864
  }
884
865
  catch (e) {
885
866
  return false;
@@ -889,8 +870,8 @@ function checkValue(multi, value) {
889
870
  if (null === value)
890
871
  return true;
891
872
  try {
892
- const id = new ObjectId(value);
893
- return id instanceof ObjectId;
873
+ const id = new ObjectId$1(value);
874
+ return id instanceof ObjectId$1;
894
875
  }
895
876
  catch (e) {
896
877
  return false;
@@ -902,7 +883,7 @@ let IsFile = class IsFile {
902
883
  return checkValue(multi, value);
903
884
  }
904
885
  };
905
- IsFile = __decorate$x([
886
+ IsFile = __decorate$y([
906
887
  ValidatorConstraint()
907
888
  ], IsFile);
908
889
  let IsObjectId = class IsObjectId {
@@ -911,7 +892,7 @@ let IsObjectId = class IsObjectId {
911
892
  return checkValue(multi, value);
912
893
  }
913
894
  };
914
- IsObjectId = __decorate$x([
895
+ IsObjectId = __decorate$y([
915
896
  ValidatorConstraint()
916
897
  ], IsObjectId);
917
898
 
@@ -970,7 +951,7 @@ class Parameter {
970
951
  }
971
952
  }
972
953
 
973
- var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
954
+ var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
974
955
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
975
956
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
976
957
  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;
@@ -1089,18 +1070,18 @@ let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
1089
1070
  });
1090
1071
  }
1091
1072
  };
1092
- AssetProcessor = AssetProcessor_1 = __decorate$w([
1073
+ AssetProcessor = AssetProcessor_1 = __decorate$x([
1093
1074
  injectable(),
1094
1075
  scoped(Lifecycle.ContainerScoped)
1095
1076
  ], AssetProcessor);
1096
1077
 
1097
- var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
1078
+ var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
1098
1079
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1099
1080
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1100
1081
  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;
1101
1082
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1102
1083
  };
1103
- var __metadata$p = (this && this.__metadata) || function (k, v) {
1084
+ var __metadata$q = (this && this.__metadata) || function (k, v) {
1104
1085
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1105
1086
  };
1106
1087
  var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
@@ -1139,20 +1120,20 @@ let Configuration = class Configuration {
1139
1120
  return param.defaultValue;
1140
1121
  }
1141
1122
  };
1142
- Configuration = __decorate$v([
1123
+ Configuration = __decorate$w([
1143
1124
  injectable(),
1144
1125
  scoped(Lifecycle.ContainerScoped),
1145
1126
  __param$8(0, injectAll(PARAMETER)),
1146
- __metadata$p("design:paramtypes", [Array])
1127
+ __metadata$q("design:paramtypes", [Array])
1147
1128
  ], Configuration);
1148
1129
 
1149
- var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
1130
+ var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
1150
1131
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1151
1132
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1152
1133
  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;
1153
1134
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1154
1135
  };
1155
- var __metadata$o = (this && this.__metadata) || function (k, v) {
1136
+ var __metadata$p = (this && this.__metadata) || function (k, v) {
1156
1137
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1157
1138
  };
1158
1139
  var __awaiter$u = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1190,14 +1171,15 @@ let MongoConnector = class MongoConnector {
1190
1171
  pass: this.configuration.resolve("mongoPassword")
1191
1172
  })).connection;
1192
1173
  this.db = this.conn.db;
1174
+ console.log("DB INSTANCE", getType(this.db));
1193
1175
  this.fsBucket = new GridFSBucket(this.db, { bucketName: "assets" });
1194
1176
  });
1195
1177
  }
1196
1178
  };
1197
- MongoConnector = __decorate$u([
1179
+ MongoConnector = __decorate$v([
1198
1180
  injectable(),
1199
1181
  singleton(),
1200
- __metadata$o("design:paramtypes", [Configuration])
1182
+ __metadata$p("design:paramtypes", [Configuration])
1201
1183
  ], MongoConnector);
1202
1184
 
1203
1185
  var __awaiter$t = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1310,7 +1292,7 @@ class TempAsset {
1310
1292
  this.filename = filename;
1311
1293
  this.contentType = contentType;
1312
1294
  this.metadata = metadata;
1313
- this.id = new ObjectId().toHexString();
1295
+ this.id = new ObjectId$1().toHexString();
1314
1296
  }
1315
1297
  get stream() {
1316
1298
  return bufferToStream(this.buffer);
@@ -1357,13 +1339,13 @@ class TempAsset {
1357
1339
  }
1358
1340
  }
1359
1341
 
1360
- var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
1342
+ var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
1361
1343
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1362
1344
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1363
1345
  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;
1364
1346
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1365
1347
  };
1366
- var __metadata$n = (this && this.__metadata) || function (k, v) {
1348
+ var __metadata$o = (this && this.__metadata) || function (k, v) {
1367
1349
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1368
1350
  };
1369
1351
  var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1447,7 +1429,7 @@ let Assets = class Assets {
1447
1429
  }
1448
1430
  read(id) {
1449
1431
  return __awaiter$q(this, void 0, void 0, function* () {
1450
- return !id ? null : this.find({ _id: new ObjectId(id) });
1432
+ return !id ? null : this.find({ _id: new ObjectId$1(id) });
1451
1433
  });
1452
1434
  }
1453
1435
  find(where) {
@@ -1491,7 +1473,7 @@ let Assets = class Assets {
1491
1473
  firstDownload: null,
1492
1474
  lastDownload: null
1493
1475
  }, metadata || {});
1494
- metadata.filename = metadata.filename || new ObjectId().toHexString();
1476
+ metadata.filename = metadata.filename || new ObjectId$1().toHexString();
1495
1477
  metadata.extension = (fileType.ext || "").trim();
1496
1478
  return new Promise(((resolve, reject) => {
1497
1479
  const uploaderStream = this.bucket.openUploadStream(metadata.filename);
@@ -1515,10 +1497,10 @@ let Assets = class Assets {
1515
1497
  });
1516
1498
  }
1517
1499
  };
1518
- Assets = __decorate$t([
1500
+ Assets = __decorate$u([
1519
1501
  injectable(),
1520
1502
  scoped(Lifecycle.ContainerScoped),
1521
- __metadata$n("design:paramtypes", [MongoConnector, AssetProcessor])
1503
+ __metadata$o("design:paramtypes", [MongoConnector, AssetProcessor])
1522
1504
  ], Assets);
1523
1505
 
1524
1506
  var __awaiter$p = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1557,7 +1539,7 @@ class LazyAsset extends BaseEntity {
1557
1539
  if (!this.progressId) {
1558
1540
  yield this.collection.deleteOne({ _id: this.mId });
1559
1541
  }
1560
- return deleteFromBucket(this.assets.bucket, new ObjectId(this.assetId));
1542
+ return deleteFromBucket(this.assets.bucket, new ObjectId$1(this.assetId));
1561
1543
  });
1562
1544
  }
1563
1545
  startWorking() {
@@ -1607,13 +1589,13 @@ class LazyAsset extends BaseEntity {
1607
1589
  }
1608
1590
  }
1609
1591
 
1610
- var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
1592
+ var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
1611
1593
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1612
1594
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1613
1595
  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;
1614
1596
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1615
1597
  };
1616
- var __metadata$m = (this && this.__metadata) || function (k, v) {
1598
+ var __metadata$n = (this && this.__metadata) || function (k, v) {
1617
1599
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1618
1600
  };
1619
1601
  var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
@@ -1801,17 +1783,17 @@ let JobManager = class JobManager {
1801
1783
  sendToWorkers(jobName, params) {
1802
1784
  return __awaiter$o(this, void 0, void 0, function* () {
1803
1785
  const publisher = yield this.apiPush;
1804
- const uniqueId = new ObjectId().toHexString();
1786
+ const uniqueId = new ObjectId$1().toHexString();
1805
1787
  yield publisher.send([jobName, JSON.stringify(params), uniqueId]);
1806
1788
  return uniqueId;
1807
1789
  });
1808
1790
  }
1809
1791
  };
1810
- JobManager = __decorate$s([
1792
+ JobManager = __decorate$t([
1811
1793
  injectable(),
1812
1794
  scoped(Lifecycle.ContainerScoped),
1813
1795
  __param$7(1, inject(DI_CONTAINER)), __param$7(2, injectAll(JOB)),
1814
- __metadata$m("design:paramtypes", [Configuration, Object, Array])
1796
+ __metadata$n("design:paramtypes", [Configuration, Object, Array])
1815
1797
  ], JobManager);
1816
1798
 
1817
1799
  var __awaiter$n = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2024,13 +2006,13 @@ class SubProgress {
2024
2006
  }
2025
2007
  }
2026
2008
 
2027
- var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
2009
+ var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
2028
2010
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2029
2011
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2030
2012
  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;
2031
2013
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2032
2014
  };
2033
- var __metadata$l = (this && this.__metadata) || function (k, v) {
2015
+ var __metadata$m = (this && this.__metadata) || function (k, v) {
2034
2016
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2035
2017
  };
2036
2018
  var __awaiter$m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2050,7 +2032,7 @@ let Progresses = class Progresses {
2050
2032
  this.progresses = {};
2051
2033
  this.jobMan.on("progress-changed", progress => {
2052
2034
  const id = progress.id;
2053
- this.progresses[id] = new Progress(new ObjectId(id), progress, this.collection);
2035
+ this.progresses[id] = new Progress(new ObjectId$1(id), progress, this.collection);
2054
2036
  });
2055
2037
  }
2056
2038
  waitToFinish(id) {
@@ -2074,7 +2056,7 @@ let Progresses = class Progresses {
2074
2056
  }
2075
2057
  get(id) {
2076
2058
  return __awaiter$m(this, void 0, void 0, function* () {
2077
- return !id ? null : this.find({ _id: new ObjectId(id) });
2059
+ return !id ? null : this.find({ _id: new ObjectId$1(id) });
2078
2060
  });
2079
2061
  }
2080
2062
  find(where) {
@@ -2101,7 +2083,7 @@ let Progresses = class Progresses {
2101
2083
  }
2102
2084
  remove(id) {
2103
2085
  return __awaiter$m(this, void 0, void 0, function* () {
2104
- yield this.collection.deleteOne({ _id: new ObjectId(id) });
2086
+ yield this.collection.deleteOne({ _id: new ObjectId$1(id) });
2105
2087
  return id;
2106
2088
  });
2107
2089
  }
@@ -2130,19 +2112,19 @@ let Progresses = class Progresses {
2130
2112
  });
2131
2113
  }
2132
2114
  };
2133
- Progresses = __decorate$r([
2115
+ Progresses = __decorate$s([
2134
2116
  injectable(),
2135
2117
  singleton(),
2136
- __metadata$l("design:paramtypes", [MongoConnector, JobManager])
2118
+ __metadata$m("design:paramtypes", [MongoConnector, JobManager])
2137
2119
  ], Progresses);
2138
2120
 
2139
- var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
2121
+ var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
2140
2122
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2141
2123
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2142
2124
  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;
2143
2125
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2144
2126
  };
2145
- var __metadata$k = (this && this.__metadata) || function (k, v) {
2127
+ var __metadata$l = (this && this.__metadata) || function (k, v) {
2146
2128
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2147
2129
  };
2148
2130
  var __awaiter$l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2179,7 +2161,7 @@ let LazyAssets = class LazyAssets {
2179
2161
  }
2180
2162
  read(id) {
2181
2163
  return __awaiter$l(this, void 0, void 0, function* () {
2182
- return !id ? null : this.find({ _id: new ObjectId(id) });
2164
+ return !id ? null : this.find({ _id: new ObjectId$1(id) });
2183
2165
  });
2184
2166
  }
2185
2167
  find(where) {
@@ -2199,22 +2181,22 @@ let LazyAssets = class LazyAssets {
2199
2181
  });
2200
2182
  }
2201
2183
  };
2202
- LazyAssets = __decorate$q([
2184
+ LazyAssets = __decorate$r([
2203
2185
  injectable(),
2204
2186
  scoped(Lifecycle.ContainerScoped),
2205
- __metadata$k("design:paramtypes", [MongoConnector,
2187
+ __metadata$l("design:paramtypes", [MongoConnector,
2206
2188
  Assets,
2207
2189
  Progresses,
2208
2190
  JobManager])
2209
2191
  ], LazyAssets);
2210
2192
 
2211
- var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
2193
+ var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
2212
2194
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2213
2195
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2214
2196
  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
2197
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2216
2198
  };
2217
- var __metadata$j = (this && this.__metadata) || function (k, v) {
2199
+ var __metadata$k = (this && this.__metadata) || function (k, v) {
2218
2200
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2219
2201
  };
2220
2202
  var __awaiter$k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2251,19 +2233,19 @@ let AssetResolver = class AssetResolver {
2251
2233
  });
2252
2234
  }
2253
2235
  };
2254
- AssetResolver = __decorate$p([
2236
+ AssetResolver = __decorate$q([
2255
2237
  injectable(),
2256
2238
  scoped(Lifecycle.ContainerScoped),
2257
- __metadata$j("design:paramtypes", [Assets, LazyAssets])
2239
+ __metadata$k("design:paramtypes", [Assets, LazyAssets])
2258
2240
  ], AssetResolver);
2259
2241
 
2260
- var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
2242
+ var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
2261
2243
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2262
2244
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2263
2245
  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;
2264
2246
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2265
2247
  };
2266
- var __metadata$i = (this && this.__metadata) || function (k, v) {
2248
+ var __metadata$j = (this && this.__metadata) || function (k, v) {
2267
2249
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2268
2250
  };
2269
2251
  const express = express_;
@@ -2278,13 +2260,13 @@ let BackendProvider = class BackendProvider {
2278
2260
  return this.ioServer;
2279
2261
  }
2280
2262
  };
2281
- BackendProvider = __decorate$o([
2263
+ BackendProvider = __decorate$p([
2282
2264
  injectable(),
2283
2265
  singleton(),
2284
- __metadata$i("design:paramtypes", [])
2266
+ __metadata$j("design:paramtypes", [])
2285
2267
  ], BackendProvider);
2286
2268
 
2287
- var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
2269
+ var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
2288
2270
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2289
2271
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2290
2272
  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;
@@ -2311,18 +2293,18 @@ let CacheProcessor = class CacheProcessor {
2311
2293
  });
2312
2294
  }
2313
2295
  };
2314
- CacheProcessor = __decorate$n([
2296
+ CacheProcessor = __decorate$o([
2315
2297
  injectable(),
2316
2298
  scoped(Lifecycle.ContainerScoped)
2317
2299
  ], CacheProcessor);
2318
2300
 
2319
- var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
2301
+ var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
2320
2302
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2321
2303
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2322
2304
  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;
2323
2305
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2324
2306
  };
2325
- var __metadata$h = (this && this.__metadata) || function (k, v) {
2307
+ var __metadata$i = (this && this.__metadata) || function (k, v) {
2326
2308
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2327
2309
  };
2328
2310
  var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2399,13 +2381,13 @@ let Cache = class Cache {
2399
2381
  });
2400
2382
  }
2401
2383
  };
2402
- Cache = __decorate$m([
2384
+ Cache = __decorate$n([
2403
2385
  injectable(),
2404
2386
  scoped(Lifecycle.ContainerScoped),
2405
- __metadata$h("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
2387
+ __metadata$i("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
2406
2388
  ], Cache);
2407
2389
 
2408
- var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
2390
+ var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
2409
2391
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2410
2392
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2411
2393
  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;
@@ -2427,18 +2409,18 @@ let EndpointProvider = class EndpointProvider {
2427
2409
  });
2428
2410
  }
2429
2411
  };
2430
- EndpointProvider = __decorate$l([
2412
+ EndpointProvider = __decorate$m([
2431
2413
  injectable(),
2432
2414
  scoped(Lifecycle.ContainerScoped)
2433
2415
  ], EndpointProvider);
2434
2416
 
2435
- var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
2417
+ var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
2436
2418
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2437
2419
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2438
2420
  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;
2439
2421
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2440
2422
  };
2441
- var __metadata$g = (this && this.__metadata) || function (k, v) {
2423
+ var __metadata$h = (this && this.__metadata) || function (k, v) {
2442
2424
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2443
2425
  };
2444
2426
  var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
@@ -2467,11 +2449,11 @@ let Fixtures = class Fixtures {
2467
2449
  });
2468
2450
  }
2469
2451
  };
2470
- Fixtures = __decorate$k([
2452
+ Fixtures = __decorate$l([
2471
2453
  injectable(),
2472
2454
  scoped(Lifecycle.ContainerScoped),
2473
2455
  __param$6(0, injectAll(FIXTURE)),
2474
- __metadata$g("design:paramtypes", [Array])
2456
+ __metadata$h("design:paramtypes", [Array])
2475
2457
  ], Fixtures);
2476
2458
 
2477
2459
  var __awaiter$f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2520,13 +2502,13 @@ class GalleryImage {
2520
2502
  }
2521
2503
  }
2522
2504
 
2523
- var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
2505
+ var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
2524
2506
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2525
2507
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2526
2508
  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;
2527
2509
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2528
2510
  };
2529
- var __metadata$f = (this && this.__metadata) || function (k, v) {
2511
+ var __metadata$g = (this && this.__metadata) || function (k, v) {
2530
2512
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2531
2513
  };
2532
2514
  let GalleryCache = class GalleryCache {
@@ -2547,19 +2529,19 @@ let GalleryCache = class GalleryCache {
2547
2529
  return image;
2548
2530
  }
2549
2531
  };
2550
- GalleryCache = __decorate$j([
2532
+ GalleryCache = __decorate$k([
2551
2533
  injectable(),
2552
2534
  scoped(Lifecycle.ContainerScoped),
2553
- __metadata$f("design:paramtypes", [])
2535
+ __metadata$g("design:paramtypes", [])
2554
2536
  ], GalleryCache);
2555
2537
 
2556
- var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
2538
+ var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
2557
2539
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2558
2540
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2559
2541
  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;
2560
2542
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2561
2543
  };
2562
- var __metadata$e = (this && this.__metadata) || function (k, v) {
2544
+ var __metadata$f = (this && this.__metadata) || function (k, v) {
2563
2545
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2564
2546
  };
2565
2547
  var __awaiter$e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2677,19 +2659,19 @@ let Gallery = class Gallery {
2677
2659
  });
2678
2660
  }
2679
2661
  };
2680
- Gallery = __decorate$i([
2662
+ Gallery = __decorate$j([
2681
2663
  injectable(),
2682
2664
  scoped(Lifecycle.ContainerScoped),
2683
- __metadata$e("design:paramtypes", [Configuration, GalleryCache])
2665
+ __metadata$f("design:paramtypes", [Configuration, GalleryCache])
2684
2666
  ], Gallery);
2685
2667
 
2686
- var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
2668
+ var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
2687
2669
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2688
2670
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2689
2671
  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;
2690
2672
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2691
2673
  };
2692
- var __metadata$d = (this && this.__metadata) || function (k, v) {
2674
+ var __metadata$e = (this && this.__metadata) || function (k, v) {
2693
2675
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2694
2676
  };
2695
2677
  var __awaiter$d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2736,19 +2718,19 @@ let IdGenerator = class IdGenerator {
2736
2718
  }).join(this.separator);
2737
2719
  }
2738
2720
  };
2739
- IdGenerator = __decorate$h([
2721
+ IdGenerator = __decorate$i([
2740
2722
  injectable(),
2741
2723
  scoped(Lifecycle.ContainerScoped),
2742
- __metadata$d("design:paramtypes", [Configuration])
2724
+ __metadata$e("design:paramtypes", [Configuration])
2743
2725
  ], IdGenerator);
2744
2726
 
2745
- var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
2727
+ var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
2746
2728
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2747
2729
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2748
2730
  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;
2749
2731
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2750
2732
  };
2751
- var __metadata$c = (this && this.__metadata) || function (k, v) {
2733
+ var __metadata$d = (this && this.__metadata) || function (k, v) {
2752
2734
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2753
2735
  };
2754
2736
  let TranslationProvider = class TranslationProvider {
@@ -2763,19 +2745,19 @@ let TranslationProvider = class TranslationProvider {
2763
2745
  return this.cache[language];
2764
2746
  }
2765
2747
  };
2766
- TranslationProvider = __decorate$g([
2748
+ TranslationProvider = __decorate$h([
2767
2749
  injectable(),
2768
2750
  singleton(),
2769
- __metadata$c("design:paramtypes", [Configuration])
2751
+ __metadata$d("design:paramtypes", [Configuration])
2770
2752
  ], TranslationProvider);
2771
2753
 
2772
- var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
2754
+ var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
2773
2755
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2774
2756
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2775
2757
  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;
2776
2758
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2777
2759
  };
2778
- var __metadata$b = (this && this.__metadata) || function (k, v) {
2760
+ var __metadata$c = (this && this.__metadata) || function (k, v) {
2779
2761
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2780
2762
  };
2781
2763
  var __awaiter$c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2844,19 +2826,19 @@ let Translator = class Translator {
2844
2826
  });
2845
2827
  }
2846
2828
  };
2847
- Translator = __decorate$f([
2829
+ Translator = __decorate$g([
2848
2830
  injectable(),
2849
2831
  singleton(),
2850
- __metadata$b("design:paramtypes", [TranslationProvider])
2832
+ __metadata$c("design:paramtypes", [TranslationProvider])
2851
2833
  ], Translator);
2852
2834
 
2853
- var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
2835
+ var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
2854
2836
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2855
2837
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2856
2838
  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;
2857
2839
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2858
2840
  };
2859
- var __metadata$a = (this && this.__metadata) || function (k, v) {
2841
+ var __metadata$b = (this && this.__metadata) || function (k, v) {
2860
2842
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2861
2843
  };
2862
2844
  var __awaiter$b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2926,19 +2908,19 @@ let TemplateRenderer = class TemplateRenderer {
2926
2908
  });
2927
2909
  }
2928
2910
  };
2929
- TemplateRenderer = __decorate$e([
2911
+ TemplateRenderer = __decorate$f([
2930
2912
  injectable(),
2931
2913
  singleton(),
2932
- __metadata$a("design:paramtypes", [Translator, Configuration])
2914
+ __metadata$b("design:paramtypes", [Translator, Configuration])
2933
2915
  ], TemplateRenderer);
2934
2916
 
2935
- var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
2917
+ var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
2936
2918
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2937
2919
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2938
2920
  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;
2939
2921
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2940
2922
  };
2941
- var __metadata$9 = (this && this.__metadata) || function (k, v) {
2923
+ var __metadata$a = (this && this.__metadata) || function (k, v) {
2942
2924
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2943
2925
  };
2944
2926
  var __awaiter$a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2980,19 +2962,19 @@ let MailSender = class MailSender {
2980
2962
  });
2981
2963
  }
2982
2964
  };
2983
- MailSender = __decorate$d([
2965
+ MailSender = __decorate$e([
2984
2966
  injectable(),
2985
2967
  singleton(),
2986
- __metadata$9("design:paramtypes", [Configuration, TemplateRenderer])
2968
+ __metadata$a("design:paramtypes", [Configuration, TemplateRenderer])
2987
2969
  ], MailSender);
2988
2970
 
2989
- var __decorate$c = (this && this.__decorate) || function (decorators, target, key, desc) {
2971
+ var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
2990
2972
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2991
2973
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2992
2974
  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;
2993
2975
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2994
2976
  };
2995
- var __metadata$8 = (this && this.__metadata) || function (k, v) {
2977
+ var __metadata$9 = (this && this.__metadata) || function (k, v) {
2996
2978
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2997
2979
  };
2998
2980
  var __awaiter$9 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -3061,13 +3043,13 @@ let MemoryCache = class MemoryCache {
3061
3043
  });
3062
3044
  }
3063
3045
  };
3064
- MemoryCache = __decorate$c([
3046
+ MemoryCache = __decorate$d([
3065
3047
  injectable(),
3066
3048
  scoped(Lifecycle.ContainerScoped),
3067
- __metadata$8("design:paramtypes", [Cache])
3049
+ __metadata$9("design:paramtypes", [Cache])
3068
3050
  ], MemoryCache);
3069
3051
 
3070
- var __decorate$b = (this && this.__decorate) || function (decorators, target, key, desc) {
3052
+ var __decorate$c = (this && this.__decorate) || function (decorators, target, key, desc) {
3071
3053
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3072
3054
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3073
3055
  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;
@@ -3107,11 +3089,80 @@ let UserManager = class UserManager {
3107
3089
  });
3108
3090
  }
3109
3091
  };
3110
- UserManager = __decorate$b([
3092
+ UserManager = __decorate$c([
3111
3093
  injectable(),
3112
3094
  scoped(Lifecycle.ContainerScoped)
3113
3095
  ], UserManager);
3114
3096
 
3097
+ var __decorate$b = (this && this.__decorate) || function (decorators, target, key, desc) {
3098
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3099
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3100
+ 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;
3101
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3102
+ };
3103
+ var __metadata$8 = (this && this.__metadata) || function (k, v) {
3104
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3105
+ };
3106
+ class AssetImageParams {
3107
+ constructor() {
3108
+ this.rotation = 0;
3109
+ this.canvasScaleX = 1;
3110
+ this.canvasScaleY = 1;
3111
+ this.scaleX = 1;
3112
+ this.scaleY = 1;
3113
+ this.lazy = false;
3114
+ this.crop = false;
3115
+ this.cropBefore = false;
3116
+ this.cropAfter = false;
3117
+ }
3118
+ }
3119
+ __decorate$b([
3120
+ Min(-360),
3121
+ Max(360),
3122
+ IsOptional(),
3123
+ __metadata$8("design:type", Number)
3124
+ ], AssetImageParams.prototype, "rotation", void 0);
3125
+ __decorate$b([
3126
+ Min(0.0001),
3127
+ IsOptional(),
3128
+ __metadata$8("design:type", Number)
3129
+ ], AssetImageParams.prototype, "canvasScaleX", void 0);
3130
+ __decorate$b([
3131
+ Min(0.0001),
3132
+ IsOptional(),
3133
+ __metadata$8("design:type", Number)
3134
+ ], AssetImageParams.prototype, "canvasScaleY", void 0);
3135
+ __decorate$b([
3136
+ Min(0.0001),
3137
+ IsOptional(),
3138
+ __metadata$8("design:type", Number)
3139
+ ], AssetImageParams.prototype, "scaleX", void 0);
3140
+ __decorate$b([
3141
+ Min(0.0001),
3142
+ IsOptional(),
3143
+ __metadata$8("design:type", Number)
3144
+ ], AssetImageParams.prototype, "scaleY", void 0);
3145
+ __decorate$b([
3146
+ IsBoolean(),
3147
+ IsOptional(),
3148
+ __metadata$8("design:type", Boolean)
3149
+ ], AssetImageParams.prototype, "lazy", void 0);
3150
+ __decorate$b([
3151
+ IsBoolean(),
3152
+ IsOptional(),
3153
+ __metadata$8("design:type", Boolean)
3154
+ ], AssetImageParams.prototype, "crop", void 0);
3155
+ __decorate$b([
3156
+ IsBoolean(),
3157
+ IsOptional(),
3158
+ __metadata$8("design:type", Boolean)
3159
+ ], AssetImageParams.prototype, "cropBefore", void 0);
3160
+ __decorate$b([
3161
+ IsBoolean(),
3162
+ IsOptional(),
3163
+ __metadata$8("design:type", Boolean)
3164
+ ], AssetImageParams.prototype, "cropAfter", void 0);
3165
+
3115
3166
  var __decorate$a = (this && this.__decorate) || function (decorators, target, key, desc) {
3116
3167
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3117
3168
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3256,14 +3307,14 @@ __decorate$a([
3256
3307
  Get("/image/:id/:rotation"),
3257
3308
  __param$5(0, Param("id")), __param$5(1, QueryParams()), __param$5(2, Res()), __param$5(3, Param("rotation")),
3258
3309
  __metadata$7("design:type", Function),
3259
- __metadata$7("design:paramtypes", [String, Object, Object, Number]),
3310
+ __metadata$7("design:paramtypes", [String, AssetImageParams, Object, Number]),
3260
3311
  __metadata$7("design:returntype", Promise)
3261
3312
  ], AssetsController.prototype, "getImageRotation", null);
3262
3313
  __decorate$a([
3263
3314
  Get("/image/:id"),
3264
3315
  __param$5(0, Param("id")), __param$5(1, QueryParams()), __param$5(2, Res()),
3265
3316
  __metadata$7("design:type", Function),
3266
- __metadata$7("design:paramtypes", [String, Object, Object]),
3317
+ __metadata$7("design:paramtypes", [String, AssetImageParams, Object]),
3267
3318
  __metadata$7("design:returntype", Promise)
3268
3319
  ], AssetsController.prototype, "getImage", null);
3269
3320
  __decorate$a([
@@ -3277,7 +3328,7 @@ __decorate$a([
3277
3328
  Get("/by-name/image/:name"),
3278
3329
  __param$5(0, Param("name")), __param$5(1, QueryParams()), __param$5(2, Res()),
3279
3330
  __metadata$7("design:type", Function),
3280
- __metadata$7("design:paramtypes", [String, Object, Object]),
3331
+ __metadata$7("design:paramtypes", [String, AssetImageParams, Object]),
3281
3332
  __metadata$7("design:returntype", Promise)
3282
3333
  ], AssetsController.prototype, "getImageByName", null);
3283
3334
  AssetsController = __decorate$a([
@@ -3314,19 +3365,20 @@ let AuthController = class AuthController {
3314
3365
  }
3315
3366
  login(credentials, res) {
3316
3367
  return __awaiter$6(this, void 0, void 0, function* () {
3368
+ let user = null;
3317
3369
  try {
3318
- const user = yield this.userManager.getByCredentials(credentials);
3319
- const valid = yield compare(credentials.password, user.password);
3320
- if (valid !== true)
3321
- throw "message.login.error";
3322
- return {
3323
- token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
3324
- user: yield this.userManager.serialize(user)
3325
- };
3370
+ user = yield this.userManager.getByCredentials(credentials);
3326
3371
  }
3327
3372
  catch (reason) {
3328
3373
  throw new HttpError(401, reason);
3329
3374
  }
3375
+ const valid = !user ? false : yield compare(credentials.password, user.password);
3376
+ if (valid !== true)
3377
+ throw new UnauthorizedError(`message.login.error`);
3378
+ return {
3379
+ token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
3380
+ user: yield this.userManager.serialize(user)
3381
+ };
3330
3382
  });
3331
3383
  }
3332
3384
  getProfile(user) {
@@ -3598,7 +3650,7 @@ var __decorate$2 = (this && this.__decorate) || function (decorators, target, ke
3598
3650
  };
3599
3651
  let RequestStartedMiddleware = class RequestStartedMiddleware {
3600
3652
  use(request, response, next) {
3601
- request.id = new ObjectId().toHexString();
3653
+ request.id = new ObjectId$1().toHexString();
3602
3654
  request.started = moment();
3603
3655
  console.log(`Request '${request.id}' started at: ${request.started.format("YYYY-MM-DD HH:mm:ss")} [${request.method}] ${request.url}`);
3604
3656
  next(null);
@@ -3924,6 +3976,17 @@ function setupStatic(rootFolder, container) {
3924
3976
  });
3925
3977
  }
3926
3978
 
3979
+ class BaseDoc {
3980
+ /**
3981
+ * Casts this to DocumentType<this> to allow using document methods in get/set-s
3982
+ */
3983
+ cast() {
3984
+ return this;
3985
+ }
3986
+ }
3987
+ const DocumentArray = Types.DocumentArray;
3988
+ const PrimitiveArray = Types.Array;
3989
+
3927
3990
  var __awaiter$1 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3928
3991
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3929
3992
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -4231,5 +4294,5 @@ function setupBackend(config, providers, parent) {
4231
4294
  * Generated bundle index. Do not edit.
4232
4295
  */
4233
4296
 
4234
- export { AssetProcessor, AssetResolver, Assets, AuthController, BackendProvider, Cache, CacheProcessor, Configuration, ConsoleColor, 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, colorize, 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, 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, proxyFunction, proxyFunctions, rand, random, readAndDeleteFile, readFile, regroup, replaceSpecialChars, runCommand, setupBackend, streamToBuffer, toImage, ucFirst, uniqueItems, unwindStage, valueToPromise, writeFile };
4297
+ 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, IsFile, IsObjectId, JOB, JobManager, LanguageMiddleware, LazyAssetGenerator, LazyAssets, MailSender, MemoryCache, MongoConnector, PARAMETER, Parameter, PrimitiveArray, Progresses, ResolveEntity, SOCKET_SERVER, TemplateRenderer, TranslationProvider, Translator, Type, UserManager, assign, broadcast, bufferToStream, colorize, 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, 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, runCommand, setupBackend, streamToBuffer, toImage, ucFirst, uniqueItems, unwindStage, valueToPromise, writeFile };
4235
4298
  //# sourceMappingURL=stemy-backend.js.map