@stemy/backend 3.6.0 → 4.0.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.
- package/commands/fixtures-command.d.ts +9 -0
- package/commands/index.d.ts +2 -0
- package/common-types.d.ts +11 -6
- package/esm2020/commands/clear-command.mjs +17 -0
- package/esm2020/commands/fixtures-command.mjs +23 -0
- package/esm2020/commands/index.mjs +7 -0
- package/esm2020/common-types.mjs +21 -0
- package/esm2020/public_api.mjs +379 -0
- package/esm2020/requests/asset-image-params.mjs +53 -0
- package/esm2020/rest-controllers/assets.controller.mjs +126 -0
- package/esm2020/rest-controllers/auth.controller.mjs +46 -0
- package/esm2020/rest-controllers/gallery.controller.mjs +21 -0
- package/esm2020/rest-controllers/progresses.controller.mjs +29 -0
- package/esm2020/rest-controllers/terminal-styles.mjs +67 -0
- package/esm2020/rest-controllers/terminal.controller.mjs +125 -0
- package/esm2020/rest-middlewares/container.middleware.mjs +20 -0
- package/esm2020/rest-middlewares/error-handler.middleware.mjs +74 -0
- package/esm2020/rest-middlewares/language.middleware.mjs +18 -0
- package/esm2020/rest-middlewares/request-ended.middleware.mjs +23 -0
- package/esm2020/rest-middlewares/request-started.middleware.mjs +22 -0
- package/esm2020/services/asset-processor.mjs +90 -0
- package/esm2020/services/asset-resolver.mjs +31 -0
- package/esm2020/services/assets.mjs +140 -0
- package/esm2020/services/backend-provider.mjs +22 -0
- package/esm2020/services/cache-processor.mjs +16 -0
- package/esm2020/services/cache.mjs +62 -0
- package/{esm2015/services/configuration.js → esm2020/services/configuration.mjs} +3 -15
- package/esm2020/services/endpoint-provider.mjs +13 -0
- package/esm2020/services/entities/asset.mjs +43 -0
- package/esm2020/services/entities/base-entity.mjs +26 -0
- package/esm2020/services/entities/lazy-asset.mjs +73 -0
- package/esm2020/services/entities/progress.mjs +176 -0
- package/esm2020/services/entities/temp-asset.mjs +45 -0
- package/esm2020/services/fixtures.mjs +26 -0
- package/esm2020/services/gallery-cache.mjs +27 -0
- package/esm2020/services/gallery-image.mjs +37 -0
- package/esm2020/services/gallery.mjs +116 -0
- package/esm2020/services/id-generator.mjs +42 -0
- package/esm2020/services/job-manager.mjs +187 -0
- package/esm2020/services/lazy-assets.mjs +48 -0
- package/esm2020/services/logger.mjs +21 -0
- package/esm2020/services/mail-sender.mjs +36 -0
- package/esm2020/services/memory-cache.mjs +57 -0
- package/esm2020/services/mongo-connector.mjs +37 -0
- package/esm2020/services/open-api.mjs +114 -0
- package/esm2020/services/progresses.mjs +86 -0
- package/esm2020/services/template-renderer.mjs +64 -0
- package/esm2020/services/terminal-manager.mjs +77 -0
- package/esm2020/services/token-generator.mjs +35 -0
- package/esm2020/services/translation-provider.mjs +34 -0
- package/esm2020/services/translator.mjs +63 -0
- package/esm2020/services/user-manager.mjs +27 -0
- package/esm2020/socket-controllers/progress.controller.mjs +52 -0
- package/esm2020/socket-controllers/terminal.controller.mjs +48 -0
- package/esm2020/socket-controllers/terminal.mjs +85 -0
- package/esm2020/socket-middlewares/compression.middleware.mjs +14 -0
- package/esm2020/static.mjs +23 -0
- package/esm2020/utilities/decorators.mjs +52 -0
- package/esm2020/utilities/di-container.mjs +83 -0
- package/esm2020/utilities/empty-job.mjs +13 -0
- package/esm2020/utilities/lazy-asset-generator.mjs +35 -0
- package/esm2020/utilities/mongoose.mjs +216 -0
- package/esm2020/utils.mjs +693 -0
- package/esm2020/validators.mjs +46 -0
- package/fesm2015/{stemy-backend.js → stemy-backend.mjs} +1638 -2403
- package/fesm2015/stemy-backend.mjs.map +1 -0
- package/fesm2020/stemy-backend.mjs +4202 -0
- package/fesm2020/stemy-backend.mjs.map +1 -0
- package/{stemy-backend.d.ts → index.d.ts} +1 -0
- package/package.json +35 -23
- package/public_api.d.ts +2 -2
- package/rest-controllers/terminal-styles.d.ts +2 -0
- package/rest-controllers/terminal.controller.d.ts +2 -0
- package/services/assets.d.ts +1 -0
- package/services/entities/asset.d.ts +1 -0
- package/services/entities/temp-asset.d.ts +1 -0
- package/services/fixtures.d.ts +2 -2
- package/utils.d.ts +3 -0
- package/bundles/stemy-backend.umd.js +0 -7553
- package/bundles/stemy-backend.umd.js.map +0 -1
- package/esm2015/common-types.js +0 -20
- package/esm2015/public_api.js +0 -380
- package/esm2015/requests/asset-image-params.js +0 -70
- package/esm2015/rest-controllers/assets.controller.js +0 -180
- package/esm2015/rest-controllers/auth.controller.js +0 -76
- package/esm2015/rest-controllers/gallery.controller.js +0 -37
- package/esm2015/rest-controllers/progresses.controller.js +0 -57
- package/esm2015/rest-controllers/terminal.controller.js +0 -151
- package/esm2015/rest-middlewares/container.middleware.js +0 -32
- package/esm2015/rest-middlewares/error-handler.middleware.js +0 -99
- package/esm2015/rest-middlewares/language.middleware.js +0 -28
- package/esm2015/rest-middlewares/request-ended.middleware.js +0 -33
- package/esm2015/rest-middlewares/request-started.middleware.js +0 -32
- package/esm2015/rest-openapi.js +0 -44
- package/esm2015/services/asset-processor.js +0 -108
- package/esm2015/services/asset-resolver.js +0 -53
- package/esm2015/services/assets.js +0 -181
- package/esm2015/services/backend-provider.js +0 -32
- package/esm2015/services/cache-processor.js +0 -34
- package/esm2015/services/cache.js +0 -93
- package/esm2015/services/endpoint-provider.js +0 -29
- package/esm2015/services/entities/asset.js +0 -60
- package/esm2015/services/entities/base-entity.js +0 -37
- package/esm2015/services/entities/lazy-asset.js +0 -90
- package/esm2015/services/entities/progress.js +0 -213
- package/esm2015/services/entities/temp-asset.js +0 -64
- package/esm2015/services/fixtures.js +0 -45
- package/esm2015/services/gallery-cache.js +0 -36
- package/esm2015/services/gallery-image.js +0 -48
- package/esm2015/services/gallery.js +0 -138
- package/esm2015/services/id-generator.js +0 -63
- package/esm2015/services/job-manager.js +0 -221
- package/esm2015/services/lazy-assets.js +0 -83
- package/esm2015/services/logger.js +0 -31
- package/esm2015/services/mail-sender.js +0 -58
- package/esm2015/services/memory-cache.js +0 -84
- package/esm2015/services/mongo-connector.js +0 -58
- package/esm2015/services/open-api.js +0 -140
- package/esm2015/services/progresses.js +0 -118
- package/esm2015/services/template-renderer.js +0 -88
- package/esm2015/services/terminal-manager.js +0 -94
- package/esm2015/services/token-generator.js +0 -55
- package/esm2015/services/translation-provider.js +0 -54
- package/esm2015/services/translator.js +0 -84
- package/esm2015/services/user-manager.js +0 -47
- package/esm2015/socket-controllers/progress.controller.js +0 -82
- package/esm2015/socket-controllers/terminal.controller.js +0 -83
- package/esm2015/socket-controllers/terminal.js +0 -98
- package/esm2015/socket-middlewares/compression.middleware.js +0 -19
- package/esm2015/static.js +0 -33
- package/esm2015/utilities/clear-command.js +0 -33
- package/esm2015/utilities/decorators.js +0 -54
- package/esm2015/utilities/di-container.js +0 -84
- package/esm2015/utilities/empty-job.js +0 -29
- package/esm2015/utilities/lazy-asset-generator.js +0 -46
- package/esm2015/utilities/mongoose.js +0 -225
- package/esm2015/utils.js +0 -699
- package/esm2015/validators.js +0 -51
- package/fesm2015/stemy-backend.js.map +0 -1
- package/rest-openapi.d.ts +0 -3
- package/stemy-backend.metadata.json +0 -1
- /package/{utilities → commands}/clear-command.d.ts +0 -0
- /package/{esm2015/stemy-backend.js → esm2020/stemy-backend.mjs} +0 -0
- /package/{esm2015/utilities/base-doc.js → esm2020/utilities/base-doc.mjs} +0 -0
- /package/{esm2015/utilities/tree.js → esm2020/utilities/tree.mjs} +0 -0
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
import { injectable } from "tsyringe";
|
|
20
|
-
import { BadRequestError, Middleware } from "routing-controllers";
|
|
21
|
-
import { Translator } from "../services/translator";
|
|
22
|
-
import { Configuration } from "../services/configuration";
|
|
23
|
-
import { AxiosError } from "axios";
|
|
24
|
-
let ErrorHandlerMiddleware = class ErrorHandlerMiddleware {
|
|
25
|
-
constructor(configuration, translator) {
|
|
26
|
-
this.configuration = configuration;
|
|
27
|
-
this.translator = translator;
|
|
28
|
-
}
|
|
29
|
-
get isDev() {
|
|
30
|
-
return this.configuration.resolve("nodeEnv") === "development";
|
|
31
|
-
}
|
|
32
|
-
error(error, req, res, next) {
|
|
33
|
-
var _a;
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
const result = yield this.getResult(error, req, res);
|
|
36
|
-
if (this.isDev) {
|
|
37
|
-
if (error instanceof AxiosError) {
|
|
38
|
-
console.log(`Axios error:`, result);
|
|
39
|
-
console.log(error.config.data);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
console.log(((_a = error.constructor) === null || _a === void 0 ? void 0 : _a.name) || "Error", result, res.statusCode);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
res.json(result);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
getResult(error, req, res) {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const result = {};
|
|
51
|
-
if (error instanceof AxiosError) {
|
|
52
|
-
res.status(error.response.status);
|
|
53
|
-
result.message = error.message;
|
|
54
|
-
result.error = error.response.data;
|
|
55
|
-
result.headers = error.response.headers;
|
|
56
|
-
result.url = `${error.config.baseURL}${error.config.url}`;
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
if (error instanceof BadRequestError) {
|
|
60
|
-
res.status(400);
|
|
61
|
-
if (error.constructor.name === "ParamRequiredError") {
|
|
62
|
-
result.message = yield this.translator.getTranslation(req.language, "message.parameter-required.error");
|
|
63
|
-
result.param = error.message;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
result.message = error.message || (yield this.translator.getTranslation(req.language, "message.form-validation.error"));
|
|
67
|
-
result.errors = error["errors"];
|
|
68
|
-
if (error.stack && this.isDev) {
|
|
69
|
-
result.stack = error.stack;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
res.status(error.httpCode || 500);
|
|
75
|
-
if (error instanceof Error) {
|
|
76
|
-
if (error.name) {
|
|
77
|
-
result.name = error.name;
|
|
78
|
-
}
|
|
79
|
-
if (error.message) {
|
|
80
|
-
result.message = error.message;
|
|
81
|
-
}
|
|
82
|
-
if (error.stack && this.isDev) {
|
|
83
|
-
result.stack = error.stack;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else if (typeof error === "string") {
|
|
87
|
-
result.message = error;
|
|
88
|
-
}
|
|
89
|
-
return result;
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
ErrorHandlerMiddleware = __decorate([
|
|
94
|
-
injectable(),
|
|
95
|
-
Middleware({ type: "after" }),
|
|
96
|
-
__metadata("design:paramtypes", [Configuration, Translator])
|
|
97
|
-
], ErrorHandlerMiddleware);
|
|
98
|
-
export { ErrorHandlerMiddleware };
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc3QtbWlkZGxld2FyZXMvZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFDLGVBQWUsRUFBbUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJakcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sT0FBTyxDQUFDO0lBSXBCLHNCQUFzQixTQUF0QixzQkFBc0I7SUFNL0IsWUFBcUIsYUFBNEIsRUFBVyxVQUFzQjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFXLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFbEYsQ0FBQztJQU5ELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssYUFBYSxDQUFDO0lBQ25FLENBQUM7SUFNSyxLQUFLLENBQUMsS0FBVSxFQUFFLEdBQWEsRUFBRSxHQUFhLEVBQUUsSUFBd0I7OztZQUMxRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNyRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO29CQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxD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SSxFQUFFLE9BQU8sRUFBRSxDQUFDO3FDQU9VLGFBQWEsRUFBdUIsVUFBVTtHQU56RSxzQkFBc0IsQ0FxRWxDO1NBckVZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7QmFkUmVxdWVzdEVycm9yLCBFeHByZXNzRXJyb3JNaWRkbGV3YXJlSW50ZXJmYWNlLCBNaWRkbGV3YXJlfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge1Jlc3BvbnNlfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5cclxuaW1wb3J0IHtJUmVxdWVzdH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0b3J9IGZyb20gXCIuLi9zZXJ2aWNlcy90cmFuc2xhdG9yXCI7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4uL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtBeGlvc0Vycm9yfSBmcm9tIFwiYXhpb3NcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQE1pZGRsZXdhcmUoeyB0eXBlOiBcImFmdGVyXCIgfSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySGFuZGxlck1pZGRsZXdhcmUgaW1wbGVtZW50cyBFeHByZXNzRXJyb3JNaWRkbGV3YXJlSW50ZXJmYWNlIHtcclxuXHJcbiAgICBnZXQgaXNEZXYoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlKFwibm9kZUVudlwiKSA9PT0gXCJkZXZlbG9wbWVudFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24sIHJlYWRvbmx5IHRyYW5zbGF0b3I6IFRyYW5zbGF0b3IpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZXJyb3IoZXJyb3I6IGFueSwgcmVxOiBJUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogKGVycj86IGFueSkgPT4gYW55KSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZXRSZXN1bHQoZXJyb3IsIHJlcSwgcmVzKTtcclxuICAgICAgICBpZiAodGhpcy5pc0Rldikge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBeGlvc0Vycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgQXhpb3MgZXJyb3I6YCwgcmVzdWx0KTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmNvbmZpZy5kYXRhKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmNvbnN0cnVjdG9yPy5uYW1lIHx8IFwiRXJyb3JcIiwgcmVzdWx0LCByZXMuc3RhdHVzQ29kZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzLmpzb24ocmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0UmVzdWx0KGVycm9yLCByZXE6IElSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XHJcblxyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEF4aW9zRXJyb3IpIHtcclxuICAgICAgICAgICAgcmVzLnN0YXR1cyhlcnJvci5yZXNwb25zZS5zdGF0dXMpO1xyXG4gICAgICAgICAgICByZXN1bHQubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIHJlc3VsdC5lcnJvciA9IGVycm9yLnJlc3BvbnNlLmRhdGE7XHJcbiAgICAgICAgICAgIHJlc3VsdC5oZWFkZXJzID0gZXJyb3IucmVzcG9uc2UuaGVhZGVycztcclxuICAgICAgICAgICAgcmVzdWx0LnVybCA9IGAke2Vycm9yLmNvbmZpZy5iYXNlVVJMfSR7ZXJyb3IuY29uZmlnLnVybH1gO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQmFkUmVxdWVzdEVycm9yKSB7XHJcbiAgICAgICAgICAgIHJlcy5zdGF0dXMoNDAwKTtcclxuICAgICAgICAgICAgaWYgKGVycm9yLmNvbnN0cnVjdG9yLm5hbWUgPT09IFwiUGFyYW1SZXF1aXJlZEVycm9yXCIpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5tZXNzYWdlID0gYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uKHJlcS5sYW5ndWFnZSwgXCJtZXNzYWdlLnBhcmFtZXRlci1yZXF1aXJlZC5lcnJvclwiKTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wYXJhbSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uKHJlcS5sYW5ndWFnZSwgXCJtZXNzYWdlLmZvcm0tdmFsaWRhdGlvbi5lcnJvclwiKTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5lcnJvcnMgPSBlcnJvcltcImVycm9yc1wiXTtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGFjayAmJiB0aGlzLmlzRGV2KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YWNrID0gZXJyb3Iuc3RhY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlcy5zdGF0dXMoZXJyb3IuaHR0cENvZGUgfHwgNTAwKTtcclxuXHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLm5hbWUpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5uYW1lID0gZXJyb3IubmFtZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0Lm1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChlcnJvci5zdGFjayAmJiB0aGlzLmlzRGV2KSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuc3RhY2sgPSBlcnJvci5zdGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVycm9yID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5tZXNzYWdlID0gZXJyb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { injectable } from "tsyringe";
|
|
11
|
-
import { Middleware } from "routing-controllers";
|
|
12
|
-
import { Configuration } from "../services/configuration";
|
|
13
|
-
let LanguageMiddleware = class LanguageMiddleware {
|
|
14
|
-
constructor(config) {
|
|
15
|
-
this.config = config;
|
|
16
|
-
}
|
|
17
|
-
use(request, response, next) {
|
|
18
|
-
request.language = request.query.language || this.config.resolve("defaultLanguage");
|
|
19
|
-
next(null);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
LanguageMiddleware = __decorate([
|
|
23
|
-
injectable(),
|
|
24
|
-
Middleware({ type: "before" }),
|
|
25
|
-
__metadata("design:paramtypes", [Configuration])
|
|
26
|
-
], LanguageMiddleware);
|
|
27
|
-
export { LanguageMiddleware };
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UubWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXN0LW1pZGRsZXdhcmVzL2xhbmd1YWdlLm1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQTZCLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztJQUkzQyxrQkFBa0IsU0FBbEIsa0JBQWtCO0lBRTNCLFlBQXFCLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFFMUMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFpQixFQUFFLFFBQWEsRUFBRSxJQUF3QjtRQUMxRCxPQUFPLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBa0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FFSixDQUFBO0FBWFksa0JBQWtCO0lBRjlCLFVBQVUsRUFBRTtJQUNaLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztxQ0FHRSxhQUFhO0dBRmpDLGtCQUFrQixDQVc5QjtTQVhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7RXhwcmVzc01pZGRsZXdhcmVJbnRlcmZhY2UsIE1pZGRsZXdhcmV9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7SVJlcXVlc3R9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi4vc2VydmljZXMvY29uZmlndXJhdGlvblwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5ATWlkZGxld2FyZSh7IHR5cGU6IFwiYmVmb3JlXCIgfSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlTWlkZGxld2FyZSBpbXBsZW1lbnRzIEV4cHJlc3NNaWRkbGV3YXJlSW50ZXJmYWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdXNlKHJlcXVlc3Q6IElSZXF1ZXN0LCByZXNwb25zZTogYW55LCBuZXh0OiAoZXJyPzogYW55KSA9PiBhbnkpOiB2b2lkIHtcclxuICAgICAgICByZXF1ZXN0Lmxhbmd1YWdlID0gcmVxdWVzdC5xdWVyeS5sYW5ndWFnZSBhcyBzdHJpbmcgfHwgdGhpcy5jb25maWcucmVzb2x2ZShcImRlZmF1bHRMYW5ndWFnZVwiKTtcclxuICAgICAgICBuZXh0KG51bGwpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { injectable } from "tsyringe";
|
|
11
|
-
import { Middleware } from "routing-controllers";
|
|
12
|
-
import moment from "moment";
|
|
13
|
-
import { Logger } from "../services/logger";
|
|
14
|
-
let RequestEndedMiddleware = class RequestEndedMiddleware {
|
|
15
|
-
constructor(logger) {
|
|
16
|
-
this.logger = logger;
|
|
17
|
-
}
|
|
18
|
-
use(request, response, next) {
|
|
19
|
-
request.ended = moment();
|
|
20
|
-
const diff = request.ended.diff(request.started);
|
|
21
|
-
const duration = moment.duration(diff);
|
|
22
|
-
this.logger.log("request-time", `Request '${request.id}' ended at: ${request.ended.format("YYYY-MM-DD HH:mm:ss")} [${request.method}] ${request.url}`);
|
|
23
|
-
this.logger.log("request-time", `Request '${request.id}' lasted: ${duration.asMilliseconds()}ms`);
|
|
24
|
-
next(null);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
RequestEndedMiddleware = __decorate([
|
|
28
|
-
injectable(),
|
|
29
|
-
Middleware({ type: "after" }),
|
|
30
|
-
__metadata("design:paramtypes", [Logger])
|
|
31
|
-
], RequestEndedMiddleware);
|
|
32
|
-
export { RequestEndedMiddleware };
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1lbmRlZC5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc3QtbWlkZGxld2FyZXMvcmVxdWVzdC1lbmRlZC5taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUE2QixVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0lBSTdCLHNCQUFzQixTQUF0QixzQkFBc0I7SUFFL0IsWUFBcUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDbkMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFpQixFQUFFLFFBQWEsRUFBRSxJQUF3QjtRQUMxRCxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNYLGNBQWMsRUFDZCxZQUFZLE9BQU8sQ0FBQyxFQUFFLGVBQWUsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDeEgsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNYLGNBQWMsRUFDZCxZQUFZLE9BQU8sQ0FBQyxFQUFFLGFBQWEsUUFBUSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQ25FLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0NBRUosQ0FBQTtBQXBCWSxzQkFBc0I7SUFGbEMsVUFBVSxFQUFFO0lBQ1osVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3FDQUdHLE1BQU07R0FGMUIsc0JBQXNCLENBb0JsQztTQXBCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGV9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0V4cHJlc3NNaWRkbGV3YXJlSW50ZXJmYWNlLCBNaWRkbGV3YXJlfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IHtJUmVxdWVzdH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2dlclwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5ATWlkZGxld2FyZSh7IHR5cGU6IFwiYWZ0ZXJcIiB9KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdEVuZGVkTWlkZGxld2FyZSBpbXBsZW1lbnRzIEV4cHJlc3NNaWRkbGV3YXJlSW50ZXJmYWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBsb2dnZXI6IExvZ2dlcikge1xyXG4gICAgfVxyXG5cclxuICAgIHVzZShyZXF1ZXN0OiBJUmVxdWVzdCwgcmVzcG9uc2U6IGFueSwgbmV4dDogKGVycj86IGFueSkgPT4gYW55KTogdm9pZCB7XHJcbiAgICAgICAgcmVxdWVzdC5lbmRlZCA9IG1vbWVudCgpO1xyXG4gICAgICAgIGNvbnN0IGRpZmYgPSByZXF1ZXN0LmVuZGVkLmRpZmYocmVxdWVzdC5zdGFydGVkKTtcclxuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihkaWZmKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5sb2coXHJcbiAgICAgICAgICAgIFwicmVxdWVzdC10aW1lXCIsXHJcbiAgICAgICAgICAgIGBSZXF1ZXN0ICcke3JlcXVlc3QuaWR9JyBlbmRlZCBhdDogJHtyZXF1ZXN0LmVuZGVkLmZvcm1hdChcIllZWVktTU0tREQgSEg6bW06c3NcIil9IFske3JlcXVlc3QubWV0aG9kfV0gJHtyZXF1ZXN0LnVybH1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5sb2coXHJcbiAgICAgICAgICAgIFwicmVxdWVzdC10aW1lXCIsXHJcbiAgICAgICAgICAgIGBSZXF1ZXN0ICcke3JlcXVlc3QuaWR9JyBsYXN0ZWQ6ICR7ZHVyYXRpb24uYXNNaWxsaXNlY29uZHMoKX1tc2BcclxuICAgICAgICApO1xyXG4gICAgICAgIG5leHQobnVsbCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { injectable } from "tsyringe";
|
|
11
|
-
import { Middleware } from "routing-controllers";
|
|
12
|
-
import { ObjectId } from "bson";
|
|
13
|
-
import moment from "moment";
|
|
14
|
-
import { Logger } from "../services/logger";
|
|
15
|
-
let RequestStartedMiddleware = class RequestStartedMiddleware {
|
|
16
|
-
constructor(logger) {
|
|
17
|
-
this.logger = logger;
|
|
18
|
-
}
|
|
19
|
-
use(request, response, next) {
|
|
20
|
-
request.id = new ObjectId().toHexString();
|
|
21
|
-
request.started = moment();
|
|
22
|
-
this.logger.log("request-time", `Request '${request.id}' started at: ${request.started.format("YYYY-MM-DD HH:mm:ss")} [${request.method}] ${request.url}`);
|
|
23
|
-
next(null);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
RequestStartedMiddleware = __decorate([
|
|
27
|
-
injectable(),
|
|
28
|
-
Middleware({ type: "before" }),
|
|
29
|
-
__metadata("design:paramtypes", [Logger])
|
|
30
|
-
], RequestStartedMiddleware);
|
|
31
|
-
export { RequestStartedMiddleware };
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGFydGVkLm1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1taWRkbGV3YXJlcy9yZXF1ZXN0LXN0YXJ0ZWQubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBNkIsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0lBSTdCLHdCQUF3QixTQUF4Qix3QkFBd0I7SUFFakMsWUFBcUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDbkMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFpQixFQUFFLFFBQWEsRUFBRSxJQUF3QjtRQUMxRCxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDWCxjQUFjLEVBQ2QsWUFBWSxPQUFPLENBQUMsRUFBRSxpQkFBaUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDNUgsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FFSixDQUFBO0FBZlksd0JBQXdCO0lBRnBDLFVBQVUsRUFBRTtJQUNaLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztxQ0FHRSxNQUFNO0dBRjFCLHdCQUF3QixDQWVwQztTQWZZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7RXhwcmVzc01pZGRsZXdhcmVJbnRlcmZhY2UsIE1pZGRsZXdhcmV9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge0lSZXF1ZXN0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi4vc2VydmljZXMvbG9nZ2VyXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBNaWRkbGV3YXJlKHsgdHlwZTogXCJiZWZvcmVcIiB9KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdFN0YXJ0ZWRNaWRkbGV3YXJlIGltcGxlbWVudHMgRXhwcmVzc01pZGRsZXdhcmVJbnRlcmZhY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXNlKHJlcXVlc3Q6IElSZXF1ZXN0LCByZXNwb25zZTogYW55LCBuZXh0OiAoZXJyPzogYW55KSA9PiBhbnkpOiB2b2lkIHtcclxuICAgICAgICByZXF1ZXN0LmlkID0gbmV3IE9iamVjdElkKCkudG9IZXhTdHJpbmcoKTtcclxuICAgICAgICByZXF1ZXN0LnN0YXJ0ZWQgPSBtb21lbnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5sb2coXHJcbiAgICAgICAgICAgIFwicmVxdWVzdC10aW1lXCIsXHJcbiAgICAgICAgICAgIGBSZXF1ZXN0ICcke3JlcXVlc3QuaWR9JyBzdGFydGVkIGF0OiAke3JlcXVlc3Quc3RhcnRlZC5mb3JtYXQoXCJZWVlZLU1NLUREIEhIOm1tOnNzXCIpfSBbJHtyZXF1ZXN0Lm1ldGhvZH1dICR7cmVxdWVzdC51cmx9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbmV4dChudWxsKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
package/esm2015/rest-openapi.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { getMetadataArgsStorage } from "routing-controllers";
|
|
2
|
-
import { routingControllersToSpec } from "routing-controllers-openapi";
|
|
3
|
-
import { defaultMetadataStorage } from "class-transformer/storage";
|
|
4
|
-
import { ValidationTypes } from "class-validator";
|
|
5
|
-
import { validationMetadatasToSchemas } from "class-validator-jsonschema";
|
|
6
|
-
import { isFunction } from "./utils";
|
|
7
|
-
import { IsFile, IsObjectId } from "./validators";
|
|
8
|
-
let apiDocs = null;
|
|
9
|
-
export function getApiDocs(customValidation) {
|
|
10
|
-
if (apiDocs)
|
|
11
|
-
return apiDocs;
|
|
12
|
-
const storage = getMetadataArgsStorage();
|
|
13
|
-
const spec = routingControllersToSpec(storage);
|
|
14
|
-
spec.basePath = "/api/";
|
|
15
|
-
spec.definitions = validationMetadatasToSchemas({
|
|
16
|
-
classTransformerMetadataStorage: defaultMetadataStorage,
|
|
17
|
-
additionalConverters: {
|
|
18
|
-
[ValidationTypes.CUSTOM_VALIDATION]: (meta, options) => {
|
|
19
|
-
const res = isFunction(customValidation) ? customValidation(meta, options) : customValidation;
|
|
20
|
-
if (!!res)
|
|
21
|
-
return res;
|
|
22
|
-
const constraints = meta.constraints || [];
|
|
23
|
-
if (meta.constraintCls === IsFile) {
|
|
24
|
-
return {
|
|
25
|
-
multi: constraints[0] || false,
|
|
26
|
-
type: "file"
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
if (meta.constraintCls === IsObjectId) {
|
|
30
|
-
return {
|
|
31
|
-
endpoint: constraints[0] || false,
|
|
32
|
-
multi: constraints[1] || false,
|
|
33
|
-
type: "list"
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
spec.components.schemas = spec.definitions;
|
|
41
|
-
apiDocs = JSON.stringify(spec);
|
|
42
|
-
return apiDocs;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1vcGVuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc3Qtb3BlbmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFDL0MsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNEJBQTRCLENBQUE7QUFFdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUVoRCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUM7QUFFM0IsTUFBTSxVQUFVLFVBQVUsQ0FBQyxnQkFBZ0Q7SUFDdkUsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDNUIsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxNQUFNLElBQUksR0FBa0Isd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQztRQUM1QywrQkFBK0IsRUFBRSxzQkFBc0I7UUFDdkQsb0JBQW9CLEVBQUU7WUFDbEIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDbkQsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzlGLElBQUksQ0FBQyxDQUFDLEdBQUc7b0JBQUUsT0FBTyxHQUFHLENBQUM7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2dCQUMzQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFO29CQUMvQixPQUFPO3dCQUNILEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzt3QkFDOUIsSUFBSSxFQUFFLE1BQU07cUJBQ2YsQ0FBQTtpQkFDSjtnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFO29CQUNuQyxPQUFPO3dCQUNILFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzt3QkFDakMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLO3dCQUM5QixJQUFJLEVBQUUsTUFBTTtxQkFDZixDQUFBO2lCQUNKO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7U0FDSjtLQUNKLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDM0MsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0TWV0YWRhdGFBcmdzU3RvcmFnZX0gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtyb3V0aW5nQ29udHJvbGxlcnNUb1NwZWN9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzLW9wZW5hcGlcIjtcclxuaW1wb3J0IHtPcGVuQVBJT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5pbXBvcnQge2RlZmF1bHRNZXRhZGF0YVN0b3JhZ2V9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lci9zdG9yYWdlXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblR5cGVzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yXCJcclxuaW1wb3J0IHt2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yLWpzb25zY2hlbWFcIlxyXG5pbXBvcnQge1NjaGVtYUNvbnZlcnRlcn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7aXNGdW5jdGlvbn0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IHtJc0ZpbGUsIElzT2JqZWN0SWR9IGZyb20gXCIuL3ZhbGlkYXRvcnNcIjtcclxuXHJcbmxldCBhcGlEb2NzOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwaURvY3MoY3VzdG9tVmFsaWRhdGlvbjogU2NoZW1hQ29udmVydGVyIHwgU2NoZW1hT2JqZWN0KTogc3RyaW5nIHtcclxuICAgIGlmIChhcGlEb2NzKSByZXR1cm4gYXBpRG9jcztcclxuICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlKCk7XHJcbiAgICBjb25zdCBzcGVjOiBPcGVuQVBJT2JqZWN0ID0gcm91dGluZ0NvbnRyb2xsZXJzVG9TcGVjKHN0b3JhZ2UpO1xyXG4gICAgc3BlYy5iYXNlUGF0aCA9IFwiL2FwaS9cIjtcclxuICAgIHNwZWMuZGVmaW5pdGlvbnMgPSB2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzKHtcclxuICAgICAgICBjbGFzc1RyYW5zZm9ybWVyTWV0YWRhdGFTdG9yYWdlOiBkZWZhdWx0TWV0YWRhdGFTdG9yYWdlLFxyXG4gICAgICAgIGFkZGl0aW9uYWxDb252ZXJ0ZXJzOiB7XHJcbiAgICAgICAgICAgIFtWYWxpZGF0aW9uVHlwZXMuQ1VTVE9NX1ZBTElEQVRJT05dOiAobWV0YSwgb3B0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gaXNGdW5jdGlvbihjdXN0b21WYWxpZGF0aW9uKSA/IGN1c3RvbVZhbGlkYXRpb24obWV0YSwgb3B0aW9ucykgOiBjdXN0b21WYWxpZGF0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCEhcmVzKSByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludHMgPSBtZXRhLmNvbnN0cmFpbnRzIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IGNvbnN0cmFpbnRzWzBdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChtZXRhLmNvbnN0cmFpbnRDbHMgPT09IElzT2JqZWN0SWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogY29uc3RyYWludHNbMF0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiBjb25zdHJhaW50c1sxXSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc3BlYy5jb21wb25lbnRzLnNjaGVtYXMgPSBzcGVjLmRlZmluaXRpb25zO1xyXG4gICAgYXBpRG9jcyA9IEpTT04uc3RyaW5naWZ5KHNwZWMpO1xyXG4gICAgcmV0dXJuIGFwaURvY3M7XHJcbn1cclxuIl19
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var AssetProcessor_1;
|
|
17
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
18
|
-
import fontKit_ from "fontkit";
|
|
19
|
-
import sharp_ from "sharp";
|
|
20
|
-
const sharp = sharp_;
|
|
21
|
-
const fontKit = fontKit_;
|
|
22
|
-
const fontTypes = [
|
|
23
|
-
"application/font-woff", "application/font-woff2", "application/x-font-opentype", "application/x-font-truetype", "application/x-font-datafork",
|
|
24
|
-
"font/woff", "font/woff2", "font/otf", "font/ttf", "font/datafork"
|
|
25
|
-
];
|
|
26
|
-
const imageTypes = ["image/jpeg", "image/jpg", "image/png", "image/svg+xml"];
|
|
27
|
-
const fontProps = [
|
|
28
|
-
"postscriptName", "fullName", "familyName", "subfamilyName",
|
|
29
|
-
"copyright", "version", "unitsPerEm", "ascent", "descent", "lineGap",
|
|
30
|
-
"underlinePosition", "underlineThickness", "italicAngle", "capHeight",
|
|
31
|
-
"xHeight", "numGlyphs", "characterSet", "availableFeatures"
|
|
32
|
-
];
|
|
33
|
-
let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
|
|
34
|
-
static extractFontFormat(font) {
|
|
35
|
-
const name = font.constructor.name;
|
|
36
|
-
const tag = font["directory"].tag;
|
|
37
|
-
switch (name) {
|
|
38
|
-
case "TTFFont":
|
|
39
|
-
return tag === "OTTO" ? "opentype" : "truetype";
|
|
40
|
-
case "WOFF2Font":
|
|
41
|
-
return "woff2";
|
|
42
|
-
case "WOFFFont":
|
|
43
|
-
return "woff";
|
|
44
|
-
case "DFont":
|
|
45
|
-
return "datafork";
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
static isImage(contentType) {
|
|
50
|
-
return imageTypes.indexOf(contentType) >= 0;
|
|
51
|
-
}
|
|
52
|
-
static copyImageMeta(buffer, metadata, fileType) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
if (fileType.mime === "image/svg+xml") {
|
|
55
|
-
const match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
|
|
56
|
-
if (match && match.length > 1) {
|
|
57
|
-
const attrs = match[1].match(/([a-z]+)="([^"]+)"/gi);
|
|
58
|
-
attrs.forEach(attr => {
|
|
59
|
-
if (attr.length < 5)
|
|
60
|
-
return;
|
|
61
|
-
const [name, value] = attr.split("=");
|
|
62
|
-
const val = value.replace(/"/gi, "");
|
|
63
|
-
metadata[name] = isNaN(val) ? val : Number(val);
|
|
64
|
-
});
|
|
65
|
-
if (metadata.viewBox && (isNaN(metadata.width) || isNaN(metadata.height))) {
|
|
66
|
-
const parts = metadata.viewBox.split(" ");
|
|
67
|
-
metadata.width = Number(parts[0]) + Number(parts[2]);
|
|
68
|
-
metadata.height = Number(parts[1]) + Number(parts[3]);
|
|
69
|
-
}
|
|
70
|
-
if (!isNaN(metadata.width) && !isNaN(metadata.height)) {
|
|
71
|
-
metadata.svgSize = { x: metadata.width, y: metadata.height };
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return buffer;
|
|
75
|
-
}
|
|
76
|
-
const output = yield sharp(buffer).rotate().toBuffer({ resolveWithObject: true });
|
|
77
|
-
Object.assign(metadata, output.info);
|
|
78
|
-
return output.data;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
static isFont(contentType) {
|
|
82
|
-
return fontTypes.indexOf(contentType) >= 0;
|
|
83
|
-
}
|
|
84
|
-
static copyFontMeta(buffer, metadata) {
|
|
85
|
-
const font = fontKit.create(buffer);
|
|
86
|
-
metadata.format = AssetProcessor_1.extractFontFormat(font);
|
|
87
|
-
fontProps.forEach(prop => {
|
|
88
|
-
metadata[prop] = font[prop];
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
process(buffer, metadata, fileType) {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
if (AssetProcessor_1.isImage(fileType.mime)) {
|
|
94
|
-
buffer = yield AssetProcessor_1.copyImageMeta(buffer, metadata, fileType);
|
|
95
|
-
}
|
|
96
|
-
if (AssetProcessor_1.isFont(fileType.mime)) {
|
|
97
|
-
AssetProcessor_1.copyFontMeta(buffer, metadata);
|
|
98
|
-
}
|
|
99
|
-
return buffer;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
AssetProcessor = AssetProcessor_1 = __decorate([
|
|
104
|
-
injectable(),
|
|
105
|
-
scoped(Lifecycle.ContainerScoped)
|
|
106
|
-
], AssetProcessor);
|
|
107
|
-
export { AssetProcessor };
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0LXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sUUFBZ0IsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sT0FBTyxDQUFDO0FBRzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUNyQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFFekIsTUFBTSxTQUFTLEdBQUc7SUFDZCx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkI7SUFDOUksV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWU7Q0FDckUsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFN0UsTUFBTSxTQUFTLEdBQUc7SUFDZCxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGVBQWU7SUFDM0QsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTO0lBQ3BFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxXQUFXO0lBQ3JFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLG1CQUFtQjtDQUM5RCxDQUFDO0lBSVcsY0FBYyw0QkFBZCxjQUFjO0lBRXZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFVO1FBQy9CLE1BQU0sSUFBSSxHQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzNDLE1BQU0sR0FBRyxHQUFZLElB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R0FDckIsY0FBYyxDQXNFMUI7U0F0RVksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQgZm9udEtpdF8sIHtGb250fSBmcm9tIFwiZm9udGtpdFwiO1xyXG5pbXBvcnQgc2hhcnBfIGZyb20gXCJzaGFycFwiO1xyXG5pbXBvcnQge0ZvbnRGb3JtYXQsIElBc3NldE1ldGEsIElGaWxlVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuY29uc3Qgc2hhcnAgPSBzaGFycF87XHJcbmNvbnN0IGZvbnRLaXQgPSBmb250S2l0XztcclxuXHJcbmNvbnN0IGZvbnRUeXBlcyA9IFtcclxuICAgIFwiYXBwbGljYXRpb24vZm9udC13b2ZmXCIsIFwiYXBwbGljYXRpb24vZm9udC13b2ZmMlwiLCBcImFwcGxpY2F0aW9uL3gtZm9udC1vcGVudHlwZVwiLCBcImFwcGxpY2F0aW9uL3gtZm9udC10cnVldHlwZVwiLCBcImFwcGxpY2F0aW9uL3gtZm9udC1kYXRhZm9ya1wiLFxyXG4gICAgXCJmb250L3dvZmZcIiwgXCJmb250L3dvZmYyXCIsIFwiZm9udC9vdGZcIiwgXCJmb250L3R0ZlwiLCBcImZvbnQvZGF0YWZvcmtcIlxyXG5dO1xyXG5cclxuY29uc3QgaW1hZ2VUeXBlcyA9IFtcImltYWdlL2pwZWdcIiwgXCJpbWFnZS9qcGdcIiwgXCJpbWFnZS9wbmdcIiwgXCJpbWFnZS9zdmcreG1sXCJdO1xyXG5cclxuY29uc3QgZm9udFByb3BzID0gW1xyXG4gICAgXCJwb3N0c2NyaXB0TmFtZVwiLCBcImZ1bGxOYW1lXCIsIFwiZmFtaWx5TmFtZVwiLCBcInN1YmZhbWlseU5hbWVcIixcclxuICAgIFwiY29weXJpZ2h0XCIsIFwidmVyc2lvblwiLCBcInVuaXRzUGVyRW1cIiwgXCJhc2NlbnRcIiwgXCJkZXNjZW50XCIsIFwibGluZUdhcFwiLFxyXG4gICAgXCJ1bmRlcmxpbmVQb3NpdGlvblwiLCBcInVuZGVybGluZVRoaWNrbmVzc1wiLCBcIml0YWxpY0FuZ2xlXCIsIFwiY2FwSGVpZ2h0XCIsXHJcbiAgICBcInhIZWlnaHRcIiwgXCJudW1HbHlwaHNcIiwgXCJjaGFyYWN0ZXJTZXRcIiwgXCJhdmFpbGFibGVGZWF0dXJlc1wiXHJcbl07XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIEFzc2V0UHJvY2Vzc29yIHtcclxuXHJcbiAgICBzdGF0aWMgZXh0cmFjdEZvbnRGb3JtYXQoZm9udDogRm9udCk6IEZvbnRGb3JtYXQge1xyXG4gICAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IGZvbnQuY29uc3RydWN0b3IubmFtZTtcclxuICAgICAgICBjb25zdCB0YWc6IHN0cmluZyAgPSBmb250W1wiZGlyZWN0b3J5XCJdLnRhZztcclxuICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcclxuICAgICAgICAgICAgY2FzZSBcIlRURkZvbnRcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0YWcgPT09IFwiT1RUT1wiID8gXCJvcGVudHlwZVwiIDogXCJ0cnVldHlwZVwiO1xyXG4gICAgICAgICAgICBjYXNlIFwiV09GRjJGb250XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ3b2ZmMlwiO1xyXG4gICAgICAgICAgICBjYXNlIFwiV09GRkZvbnRcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIndvZmZcIjtcclxuICAgICAgICAgICAgY2FzZSBcIkRGb250XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJkYXRhZm9ya1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNJbWFnZShjb250ZW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGltYWdlVHlwZXMuaW5kZXhPZihjb250ZW50VHlwZSkgPj0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYXN5bmMgY29weUltYWdlTWV0YShidWZmZXI6IEJ1ZmZlciwgbWV0YWRhdGE6IElBc3NldE1ldGEsIGZpbGVUeXBlOiBJRmlsZVR5cGUpOiBQcm9taXNlPEJ1ZmZlcj4ge1xyXG4gICAgICAgIGlmIChmaWxlVHlwZS5taW1lID09PSBcImltYWdlL3N2Zyt4bWxcIikge1xyXG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IC88c3ZnKFtePD5dKyk+L2dpLmV4ZWMoYnVmZmVyLnRvU3RyaW5nKFwidXRmOFwiKSk7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRycyA9IG1hdGNoWzFdLm1hdGNoKC8oW2Etel0rKT1cIihbXlwiXSspXCIvZ2kpO1xyXG4gICAgICAgICAgICAgICAgYXR0cnMuZm9yRWFjaChhdHRyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXR0ci5sZW5ndGggPCA1KSByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW25hbWUsIHZhbHVlXSA9IGF0dHIuc3BsaXQoXCI9XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHZhbHVlLnJlcGxhY2UoL1wiL2dpLCBcIlwiKSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGFbbmFtZV0gPSBpc05hTih2YWwpID8gdmFsIDogTnVtYmVyKHZhbCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlmIChtZXRhZGF0YS52aWV3Qm94ICYmIChpc05hTihtZXRhZGF0YS53aWR0aCkgfHwgaXNOYU4obWV0YWRhdGEuaGVpZ2h0KSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IChtZXRhZGF0YS52aWV3Qm94IGFzIHN0cmluZykuc3BsaXQoXCIgXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLndpZHRoID0gTnVtYmVyKHBhcnRzWzBdKSArIE51bWJlcihwYXJ0c1syXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEuaGVpZ2h0ID0gTnVtYmVyKHBhcnRzWzFdKSArIE51bWJlcihwYXJ0c1szXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKG1ldGFkYXRhLndpZHRoKSAmJiAhaXNOYU4obWV0YWRhdGEuaGVpZ2h0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLnN2Z1NpemUgPSB7eDogbWV0YWRhdGEud2lkdGgsIHk6IG1ldGFkYXRhLmhlaWdodH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgc2hhcnAoYnVmZmVyKS5yb3RhdGUoKS50b0J1ZmZlcih7cmVzb2x2ZVdpdGhPYmplY3Q6IHRydWV9KTtcclxuICAgICAgICBPYmplY3QuYXNzaWduKG1ldGFkYXRhLCBvdXRwdXQuaW5mbyk7XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc0ZvbnQoY29udGVudFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmb250VHlwZXMuaW5kZXhPZihjb250ZW50VHlwZSkgPj0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY29weUZvbnRNZXRhKGJ1ZmZlcjogQnVmZmVyLCBtZXRhZGF0YTogSUFzc2V0TWV0YSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZvbnQ6IEZvbnQgPSBmb250S2l0LmNyZWF0ZShidWZmZXIpO1xyXG4gICAgICAgIG1ldGFkYXRhLmZvcm1hdCA9IEFzc2V0UHJvY2Vzc29yLmV4dHJhY3RGb250Rm9ybWF0KGZvbnQpO1xyXG4gICAgICAgIGZvbnRQcm9wcy5mb3JFYWNoKHByb3AgPT4ge1xyXG4gICAgICAgICAgICBtZXRhZGF0YVtwcm9wXSA9IGZvbnRbcHJvcF07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJvY2VzcyhidWZmZXI6IEJ1ZmZlciwgbWV0YWRhdGE6IElBc3NldE1ldGEsIGZpbGVUeXBlOiBJRmlsZVR5cGUpOiBQcm9taXNlPEJ1ZmZlcj4ge1xyXG4gICAgICAgIGlmIChBc3NldFByb2Nlc3Nvci5pc0ltYWdlKGZpbGVUeXBlLm1pbWUpKSB7XHJcbiAgICAgICAgICAgIGJ1ZmZlciA9IGF3YWl0IEFzc2V0UHJvY2Vzc29yLmNvcHlJbWFnZU1ldGEoYnVmZmVyLCBtZXRhZGF0YSwgZmlsZVR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoQXNzZXRQcm9jZXNzb3IuaXNGb250KGZpbGVUeXBlLm1pbWUpKSB7XHJcbiAgICAgICAgICAgIEFzc2V0UHJvY2Vzc29yLmNvcHlGb250TWV0YShidWZmZXIsIG1ldGFkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGJ1ZmZlcjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
20
|
-
import { Assets } from "./assets";
|
|
21
|
-
import { LazyAssets } from "./lazy-assets";
|
|
22
|
-
let AssetResolver = class AssetResolver {
|
|
23
|
-
constructor(assets, lazyAssets) {
|
|
24
|
-
this.assets = assets;
|
|
25
|
-
this.lazyAssets = lazyAssets;
|
|
26
|
-
}
|
|
27
|
-
resolve(id, lazy = false) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
let asset = null;
|
|
30
|
-
if (lazy) {
|
|
31
|
-
const lazyAsset = yield this.lazyAssets.read(id);
|
|
32
|
-
if (!lazyAsset)
|
|
33
|
-
return null;
|
|
34
|
-
return lazyAsset.loadAsset();
|
|
35
|
-
}
|
|
36
|
-
asset = yield this.assets.read(id);
|
|
37
|
-
if (!asset) {
|
|
38
|
-
const lazyAsset = yield this.lazyAssets.read(id);
|
|
39
|
-
if (!lazyAsset)
|
|
40
|
-
return null;
|
|
41
|
-
return lazyAsset.loadAsset();
|
|
42
|
-
}
|
|
43
|
-
return asset;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
AssetResolver = __decorate([
|
|
48
|
-
injectable(),
|
|
49
|
-
scoped(Lifecycle.ContainerScoped),
|
|
50
|
-
__metadata("design:paramtypes", [Assets, LazyAssets])
|
|
51
|
-
], AssetResolver);
|
|
52
|
-
export { AssetResolver };
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvYXNzZXQtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztJQUk1QixhQUFhLFNBQWIsYUFBYTtJQUV0QixZQUFxQixNQUFjLEVBQVcsVUFBc0I7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFXLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFcEUsQ0FBQztJQUVLLE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBZ0IsS0FBSzs7WUFDM0MsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDO1lBQ3pCLElBQUksSUFBSSxFQUFFO2dCQUNOLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxTQUFTO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUM1QixPQUFPLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNoQztZQUNELEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFNBQVM7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQzVCLE9BQU8sU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2hDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQXJCWSxhQUFhO0lBRnpCLFVBQVUsRUFBRTtJQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO3FDQUdELE1BQU0sRUFBdUIsVUFBVTtHQUYzRCxhQUFhLENBcUJ6QjtTQXJCWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7SUFzc2V0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi9hc3NldHNcIjtcclxuaW1wb3J0IHtMYXp5QXNzZXRzfSBmcm9tIFwiLi9sYXp5LWFzc2V0c1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBBc3NldFJlc29sdmVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBhc3NldHM6IEFzc2V0cywgcmVhZG9ubHkgbGF6eUFzc2V0czogTGF6eUFzc2V0cykge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXNvbHZlKGlkOiBzdHJpbmcsIGxhenk6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgbGV0IGFzc2V0OiBJQXNzZXQgPSBudWxsO1xyXG4gICAgICAgIGlmIChsYXp5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhenlBc3NldCA9IGF3YWl0IHRoaXMubGF6eUFzc2V0cy5yZWFkKGlkKTtcclxuICAgICAgICAgICAgaWYgKCFsYXp5QXNzZXQpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm4gbGF6eUFzc2V0LmxvYWRBc3NldCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLnJlYWQoaWQpO1xyXG4gICAgICAgIGlmICghYXNzZXQpIHtcclxuICAgICAgICAgICAgY29uc3QgbGF6eUFzc2V0ID0gYXdhaXQgdGhpcy5sYXp5QXNzZXRzLnJlYWQoaWQpO1xyXG4gICAgICAgICAgICBpZiAoIWxhenlBc3NldCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIHJldHVybiBsYXp5QXNzZXQubG9hZEFzc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxufVxyXG4iXX0=
|