@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,74 +1,74 @@
|
|
|
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 { ObjectId } from "bson";
|
|
21
|
-
import { MongoConnector } from "./mongo-connector";
|
|
22
|
-
import { Assets } from "./assets";
|
|
23
|
-
import { LazyAsset } from "./entities/lazy-asset";
|
|
24
|
-
import { JobManager } from "./job-manager";
|
|
25
|
-
import { Progresses } from "./progresses";
|
|
26
|
-
let LazyAssets = class LazyAssets {
|
|
27
|
-
constructor(connector, assets, progresses, jobMan) {
|
|
28
|
-
this.connector = connector;
|
|
29
|
-
this.assets = assets;
|
|
30
|
-
this.progresses = progresses;
|
|
31
|
-
this.jobMan = jobMan;
|
|
32
|
-
this.collection = connector.database.collection("lazyassets");
|
|
33
|
-
}
|
|
34
|
-
create(jobType, jobParams = {}, jobQue = "main") {
|
|
35
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
const jobName = this.jobMan.tryResolve(jobType, Object.assign(Object.assign({}, jobParams), { lazyId: "" }));
|
|
37
|
-
const res = yield this.collection.insertOne({
|
|
38
|
-
jobName,
|
|
39
|
-
jobParams,
|
|
40
|
-
jobQue
|
|
41
|
-
});
|
|
42
|
-
return new LazyAsset(res.insertedId, jobName, jobParams, jobQue, null, null, this.assets, this.progresses, this.jobMan, this.collection);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
read(id) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return this.find({ _id: new ObjectId(id) });
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
find(where) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const data = yield this.collection.findOne(where);
|
|
53
|
-
return !data
|
|
54
|
-
? null
|
|
55
|
-
: new LazyAsset(data._id, data.jobName, data.jobParams, data.jobQue, data.progressId, data.assetId, this.assets, this.progresses, this.jobMan, this.collection);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
unlink(id) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const asset = yield this.read(id);
|
|
61
|
-
if (!asset)
|
|
62
|
-
return null;
|
|
63
|
-
return asset.unlink();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
LazyAssets = __decorate([
|
|
68
|
-
injectable(),
|
|
69
|
-
scoped(Lifecycle.ContainerScoped),
|
|
70
|
-
__metadata("design:paramtypes", [MongoConnector, Assets,
|
|
71
|
-
Progresses, JobManager])
|
|
72
|
-
], LazyAssets);
|
|
73
|
-
export { LazyAssets };
|
|
74
|
-
//# 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 __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 { ObjectId } from "bson";
|
|
21
|
+
import { MongoConnector } from "./mongo-connector";
|
|
22
|
+
import { Assets } from "./assets";
|
|
23
|
+
import { LazyAsset } from "./entities/lazy-asset";
|
|
24
|
+
import { JobManager } from "./job-manager";
|
|
25
|
+
import { Progresses } from "./progresses";
|
|
26
|
+
let LazyAssets = class LazyAssets {
|
|
27
|
+
constructor(connector, assets, progresses, jobMan) {
|
|
28
|
+
this.connector = connector;
|
|
29
|
+
this.assets = assets;
|
|
30
|
+
this.progresses = progresses;
|
|
31
|
+
this.jobMan = jobMan;
|
|
32
|
+
this.collection = connector.database.collection("lazyassets");
|
|
33
|
+
}
|
|
34
|
+
create(jobType, jobParams = {}, jobQue = "main") {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const jobName = this.jobMan.tryResolve(jobType, Object.assign(Object.assign({}, jobParams), { lazyId: "" }));
|
|
37
|
+
const res = yield this.collection.insertOne({
|
|
38
|
+
jobName,
|
|
39
|
+
jobParams,
|
|
40
|
+
jobQue
|
|
41
|
+
});
|
|
42
|
+
return new LazyAsset(res.insertedId, jobName, jobParams, jobQue, null, null, this.assets, this.progresses, this.jobMan, this.collection);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
read(id) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
return this.find({ _id: new ObjectId(id) });
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
find(where) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const data = yield this.collection.findOne(where);
|
|
53
|
+
return !data
|
|
54
|
+
? null
|
|
55
|
+
: new LazyAsset(data._id, data.jobName, data.jobParams, data.jobQue, data.progressId, data.assetId, this.assets, this.progresses, this.jobMan, this.collection);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
unlink(id) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const asset = yield this.read(id);
|
|
61
|
+
if (!asset)
|
|
62
|
+
return null;
|
|
63
|
+
return asset.unlink();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
LazyAssets = __decorate([
|
|
68
|
+
injectable(),
|
|
69
|
+
scoped(Lifecycle.ContainerScoped),
|
|
70
|
+
__metadata("design:paramtypes", [MongoConnector, Assets,
|
|
71
|
+
Progresses, JobManager])
|
|
72
|
+
], LazyAssets);
|
|
73
|
+
export { LazyAssets };
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGF6eS1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJOUIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztJQUkzQixVQUFVLFNBQVYsVUFBVTtJQUluQixZQUFxQixTQUF5QixFQUFXLE1BQWMsRUFDbEQsVUFBc0IsRUFBVyxNQUFrQjtRQURuRCxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDbEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUssTUFBTSxDQUFDLE9BQW1CLEVBQUUsWUFBdUIsRUFBRSxFQUFFLFNBQWlCLE1BQU07O1lBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sa0NBQU0sU0FBUyxLQUFFLE1BQU0sRUFBRSxFQUFFLElBQUUsQ0FBQztZQUM1RSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO2dCQUN4QyxPQUFPO2dCQUNQLFNBQVM7Z0JBQ1QsTUFBTTthQUNULENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxTQUFTLENBQ2hCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFDdEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FDN0QsQ0FBQztRQUNOLENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxFQUFVOztZQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxLQUE4Qjs7WUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsSUFBSTtnQkFDUixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsSUFBSSxTQUFTLENBQ1gsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQ2xGLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQzdELENBQUM7UUFDVixDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsRUFBVTs7WUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7S0FBQTtDQUNKLENBQUE7QUF6Q1ksVUFBVTtJQUZ0QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztxQ0FLRSxjQUFjLEVBQW1CLE1BQU07UUFDdEMsVUFBVSxFQUFtQixVQUFVO0dBTC9ELFVBQVUsQ0F5Q3RCO1NBekNZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tIFwibW9uZ29kYlwiO1xyXG5pbXBvcnQge0ZpbHRlclF1ZXJ5fSBmcm9tIFwibW9uZ29vc2VcIjtcclxuaW1wb3J0IHtJSm9iLCBJTGF6eUFzc2V0LCBKb2JQYXJhbXMsIFR5cGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vbW9uZ28tY29ubmVjdG9yXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi9hc3NldHNcIjtcclxuaW1wb3J0IHtMYXp5QXNzZXR9IGZyb20gXCIuL2VudGl0aWVzL2xhenktYXNzZXRcIjtcclxuaW1wb3J0IHtKb2JNYW5hZ2VyfSBmcm9tIFwiLi9qb2ItbWFuYWdlclwiO1xyXG5pbXBvcnQge1Byb2dyZXNzZXN9IGZyb20gXCIuL3Byb2dyZXNzZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgTGF6eUFzc2V0cyB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvciwgcmVhZG9ubHkgYXNzZXRzOiBBc3NldHMsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSBwcm9ncmVzc2VzOiBQcm9ncmVzc2VzLCByZWFkb25seSBqb2JNYW46IEpvYk1hbmFnZXIpIHtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25uZWN0b3IuZGF0YWJhc2UuY29sbGVjdGlvbihcImxhenlhc3NldHNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIGpvYlBhcmFtczogSm9iUGFyYW1zID0ge30sIGpvYlF1ZTogc3RyaW5nID0gXCJtYWluXCIpOiBQcm9taXNlPElMYXp5QXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBqb2JOYW1lID0gdGhpcy5qb2JNYW4udHJ5UmVzb2x2ZShqb2JUeXBlLCB7Li4uam9iUGFyYW1zLCBsYXp5SWQ6IFwiXCJ9KTtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uaW5zZXJ0T25lKHtcclxuICAgICAgICAgICAgam9iTmFtZSxcclxuICAgICAgICAgICAgam9iUGFyYW1zLFxyXG4gICAgICAgICAgICBqb2JRdWVcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbmV3IExhenlBc3NldChcclxuICAgICAgICAgICAgcmVzLmluc2VydGVkSWQsIGpvYk5hbWUsIGpvYlBhcmFtcywgam9iUXVlLCBudWxsLCBudWxsLFxyXG4gICAgICAgICAgICB0aGlzLmFzc2V0cywgdGhpcy5wcm9ncmVzc2VzLCB0aGlzLmpvYk1hbiwgdGhpcy5jb2xsZWN0aW9uXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWFkKGlkOiBzdHJpbmcpOiBQcm9taXNlPElMYXp5QXNzZXQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJTGF6eUFzc2V0Pik6IFByb21pc2U8SUxhenlBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhXHJcbiAgICAgICAgICAgID8gbnVsbFxyXG4gICAgICAgICAgICA6IG5ldyBMYXp5QXNzZXQoXHJcbiAgICAgICAgICAgICAgICBkYXRhLl9pZCwgZGF0YS5qb2JOYW1lLCBkYXRhLmpvYlBhcmFtcywgZGF0YS5qb2JRdWUsIGRhdGEucHJvZ3Jlc3NJZCwgZGF0YS5hc3NldElkLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hc3NldHMsIHRoaXMucHJvZ3Jlc3NlcywgdGhpcy5qb2JNYW4sIHRoaXMuY29sbGVjdGlvblxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVubGluayhpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMucmVhZChpZCk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LnVubGluaygpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,59 +1,59 @@
|
|
|
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, singleton } from "tsyringe";
|
|
20
|
-
import { createTransport } from "nodemailer";
|
|
21
|
-
import { TemplateRenderer } from "./template-renderer";
|
|
22
|
-
import { Configuration } from "./configuration";
|
|
23
|
-
let MailSender = class MailSender {
|
|
24
|
-
constructor(config, renderer) {
|
|
25
|
-
this.config = config;
|
|
26
|
-
this.renderer = renderer;
|
|
27
|
-
this.transporter = createTransport({
|
|
28
|
-
host: this.config.resolve("smtpHost"),
|
|
29
|
-
port: this.config.resolve("smtpPort"),
|
|
30
|
-
auth: {
|
|
31
|
-
user: this.config.resolve("smtpUser"),
|
|
32
|
-
pass: this.config.resolve("smtpPassword"),
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
get translator() {
|
|
37
|
-
return this.renderer.translator;
|
|
38
|
-
}
|
|
39
|
-
sendMail(language, options) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const subject = yield this.translator.getTranslation(language, options.subject || "-");
|
|
42
|
-
const html = yield this.renderer.render(options.template, language, options.context);
|
|
43
|
-
return this.transporter.sendMail({
|
|
44
|
-
from: options.from || this.config.resolve("mailSenderAddress"),
|
|
45
|
-
to: options.to,
|
|
46
|
-
attachments: options.attachments,
|
|
47
|
-
subject,
|
|
48
|
-
html
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
MailSender = __decorate([
|
|
54
|
-
injectable(),
|
|
55
|
-
singleton(),
|
|
56
|
-
__metadata("design:paramtypes", [Configuration, TemplateRenderer])
|
|
57
|
-
], MailSender);
|
|
58
|
-
export { MailSender };
|
|
59
|
-
//# 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 __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, singleton } from "tsyringe";
|
|
20
|
+
import { createTransport } from "nodemailer";
|
|
21
|
+
import { TemplateRenderer } from "./template-renderer";
|
|
22
|
+
import { Configuration } from "./configuration";
|
|
23
|
+
let MailSender = class MailSender {
|
|
24
|
+
constructor(config, renderer) {
|
|
25
|
+
this.config = config;
|
|
26
|
+
this.renderer = renderer;
|
|
27
|
+
this.transporter = createTransport({
|
|
28
|
+
host: this.config.resolve("smtpHost"),
|
|
29
|
+
port: this.config.resolve("smtpPort"),
|
|
30
|
+
auth: {
|
|
31
|
+
user: this.config.resolve("smtpUser"),
|
|
32
|
+
pass: this.config.resolve("smtpPassword"),
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
get translator() {
|
|
37
|
+
return this.renderer.translator;
|
|
38
|
+
}
|
|
39
|
+
sendMail(language, options) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const subject = yield this.translator.getTranslation(language, options.subject || "-");
|
|
42
|
+
const html = yield this.renderer.render(options.template, language, options.context);
|
|
43
|
+
return this.transporter.sendMail({
|
|
44
|
+
from: options.from || this.config.resolve("mailSenderAddress"),
|
|
45
|
+
to: options.to,
|
|
46
|
+
attachments: options.attachments,
|
|
47
|
+
subject,
|
|
48
|
+
html
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
MailSender = __decorate([
|
|
54
|
+
injectable(),
|
|
55
|
+
singleton(),
|
|
56
|
+
__metadata("design:paramtypes", [Configuration, TemplateRenderer])
|
|
57
|
+
], MailSender);
|
|
58
|
+
export { MailSender };
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC1zZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpbC1zZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUczQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7SUFhakMsVUFBVSxTQUFWLFVBQVU7SUFRbkIsWUFBcUIsTUFBcUIsRUFBVyxRQUEwQjtRQUExRCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDM0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JDLElBQUksRUFBRTtnQkFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2FBQzVDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQWJELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQWFLLFFBQVEsQ0FBQyxRQUFnQixFQUFFLE9BQW9COztZQUNqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBQzdCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM5RCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO2dCQUNoQyxPQUFPO2dCQUNQLElBQUk7YUFDUCxDQUFDLENBQUM7UUFDUCxDQUFDO0tBQUE7Q0FDSixDQUFBO0FBOUJZLFVBQVU7SUFGdEIsVUFBVSxFQUFFO0lBQ1osU0FBUyxFQUFFO3FDQVNxQixhQUFhLEVBQXFCLGdCQUFnQjtHQVJ0RSxVQUFVLENBOEJ0QjtTQTlCWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge2NyZWF0ZVRyYW5zcG9ydH0gZnJvbSBcIm5vZGVtYWlsZXJcIjtcclxuaW1wb3J0ICogYXMgTWFpbCBmcm9tIFwibm9kZW1haWxlci9saWIvbWFpbGVyXCI7XHJcblxyXG5pbXBvcnQge1RlbXBsYXRlUmVuZGVyZXJ9IGZyb20gXCIuL3RlbXBsYXRlLXJlbmRlcmVyXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRvcn0gZnJvbSBcIi4vdHJhbnNsYXRvclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFpbE9wdGlvbnMge1xyXG4gICAgdG86IHN0cmluZztcclxuICAgIGZyb20/OiBzdHJpbmc7XHJcbiAgICBzdWJqZWN0Pzogc3RyaW5nO1xyXG4gICAgdGVtcGxhdGU6IHN0cmluZztcclxuICAgIGNvbnRleHQ6IGFueTtcclxuICAgIGF0dGFjaG1lbnRzPzogTWFpbC5BdHRhY2htZW50W11cclxufVxyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIE1haWxTZW5kZXIge1xyXG5cclxuICAgIHJlYWRvbmx5IHRyYW5zcG9ydGVyOiBNYWlsO1xyXG5cclxuICAgIGdldCB0cmFuc2xhdG9yKCk6IFRyYW5zbGF0b3Ige1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLnRyYW5zbGF0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uLCByZWFkb25seSByZW5kZXJlcjogVGVtcGxhdGVSZW5kZXJlcikge1xyXG4gICAgICAgIHRoaXMudHJhbnNwb3J0ZXIgPSBjcmVhdGVUcmFuc3BvcnQoe1xyXG4gICAgICAgICAgICBob3N0OiB0aGlzLmNvbmZpZy5yZXNvbHZlKFwic210cEhvc3RcIiksXHJcbiAgICAgICAgICAgIHBvcnQ6IHRoaXMuY29uZmlnLnJlc29sdmUoXCJzbXRwUG9ydFwiKSxcclxuICAgICAgICAgICAgYXV0aDoge1xyXG4gICAgICAgICAgICAgICAgdXNlcjogdGhpcy5jb25maWcucmVzb2x2ZShcInNtdHBVc2VyXCIpLFxyXG4gICAgICAgICAgICAgICAgcGFzczogdGhpcy5jb25maWcucmVzb2x2ZShcInNtdHBQYXNzd29yZFwiKSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNlbmRNYWlsKGxhbmd1YWdlOiBzdHJpbmcsIG9wdGlvbnM6IE1haWxPcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uKGxhbmd1YWdlLCBvcHRpb25zLnN1YmplY3QgfHwgXCItXCIpO1xyXG4gICAgICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLnJlbmRlcmVyLnJlbmRlcihvcHRpb25zLnRlbXBsYXRlLCBsYW5ndWFnZSwgb3B0aW9ucy5jb250ZXh0KTtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnRlci5zZW5kTWFpbCh7XHJcbiAgICAgICAgICAgIGZyb206IG9wdGlvbnMuZnJvbSB8fCB0aGlzLmNvbmZpZy5yZXNvbHZlKFwibWFpbFNlbmRlckFkZHJlc3NcIiksXHJcbiAgICAgICAgICAgIHRvOiBvcHRpb25zLnRvLFxyXG4gICAgICAgICAgICBhdHRhY2htZW50czogb3B0aW9ucy5hdHRhY2htZW50cyxcclxuICAgICAgICAgICAgc3ViamVjdCxcclxuICAgICAgICAgICAgaHRtbFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,84 +1,84 @@
|
|
|
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 { Cache } from "./cache";
|
|
21
|
-
let MemoryCache = class MemoryCache {
|
|
22
|
-
constructor(cache) {
|
|
23
|
-
this.cache = cache;
|
|
24
|
-
this.cacheMap = new Map();
|
|
25
|
-
}
|
|
26
|
-
set(key, value, ttl, expirationTimestamp = null, tags = {}) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const now = Math.round(new Date().getTime() / 1000);
|
|
29
|
-
const expTimestamp = Math.min(isNaN(ttl) ? Number.MAX_SAFE_INTEGER : ttl, 3600);
|
|
30
|
-
this.cacheMap.set(key, {
|
|
31
|
-
_id: key,
|
|
32
|
-
data: value,
|
|
33
|
-
expirationTimestamp: expTimestamp,
|
|
34
|
-
expiresAt: now + expTimestamp,
|
|
35
|
-
});
|
|
36
|
-
return this.cache.set(key, value, ttl, expirationTimestamp, tags);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
get(key) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
let item = this.cacheMap.get(key);
|
|
42
|
-
const now = Math.round(new Date().getTime() / 1000);
|
|
43
|
-
let expTimestamp = 3600;
|
|
44
|
-
if (item && item.expiresAt && item.expiresAt < now) {
|
|
45
|
-
expTimestamp = item.expirationTimestamp;
|
|
46
|
-
item = null;
|
|
47
|
-
}
|
|
48
|
-
if (!item) {
|
|
49
|
-
const value = yield this.cache.get(key);
|
|
50
|
-
this.cacheMap.set(key, {
|
|
51
|
-
_id: key,
|
|
52
|
-
data: value,
|
|
53
|
-
expirationTimestamp: expTimestamp,
|
|
54
|
-
expiresAt: now + expTimestamp,
|
|
55
|
-
});
|
|
56
|
-
return value;
|
|
57
|
-
}
|
|
58
|
-
return item.data;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
try {
|
|
64
|
-
return yield this.get(key);
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
return yield this.set(key, yield valueCb(), ttl, expirationTimestamp, tags);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
delete(key) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
this.cacheMap.delete(key);
|
|
74
|
-
yield this.cacheMap.delete(key);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
MemoryCache = __decorate([
|
|
79
|
-
injectable(),
|
|
80
|
-
scoped(Lifecycle.ContainerScoped),
|
|
81
|
-
__metadata("design:paramtypes", [Cache])
|
|
82
|
-
], MemoryCache);
|
|
83
|
-
export { MemoryCache };
|
|
84
|
-
//# 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 __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 { Cache } from "./cache";
|
|
21
|
+
let MemoryCache = class MemoryCache {
|
|
22
|
+
constructor(cache) {
|
|
23
|
+
this.cache = cache;
|
|
24
|
+
this.cacheMap = new Map();
|
|
25
|
+
}
|
|
26
|
+
set(key, value, ttl, expirationTimestamp = null, tags = {}) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const now = Math.round(new Date().getTime() / 1000);
|
|
29
|
+
const expTimestamp = Math.min(isNaN(ttl) ? Number.MAX_SAFE_INTEGER : ttl, 3600);
|
|
30
|
+
this.cacheMap.set(key, {
|
|
31
|
+
_id: key,
|
|
32
|
+
data: value,
|
|
33
|
+
expirationTimestamp: expTimestamp,
|
|
34
|
+
expiresAt: now + expTimestamp,
|
|
35
|
+
});
|
|
36
|
+
return this.cache.set(key, value, ttl, expirationTimestamp, tags);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
get(key) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
let item = this.cacheMap.get(key);
|
|
42
|
+
const now = Math.round(new Date().getTime() / 1000);
|
|
43
|
+
let expTimestamp = 3600;
|
|
44
|
+
if (item && item.expiresAt && item.expiresAt < now) {
|
|
45
|
+
expTimestamp = item.expirationTimestamp;
|
|
46
|
+
item = null;
|
|
47
|
+
}
|
|
48
|
+
if (!item) {
|
|
49
|
+
const value = yield this.cache.get(key);
|
|
50
|
+
this.cacheMap.set(key, {
|
|
51
|
+
_id: key,
|
|
52
|
+
data: value,
|
|
53
|
+
expirationTimestamp: expTimestamp,
|
|
54
|
+
expiresAt: now + expTimestamp,
|
|
55
|
+
});
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
return item.data;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
try {
|
|
64
|
+
return yield this.get(key);
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
return yield this.set(key, yield valueCb(), ttl, expirationTimestamp, tags);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
delete(key) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
this.cacheMap.delete(key);
|
|
74
|
+
yield this.cacheMap.delete(key);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
MemoryCache = __decorate([
|
|
79
|
+
injectable(),
|
|
80
|
+
scoped(Lifecycle.ContainerScoped),
|
|
81
|
+
__metadata("design:paramtypes", [Cache])
|
|
82
|
+
], MemoryCache);
|
|
83
|
+
export { MemoryCache };
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21lbW9yeS1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLFNBQVMsQ0FBQztJQUk3QixXQUFXLFNBQVgsV0FBVztJQUlwQixZQUErQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2xELENBQUM7SUFFSyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxHQUFZLEVBQUUsc0JBQThCLElBQUksRUFBRSxPQUFZLEVBQUU7O1lBQy9GLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNwRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsS0FBSztnQkFDWCxtQkFBbUIsRUFBRSxZQUFZO2dCQUNqQyxTQUFTLEVBQUUsR0FBRyxHQUFHLFlBQVk7YUFDaEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxDQUFDO0tBQUE7SUFFSyxHQUFHLENBQUMsR0FBVzs7WUFDakIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO2dCQUNoRCxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dCQUN4QyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ2Y7WUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNQLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDbkIsR0FBRyxFQUFFLEdBQUc7b0JBQ1IsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsbUJBQW1CLEVBQUUsWUFBWTtvQkFDakMsU0FBUyxFQUFFLEdBQUcsR0FBRyxZQUFZO2lCQUNoQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEdBQVcsRUFBRSxPQUEyQixFQUFFLEdBQVksRUFBRSxzQkFBOEIsSUFBSSxFQUFFLE9BQVksRUFBRTs7WUFDckgsSUFBSTtnQkFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMvRTtRQUNMLENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxHQUFXOztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7S0FBQTtDQUNKLENBQUE7QUFyRFksV0FBVztJQUZ2QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztxQ0FLUSxLQUFLO0dBSmxDLFdBQVcsQ0FxRHZCO1NBckRZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDYWNoZSwgSUNhY2hlSXRlbX0gZnJvbSBcIi4vY2FjaGVcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgTWVtb3J5Q2FjaGUge1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWNoZU1hcDogTWFwPHN0cmluZywgSUNhY2hlSXRlbT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGNhY2hlOiBDYWNoZSkge1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAgPSBuZXcgTWFwPHN0cmluZywgSUNhY2hlSXRlbT4oKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHR0bD86IG51bWJlciwgZXhwaXJhdGlvblRpbWVzdGFtcDogbnVtYmVyID0gbnVsbCwgdGFnczogYW55ID0ge30pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICBjb25zdCBleHBUaW1lc3RhbXAgPSBNYXRoLm1pbihpc05hTih0dGwpID8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgOiB0dGwsIDM2MDApO1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAuc2V0KGtleSwge1xyXG4gICAgICAgICAgICBfaWQ6IGtleSxcclxuICAgICAgICAgICAgZGF0YTogdmFsdWUsXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lc3RhbXA6IGV4cFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgZXhwaXJlc0F0OiBub3cgKyBleHBUaW1lc3RhbXAsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuc2V0KGtleSwgdmFsdWUsIHR0bCwgZXhwaXJhdGlvblRpbWVzdGFtcCwgdGFncyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBsZXQgaXRlbSA9IHRoaXMuY2FjaGVNYXAuZ2V0KGtleSk7XHJcbiAgICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApO1xyXG4gICAgICAgIGxldCBleHBUaW1lc3RhbXAgPSAzNjAwO1xyXG4gICAgICAgIGlmIChpdGVtICYmIGl0ZW0uZXhwaXJlc0F0ICYmIGl0ZW0uZXhwaXJlc0F0IDwgbm93KSB7XHJcbiAgICAgICAgICAgIGV4cFRpbWVzdGFtcCA9IGl0ZW0uZXhwaXJhdGlvblRpbWVzdGFtcDtcclxuICAgICAgICAgICAgaXRlbSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXRlbSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuY2FjaGUuZ2V0KGtleSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVNYXAuc2V0KGtleSwge1xyXG4gICAgICAgICAgICAgICAgX2lkOiBrZXksXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lc3RhbXA6IGV4cFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgICAgIGV4cGlyZXNBdDogbm93ICsgZXhwVGltZXN0YW1wLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbS5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9yU2V0KGtleTogc3RyaW5nLCB2YWx1ZUNiOiAoKSA9PiBQcm9taXNlPGFueT4sIHR0bD86IG51bWJlciwgZXhwaXJhdGlvblRpbWVzdGFtcDogbnVtYmVyID0gbnVsbCwgdGFnczogYW55ID0ge30pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldChrZXkpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2V0KGtleSwgYXdhaXQgdmFsdWVDYigpLCB0dGwsIGV4cGlyYXRpb25UaW1lc3RhbXAsIHRhZ3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAuZGVsZXRlKGtleSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jYWNoZU1hcC5kZWxldGUoa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|