@stemy/backend 2.6.1 → 2.7.3
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/README.md +2 -2
- package/bundles/stemy-backend.umd.js +5553 -5465
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/bundles/stemy-backend.umd.min.js +1 -1
- package/bundles/stemy-backend.umd.min.js.map +1 -1
- package/common-types.d.ts +226 -214
- package/esm2015/common-types.js +18 -18
- package/esm2015/public_api.js +338 -338
- package/esm2015/rest-controllers/assets.controller.js +116 -116
- package/esm2015/rest-controllers/auth.controller.js +75 -75
- package/esm2015/rest-controllers/gallery.controller.js +37 -37
- package/esm2015/rest-controllers/progresses.controller.js +57 -57
- package/esm2015/rest-middlewares/container.middleware.js +32 -32
- package/esm2015/rest-middlewares/error-handler.middleware.js +83 -83
- package/esm2015/rest-middlewares/language.middleware.js +28 -28
- package/esm2015/rest-middlewares/request-ended.middleware.js +25 -25
- package/esm2015/rest-middlewares/request-started.middleware.js +24 -24
- package/esm2015/rest-openapi.js +44 -44
- package/esm2015/services/asset-processor.js +101 -101
- package/esm2015/services/asset-resolver.js +53 -53
- package/esm2015/services/assets.js +110 -110
- package/esm2015/services/backend-provider.js +32 -32
- package/esm2015/services/cache-processor.js +34 -34
- package/esm2015/services/cache.js +94 -94
- package/esm2015/services/configuration.js +55 -55
- package/esm2015/services/endpoint-provider.js +29 -29
- package/esm2015/services/entities/asset.js +166 -112
- package/esm2015/services/entities/lazy-asset.js +93 -93
- package/esm2015/services/entities/progress.js +181 -181
- package/esm2015/services/fixtures.js +45 -45
- package/esm2015/services/gallery-cache.js +36 -36
- package/esm2015/services/gallery-image.js +48 -48
- package/esm2015/services/gallery.js +138 -138
- package/esm2015/services/id-generator.js +63 -63
- package/esm2015/services/job-manager.js +203 -203
- package/esm2015/services/lazy-assets.js +74 -74
- package/esm2015/services/mail-sender.js +59 -59
- package/esm2015/services/memory-cache.js +84 -84
- package/esm2015/services/mongo-connector.js +61 -61
- package/esm2015/services/progresses.js +91 -91
- package/esm2015/services/template-renderer.js +89 -89
- package/esm2015/services/translation-provider.js +31 -31
- package/esm2015/services/translator.js +85 -85
- package/esm2015/services/user-manager.js +47 -47
- package/esm2015/socket-controllers/progress.controller.js +82 -82
- package/esm2015/socket-middlewares/compression.middleware.js +19 -19
- package/esm2015/static.js +33 -33
- package/esm2015/stemy-backend.js +4 -4
- package/esm2015/utilities/di-container.js +84 -84
- package/esm2015/utilities/lazy-asset-generator.js +40 -40
- package/esm2015/utilities/tree.js +111 -111
- package/esm2015/utils.js +618 -601
- package/esm2015/validators.js +51 -51
- package/fesm2015/stemy-backend.js +3656 -3585
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +33 -33
- package/rest-controllers/assets.controller.d.ts +16 -16
- package/rest-controllers/auth.controller.d.ts +14 -14
- package/rest-controllers/gallery.controller.d.ts +7 -7
- package/rest-controllers/progresses.controller.d.ts +9 -9
- package/rest-middlewares/container.middleware.d.ts +8 -8
- package/rest-middlewares/error-handler.middleware.d.ts +13 -13
- package/rest-middlewares/language.middleware.d.ts +8 -8
- package/rest-middlewares/request-ended.middleware.d.ts +5 -5
- package/rest-middlewares/request-started.middleware.d.ts +5 -5
- package/rest-openapi.d.ts +3 -3
- package/services/asset-processor.d.ts +12 -12
- package/services/asset-resolver.d.ts +9 -9
- package/services/assets.d.ts +19 -19
- package/services/backend-provider.d.ts +11 -11
- package/services/cache-processor.d.ts +4 -4
- package/services/cache.d.ts +23 -23
- package/services/configuration.d.ts +10 -10
- package/services/endpoint-provider.d.ts +4 -4
- package/services/entities/asset.d.ts +25 -23
- package/services/entities/lazy-asset.d.ts +29 -29
- package/services/entities/progress.d.ts +49 -49
- package/services/fixtures.d.ts +6 -6
- package/services/gallery-cache.d.ts +9 -9
- package/services/gallery-image.d.ts +11 -11
- package/services/gallery.d.ts +13 -13
- package/services/id-generator.d.ts +11 -11
- package/services/job-manager.d.ts +27 -27
- package/services/lazy-assets.d.ts +19 -19
- package/services/mail-sender.d.ts +20 -20
- package/services/memory-cache.d.ts +10 -10
- package/services/mongo-connector.d.ts +14 -14
- package/services/progresses.d.ts +18 -18
- package/services/template-renderer.d.ts +14 -14
- package/services/translation-provider.d.ts +10 -10
- package/services/translator.d.ts +15 -15
- package/services/user-manager.d.ts +6 -6
- package/socket-controllers/progress.controller.d.ts +10 -10
- package/socket-middlewares/compression.middleware.d.ts +4 -4
- package/static.d.ts +2 -2
- package/stemy-backend.d.ts +4 -4
- package/stemy-backend.metadata.json +1 -1
- package/utilities/di-container.d.ts +43 -43
- package/utilities/lazy-asset-generator.d.ts +15 -15
- package/utilities/tree.d.ts +14 -14
- package/utils.d.ts +76 -73
- package/validators.d.ts +7 -7
- package/di-container.d.ts +0 -40
- package/esm2015/di-container.js +0 -75
- package/esm2015/models/lazy-asset.js +0 -12
- package/esm2015/models/progress.js +0 -23
- package/esm2015/rest-middlewares/injector.middleware.js +0 -26
- package/esm2015/services/lazy-asset-helper.js +0 -74
- package/esm2015/services/logger.js +0 -14
- package/esm2015/services/progress-helper.js +0 -168
- package/models/lazy-asset.d.ts +0 -45
- package/models/progress.d.ts +0 -56
- package/rest-middlewares/injector.middleware.d.ts +0 -8
- package/services/lazy-asset-helper.d.ts +0 -15
- package/services/logger.d.ts +0 -2
- package/services/progress-helper.d.ts +0 -37
|
@@ -1,116 +1,116 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { injectable } from "tsyringe";
|
|
23
|
-
import { Authorized, Controller, Get, HttpError, Param, Post, QueryParam, QueryParams, Res, UploadedFile } from "routing-controllers";
|
|
24
|
-
import { Assets } from "../services/assets";
|
|
25
|
-
import { AssetResolver } from "../services/asset-resolver";
|
|
26
|
-
let AssetsController = class AssetsController {
|
|
27
|
-
constructor(assets, assetResolver) {
|
|
28
|
-
this.assets = assets;
|
|
29
|
-
this.assetResolver = assetResolver;
|
|
30
|
-
}
|
|
31
|
-
upload(file) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
try {
|
|
34
|
-
const contentType = file.mimetype === "application/octet-stream" ? null : file.mimetype;
|
|
35
|
-
const asset = yield this.assets.writeBuffer(file.buffer, { filename: file.filename }, contentType);
|
|
36
|
-
return asset.toJSON();
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
const msg = (e === null || e === void 0 ? void 0 : e.message) || e || "Unknown error";
|
|
40
|
-
throw new HttpError(400, `Asset can't be uploaded.\n${msg}`);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
getImageRotation(id, params, rotation = 0) {
|
|
45
|
-
var _a;
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const asset = yield this.assetResolver.resolve(id, params.lazy);
|
|
48
|
-
if (!asset) {
|
|
49
|
-
throw new HttpError(404, `Image with id: '${id}' not found.`);
|
|
50
|
-
}
|
|
51
|
-
if ((_a = asset.metadata) === null || _a === void 0 ? void 0 : _a.classified) {
|
|
52
|
-
throw new HttpError(403, `Image is classified, and can be only downloaded from a custom url.`);
|
|
53
|
-
}
|
|
54
|
-
params.rotation = params.rotation || rotation;
|
|
55
|
-
return asset.downloadImage(params);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
getImage(id, params) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
return this.getImageRotation(id, params);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
getFile(id, lazy, res) {
|
|
64
|
-
var _a, _b;
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
const asset = yield this.assetResolver.resolve(id, lazy);
|
|
67
|
-
if (!asset) {
|
|
68
|
-
throw new HttpError(404, `File with id: '${id}' not found.`);
|
|
69
|
-
}
|
|
70
|
-
if ((_a = asset.metadata) === null || _a === void 0 ? void 0 : _a.classified) {
|
|
71
|
-
throw new HttpError(403, `Asset is classified, and can be only downloaded from a custom url.`);
|
|
72
|
-
}
|
|
73
|
-
const ext = (_b = asset.metadata) === null || _b === void 0 ? void 0 : _b.extension;
|
|
74
|
-
if (ext) {
|
|
75
|
-
res.header("content-disposition", `inline; filename=${asset.filename}.${ext}`);
|
|
76
|
-
}
|
|
77
|
-
return asset.download();
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
__decorate([
|
|
82
|
-
Authorized(),
|
|
83
|
-
Post(""),
|
|
84
|
-
__param(0, UploadedFile("file")),
|
|
85
|
-
__metadata("design:type", Function),
|
|
86
|
-
__metadata("design:paramtypes", [Object]),
|
|
87
|
-
__metadata("design:returntype", Promise)
|
|
88
|
-
], AssetsController.prototype, "upload", null);
|
|
89
|
-
__decorate([
|
|
90
|
-
Get("/image/:id/:rotation"),
|
|
91
|
-
__param(0, Param("id")), __param(1, QueryParams()), __param(2, Param("rotation")),
|
|
92
|
-
__metadata("design:type", Function),
|
|
93
|
-
__metadata("design:paramtypes", [String, Object, Number]),
|
|
94
|
-
__metadata("design:returntype", Promise)
|
|
95
|
-
], AssetsController.prototype, "getImageRotation", null);
|
|
96
|
-
__decorate([
|
|
97
|
-
Get("/image/:id"),
|
|
98
|
-
__param(0, Param("id")), __param(1, QueryParams()),
|
|
99
|
-
__metadata("design:type", Function),
|
|
100
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
101
|
-
__metadata("design:returntype", Promise)
|
|
102
|
-
], AssetsController.prototype, "getImage", null);
|
|
103
|
-
__decorate([
|
|
104
|
-
Get("/:id"),
|
|
105
|
-
__param(0, Param("id")), __param(1, QueryParam("lazy")), __param(2, Res()),
|
|
106
|
-
__metadata("design:type", Function),
|
|
107
|
-
__metadata("design:paramtypes", [String, Boolean, Object]),
|
|
108
|
-
__metadata("design:returntype", Promise)
|
|
109
|
-
], AssetsController.prototype, "getFile", null);
|
|
110
|
-
AssetsController = __decorate([
|
|
111
|
-
injectable(),
|
|
112
|
-
Controller("/assets"),
|
|
113
|
-
__metadata("design:paramtypes", [Assets, AssetResolver])
|
|
114
|
-
], AssetsController);
|
|
115
|
-
export { AssetsController };
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { injectable } from "tsyringe";
|
|
23
|
+
import { Authorized, Controller, Get, HttpError, Param, Post, QueryParam, QueryParams, Res, UploadedFile } from "routing-controllers";
|
|
24
|
+
import { Assets } from "../services/assets";
|
|
25
|
+
import { AssetResolver } from "../services/asset-resolver";
|
|
26
|
+
let AssetsController = class AssetsController {
|
|
27
|
+
constructor(assets, assetResolver) {
|
|
28
|
+
this.assets = assets;
|
|
29
|
+
this.assetResolver = assetResolver;
|
|
30
|
+
}
|
|
31
|
+
upload(file) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
try {
|
|
34
|
+
const contentType = file.mimetype === "application/octet-stream" ? null : file.mimetype;
|
|
35
|
+
const asset = yield this.assets.writeBuffer(file.buffer, { filename: file.filename }, contentType);
|
|
36
|
+
return asset.toJSON();
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
const msg = (e === null || e === void 0 ? void 0 : e.message) || e || "Unknown error";
|
|
40
|
+
throw new HttpError(400, `Asset can't be uploaded.\n${msg}`);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
getImageRotation(id, params, rotation = 0) {
|
|
45
|
+
var _a;
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const asset = yield this.assetResolver.resolve(id, params.lazy);
|
|
48
|
+
if (!asset) {
|
|
49
|
+
throw new HttpError(404, `Image with id: '${id}' not found.`);
|
|
50
|
+
}
|
|
51
|
+
if ((_a = asset.metadata) === null || _a === void 0 ? void 0 : _a.classified) {
|
|
52
|
+
throw new HttpError(403, `Image is classified, and can be only downloaded from a custom url.`);
|
|
53
|
+
}
|
|
54
|
+
params.rotation = params.rotation || rotation;
|
|
55
|
+
return asset.downloadImage(params);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getImage(id, params) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
return this.getImageRotation(id, params);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
getFile(id, lazy, res) {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const asset = yield this.assetResolver.resolve(id, lazy);
|
|
67
|
+
if (!asset) {
|
|
68
|
+
throw new HttpError(404, `File with id: '${id}' not found.`);
|
|
69
|
+
}
|
|
70
|
+
if ((_a = asset.metadata) === null || _a === void 0 ? void 0 : _a.classified) {
|
|
71
|
+
throw new HttpError(403, `Asset is classified, and can be only downloaded from a custom url.`);
|
|
72
|
+
}
|
|
73
|
+
const ext = (_b = asset.metadata) === null || _b === void 0 ? void 0 : _b.extension;
|
|
74
|
+
if (ext) {
|
|
75
|
+
res.header("content-disposition", `inline; filename=${asset.filename}.${ext}`);
|
|
76
|
+
}
|
|
77
|
+
return asset.download();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
__decorate([
|
|
82
|
+
Authorized(),
|
|
83
|
+
Post(""),
|
|
84
|
+
__param(0, UploadedFile("file")),
|
|
85
|
+
__metadata("design:type", Function),
|
|
86
|
+
__metadata("design:paramtypes", [Object]),
|
|
87
|
+
__metadata("design:returntype", Promise)
|
|
88
|
+
], AssetsController.prototype, "upload", null);
|
|
89
|
+
__decorate([
|
|
90
|
+
Get("/image/:id/:rotation"),
|
|
91
|
+
__param(0, Param("id")), __param(1, QueryParams()), __param(2, Param("rotation")),
|
|
92
|
+
__metadata("design:type", Function),
|
|
93
|
+
__metadata("design:paramtypes", [String, Object, Number]),
|
|
94
|
+
__metadata("design:returntype", Promise)
|
|
95
|
+
], AssetsController.prototype, "getImageRotation", null);
|
|
96
|
+
__decorate([
|
|
97
|
+
Get("/image/:id"),
|
|
98
|
+
__param(0, Param("id")), __param(1, QueryParams()),
|
|
99
|
+
__metadata("design:type", Function),
|
|
100
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
101
|
+
__metadata("design:returntype", Promise)
|
|
102
|
+
], AssetsController.prototype, "getImage", null);
|
|
103
|
+
__decorate([
|
|
104
|
+
Get("/:id"),
|
|
105
|
+
__param(0, Param("id")), __param(1, QueryParam("lazy")), __param(2, Res()),
|
|
106
|
+
__metadata("design:type", Function),
|
|
107
|
+
__metadata("design:paramtypes", [String, Boolean, Object]),
|
|
108
|
+
__metadata("design:returntype", Promise)
|
|
109
|
+
], AssetsController.prototype, "getFile", null);
|
|
110
|
+
AssetsController = __decorate([
|
|
111
|
+
injectable(),
|
|
112
|
+
Controller("/assets"),
|
|
113
|
+
__metadata("design:paramtypes", [Assets, AssetResolver])
|
|
114
|
+
], AssetsController);
|
|
115
|
+
export { AssetsController };
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1jb250cm9sbGVycy9hc3NldHMuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLEdBQUcsRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLElBQUksRUFDSixVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0lBSzVDLGdCQUFnQixTQUFoQixnQkFBZ0I7SUFFekIsWUFBcUIsTUFBYyxFQUFXLGFBQTRCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUUxRSxDQUFDO0lBSUssTUFBTSxDQUF1QixJQUF5Qjs7WUFDeEQsSUFBSTtnQkFDQSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ3hGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ2pHLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3pCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLEdBQUcsQ0FB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QXBEWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWRhYmxlfSBmcm9tIFwic3RyZWFtXCI7XHJcbmltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBdXRob3JpemVkLFxyXG4gICAgQ29udHJvbGxlcixcclxuICAgIEdldCxcclxuICAgIEh0dHBFcnJvcixcclxuICAgIFBhcmFtLFxyXG4gICAgUG9zdCxcclxuICAgIFF1ZXJ5UGFyYW0sXHJcbiAgICBRdWVyeVBhcmFtcyxcclxuICAgIFJlcyxcclxuICAgIFVwbG9hZGVkRmlsZVxyXG59IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7SUFzc2V0SW1hZ2VQYXJhbXN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuLi9zZXJ2aWNlcy9hc3NldHNcIjtcclxuaW1wb3J0IHtBc3NldFJlc29sdmVyfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHtSZXNwb25zZX0gZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQENvbnRyb2xsZXIoXCIvYXNzZXRzXCIpXHJcbmV4cG9ydCBjbGFzcyBBc3NldHNDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBhc3NldHM6IEFzc2V0cywgcmVhZG9ubHkgYXNzZXRSZXNvbHZlcjogQXNzZXRSZXNvbHZlcikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAQXV0aG9yaXplZCgpXHJcbiAgICBAUG9zdChcIlwiKVxyXG4gICAgYXN5bmMgdXBsb2FkKEBVcGxvYWRlZEZpbGUoXCJmaWxlXCIpIGZpbGU6IEV4cHJlc3MuTXVsdGVyLkZpbGUpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGZpbGUubWltZXR5cGUgPT09IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIgPyBudWxsIDogZmlsZS5taW1ldHlwZTtcclxuICAgICAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0cy53cml0ZUJ1ZmZlcihmaWxlLmJ1ZmZlciwge2ZpbGVuYW1lOiBmaWxlLmZpbGVuYW1lfSwgY29udGVudFR5cGUpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNzZXQudG9KU09OKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlPy5tZXNzYWdlIHx8IGUgfHwgXCJVbmtub3duIGVycm9yXCI7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAwLCBgQXNzZXQgY2FuJ3QgYmUgdXBsb2FkZWQuXFxuJHttc2d9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvaW1hZ2UvOmlkLzpyb3RhdGlvblwiKVxyXG4gICAgYXN5bmMgZ2V0SW1hZ2VSb3RhdGlvbihAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nLCBAUXVlcnlQYXJhbXMoKSBwYXJhbXM6IElBc3NldEltYWdlUGFyYW1zLCBAUGFyYW0oXCJyb3RhdGlvblwiKSByb3RhdGlvbjogbnVtYmVyID0gMCk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRSZXNvbHZlci5yZXNvbHZlKGlkLCBwYXJhbXMubGF6eSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYEltYWdlIHdpdGggaWQ6ICcke2lkfScgbm90IGZvdW5kLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXNzZXQubWV0YWRhdGE/LmNsYXNzaWZpZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDMsIGBJbWFnZSBpcyBjbGFzc2lmaWVkLCBhbmQgY2FuIGJlIG9ubHkgZG93bmxvYWRlZCBmcm9tIGEgY3VzdG9tIHVybC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFyYW1zLnJvdGF0aW9uID0gcGFyYW1zLnJvdGF0aW9uIHx8IHJvdGF0aW9uO1xyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZEltYWdlKHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9pbWFnZS86aWRcIilcclxuICAgIGFzeW5jIGdldEltYWdlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtcygpIHBhcmFtczogSUFzc2V0SW1hZ2VQYXJhbXMpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VSb3RhdGlvbihpZCwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiLzppZFwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nLCBAUXVlcnlQYXJhbShcImxhenlcIikgbGF6eTogYm9vbGVhbiwgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0UmVzb2x2ZXIucmVzb2x2ZShpZCwgbGF6eSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYEZpbGUgd2l0aCBpZDogJyR7aWR9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhc3NldC5tZXRhZGF0YT8uY2xhc3NpZmllZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMywgYEFzc2V0IGlzIGNsYXNzaWZpZWQsIGFuZCBjYW4gYmUgb25seSBkb3dubG9hZGVkIGZyb20gYSBjdXN0b20gdXJsLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBleHQgPSBhc3NldC5tZXRhZGF0YT8uZXh0ZW5zaW9uO1xyXG4gICAgICAgIGlmIChleHQpIHtcclxuICAgICAgICAgICAgcmVzLmhlYWRlcihcImNvbnRlbnQtZGlzcG9zaXRpb25cIiwgYGlubGluZTsgZmlsZW5hbWU9JHthc3NldC5maWxlbmFtZX0uJHtleHR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,75 +1,75 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { sign } from "jsonwebtoken";
|
|
23
|
-
import { injectable } from "tsyringe";
|
|
24
|
-
import { Authorized, Body, Controller, CurrentUser, Get, HttpError, Post, Res } from "routing-controllers";
|
|
25
|
-
import { compare } from "bcrypt";
|
|
26
|
-
import { Configuration } from "../services/configuration";
|
|
27
|
-
import { UserManager } from "../services/user-manager";
|
|
28
|
-
let AuthController = class AuthController {
|
|
29
|
-
constructor(config, userManager) {
|
|
30
|
-
this.config = config;
|
|
31
|
-
this.userManager = userManager;
|
|
32
|
-
}
|
|
33
|
-
login(credentials, res) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
try {
|
|
36
|
-
const user = yield this.userManager.getByCredentials(credentials);
|
|
37
|
-
const valid = yield compare(credentials.password, user.password);
|
|
38
|
-
if (valid !== true)
|
|
39
|
-
throw "message.login.error";
|
|
40
|
-
return {
|
|
41
|
-
token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
|
|
42
|
-
user: yield this.userManager.serialize(user)
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
catch (reason) {
|
|
46
|
-
throw new HttpError(401, reason);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
getProfile(user) {
|
|
51
|
-
return this.userManager.serialize(user);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
__decorate([
|
|
55
|
-
Post("/login"),
|
|
56
|
-
__param(0, Body()), __param(1, Res()),
|
|
57
|
-
__metadata("design:type", Function),
|
|
58
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
59
|
-
__metadata("design:returntype", Promise)
|
|
60
|
-
], AuthController.prototype, "login", null);
|
|
61
|
-
__decorate([
|
|
62
|
-
Authorized(),
|
|
63
|
-
Get("/user"),
|
|
64
|
-
__param(0, CurrentUser()),
|
|
65
|
-
__metadata("design:type", Function),
|
|
66
|
-
__metadata("design:paramtypes", [Object]),
|
|
67
|
-
__metadata("design:returntype", void 0)
|
|
68
|
-
], AuthController.prototype, "getProfile", null);
|
|
69
|
-
AuthController = __decorate([
|
|
70
|
-
injectable(),
|
|
71
|
-
Controller(),
|
|
72
|
-
__metadata("design:paramtypes", [Configuration, UserManager])
|
|
73
|
-
], AuthController);
|
|
74
|
-
export { AuthController };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { sign } from "jsonwebtoken";
|
|
23
|
+
import { injectable } from "tsyringe";
|
|
24
|
+
import { Authorized, Body, Controller, CurrentUser, Get, HttpError, Post, Res } from "routing-controllers";
|
|
25
|
+
import { compare } from "bcrypt";
|
|
26
|
+
import { Configuration } from "../services/configuration";
|
|
27
|
+
import { UserManager } from "../services/user-manager";
|
|
28
|
+
let AuthController = class AuthController {
|
|
29
|
+
constructor(config, userManager) {
|
|
30
|
+
this.config = config;
|
|
31
|
+
this.userManager = userManager;
|
|
32
|
+
}
|
|
33
|
+
login(credentials, res) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
try {
|
|
36
|
+
const user = yield this.userManager.getByCredentials(credentials);
|
|
37
|
+
const valid = yield compare(credentials.password, user.password);
|
|
38
|
+
if (valid !== true)
|
|
39
|
+
throw "message.login.error";
|
|
40
|
+
return {
|
|
41
|
+
token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
|
|
42
|
+
user: yield this.userManager.serialize(user)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (reason) {
|
|
46
|
+
throw new HttpError(401, reason);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
getProfile(user) {
|
|
51
|
+
return this.userManager.serialize(user);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
__decorate([
|
|
55
|
+
Post("/login"),
|
|
56
|
+
__param(0, Body()), __param(1, Res()),
|
|
57
|
+
__metadata("design:type", Function),
|
|
58
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
59
|
+
__metadata("design:returntype", Promise)
|
|
60
|
+
], AuthController.prototype, "login", null);
|
|
61
|
+
__decorate([
|
|
62
|
+
Authorized(),
|
|
63
|
+
Get("/user"),
|
|
64
|
+
__param(0, CurrentUser()),
|
|
65
|
+
__metadata("design:type", Function),
|
|
66
|
+
__metadata("design:paramtypes", [Object]),
|
|
67
|
+
__metadata("design:returntype", void 0)
|
|
68
|
+
], AuthController.prototype, "getProfile", null);
|
|
69
|
+
AuthController = __decorate([
|
|
70
|
+
injectable(),
|
|
71
|
+
Controller(),
|
|
72
|
+
__metadata("design:paramtypes", [Configuration, UserManager])
|
|
73
|
+
], AuthController);
|
|
74
|
+
export { AuthController };
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztJQUt4QyxjQUFjLFNBQWQsY0FBYztJQUV2QixZQUFxQixNQUFxQixFQUFXLFdBQXdCO1FBQXhELFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFHM0UsS0FBSyxDQUFTLFdBQWdCLEVBQVMsR0FBYTs7WUFDdEQsSUFBSTtnQkFDQSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJO29CQUFFLE1BQU0scUJBQXFCLENBQUM7Z0JBQ2hELE9BQU87b0JBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDMUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2lCQUMvQyxDQUFDO2FBQ0w7WUFBQyxPQUFPLE1BQU0sRUFBRTtnQkFDYixNQUFNLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNwQztRQUNMLENBQUM7S0FBQTtJQUlELFVBQVUsQ0FBZ0IsSUFBVztRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSixDQUFBO0FBbkJHO0lBREMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNGLFdBQUEsSUFBSSxFQUFFLENBQUEsRUFBb0IsV0FBQSxHQUFHLEVBQUUsQ0FBQTs7OzsyQ0FZM0M7QUFJRDtJQUZDLFVBQVUsRUFBRTtJQUNaLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDRCxXQUFBLFdBQVcsRUFBRSxDQUFBOzs7O2dEQUV4QjtBQXZCUSxjQUFjO0lBRjFCLFVBQVUsRUFBRTtJQUNaLFVBQVUsRUFBRTtxQ0FHb0IsYUFBYSxFQUF3QixXQUFXO0dBRnBFLGNBQWMsQ0F3QjFCO1NBeEJZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jlc3BvbnNlfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge3NpZ259IGZyb20gXCJqc29ud2VidG9rZW5cIjtcclxuaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtBdXRob3JpemVkLCBCb2R5LCBDb250cm9sbGVyLCBDdXJyZW50VXNlciwgR2V0LCBIdHRwRXJyb3IsIFBvc3QsIFJlc30gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtjb21wYXJlfSBmcm9tIFwiYmNyeXB0XCI7XHJcblxyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7VXNlck1hbmFnZXJ9IGZyb20gXCIuLi9zZXJ2aWNlcy91c2VyLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtJVXNlcn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5AQ29udHJvbGxlcigpXHJcbmV4cG9ydCBjbGFzcyBBdXRoQ29udHJvbGxlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uLCByZWFkb25seSB1c2VyTWFuYWdlcjogVXNlck1hbmFnZXIpIHt9XHJcblxyXG4gICAgQFBvc3QoXCIvbG9naW5cIilcclxuICAgIGFzeW5jIGxvZ2luKEBCb2R5KCkgY3JlZGVudGlhbHM6IGFueSwgQFJlcygpIHJlczogUmVzcG9uc2UpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy51c2VyTWFuYWdlci5nZXRCeUNyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKTtcclxuICAgICAgICAgICAgY29uc3QgdmFsaWQgPSBhd2FpdCBjb21wYXJlKGNyZWRlbnRpYWxzLnBhc3N3b3JkLCB1c2VyLnBhc3N3b3JkKTtcclxuICAgICAgICAgICAgaWYgKHZhbGlkICE9PSB0cnVlKSB0aHJvdyBcIm1lc3NhZ2UubG9naW4uZXJyb3JcIjtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHRva2VuOiBzaWduKHsgaWQ6IHVzZXIuX2lkIHx8IHVzZXIuaWQgfSwgdGhpcy5jb25maWcucmVzb2x2ZShcImp3dFNlY3JldFwiKSksXHJcbiAgICAgICAgICAgICAgICB1c2VyOiBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLnNlcmlhbGl6ZSh1c2VyKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMSwgcmVhc29uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEF1dGhvcml6ZWQoKVxyXG4gICAgQEdldChcIi91c2VyXCIpXHJcbiAgICBnZXRQcm9maWxlKEBDdXJyZW50VXNlcigpIHVzZXI6IElVc2VyKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1hbmFnZXIuc2VyaWFsaXplKHVzZXIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,37 +1,37 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
import { injectable } from "tsyringe";
|
|
14
|
-
import { Controller, Get, Param } from "routing-controllers";
|
|
15
|
-
import { GalleryCache } from "../services/gallery-cache";
|
|
16
|
-
let GalleryController = class GalleryController {
|
|
17
|
-
constructor(galleryCache) {
|
|
18
|
-
this.galleryCache = galleryCache;
|
|
19
|
-
}
|
|
20
|
-
getFile(id) {
|
|
21
|
-
return this.galleryCache.serve(id);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
__decorate([
|
|
25
|
-
Get("/:id"),
|
|
26
|
-
__param(0, Param("id")),
|
|
27
|
-
__metadata("design:type", Function),
|
|
28
|
-
__metadata("design:paramtypes", [String]),
|
|
29
|
-
__metadata("design:returntype", void 0)
|
|
30
|
-
], GalleryController.prototype, "getFile", null);
|
|
31
|
-
GalleryController = __decorate([
|
|
32
|
-
injectable(),
|
|
33
|
-
Controller("/gallery"),
|
|
34
|
-
__metadata("design:paramtypes", [GalleryCache])
|
|
35
|
-
], GalleryController);
|
|
36
|
-
export { GalleryController };
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { injectable } from "tsyringe";
|
|
14
|
+
import { Controller, Get, Param } from "routing-controllers";
|
|
15
|
+
import { GalleryCache } from "../services/gallery-cache";
|
|
16
|
+
let GalleryController = class GalleryController {
|
|
17
|
+
constructor(galleryCache) {
|
|
18
|
+
this.galleryCache = galleryCache;
|
|
19
|
+
}
|
|
20
|
+
getFile(id) {
|
|
21
|
+
return this.galleryCache.serve(id);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
Get("/:id"),
|
|
26
|
+
__param(0, Param("id")),
|
|
27
|
+
__metadata("design:type", Function),
|
|
28
|
+
__metadata("design:paramtypes", [String]),
|
|
29
|
+
__metadata("design:returntype", void 0)
|
|
30
|
+
], GalleryController.prototype, "getFile", null);
|
|
31
|
+
GalleryController = __decorate([
|
|
32
|
+
injectable(),
|
|
33
|
+
Controller("/gallery"),
|
|
34
|
+
__metadata("design:paramtypes", [GalleryCache])
|
|
35
|
+
], GalleryController);
|
|
36
|
+
export { GalleryController };
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc3QtY29udHJvbGxlcnMvZ2FsbGVyeS5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0lBSTFDLGlCQUFpQixTQUFqQixpQkFBaUI7SUFFMUIsWUFBcUIsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBSSxDQUFDO0lBR3BELE9BQU8sQ0FBYyxFQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKLENBQUE7QUFIRztJQURDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDSCxXQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTs7OztnREFFbkI7QUFQUSxpQkFBaUI7SUFGN0IsVUFBVSxFQUFFO0lBQ1osVUFBVSxDQUFDLFVBQVUsQ0FBQztxQ0FHZ0IsWUFBWTtHQUZ0QyxpQkFBaUIsQ0FRN0I7U0FSWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGV9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xsZXIsIEdldCwgUGFyYW19IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7R2FsbGVyeUNhY2hlfSBmcm9tIFwiLi4vc2VydmljZXMvZ2FsbGVyeS1jYWNoZVwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5AQ29udHJvbGxlcihcIi9nYWxsZXJ5XCIpXHJcbmV4cG9ydCBjbGFzcyBHYWxsZXJ5Q29udHJvbGxlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgZ2FsbGVyeUNhY2hlOiBHYWxsZXJ5Q2FjaGUpIHsgfVxyXG5cclxuICAgIEBHZXQoXCIvOmlkXCIpXHJcbiAgICBnZXRGaWxlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nYWxsZXJ5Q2FjaGUuc2VydmUoaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|