@stemy/backend 3.5.0 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('path'), require('body-parser'), require('jsonwebtoken'), require('tsyringe'), require('routing-controllers'), require('socket-controllers'), require('routing-controllers-openapi'), require('class-transformer/storage'), require('class-validator'), require('class-validator-jsonschema'), require('child_process'), require('crypto'), require('rxjs'), require('rxjs/internal/util/canReportError'), require('fs'), require('mongodb'), require('mongoose'), require('stream'), require('sharp'), require('bson'), require('fontkit'), require('file-type'), require('axios'), require('dotenv'), require('node-cron'), require('zeromq'), require('rxjs/operators'), require('http'), require('express'), require('socket.io'), require('uuid'), require('nodemailer'), require('handlebars'), require('bcrypt'), require('moment'), require('@typegoose/typegoose'), require('mongoose/lib/utils')) :
3
- typeof define === 'function' && define.amd ? define('@stemy/backend', ['exports', 'path', 'body-parser', 'jsonwebtoken', 'tsyringe', 'routing-controllers', 'socket-controllers', 'routing-controllers-openapi', 'class-transformer/storage', 'class-validator', 'class-validator-jsonschema', 'child_process', 'crypto', 'rxjs', 'rxjs/internal/util/canReportError', 'fs', 'mongodb', 'mongoose', 'stream', 'sharp', 'bson', 'fontkit', 'file-type', 'axios', 'dotenv', 'node-cron', 'zeromq', 'rxjs/operators', 'http', 'express', 'socket.io', 'uuid', 'nodemailer', 'handlebars', 'bcrypt', 'moment', '@typegoose/typegoose', 'mongoose/lib/utils'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.stemy = global.stemy || {}, global.stemy.backend = {}), global.path, global["body-parser"], global.jsonwebtoken, global.tsyringe, global["routing-controllers"], global["socket-controllers"], global["routing-controllers-openapi"], global["class-transformer/storage"], global["class-validator"], global["class-validator-jsonschema"], global.child_process, global.crypto, global.rxjs, global.rxjs["internal/util/canReportError"], global.fs, global.mongodb, global.mongoose, global.stream, global.sharp, global.bson, global.fontkit, global["file-type"], global.axios, global.dotenv, global["node-cron"], global.zeromq, global.rxjs.operators, global.http, global.express, global.socket.io, global.uuid, global.nodemailer, global.handlebars, global.bcrypt, global.moment, global.typegoose, global["mongoose-lib-utils"]));
5
- })(this, (function (exports, path, bodyParser, jsonwebtoken, tsyringe, routingControllers, socketControllers, routingControllersOpenapi, storage, classValidator, classValidatorJsonschema, child_process, crypto, rxjs, canReportError, fs, mongodb, mongoose, stream, sharp_, bson, fontKit_, fileType, axios, dotenv, nodeCron, zeromq, operators, http, express_, socket_io, uuid, nodemailer, Handlebars, bcrypt, moment, typegoose, utils) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('path'), require('body-parser'), require('jsonwebtoken'), require('tsyringe'), require('routing-controllers'), require('socket-controllers'), require('fontkit'), require('file-type'), require('sharp'), require('bson'), require('axios'), require('child_process'), require('crypto'), require('rxjs'), require('rxjs/internal/util/canReportError'), require('fs'), require('mongodb'), require('mongoose'), require('stream'), require('dotenv'), require('node-cron'), require('zeromq'), require('rxjs/operators'), require('http'), require('express'), require('socket.io'), require('uuid'), require('nodemailer'), require('handlebars'), require('routing-controllers-openapi'), require('class-validator-jsonschema'), require('class-transformer/storage'), require('class-validator'), require('bcrypt'), require('moment'), require('@typegoose/typegoose'), require('mongoose/lib/utils')) :
3
+ typeof define === 'function' && define.amd ? define('@stemy/backend', ['exports', 'path', 'body-parser', 'jsonwebtoken', 'tsyringe', 'routing-controllers', 'socket-controllers', 'fontkit', 'file-type', 'sharp', 'bson', 'axios', 'child_process', 'crypto', 'rxjs', 'rxjs/internal/util/canReportError', 'fs', 'mongodb', 'mongoose', 'stream', 'dotenv', 'node-cron', 'zeromq', 'rxjs/operators', 'http', 'express', 'socket.io', 'uuid', 'nodemailer', 'handlebars', 'routing-controllers-openapi', 'class-validator-jsonschema', 'class-transformer/storage', 'class-validator', 'bcrypt', 'moment', '@typegoose/typegoose', 'mongoose/lib/utils'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.stemy = global.stemy || {}, global.stemy.backend = {}), global.path, global["body-parser"], global.jsonwebtoken, global.tsyringe, global["routing-controllers"], global["socket-controllers"], global.fontkit, global["file-type"], global.sharp, global.bson, global.axios, global.child_process, global.crypto, global.rxjs, global.rxjs["internal/util/canReportError"], global.fs, global.mongodb, global.mongoose, global.stream, global.dotenv, global["node-cron"], global.zeromq, global.rxjs.operators, global.http, global.express, global.socket.io, global.uuid, global.nodemailer, global.handlebars, global["routing-controllers-openapi"], global["class-validator-jsonschema"], global["class-transformer/storage"], global["class-validator"], global.bcrypt, global.moment, global.typegoose, global["mongoose-lib-utils"]));
5
+ })(this, (function (exports, path, bodyParser, jsonwebtoken, tsyringe, routingControllers, socketControllers, fontKit_, fileType, sharp_, bson, axios, child_process, crypto, rxjs, canReportError, fs, mongodb, mongoose, stream, dotenv, nodeCron, zeromq, operators, http, express_, socket_io, uuid, nodemailer, Handlebars, routingControllersOpenapi, classValidatorJsonschema, storage, classValidator, bcrypt, moment, typegoose, utils) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -24,8 +24,8 @@
24
24
  return Object.freeze(n);
25
25
  }
26
26
 
27
- var sharp___default = /*#__PURE__*/_interopDefaultLegacy(sharp_);
28
27
  var fontKit___default = /*#__PURE__*/_interopDefaultLegacy(fontKit_);
28
+ var sharp___default = /*#__PURE__*/_interopDefaultLegacy(sharp_);
29
29
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
30
30
  var dotenv__default = /*#__PURE__*/_interopDefaultLegacy(dotenv);
31
31
  var express___default = /*#__PURE__*/_interopDefaultLegacy(express_);
@@ -87,7 +87,7 @@
87
87
  }
88
88
  return t;
89
89
  }
90
- function __decorate$B(decorators, target, key, desc) {
90
+ function __decorate$C(decorators, target, key, desc) {
91
91
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
92
92
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
93
93
  r = Reflect.decorate(decorators, target, key, desc);
@@ -97,10 +97,10 @@
97
97
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
98
98
  return c > 3 && r && Object.defineProperty(target, key, r), r;
99
99
  }
100
- function __param$9(paramIndex, decorator) {
100
+ function __param$a(paramIndex, decorator) {
101
101
  return function (target, key) { decorator(target, key, paramIndex); };
102
102
  }
103
- function __metadata$u(metadataKey, metadataValue) {
103
+ function __metadata$v(metadataKey, metadataValue) {
104
104
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
105
105
  return Reflect.metadata(metadataKey, metadataValue);
106
106
  }
@@ -360,6 +360,37 @@
360
360
  return typeof state === "function" ? receiver === state : state.has(receiver);
361
361
  }
362
362
 
363
+ // --- DI functions ---
364
+ var Type = Function;
365
+ // --- Injection tokens ---
366
+ var FIXTURE = Symbol.for("fixture-token");
367
+ var JOB = Symbol.for("job-token");
368
+ var EXPRESS = Symbol.for("express-token");
369
+ var HTTP_SERVER = Symbol.for("http-server-token");
370
+ var SOCKET_SERVER = Symbol.for("socket-server-token");
371
+ var PARAMETER = Symbol.for("parameter-token");
372
+ var DI_CONTAINER = Symbol.for("di-container-token");
373
+ var OPENAPI_VALIDATION = Symbol.for("openapi-validation-token");
374
+ var Parameter = /** @class */ (function () {
375
+ function Parameter(name, defaultValue, resolver) {
376
+ if (resolver === void 0) { resolver = null; }
377
+ this.name = name;
378
+ this.defaultValue = defaultValue;
379
+ this.resolver = resolver;
380
+ }
381
+ return Parameter;
382
+ }());
383
+
384
+ var __decorate$B = (this && this.__decorate) || function (decorators, target, key, desc) {
385
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
386
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
387
+ r = Reflect.decorate(decorators, target, key, desc);
388
+ else
389
+ for (var i = decorators.length - 1; i >= 0; i--)
390
+ if (d = decorators[i])
391
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
392
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
393
+ };
363
394
  var __awaiter$y = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
364
395
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
365
396
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -379,7 +410,161 @@
379
410
  step((generator = generator.apply(thisArg, _arguments || [])).next());
380
411
  });
381
412
  };
413
+ var AssetProcessor_1;
382
414
  var sharp$3 = sharp___default["default"];
415
+ var fontKit = fontKit___default["default"];
416
+ var fontTypes = [
417
+ "application/font-woff", "application/font-woff2", "application/x-font-opentype", "application/x-font-truetype", "application/x-font-datafork",
418
+ "font/woff", "font/woff2", "font/otf", "font/ttf", "font/datafork"
419
+ ];
420
+ var imageTypes = ["image/jpeg", "image/jpg", "image/png", "image/svg+xml"];
421
+ var fontProps = [
422
+ "postscriptName", "fullName", "familyName", "subfamilyName",
423
+ "copyright", "version", "unitsPerEm", "ascent", "descent", "lineGap",
424
+ "underlinePosition", "underlineThickness", "italicAngle", "capHeight",
425
+ "xHeight", "numGlyphs", "characterSet", "availableFeatures"
426
+ ];
427
+ exports.AssetProcessor = AssetProcessor_1 = /** @class */ (function () {
428
+ function AssetProcessor() {
429
+ }
430
+ AssetProcessor.checkTextFileType = function (type) {
431
+ return type.mime.indexOf("text") >= 0 || type.mime.indexOf("xml") >= 0;
432
+ };
433
+ AssetProcessor.fixTextFileType = function (type, buffer) {
434
+ var text = buffer.toString("utf8");
435
+ if (text.indexOf("<svg") >= 0) {
436
+ return { ext: "svg", mime: "image/svg+xml" };
437
+ }
438
+ return type;
439
+ };
440
+ AssetProcessor.fileTypeFromBuffer = function (buffer) {
441
+ var _a;
442
+ return __awaiter$y(this, void 0, void 0, function () {
443
+ var type;
444
+ return __generator(this, function (_b) {
445
+ switch (_b.label) {
446
+ case 0: return [4 /*yield*/, fileType.fromBuffer(buffer)];
447
+ case 1:
448
+ type = ((_a = _b.sent()) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
449
+ if (AssetProcessor_1.checkTextFileType(type)) {
450
+ return [2 /*return*/, AssetProcessor_1.fixTextFileType(type, buffer)];
451
+ }
452
+ return [2 /*return*/, type];
453
+ }
454
+ });
455
+ });
456
+ };
457
+ AssetProcessor.extractFontFormat = function (font) {
458
+ var name = font.constructor.name;
459
+ var tag = font["directory"].tag;
460
+ switch (name) {
461
+ case "TTFFont":
462
+ return tag === "OTTO" ? "opentype" : "truetype";
463
+ case "WOFF2Font":
464
+ return "woff2";
465
+ case "WOFFFont":
466
+ return "woff";
467
+ case "DFont":
468
+ return "datafork";
469
+ }
470
+ return null;
471
+ };
472
+ AssetProcessor.isImage = function (contentType) {
473
+ return imageTypes.indexOf(contentType) >= 0;
474
+ };
475
+ AssetProcessor.copyImageMeta = function (buffer, metadata, fileType) {
476
+ return __awaiter$y(this, void 0, void 0, function () {
477
+ var match, attrs, parts, output;
478
+ return __generator(this, function (_b) {
479
+ switch (_b.label) {
480
+ case 0:
481
+ if (fileType.mime === "image/svg+xml") {
482
+ match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
483
+ if (match && match.length > 1) {
484
+ attrs = match[1].match(/([a-z]+)="([^"]+)"/gi);
485
+ attrs.forEach(function (attr) {
486
+ if (attr.length < 5)
487
+ return;
488
+ var _b = __read(attr.split("="), 2), name = _b[0], value = _b[1];
489
+ var val = value.replace(/"/gi, "");
490
+ metadata[name] = isNaN(val) ? val : Number(val);
491
+ });
492
+ if (metadata.viewBox && (isNaN(metadata.width) || isNaN(metadata.height))) {
493
+ parts = metadata.viewBox.split(" ");
494
+ metadata.width = Number(parts[0]) + Number(parts[2]);
495
+ metadata.height = Number(parts[1]) + Number(parts[3]);
496
+ }
497
+ if (!isNaN(metadata.width) && !isNaN(metadata.height)) {
498
+ metadata.svgSize = { x: metadata.width, y: metadata.height };
499
+ }
500
+ }
501
+ return [2 /*return*/, buffer];
502
+ }
503
+ return [4 /*yield*/, sharp$3(buffer).rotate().toBuffer({ resolveWithObject: true })];
504
+ case 1:
505
+ output = _b.sent();
506
+ Object.assign(metadata, output.info);
507
+ return [2 /*return*/, output.data];
508
+ }
509
+ });
510
+ });
511
+ };
512
+ AssetProcessor.isFont = function (contentType) {
513
+ return fontTypes.indexOf(contentType) >= 0;
514
+ };
515
+ AssetProcessor.copyFontMeta = function (buffer, metadata) {
516
+ var font = fontKit.create(buffer);
517
+ metadata.format = AssetProcessor_1.extractFontFormat(font);
518
+ fontProps.forEach(function (prop) {
519
+ metadata[prop] = font[prop];
520
+ });
521
+ };
522
+ AssetProcessor.prototype.process = function (buffer, metadata, fileType) {
523
+ return __awaiter$y(this, void 0, void 0, function () {
524
+ return __generator(this, function (_b) {
525
+ switch (_b.label) {
526
+ case 0:
527
+ if (!AssetProcessor_1.isImage(fileType.mime)) return [3 /*break*/, 2];
528
+ return [4 /*yield*/, AssetProcessor_1.copyImageMeta(buffer, metadata, fileType)];
529
+ case 1:
530
+ buffer = _b.sent();
531
+ _b.label = 2;
532
+ case 2:
533
+ if (AssetProcessor_1.isFont(fileType.mime)) {
534
+ AssetProcessor_1.copyFontMeta(buffer, metadata);
535
+ }
536
+ return [2 /*return*/, buffer];
537
+ }
538
+ });
539
+ });
540
+ };
541
+ return AssetProcessor;
542
+ }());
543
+ exports.AssetProcessor = AssetProcessor_1 = __decorate$B([
544
+ tsyringe.injectable(),
545
+ tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
546
+ ], exports.AssetProcessor);
547
+
548
+ var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
549
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
550
+ return new (P || (P = Promise))(function (resolve, reject) {
551
+ function fulfilled(value) { try {
552
+ step(generator.next(value));
553
+ }
554
+ catch (e) {
555
+ reject(e);
556
+ } }
557
+ function rejected(value) { try {
558
+ step(generator["throw"](value));
559
+ }
560
+ catch (e) {
561
+ reject(e);
562
+ } }
563
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
564
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
565
+ });
566
+ };
567
+ var sharp$2 = sharp___default["default"];
383
568
  var diContainers = {
384
569
  appContainer: null
385
570
  };
@@ -560,7 +745,7 @@
560
745
  };
561
746
  }
562
747
  function toImage(src, params, meta) {
563
- return __awaiter$y(this, void 0, void 0, function () {
748
+ return __awaiter$x(this, void 0, void 0, function () {
564
749
  var crop, buffer, _a, cropBefore, cropAfter, img, _b, width, height, canvasScaleX, canvasScaleY, e_2;
565
750
  return __generator(this, function (_c) {
566
751
  switch (_c.label) {
@@ -595,7 +780,7 @@
595
780
  _c.trys.push([4, 9, , 10]);
596
781
  cropBefore = toCropRegion(params.cropBefore || (params.crop ? meta.cropBefore : null));
597
782
  cropAfter = toCropRegion(params.cropAfter || (params.crop ? meta.cropAfter : null));
598
- img = sharp$3(buffer);
783
+ img = sharp$2(buffer);
599
784
  return [4 /*yield*/, img.metadata()];
600
785
  case 5:
601
786
  _b = _c.sent(), width = _b.width, height = _b.height;
@@ -631,7 +816,7 @@
631
816
  return [4 /*yield*/, img.toBuffer()];
632
817
  case 6:
633
818
  buffer = _c.sent();
634
- img = sharp$3(buffer).rotate(params.rotation);
819
+ img = sharp$2(buffer).rotate(params.rotation);
635
820
  _c.label = 7;
636
821
  case 7: return [4 /*yield*/, img.toBuffer()];
637
822
  case 8:
@@ -721,7 +906,7 @@
721
906
  }
722
907
  function readAndDeleteFile(path, timeout) {
723
908
  if (timeout === void 0) { timeout = 5000; }
724
- return __awaiter$y(this, void 0, void 0, function () {
909
+ return __awaiter$x(this, void 0, void 0, function () {
725
910
  var data;
726
911
  return __generator(this, function (_a) {
727
912
  switch (_a.label) {
@@ -738,7 +923,7 @@
738
923
  });
739
924
  }
740
925
  function writeFile(path$1, data) {
741
- return __awaiter$y(this, void 0, void 0, function () {
926
+ return __awaiter$x(this, void 0, void 0, function () {
742
927
  return __generator(this, function (_a) {
743
928
  switch (_a.label) {
744
929
  case 0: return [4 /*yield*/, mkdirRecursive(path.dirname(path$1))];
@@ -1092,290 +1277,11 @@
1092
1277
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1093
1278
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1094
1279
  };
1095
- function checkValue(multi, value) {
1096
- if (multi) {
1097
- return Array.isArray(value) && value.every(function (v) {
1098
- try {
1099
- var id = new bson.ObjectId(v);
1100
- return id instanceof bson.ObjectId;
1101
- }
1102
- catch (e) {
1103
- return false;
1104
- }
1105
- });
1106
- }
1107
- if (null === value)
1108
- return true;
1109
- try {
1110
- var id = new bson.ObjectId(value);
1111
- return id instanceof bson.ObjectId;
1112
- }
1113
- catch (e) {
1114
- return false;
1115
- }
1116
- }
1117
- exports.IsFile = /** @class */ (function () {
1118
- function IsFile() {
1119
- }
1120
- IsFile.prototype.validate = function (value, validationArguments) {
1121
- var _a = __read((validationArguments.constraints || []), 1), multi = _a[0];
1122
- return checkValue(multi, value);
1123
- };
1124
- return IsFile;
1125
- }());
1126
- exports.IsFile = __decorate$A([
1127
- classValidator.ValidatorConstraint()
1128
- ], exports.IsFile);
1129
- exports.IsObjectId = /** @class */ (function () {
1130
- function IsObjectId() {
1131
- }
1132
- IsObjectId.prototype.validate = function (value, validationArguments) {
1133
- var _a = __read((validationArguments.constraints || []), 2), _ = _a[0], multi = _a[1];
1134
- return checkValue(multi, value);
1135
- };
1136
- return IsObjectId;
1137
- }());
1138
- exports.IsObjectId = __decorate$A([
1139
- classValidator.ValidatorConstraint()
1140
- ], exports.IsObjectId);
1141
-
1142
- var apiDocs = null;
1143
- function getApiDocs(customValidation) {
1144
- var _a;
1145
- if (apiDocs)
1146
- return apiDocs;
1147
- var storage$1 = routingControllers.getMetadataArgsStorage();
1148
- var spec = routingControllersOpenapi.routingControllersToSpec(storage$1);
1149
- spec.basePath = "/api/";
1150
- spec.definitions = classValidatorJsonschema.validationMetadatasToSchemas({
1151
- classTransformerMetadataStorage: storage.defaultMetadataStorage,
1152
- additionalConverters: (_a = {},
1153
- _a[classValidator.ValidationTypes.CUSTOM_VALIDATION] = function (meta, options) {
1154
- var res = isFunction(customValidation) ? customValidation(meta, options) : customValidation;
1155
- if (!!res)
1156
- return res;
1157
- var constraints = meta.constraints || [];
1158
- if (meta.constraintCls === exports.IsFile) {
1159
- return {
1160
- multi: constraints[0] || false,
1161
- type: "file"
1162
- };
1163
- }
1164
- if (meta.constraintCls === exports.IsObjectId) {
1165
- return {
1166
- endpoint: constraints[0] || false,
1167
- multi: constraints[1] || false,
1168
- type: "list"
1169
- };
1170
- }
1171
- return null;
1172
- },
1173
- _a)
1174
- });
1175
- spec.components.schemas = spec.definitions;
1176
- apiDocs = JSON.stringify(spec);
1177
- return apiDocs;
1178
- }
1179
-
1180
- // --- DI functions ---
1181
- var Type = Function;
1182
- // --- Injection tokens ---
1183
- var FIXTURE = Symbol.for("fixture-token");
1184
- var JOB = Symbol.for("job-token");
1185
- var EXPRESS = Symbol.for("express-token");
1186
- var HTTP_SERVER = Symbol.for("http-server-token");
1187
- var SOCKET_SERVER = Symbol.for("socket-server-token");
1188
- var PARAMETER = Symbol.for("parameter-token");
1189
- var DI_CONTAINER = Symbol.for("di-container-token");
1190
- var Parameter = /** @class */ (function () {
1191
- function Parameter(name, defaultValue, resolver) {
1192
- if (resolver === void 0) { resolver = null; }
1193
- this.name = name;
1194
- this.defaultValue = defaultValue;
1195
- this.resolver = resolver;
1196
- }
1197
- return Parameter;
1198
- }());
1199
-
1200
- var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
1201
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1202
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1203
- r = Reflect.decorate(decorators, target, key, desc);
1204
- else
1205
- for (var i = decorators.length - 1; i >= 0; i--)
1206
- if (d = decorators[i])
1207
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1208
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1209
- };
1210
- var __awaiter$x = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1211
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1212
- return new (P || (P = Promise))(function (resolve, reject) {
1213
- function fulfilled(value) { try {
1214
- step(generator.next(value));
1215
- }
1216
- catch (e) {
1217
- reject(e);
1218
- } }
1219
- function rejected(value) { try {
1220
- step(generator["throw"](value));
1221
- }
1222
- catch (e) {
1223
- reject(e);
1224
- } }
1225
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1226
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1227
- });
1228
- };
1229
- var AssetProcessor_1;
1230
- var sharp$2 = sharp___default["default"];
1231
- var fontKit = fontKit___default["default"];
1232
- var fontTypes = [
1233
- "application/font-woff", "application/font-woff2", "application/x-font-opentype", "application/x-font-truetype", "application/x-font-datafork",
1234
- "font/woff", "font/woff2", "font/otf", "font/ttf", "font/datafork"
1235
- ];
1236
- var imageTypes = ["image/jpeg", "image/jpg", "image/png", "image/svg+xml"];
1237
- var fontProps = [
1238
- "postscriptName", "fullName", "familyName", "subfamilyName",
1239
- "copyright", "version", "unitsPerEm", "ascent", "descent", "lineGap",
1240
- "underlinePosition", "underlineThickness", "italicAngle", "capHeight",
1241
- "xHeight", "numGlyphs", "characterSet", "availableFeatures"
1242
- ];
1243
- exports.AssetProcessor = AssetProcessor_1 = /** @class */ (function () {
1244
- function AssetProcessor() {
1245
- }
1246
- AssetProcessor.checkTextFileType = function (type) {
1247
- return type.mime.indexOf("text") >= 0 || type.mime.indexOf("xml") >= 0;
1248
- };
1249
- AssetProcessor.fixTextFileType = function (type, buffer) {
1250
- var text = buffer.toString("utf8");
1251
- if (text.indexOf("<svg") >= 0) {
1252
- return { ext: "svg", mime: "image/svg+xml" };
1253
- }
1254
- return type;
1255
- };
1256
- AssetProcessor.fileTypeFromBuffer = function (buffer) {
1257
- var _a;
1258
- return __awaiter$x(this, void 0, void 0, function () {
1259
- var type;
1260
- return __generator(this, function (_b) {
1261
- switch (_b.label) {
1262
- case 0: return [4 /*yield*/, fileType.fromBuffer(buffer)];
1263
- case 1:
1264
- type = ((_a = _b.sent()) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
1265
- if (AssetProcessor_1.checkTextFileType(type)) {
1266
- return [2 /*return*/, AssetProcessor_1.fixTextFileType(type, buffer)];
1267
- }
1268
- return [2 /*return*/, type];
1269
- }
1270
- });
1271
- });
1272
- };
1273
- AssetProcessor.extractFontFormat = function (font) {
1274
- var name = font.constructor.name;
1275
- var tag = font["directory"].tag;
1276
- switch (name) {
1277
- case "TTFFont":
1278
- return tag === "OTTO" ? "opentype" : "truetype";
1279
- case "WOFF2Font":
1280
- return "woff2";
1281
- case "WOFFFont":
1282
- return "woff";
1283
- case "DFont":
1284
- return "datafork";
1285
- }
1286
- return null;
1287
- };
1288
- AssetProcessor.isImage = function (contentType) {
1289
- return imageTypes.indexOf(contentType) >= 0;
1290
- };
1291
- AssetProcessor.copyImageMeta = function (buffer, metadata, fileType) {
1292
- return __awaiter$x(this, void 0, void 0, function () {
1293
- var match, attrs, parts, output;
1294
- return __generator(this, function (_b) {
1295
- switch (_b.label) {
1296
- case 0:
1297
- if (fileType.mime === "image/svg+xml") {
1298
- match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
1299
- if (match && match.length > 1) {
1300
- attrs = match[1].match(/([a-z]+)="([^"]+)"/gi);
1301
- attrs.forEach(function (attr) {
1302
- if (attr.length < 5)
1303
- return;
1304
- var _b = __read(attr.split("="), 2), name = _b[0], value = _b[1];
1305
- var val = value.replace(/"/gi, "");
1306
- metadata[name] = isNaN(val) ? val : Number(val);
1307
- });
1308
- if (metadata.viewBox && (isNaN(metadata.width) || isNaN(metadata.height))) {
1309
- parts = metadata.viewBox.split(" ");
1310
- metadata.width = Number(parts[0]) + Number(parts[2]);
1311
- metadata.height = Number(parts[1]) + Number(parts[3]);
1312
- }
1313
- if (!isNaN(metadata.width) && !isNaN(metadata.height)) {
1314
- metadata.svgSize = { x: metadata.width, y: metadata.height };
1315
- }
1316
- }
1317
- return [2 /*return*/, buffer];
1318
- }
1319
- return [4 /*yield*/, sharp$2(buffer).rotate().toBuffer({ resolveWithObject: true })];
1320
- case 1:
1321
- output = _b.sent();
1322
- Object.assign(metadata, output.info);
1323
- return [2 /*return*/, output.data];
1324
- }
1325
- });
1326
- });
1327
- };
1328
- AssetProcessor.isFont = function (contentType) {
1329
- return fontTypes.indexOf(contentType) >= 0;
1330
- };
1331
- AssetProcessor.copyFontMeta = function (buffer, metadata) {
1332
- var font = fontKit.create(buffer);
1333
- metadata.format = AssetProcessor_1.extractFontFormat(font);
1334
- fontProps.forEach(function (prop) {
1335
- metadata[prop] = font[prop];
1336
- });
1337
- };
1338
- AssetProcessor.prototype.process = function (buffer, metadata, fileType) {
1339
- return __awaiter$x(this, void 0, void 0, function () {
1340
- return __generator(this, function (_b) {
1341
- switch (_b.label) {
1342
- case 0:
1343
- if (!AssetProcessor_1.isImage(fileType.mime)) return [3 /*break*/, 2];
1344
- return [4 /*yield*/, AssetProcessor_1.copyImageMeta(buffer, metadata, fileType)];
1345
- case 1:
1346
- buffer = _b.sent();
1347
- _b.label = 2;
1348
- case 2:
1349
- if (AssetProcessor_1.isFont(fileType.mime)) {
1350
- AssetProcessor_1.copyFontMeta(buffer, metadata);
1351
- }
1352
- return [2 /*return*/, buffer];
1353
- }
1354
- });
1355
- });
1356
- };
1357
- return AssetProcessor;
1358
- }());
1359
- exports.AssetProcessor = AssetProcessor_1 = __decorate$z([
1360
- tsyringe.injectable(),
1361
- tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
1362
- ], exports.AssetProcessor);
1363
-
1364
- var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
1365
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1366
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1367
- r = Reflect.decorate(decorators, target, key, desc);
1368
- else
1369
- for (var i = decorators.length - 1; i >= 0; i--)
1370
- if (d = decorators[i])
1371
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1372
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1373
- };
1374
- var __metadata$t = (this && this.__metadata) || function (k, v) {
1280
+ var __metadata$u = (this && this.__metadata) || function (k, v) {
1375
1281
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1376
1282
  return Reflect.metadata(k, v);
1377
1283
  };
1378
- var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
1284
+ var __param$9 = (this && this.__param) || function (paramIndex, decorator) {
1379
1285
  return function (target, key) { decorator(target, key, paramIndex); };
1380
1286
  };
1381
1287
  exports.Configuration = /** @class */ (function () {
@@ -1420,13 +1326,13 @@
1420
1326
  };
1421
1327
  return Configuration;
1422
1328
  }());
1423
- exports.Configuration = __decorate$y([
1329
+ exports.Configuration = __decorate$A([
1424
1330
  tsyringe.singleton(),
1425
- __param$8(0, tsyringe.injectAll(PARAMETER)),
1426
- __metadata$t("design:paramtypes", [Array])
1331
+ __param$9(0, tsyringe.injectAll(PARAMETER)),
1332
+ __metadata$u("design:paramtypes", [Array])
1427
1333
  ], exports.Configuration);
1428
1334
 
1429
- var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
1335
+ var __decorate$z = (this && this.__decorate) || function (decorators, target, key, desc) {
1430
1336
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1431
1337
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1432
1338
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1436,7 +1342,7 @@
1436
1342
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1437
1343
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1438
1344
  };
1439
- var __metadata$s = (this && this.__metadata) || function (k, v) {
1345
+ var __metadata$t = (this && this.__metadata) || function (k, v) {
1440
1346
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1441
1347
  return Reflect.metadata(k, v);
1442
1348
  };
@@ -1512,10 +1418,10 @@
1512
1418
  };
1513
1419
  return MongoConnector;
1514
1420
  }());
1515
- exports.MongoConnector = __decorate$x([
1421
+ exports.MongoConnector = __decorate$z([
1516
1422
  tsyringe.injectable(),
1517
1423
  tsyringe.singleton(),
1518
- __metadata$s("design:paramtypes", [exports.Configuration])
1424
+ __metadata$t("design:paramtypes", [exports.Configuration])
1519
1425
  ], exports.MongoConnector);
1520
1426
 
1521
1427
  var __awaiter$v = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1771,7 +1677,7 @@
1771
1677
  return TempAsset;
1772
1678
  }());
1773
1679
 
1774
- var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
1680
+ var __decorate$y = (this && this.__decorate) || function (decorators, target, key, desc) {
1775
1681
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1776
1682
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1777
1683
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1781,7 +1687,7 @@
1781
1687
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1782
1688
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1783
1689
  };
1784
- var __metadata$r = (this && this.__metadata) || function (k, v) {
1690
+ var __metadata$s = (this && this.__metadata) || function (k, v) {
1785
1691
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1786
1692
  return Reflect.metadata(k, v);
1787
1693
  };
@@ -2057,10 +1963,10 @@
2057
1963
  };
2058
1964
  return Assets;
2059
1965
  }());
2060
- exports.Assets = __decorate$w([
1966
+ exports.Assets = __decorate$y([
2061
1967
  tsyringe.injectable(),
2062
1968
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
2063
- __metadata$r("design:paramtypes", [exports.MongoConnector, exports.AssetProcessor])
1969
+ __metadata$s("design:paramtypes", [exports.MongoConnector, exports.AssetProcessor])
2064
1970
  ], exports.Assets);
2065
1971
 
2066
1972
  var __awaiter$r = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2222,7 +2128,7 @@
2222
2128
  return LazyAsset;
2223
2129
  }(BaseEntity));
2224
2130
 
2225
- var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
2131
+ var __decorate$x = (this && this.__decorate) || function (decorators, target, key, desc) {
2226
2132
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2227
2133
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2228
2134
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2232,7 +2138,7 @@
2232
2138
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2233
2139
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2234
2140
  };
2235
- var __metadata$q = (this && this.__metadata) || function (k, v) {
2141
+ var __metadata$r = (this && this.__metadata) || function (k, v) {
2236
2142
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2237
2143
  return Reflect.metadata(k, v);
2238
2144
  };
@@ -2253,12 +2159,12 @@
2253
2159
  };
2254
2160
  return Logger;
2255
2161
  }());
2256
- exports["ɵa"] = __decorate$v([
2162
+ exports["ɵa"] = __decorate$x([
2257
2163
  tsyringe.singleton(),
2258
- __metadata$q("design:paramtypes", [exports.Configuration])
2164
+ __metadata$r("design:paramtypes", [exports.Configuration])
2259
2165
  ], exports["ɵa"]);
2260
2166
 
2261
- var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
2167
+ var __decorate$w = (this && this.__decorate) || function (decorators, target, key, desc) {
2262
2168
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2263
2169
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2264
2170
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2268,11 +2174,11 @@
2268
2174
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2269
2175
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2270
2176
  };
2271
- var __metadata$p = (this && this.__metadata) || function (k, v) {
2177
+ var __metadata$q = (this && this.__metadata) || function (k, v) {
2272
2178
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2273
2179
  return Reflect.metadata(k, v);
2274
2180
  };
2275
- var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
2181
+ var __param$8 = (this && this.__param) || function (paramIndex, decorator) {
2276
2182
  return function (target, key) { decorator(target, key, paramIndex); };
2277
2183
  };
2278
2184
  var __awaiter$q = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2525,12 +2431,12 @@
2525
2431
  };
2526
2432
  return JobManager;
2527
2433
  }());
2528
- exports.JobManager = __decorate$u([
2434
+ exports.JobManager = __decorate$w([
2529
2435
  tsyringe.injectable(),
2530
2436
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
2531
- __param$7(2, tsyringe.inject(DI_CONTAINER)),
2532
- __param$7(3, tsyringe.injectAll(JOB)),
2533
- __metadata$p("design:paramtypes", [exports.Configuration,
2437
+ __param$8(2, tsyringe.inject(DI_CONTAINER)),
2438
+ __param$8(3, tsyringe.injectAll(JOB)),
2439
+ __metadata$q("design:paramtypes", [exports.Configuration,
2534
2440
  exports["ɵa"], Object, Array])
2535
2441
  ], exports.JobManager);
2536
2442
 
@@ -2933,7 +2839,7 @@
2933
2839
  return SubProgress;
2934
2840
  }());
2935
2841
 
2936
- var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
2842
+ var __decorate$v = (this && this.__decorate) || function (decorators, target, key, desc) {
2937
2843
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2938
2844
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2939
2845
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2943,7 +2849,7 @@
2943
2849
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2944
2850
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2945
2851
  };
2946
- var __metadata$o = (this && this.__metadata) || function (k, v) {
2852
+ var __metadata$p = (this && this.__metadata) || function (k, v) {
2947
2853
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2948
2854
  return Reflect.metadata(k, v);
2949
2855
  };
@@ -3106,13 +3012,13 @@
3106
3012
  };
3107
3013
  return Progresses;
3108
3014
  }());
3109
- exports.Progresses = __decorate$t([
3015
+ exports.Progresses = __decorate$v([
3110
3016
  tsyringe.injectable(),
3111
3017
  tsyringe.singleton(),
3112
- __metadata$o("design:paramtypes", [exports.MongoConnector, exports.JobManager])
3018
+ __metadata$p("design:paramtypes", [exports.MongoConnector, exports.JobManager])
3113
3019
  ], exports.Progresses);
3114
3020
 
3115
- var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
3021
+ var __decorate$u = (this && this.__decorate) || function (decorators, target, key, desc) {
3116
3022
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3117
3023
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3118
3024
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3122,7 +3028,7 @@
3122
3028
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3123
3029
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3124
3030
  };
3125
- var __metadata$n = (this && this.__metadata) || function (k, v) {
3031
+ var __metadata$o = (this && this.__metadata) || function (k, v) {
3126
3032
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3127
3033
  return Reflect.metadata(k, v);
3128
3034
  };
@@ -3220,17 +3126,17 @@
3220
3126
  };
3221
3127
  return LazyAssets;
3222
3128
  }());
3223
- exports.LazyAssets = __decorate$s([
3129
+ exports.LazyAssets = __decorate$u([
3224
3130
  tsyringe.injectable(),
3225
3131
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3226
- __metadata$n("design:paramtypes", [exports.MongoConnector,
3132
+ __metadata$o("design:paramtypes", [exports.MongoConnector,
3227
3133
  exports.Assets,
3228
3134
  exports.Progresses,
3229
3135
  exports["ɵa"],
3230
3136
  exports.JobManager])
3231
3137
  ], exports.LazyAssets);
3232
3138
 
3233
- var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
3139
+ var __decorate$t = (this && this.__decorate) || function (decorators, target, key, desc) {
3234
3140
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3235
3141
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3236
3142
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3240,7 +3146,7 @@
3240
3146
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3241
3147
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3242
3148
  };
3243
- var __metadata$m = (this && this.__metadata) || function (k, v) {
3149
+ var __metadata$n = (this && this.__metadata) || function (k, v) {
3244
3150
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3245
3151
  return Reflect.metadata(k, v);
3246
3152
  };
@@ -3300,13 +3206,13 @@
3300
3206
  };
3301
3207
  return AssetResolver;
3302
3208
  }());
3303
- exports.AssetResolver = __decorate$r([
3209
+ exports.AssetResolver = __decorate$t([
3304
3210
  tsyringe.injectable(),
3305
3211
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3306
- __metadata$m("design:paramtypes", [exports.Assets, exports.LazyAssets])
3212
+ __metadata$n("design:paramtypes", [exports.Assets, exports.LazyAssets])
3307
3213
  ], exports.AssetResolver);
3308
3214
 
3309
- var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
3215
+ var __decorate$s = (this && this.__decorate) || function (decorators, target, key, desc) {
3310
3216
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3311
3217
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3312
3218
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3316,7 +3222,7 @@
3316
3222
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3317
3223
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3318
3224
  };
3319
- var __metadata$l = (this && this.__metadata) || function (k, v) {
3225
+ var __metadata$m = (this && this.__metadata) || function (k, v) {
3320
3226
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3321
3227
  return Reflect.metadata(k, v);
3322
3228
  };
@@ -3338,13 +3244,13 @@
3338
3244
  });
3339
3245
  return BackendProvider;
3340
3246
  }());
3341
- exports.BackendProvider = __decorate$q([
3247
+ exports.BackendProvider = __decorate$s([
3342
3248
  tsyringe.injectable(),
3343
3249
  tsyringe.singleton(),
3344
- __metadata$l("design:paramtypes", [])
3250
+ __metadata$m("design:paramtypes", [])
3345
3251
  ], exports.BackendProvider);
3346
3252
 
3347
- var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
3253
+ var __decorate$r = (this && this.__decorate) || function (decorators, target, key, desc) {
3348
3254
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3349
3255
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3350
3256
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3392,12 +3298,12 @@
3392
3298
  };
3393
3299
  return CacheProcessor;
3394
3300
  }());
3395
- exports.CacheProcessor = __decorate$p([
3301
+ exports.CacheProcessor = __decorate$r([
3396
3302
  tsyringe.injectable(),
3397
3303
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
3398
3304
  ], exports.CacheProcessor);
3399
3305
 
3400
- var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
3306
+ var __decorate$q = (this && this.__decorate) || function (decorators, target, key, desc) {
3401
3307
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3402
3308
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3403
3309
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3407,7 +3313,7 @@
3407
3313
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3408
3314
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3409
3315
  };
3410
- var __metadata$k = (this && this.__metadata) || function (k, v) {
3316
+ var __metadata$l = (this && this.__metadata) || function (k, v) {
3411
3317
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3412
3318
  return Reflect.metadata(k, v);
3413
3319
  };
@@ -3552,13 +3458,13 @@
3552
3458
  };
3553
3459
  return Cache;
3554
3460
  }());
3555
- exports.Cache = __decorate$o([
3461
+ exports.Cache = __decorate$q([
3556
3462
  tsyringe.injectable(),
3557
3463
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3558
- __metadata$k("design:paramtypes", [exports.MongoConnector, exports.Configuration, exports.CacheProcessor])
3464
+ __metadata$l("design:paramtypes", [exports.MongoConnector, exports.Configuration, exports.CacheProcessor])
3559
3465
  ], exports.Cache);
3560
3466
 
3561
- var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
3467
+ var __decorate$p = (this && this.__decorate) || function (decorators, target, key, desc) {
3562
3468
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3563
3469
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3564
3470
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3600,12 +3506,12 @@
3600
3506
  };
3601
3507
  return EndpointProvider;
3602
3508
  }());
3603
- exports.EndpointProvider = __decorate$n([
3509
+ exports.EndpointProvider = __decorate$p([
3604
3510
  tsyringe.injectable(),
3605
3511
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
3606
3512
  ], exports.EndpointProvider);
3607
3513
 
3608
- var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
3514
+ var __decorate$o = (this && this.__decorate) || function (decorators, target, key, desc) {
3609
3515
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3610
3516
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3611
3517
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3615,11 +3521,11 @@
3615
3521
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3616
3522
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3617
3523
  };
3618
- var __metadata$j = (this && this.__metadata) || function (k, v) {
3524
+ var __metadata$k = (this && this.__metadata) || function (k, v) {
3619
3525
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3620
3526
  return Reflect.metadata(k, v);
3621
3527
  };
3622
- var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
3528
+ var __param$7 = (this && this.__param) || function (paramIndex, decorator) {
3623
3529
  return function (target, key) { decorator(target, key, paramIndex); };
3624
3530
  };
3625
3531
  var __awaiter$i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -3687,11 +3593,11 @@
3687
3593
  };
3688
3594
  return Fixtures;
3689
3595
  }());
3690
- exports.Fixtures = __decorate$m([
3596
+ exports.Fixtures = __decorate$o([
3691
3597
  tsyringe.injectable(),
3692
3598
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3693
- __param$6(0, tsyringe.injectAll(FIXTURE)),
3694
- __metadata$j("design:paramtypes", [Array])
3599
+ __param$7(0, tsyringe.injectAll(FIXTURE)),
3600
+ __metadata$k("design:paramtypes", [Array])
3695
3601
  ], exports.Fixtures);
3696
3602
 
3697
3603
  var __awaiter$h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -3768,7 +3674,7 @@
3768
3674
  return GalleryImage;
3769
3675
  }());
3770
3676
 
3771
- var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
3677
+ var __decorate$n = (this && this.__decorate) || function (decorators, target, key, desc) {
3772
3678
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3773
3679
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3774
3680
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3778,7 +3684,7 @@
3778
3684
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3779
3685
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3780
3686
  };
3781
- var __metadata$i = (this && this.__metadata) || function (k, v) {
3687
+ var __metadata$j = (this && this.__metadata) || function (k, v) {
3782
3688
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3783
3689
  return Reflect.metadata(k, v);
3784
3690
  };
@@ -3801,13 +3707,13 @@
3801
3707
  };
3802
3708
  return GalleryCache;
3803
3709
  }());
3804
- exports.GalleryCache = __decorate$l([
3710
+ exports.GalleryCache = __decorate$n([
3805
3711
  tsyringe.injectable(),
3806
3712
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3807
- __metadata$i("design:paramtypes", [])
3713
+ __metadata$j("design:paramtypes", [])
3808
3714
  ], exports.GalleryCache);
3809
3715
 
3810
- var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
3716
+ var __decorate$m = (this && this.__decorate) || function (decorators, target, key, desc) {
3811
3717
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3812
3718
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3813
3719
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3817,7 +3723,7 @@
3817
3723
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3818
3724
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3819
3725
  };
3820
- var __metadata$h = (this && this.__metadata) || function (k, v) {
3726
+ var __metadata$i = (this && this.__metadata) || function (k, v) {
3821
3727
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3822
3728
  return Reflect.metadata(k, v);
3823
3729
  };
@@ -3966,13 +3872,13 @@
3966
3872
  };
3967
3873
  return Gallery;
3968
3874
  }());
3969
- exports.Gallery = __decorate$k([
3875
+ exports.Gallery = __decorate$m([
3970
3876
  tsyringe.injectable(),
3971
3877
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
3972
- __metadata$h("design:paramtypes", [exports.Configuration, exports.GalleryCache])
3878
+ __metadata$i("design:paramtypes", [exports.Configuration, exports.GalleryCache])
3973
3879
  ], exports.Gallery);
3974
3880
 
3975
- var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
3881
+ var __decorate$l = (this && this.__decorate) || function (decorators, target, key, desc) {
3976
3882
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3977
3883
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3978
3884
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3982,7 +3888,7 @@
3982
3888
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3983
3889
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3984
3890
  };
3985
- var __metadata$g = (this && this.__metadata) || function (k, v) {
3891
+ var __metadata$h = (this && this.__metadata) || function (k, v) {
3986
3892
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
3987
3893
  return Reflect.metadata(k, v);
3988
3894
  };
@@ -4053,13 +3959,13 @@
4053
3959
  };
4054
3960
  return IdGenerator;
4055
3961
  }());
4056
- exports.IdGenerator = __decorate$j([
3962
+ exports.IdGenerator = __decorate$l([
4057
3963
  tsyringe.injectable(),
4058
3964
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
4059
- __metadata$g("design:paramtypes", [exports.Configuration])
3965
+ __metadata$h("design:paramtypes", [exports.Configuration])
4060
3966
  ], exports.IdGenerator);
4061
3967
 
4062
- var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
3968
+ var __decorate$k = (this && this.__decorate) || function (decorators, target, key, desc) {
4063
3969
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4064
3970
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4065
3971
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4069,7 +3975,7 @@
4069
3975
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4070
3976
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4071
3977
  };
4072
- var __metadata$f = (this && this.__metadata) || function (k, v) {
3978
+ var __metadata$g = (this && this.__metadata) || function (k, v) {
4073
3979
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4074
3980
  return Reflect.metadata(k, v);
4075
3981
  };
@@ -4086,13 +3992,13 @@
4086
3992
  };
4087
3993
  return TranslationProvider;
4088
3994
  }());
4089
- exports.TranslationProvider = __decorate$i([
3995
+ exports.TranslationProvider = __decorate$k([
4090
3996
  tsyringe.injectable(),
4091
3997
  tsyringe.singleton(),
4092
- __metadata$f("design:paramtypes", [exports.Configuration])
3998
+ __metadata$g("design:paramtypes", [exports.Configuration])
4093
3999
  ], exports.TranslationProvider);
4094
4000
 
4095
- var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
4001
+ var __decorate$j = (this && this.__decorate) || function (decorators, target, key, desc) {
4096
4002
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4097
4003
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4098
4004
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4102,7 +4008,7 @@
4102
4008
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4103
4009
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4104
4010
  };
4105
- var __metadata$e = (this && this.__metadata) || function (k, v) {
4011
+ var __metadata$f = (this && this.__metadata) || function (k, v) {
4106
4012
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4107
4013
  return Reflect.metadata(k, v);
4108
4014
  };
@@ -4196,13 +4102,13 @@
4196
4102
  };
4197
4103
  return Translator;
4198
4104
  }());
4199
- exports.Translator = __decorate$h([
4105
+ exports.Translator = __decorate$j([
4200
4106
  tsyringe.injectable(),
4201
4107
  tsyringe.singleton(),
4202
- __metadata$e("design:paramtypes", [exports.TranslationProvider])
4108
+ __metadata$f("design:paramtypes", [exports.TranslationProvider])
4203
4109
  ], exports.Translator);
4204
4110
 
4205
- var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
4111
+ var __decorate$i = (this && this.__decorate) || function (decorators, target, key, desc) {
4206
4112
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4207
4113
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4208
4114
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4212,7 +4118,7 @@
4212
4118
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4213
4119
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4214
4120
  };
4215
- var __metadata$d = (this && this.__metadata) || function (k, v) {
4121
+ var __metadata$e = (this && this.__metadata) || function (k, v) {
4216
4122
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4217
4123
  return Reflect.metadata(k, v);
4218
4124
  };
@@ -4345,13 +4251,13 @@
4345
4251
  };
4346
4252
  return TemplateRenderer;
4347
4253
  }());
4348
- exports.TemplateRenderer = __decorate$g([
4254
+ exports.TemplateRenderer = __decorate$i([
4349
4255
  tsyringe.injectable(),
4350
4256
  tsyringe.singleton(),
4351
- __metadata$d("design:paramtypes", [exports.Translator, exports.Configuration])
4257
+ __metadata$e("design:paramtypes", [exports.Translator, exports.Configuration])
4352
4258
  ], exports.TemplateRenderer);
4353
4259
 
4354
- var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
4260
+ var __decorate$h = (this && this.__decorate) || function (decorators, target, key, desc) {
4355
4261
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4356
4262
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4357
4263
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4361,7 +4267,7 @@
4361
4267
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4362
4268
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4363
4269
  };
4364
- var __metadata$c = (this && this.__metadata) || function (k, v) {
4270
+ var __metadata$d = (this && this.__metadata) || function (k, v) {
4365
4271
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4366
4272
  return Reflect.metadata(k, v);
4367
4273
  };
@@ -4428,13 +4334,13 @@
4428
4334
  };
4429
4335
  return MailSender;
4430
4336
  }());
4431
- exports.MailSender = __decorate$f([
4337
+ exports.MailSender = __decorate$h([
4432
4338
  tsyringe.injectable(),
4433
4339
  tsyringe.singleton(),
4434
- __metadata$c("design:paramtypes", [exports.Configuration, exports.TemplateRenderer])
4340
+ __metadata$d("design:paramtypes", [exports.Configuration, exports.TemplateRenderer])
4435
4341
  ], exports.MailSender);
4436
4342
 
4437
- var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
4343
+ var __decorate$g = (this && this.__decorate) || function (decorators, target, key, desc) {
4438
4344
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4439
4345
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4440
4346
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4444,7 +4350,7 @@
4444
4350
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4445
4351
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4446
4352
  };
4447
- var __metadata$b = (this && this.__metadata) || function (k, v) {
4353
+ var __metadata$c = (this && this.__metadata) || function (k, v) {
4448
4354
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4449
4355
  return Reflect.metadata(k, v);
4450
4356
  };
@@ -4558,12 +4464,152 @@
4558
4464
  };
4559
4465
  return MemoryCache;
4560
4466
  }());
4561
- exports.MemoryCache = __decorate$e([
4467
+ exports.MemoryCache = __decorate$g([
4562
4468
  tsyringe.injectable(),
4563
4469
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped),
4564
- __metadata$b("design:paramtypes", [exports.Cache])
4470
+ __metadata$c("design:paramtypes", [exports.Cache])
4565
4471
  ], exports.MemoryCache);
4566
4472
 
4473
+ var __decorate$f = (this && this.__decorate) || function (decorators, target, key, desc) {
4474
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4475
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4476
+ r = Reflect.decorate(decorators, target, key, desc);
4477
+ else
4478
+ for (var i = decorators.length - 1; i >= 0; i--)
4479
+ if (d = decorators[i])
4480
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4481
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4482
+ };
4483
+ function checkValue(multi, value) {
4484
+ if (multi) {
4485
+ return Array.isArray(value) && value.every(function (v) {
4486
+ try {
4487
+ var id = new bson.ObjectId(v);
4488
+ return id instanceof bson.ObjectId;
4489
+ }
4490
+ catch (e) {
4491
+ return false;
4492
+ }
4493
+ });
4494
+ }
4495
+ if (null === value)
4496
+ return true;
4497
+ try {
4498
+ var id = new bson.ObjectId(value);
4499
+ return id instanceof bson.ObjectId;
4500
+ }
4501
+ catch (e) {
4502
+ return false;
4503
+ }
4504
+ }
4505
+ exports.IsFile = /** @class */ (function () {
4506
+ function IsFile() {
4507
+ }
4508
+ IsFile.prototype.validate = function (value, validationArguments) {
4509
+ var _a = __read((validationArguments.constraints || []), 1), multi = _a[0];
4510
+ return checkValue(multi, value);
4511
+ };
4512
+ return IsFile;
4513
+ }());
4514
+ exports.IsFile = __decorate$f([
4515
+ classValidator.ValidatorConstraint()
4516
+ ], exports.IsFile);
4517
+ exports.IsObjectId = /** @class */ (function () {
4518
+ function IsObjectId() {
4519
+ }
4520
+ IsObjectId.prototype.validate = function (value, validationArguments) {
4521
+ var _a = __read((validationArguments.constraints || []), 2), _ = _a[0], multi = _a[1];
4522
+ return checkValue(multi, value);
4523
+ };
4524
+ return IsObjectId;
4525
+ }());
4526
+ exports.IsObjectId = __decorate$f([
4527
+ classValidator.ValidatorConstraint()
4528
+ ], exports.IsObjectId);
4529
+
4530
+ var __decorate$e = (this && this.__decorate) || function (decorators, target, key, desc) {
4531
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4532
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4533
+ r = Reflect.decorate(decorators, target, key, desc);
4534
+ else
4535
+ for (var i = decorators.length - 1; i >= 0; i--)
4536
+ if (d = decorators[i])
4537
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4538
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4539
+ };
4540
+ var __metadata$b = (this && this.__metadata) || function (k, v) {
4541
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4542
+ return Reflect.metadata(k, v);
4543
+ };
4544
+ var __param$6 = (this && this.__param) || function (paramIndex, decorator) {
4545
+ return function (target, key) { decorator(target, key, paramIndex); };
4546
+ };
4547
+ exports.OpenApi = /** @class */ (function () {
4548
+ function OpenApi(customValidation) {
4549
+ if (customValidation === void 0) { customValidation = null; }
4550
+ this.customValidation = customValidation;
4551
+ this.docs = null;
4552
+ }
4553
+ Object.defineProperty(OpenApi.prototype, "apiDocs", {
4554
+ get: function () {
4555
+ if (!this.docs)
4556
+ this.docs = this.createApiDocs();
4557
+ return this.docs;
4558
+ },
4559
+ enumerable: false,
4560
+ configurable: true
4561
+ });
4562
+ Object.defineProperty(OpenApi.prototype, "apiDocsStr", {
4563
+ get: function () {
4564
+ if (!this.docsStr)
4565
+ this.docsStr = JSON.stringify(this.apiDocs);
4566
+ return this.docsStr;
4567
+ },
4568
+ enumerable: false,
4569
+ configurable: true
4570
+ });
4571
+ OpenApi.prototype.createApiDocs = function () {
4572
+ var _a;
4573
+ var _this = this;
4574
+ var storage$1 = routingControllers.getMetadataArgsStorage();
4575
+ var docs = routingControllersOpenapi.routingControllersToSpec(storage$1);
4576
+ docs.basePath = "/api/";
4577
+ docs.definitions = classValidatorJsonschema.validationMetadatasToSchemas({
4578
+ classTransformerMetadataStorage: storage.defaultMetadataStorage,
4579
+ additionalConverters: (_a = {},
4580
+ _a[classValidator.ValidationTypes.CUSTOM_VALIDATION] = function (meta, options) {
4581
+ var res = isFunction(_this.customValidation) ? _this.customValidation(meta, options) : _this.customValidation;
4582
+ if (isObject(res))
4583
+ return res;
4584
+ var constraints = meta.constraints || [];
4585
+ if (meta.constraintCls === exports.IsFile) {
4586
+ return {
4587
+ multi: constraints[0] || false,
4588
+ type: "file"
4589
+ };
4590
+ }
4591
+ if (meta.constraintCls === exports.IsObjectId) {
4592
+ return {
4593
+ endpoint: constraints[0] || false,
4594
+ multi: constraints[1] || false,
4595
+ type: "list"
4596
+ };
4597
+ }
4598
+ return null;
4599
+ },
4600
+ _a)
4601
+ });
4602
+ docs.components.schemas = docs.definitions;
4603
+ return docs;
4604
+ };
4605
+ return OpenApi;
4606
+ }());
4607
+ exports.OpenApi = __decorate$e([
4608
+ tsyringe.singleton(),
4609
+ __param$6(0, tsyringe.inject(OPENAPI_VALIDATION)),
4610
+ __metadata$b("design:paramtypes", [Object])
4611
+ ], exports.OpenApi);
4612
+
4567
4613
  var __decorate$d = (this && this.__decorate) || function (decorators, target, key, desc) {
4568
4614
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4569
4615
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -5269,6 +5315,9 @@
5269
5315
  result.param = error.message;
5270
5316
  return [3 /*break*/, 5];
5271
5317
  case 2:
5318
+ if (error instanceof axios.AxiosError) {
5319
+ console.log(error.response);
5320
+ }
5272
5321
  _b = result;
5273
5322
  _c = error.message;
5274
5323
  if (_c) return [3 /*break*/, 4];
@@ -5574,74 +5623,6 @@
5574
5623
  socketControllers.Middleware()
5575
5624
  ], CompressionMiddleware);
5576
5625
 
5577
- var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5578
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5579
- return new (P || (P = Promise))(function (resolve, reject) {
5580
- function fulfilled(value) { try {
5581
- step(generator.next(value));
5582
- }
5583
- catch (e) {
5584
- reject(e);
5585
- } }
5586
- function rejected(value) { try {
5587
- step(generator["throw"](value));
5588
- }
5589
- catch (e) {
5590
- reject(e);
5591
- } }
5592
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
5593
- step((generator = generator.apply(thisArg, _arguments || [])).next());
5594
- });
5595
- };
5596
- function setupStatic(rootFolder, container) {
5597
- return __awaiter$4(this, void 0, void 0, function () {
5598
- var browserFolder, app, ep;
5599
- return __generator(this, function (_a) {
5600
- switch (_a.label) {
5601
- case 0:
5602
- browserFolder = path.resolve(rootFolder || __dirname, "public_html");
5603
- app = container.get(EXPRESS);
5604
- ep = container.get(exports.EndpointProvider);
5605
- console.log(browserFolder, fs.existsSync(browserFolder));
5606
- if (fs.existsSync(browserFolder)) {
5607
- console.log("public_html exists. setting up static files serving...");
5608
- app.use(express_["static"](browserFolder, {
5609
- maxAge: "1y"
5610
- }));
5611
- }
5612
- else {
5613
- console.log("public_html does not exist on path: \"" + browserFolder + "\"");
5614
- }
5615
- return [4 /*yield*/, ep.configure(app)];
5616
- case 1:
5617
- _a.sent();
5618
- return [2 /*return*/];
5619
- }
5620
- });
5621
- });
5622
- }
5623
-
5624
- var BaseDoc = /** @class */ (function () {
5625
- function BaseDoc() {
5626
- }
5627
- /**
5628
- * Casts this to DocumentType<this> to allow using document methods in get/set-s
5629
- */
5630
- BaseDoc.prototype.cast = function () {
5631
- return this;
5632
- };
5633
- /**
5634
- * Gets a pre-compiled model from typegoose cache by its class type
5635
- * @param type
5636
- */
5637
- BaseDoc.prototype.model = function (type) {
5638
- return typegoose.getModelForClass(type);
5639
- };
5640
- return BaseDoc;
5641
- }());
5642
- var PrimitiveArray = mongoose.Types.Array;
5643
- var DocumentArray = mongoose.Types.DocumentArray;
5644
-
5645
5626
  var Tree = /** @class */ (function () {
5646
5627
  function Tree(container, exists, path) {
5647
5628
  this.container = container;
@@ -5874,7 +5855,7 @@
5874
5855
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5875
5856
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5876
5857
  };
5877
- var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5858
+ var __awaiter$4 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5878
5859
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5879
5860
  return new (P || (P = Promise))(function (resolve, reject) {
5880
5861
  function fulfilled(value) { try {
@@ -5897,7 +5878,7 @@
5897
5878
  function EmptyJob() {
5898
5879
  }
5899
5880
  EmptyJob.prototype.process = function () {
5900
- return __awaiter$3(this, void 0, void 0, function () {
5881
+ return __awaiter$4(this, void 0, void 0, function () {
5901
5882
  return __generator(this, function (_a) {
5902
5883
  return [2 /*return*/, null];
5903
5884
  });
@@ -5910,6 +5891,83 @@
5910
5891
  tsyringe.scoped(tsyringe.Lifecycle.ContainerScoped)
5911
5892
  ], EmptyJob);
5912
5893
 
5894
+ var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5895
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5896
+ return new (P || (P = Promise))(function (resolve, reject) {
5897
+ function fulfilled(value) { try {
5898
+ step(generator.next(value));
5899
+ }
5900
+ catch (e) {
5901
+ reject(e);
5902
+ } }
5903
+ function rejected(value) { try {
5904
+ step(generator["throw"](value));
5905
+ }
5906
+ catch (e) {
5907
+ reject(e);
5908
+ } }
5909
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
5910
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
5911
+ });
5912
+ };
5913
+ function setupStatic(rootFolder, container) {
5914
+ return __awaiter$3(this, void 0, void 0, function () {
5915
+ var browserFolder, app, ep;
5916
+ return __generator(this, function (_a) {
5917
+ switch (_a.label) {
5918
+ case 0:
5919
+ browserFolder = path.resolve(rootFolder || __dirname, "public_html");
5920
+ app = container.get(EXPRESS);
5921
+ ep = container.get(exports.EndpointProvider);
5922
+ console.log(browserFolder, fs.existsSync(browserFolder));
5923
+ if (fs.existsSync(browserFolder)) {
5924
+ console.log("public_html exists. setting up static files serving...");
5925
+ app.use(express_["static"](browserFolder, {
5926
+ maxAge: "1y"
5927
+ }));
5928
+ }
5929
+ else {
5930
+ console.log("public_html does not exist on path: \"" + browserFolder + "\"");
5931
+ }
5932
+ return [4 /*yield*/, ep.configure(app)];
5933
+ case 1:
5934
+ _a.sent();
5935
+ return [2 /*return*/];
5936
+ }
5937
+ });
5938
+ });
5939
+ }
5940
+
5941
+ var BaseDoc = /** @class */ (function () {
5942
+ function BaseDoc() {
5943
+ }
5944
+ /**
5945
+ * Casts this to DocumentType<this> to allow using document methods in get/set-s
5946
+ */
5947
+ BaseDoc.prototype.cast = function () {
5948
+ return this;
5949
+ };
5950
+ /**
5951
+ * Gets a pre-compiled model from typegoose cache by its class type
5952
+ * @param type
5953
+ */
5954
+ BaseDoc.prototype.model = function (type) {
5955
+ return typegoose.getModelForClass(type);
5956
+ };
5957
+ return BaseDoc;
5958
+ }());
5959
+ var PrimitiveArray = mongoose.Types.Array;
5960
+ var DocumentArray = mongoose.Types.DocumentArray;
5961
+
5962
+ function IsDocumented(summary) {
5963
+ if (summary === void 0) { summary = null; }
5964
+ return routingControllersOpenapi.OpenAPI(function (operation) {
5965
+ operation.summary = summary || operation.summary;
5966
+ operation.tags = ["Documented"].concat(operation.tags || []);
5967
+ return operation;
5968
+ });
5969
+ }
5970
+
5913
5971
  var __awaiter$2 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5914
5972
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5915
5973
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -6384,6 +6442,7 @@
6384
6442
  exports.MailSender,
6385
6443
  exports.MemoryCache,
6386
6444
  exports.MongoConnector,
6445
+ exports.OpenApi,
6387
6446
  exports.Progresses,
6388
6447
  exports.TemplateRenderer,
6389
6448
  exports.TranslationProvider,
@@ -6403,7 +6462,7 @@
6403
6462
  }
6404
6463
  function setupBackend(config, providers, parent) {
6405
6464
  return __awaiter(this, void 0, void 0, function () {
6406
- var fixtureTypes, fixtureProviders, paramProviders, jobProviders, restOptions, socketOptions, allProviders, diContainer, configuration, bp, connector;
6465
+ var fixtureTypes, fixtureProviders, paramProviders, jobProviders, restOptions, socketOptions, allProviders, diContainer, configuration, bp, openApi_1, connector;
6407
6466
  var _this = this;
6408
6467
  return __generator(this, function (_a) {
6409
6468
  switch (_a.label) {
@@ -6485,6 +6544,9 @@
6485
6544
  diContainer.register(DI_CONTAINER, {
6486
6545
  useValue: diContainer
6487
6546
  });
6547
+ diContainer.register(OPENAPI_VALIDATION, {
6548
+ useValue: config.customValidation || (function () { return null; })
6549
+ });
6488
6550
  diContainers.appContainer = diContainers.appContainer || diContainer;
6489
6551
  // Authentication
6490
6552
  restOptions.authorizationChecker = function (action, roles) { return __awaiter(_this, void 0, void 0, function () {
@@ -6575,9 +6637,12 @@
6575
6637
  }));
6576
6638
  routingControllers.useContainer(diContainer);
6577
6639
  routingControllers.useExpressServer(bp.express, restOptions);
6578
- // Setup rest ai docs
6640
+ openApi_1 = null;
6579
6641
  bp.express.get("/api-docs", function (req, res) {
6580
- res.status(200).end(getApiDocs(config.customValidation));
6642
+ openApi_1 = openApi_1 || diContainer.get(exports.OpenApi);
6643
+ res.header("Content-Type", "application/json")
6644
+ .status(200)
6645
+ .end(openApi_1.apiDocsStr);
6581
6646
  });
6582
6647
  }
6583
6648
  if (config.socketOptions) {
@@ -6612,8 +6677,10 @@
6612
6677
  exports.EXPRESS = EXPRESS;
6613
6678
  exports.FIXTURE = FIXTURE;
6614
6679
  exports.HTTP_SERVER = HTTP_SERVER;
6680
+ exports.IsDocumented = IsDocumented;
6615
6681
  exports.JOB = JOB;
6616
6682
  exports.LazyAssetGenerator = LazyAssetGenerator;
6683
+ exports.OPENAPI_VALIDATION = OPENAPI_VALIDATION;
6617
6684
  exports.PARAMETER = PARAMETER;
6618
6685
  exports.Parameter = Parameter;
6619
6686
  exports.PrimitiveArray = PrimitiveArray;