@stemy/backend 3.5.16 → 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.
Files changed (146) hide show
  1. package/commands/clear-command.d.ts +6 -0
  2. package/commands/fixtures-command.d.ts +9 -0
  3. package/commands/index.d.ts +2 -0
  4. package/common-types.d.ts +29 -7
  5. package/esm2020/commands/clear-command.mjs +17 -0
  6. package/esm2020/commands/fixtures-command.mjs +23 -0
  7. package/esm2020/commands/index.mjs +7 -0
  8. package/esm2020/common-types.mjs +21 -0
  9. package/esm2020/public_api.mjs +379 -0
  10. package/esm2020/requests/asset-image-params.mjs +53 -0
  11. package/esm2020/rest-controllers/assets.controller.mjs +126 -0
  12. package/esm2020/rest-controllers/auth.controller.mjs +46 -0
  13. package/esm2020/rest-controllers/gallery.controller.mjs +21 -0
  14. package/esm2020/rest-controllers/progresses.controller.mjs +29 -0
  15. package/esm2020/rest-controllers/terminal-styles.mjs +67 -0
  16. package/esm2020/rest-controllers/terminal.controller.mjs +125 -0
  17. package/esm2020/rest-middlewares/container.middleware.mjs +20 -0
  18. package/esm2020/rest-middlewares/error-handler.middleware.mjs +74 -0
  19. package/esm2020/rest-middlewares/language.middleware.mjs +18 -0
  20. package/esm2020/rest-middlewares/request-ended.middleware.mjs +23 -0
  21. package/esm2020/rest-middlewares/request-started.middleware.mjs +22 -0
  22. package/esm2020/services/asset-processor.mjs +90 -0
  23. package/esm2020/services/asset-resolver.mjs +31 -0
  24. package/esm2020/services/assets.mjs +140 -0
  25. package/esm2020/services/backend-provider.mjs +22 -0
  26. package/esm2020/services/cache-processor.mjs +16 -0
  27. package/esm2020/services/cache.mjs +62 -0
  28. package/esm2020/services/configuration.mjs +65 -0
  29. package/esm2020/services/endpoint-provider.mjs +13 -0
  30. package/esm2020/services/entities/asset.mjs +43 -0
  31. package/esm2020/services/entities/base-entity.mjs +26 -0
  32. package/esm2020/services/entities/lazy-asset.mjs +73 -0
  33. package/esm2020/services/entities/progress.mjs +176 -0
  34. package/esm2020/services/entities/temp-asset.mjs +45 -0
  35. package/esm2020/services/fixtures.mjs +26 -0
  36. package/esm2020/services/gallery-cache.mjs +27 -0
  37. package/esm2020/services/gallery-image.mjs +37 -0
  38. package/esm2020/services/gallery.mjs +116 -0
  39. package/esm2020/services/id-generator.mjs +42 -0
  40. package/esm2020/services/job-manager.mjs +187 -0
  41. package/esm2020/services/lazy-assets.mjs +48 -0
  42. package/esm2020/services/logger.mjs +21 -0
  43. package/esm2020/services/mail-sender.mjs +36 -0
  44. package/esm2020/services/memory-cache.mjs +57 -0
  45. package/esm2020/services/mongo-connector.mjs +37 -0
  46. package/esm2020/services/open-api.mjs +114 -0
  47. package/esm2020/services/progresses.mjs +86 -0
  48. package/esm2020/services/template-renderer.mjs +64 -0
  49. package/esm2020/services/terminal-manager.mjs +77 -0
  50. package/esm2020/services/token-generator.mjs +35 -0
  51. package/esm2020/services/translation-provider.mjs +34 -0
  52. package/esm2020/services/translator.mjs +63 -0
  53. package/esm2020/services/user-manager.mjs +27 -0
  54. package/esm2020/socket-controllers/progress.controller.mjs +52 -0
  55. package/esm2020/socket-controllers/terminal.controller.mjs +48 -0
  56. package/esm2020/socket-controllers/terminal.mjs +85 -0
  57. package/esm2020/socket-middlewares/compression.middleware.mjs +14 -0
  58. package/esm2020/static.mjs +23 -0
  59. package/esm2020/utilities/decorators.mjs +52 -0
  60. package/esm2020/utilities/di-container.mjs +83 -0
  61. package/esm2020/utilities/empty-job.mjs +13 -0
  62. package/esm2020/utilities/lazy-asset-generator.mjs +35 -0
  63. package/esm2020/utilities/mongoose.mjs +216 -0
  64. package/esm2020/utils.mjs +693 -0
  65. package/esm2020/validators.mjs +46 -0
  66. package/fesm2015/{stemy-backend.js → stemy-backend.mjs} +1923 -2220
  67. package/fesm2015/stemy-backend.mjs.map +1 -0
  68. package/fesm2020/stemy-backend.mjs +4202 -0
  69. package/fesm2020/stemy-backend.mjs.map +1 -0
  70. package/{stemy-backend.d.ts → index.d.ts} +1 -0
  71. package/package.json +36 -23
  72. package/public_api.d.ts +3 -2
  73. package/rest-controllers/terminal-styles.d.ts +2 -0
  74. package/rest-controllers/terminal.controller.d.ts +10 -0
  75. package/services/asset-processor.d.ts +0 -3
  76. package/services/assets.d.ts +1 -0
  77. package/services/configuration.d.ts +2 -1
  78. package/services/entities/asset.d.ts +1 -0
  79. package/services/entities/temp-asset.d.ts +1 -0
  80. package/services/fixtures.d.ts +2 -2
  81. package/services/terminal-manager.d.ts +15 -0
  82. package/socket-controllers/terminal.controller.d.ts +13 -0
  83. package/socket-controllers/terminal.d.ts +20 -0
  84. package/utils.d.ts +7 -1
  85. package/bundles/stemy-backend.umd.js +0 -7081
  86. package/bundles/stemy-backend.umd.js.map +0 -1
  87. package/esm2015/common-types.js +0 -19
  88. package/esm2015/public_api.js +0 -359
  89. package/esm2015/requests/asset-image-params.js +0 -70
  90. package/esm2015/rest-controllers/assets.controller.js +0 -180
  91. package/esm2015/rest-controllers/auth.controller.js +0 -76
  92. package/esm2015/rest-controllers/gallery.controller.js +0 -37
  93. package/esm2015/rest-controllers/progresses.controller.js +0 -57
  94. package/esm2015/rest-middlewares/container.middleware.js +0 -32
  95. package/esm2015/rest-middlewares/error-handler.middleware.js +0 -99
  96. package/esm2015/rest-middlewares/language.middleware.js +0 -28
  97. package/esm2015/rest-middlewares/request-ended.middleware.js +0 -33
  98. package/esm2015/rest-middlewares/request-started.middleware.js +0 -32
  99. package/esm2015/rest-openapi.js +0 -44
  100. package/esm2015/services/asset-processor.js +0 -129
  101. package/esm2015/services/asset-resolver.js +0 -53
  102. package/esm2015/services/assets.js +0 -181
  103. package/esm2015/services/backend-provider.js +0 -32
  104. package/esm2015/services/cache-processor.js +0 -34
  105. package/esm2015/services/cache.js +0 -93
  106. package/esm2015/services/configuration.js +0 -69
  107. package/esm2015/services/endpoint-provider.js +0 -29
  108. package/esm2015/services/entities/asset.js +0 -60
  109. package/esm2015/services/entities/base-entity.js +0 -37
  110. package/esm2015/services/entities/lazy-asset.js +0 -90
  111. package/esm2015/services/entities/progress.js +0 -213
  112. package/esm2015/services/entities/temp-asset.js +0 -64
  113. package/esm2015/services/fixtures.js +0 -45
  114. package/esm2015/services/gallery-cache.js +0 -36
  115. package/esm2015/services/gallery-image.js +0 -48
  116. package/esm2015/services/gallery.js +0 -138
  117. package/esm2015/services/id-generator.js +0 -63
  118. package/esm2015/services/job-manager.js +0 -221
  119. package/esm2015/services/lazy-assets.js +0 -83
  120. package/esm2015/services/logger.js +0 -31
  121. package/esm2015/services/mail-sender.js +0 -58
  122. package/esm2015/services/memory-cache.js +0 -84
  123. package/esm2015/services/mongo-connector.js +0 -58
  124. package/esm2015/services/open-api.js +0 -140
  125. package/esm2015/services/progresses.js +0 -118
  126. package/esm2015/services/template-renderer.js +0 -89
  127. package/esm2015/services/token-generator.js +0 -55
  128. package/esm2015/services/translation-provider.js +0 -54
  129. package/esm2015/services/translator.js +0 -84
  130. package/esm2015/services/user-manager.js +0 -47
  131. package/esm2015/socket-controllers/progress.controller.js +0 -82
  132. package/esm2015/socket-middlewares/compression.middleware.js +0 -19
  133. package/esm2015/static.js +0 -33
  134. package/esm2015/utilities/decorators.js +0 -54
  135. package/esm2015/utilities/di-container.js +0 -84
  136. package/esm2015/utilities/empty-job.js +0 -29
  137. package/esm2015/utilities/lazy-asset-generator.js +0 -46
  138. package/esm2015/utilities/mongoose.js +0 -225
  139. package/esm2015/utils.js +0 -672
  140. package/esm2015/validators.js +0 -51
  141. package/fesm2015/stemy-backend.js.map +0 -1
  142. package/rest-openapi.d.ts +0 -3
  143. package/stemy-backend.metadata.json +0 -1
  144. /package/{esm2015/stemy-backend.js → esm2020/stemy-backend.mjs} +0 -0
  145. /package/{esm2015/utilities/base-doc.js → esm2020/utilities/base-doc.mjs} +0 -0
  146. /package/{esm2015/utilities/tree.js → esm2020/utilities/tree.mjs} +0 -0
@@ -1,93 +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 { singleton } from "tsyringe";
20
- import { MongoConnector } from "./mongo-connector";
21
- import { Configuration } from "./configuration";
22
- import { CacheProcessor } from "./cache-processor";
23
- let Cache = class Cache {
24
- constructor(connector, config, cacheProcessor) {
25
- this.connector = connector;
26
- this.config = config;
27
- this.cacheProcessor = cacheProcessor;
28
- }
29
- prepare() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- if (this.collection)
32
- return;
33
- if (!this.connector.database) {
34
- throw new Error(`You can't use cache without mongo connection!`);
35
- }
36
- this.collection = this.connector.database.collection(this.config.resolve("cacheCollection"));
37
- yield this.collection.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 });
38
- });
39
- }
40
- set(key, value, ttl, expirationTimestamp = null, tags = {}) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- yield this.prepare();
43
- const item = {
44
- _id: key,
45
- data: yield this.cacheProcessor.serialize(value),
46
- tags: yield this.cacheProcessor.serialize(tags),
47
- expirationTimestamp,
48
- };
49
- if (ttl) {
50
- const now = Math.round(new Date().getTime() / 1000);
51
- item.expiresAt = now + ttl;
52
- }
53
- yield this.collection.updateOne({ _id: key }, { $set: item }, { upsert: true });
54
- return value;
55
- });
56
- }
57
- get(key) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- yield this.prepare();
60
- let item = yield this.collection.findOne({ _id: key });
61
- const now = Math.round(new Date().getTime() / 1000);
62
- if (item && item.expiresAt && item.expiresAt < now) {
63
- item = null;
64
- }
65
- if (!item) {
66
- throw new Error(`Cache probably doesn't exists with key: ${key}`);
67
- }
68
- return yield this.cacheProcessor.deserialize(item.data);
69
- });
70
- }
71
- getOrSet(key, valueCb, ttl, expirationTimestamp = null, tags = {}) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- try {
74
- return yield this.get(key);
75
- }
76
- catch (e) {
77
- return yield this.set(key, yield valueCb(), ttl, expirationTimestamp, tags);
78
- }
79
- });
80
- }
81
- delete(key) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- yield this.prepare();
84
- yield this.collection.deleteOne({ _id: key });
85
- });
86
- }
87
- };
88
- Cache = __decorate([
89
- singleton(),
90
- __metadata("design:paramtypes", [MongoConnector, Configuration, CacheProcessor])
91
- ], Cache);
92
- export { Cache };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztJQVdwQyxLQUFLLFNBQUwsS0FBSztJQUlkLFlBQXFCLFNBQXlCLEVBQVksTUFBcUIsRUFBWSxjQUE4QjtRQUFwRyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFZLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBWSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFFekgsQ0FBQztJQUVlLE9BQU87O1lBQ25CLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQzthQUNwRTtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUM3RixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUM3QixFQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUMsRUFDZCxFQUFDLGtCQUFrQixFQUFFLENBQUMsRUFBQyxDQUMxQixDQUFDO1FBQ04sQ0FBQztLQUFBO0lBRUssR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsR0FBWSxFQUFFLHNCQUE4QixJQUFJLEVBQUUsT0FBWSxFQUFFOztZQUMvRixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBZTtnQkFDckIsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUNoRCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLG1CQUFtQjthQUN0QixDQUFDO1lBQ0YsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7YUFDOUI7WUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDMUUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRUssR0FBRyxDQUFDLEdBQVc7O1lBQ2pCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztZQUNyRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxHQUFHLElBQUksQ0FBQzthQUNmO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3JFO1lBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsR0FBVyxFQUFFLE9BQTJCLEVBQUUsR0FBWSxFQUFFLHNCQUE4QixJQUFJLEVBQUUsT0FBWSxFQUFFOztZQUNySCxJQUFJO2dCQUNBLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO2FBQy9FO1FBQ0wsQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLEdBQVc7O1lBQ3BCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO0tBQUE7Q0FDSixDQUFBO0FBN0RZLEtBQUs7SUFEakIsU0FBUyxFQUFFO3FDQUt3QixjQUFjLEVBQW9CLGFBQWEsRUFBNEIsY0FBYztHQUpoSCxLQUFLLENBNkRqQjtTQTdEWSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb259IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtDYWNoZVByb2Nlc3Nvcn0gZnJvbSBcIi4vY2FjaGUtcHJvY2Vzc29yXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDYWNoZUl0ZW0ge1xyXG4gICAgX2lkOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICB0YWdzPzogYW55O1xyXG4gICAgZXhwaXJhdGlvblRpbWVzdGFtcD86IG51bWJlcjtcclxuICAgIGV4cGlyZXNBdD86IG51bWJlcjtcclxufVxyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBDYWNoZSB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbGxlY3Rpb246IENvbGxlY3Rpb248SUNhY2hlSXRlbT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvciwgcHJvdGVjdGVkIGNvbmZpZzogQ29uZmlndXJhdGlvbiwgcHJvdGVjdGVkIGNhY2hlUHJvY2Vzc29yOiBDYWNoZVByb2Nlc3Nvcikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgcHJlcGFyZSgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbGxlY3Rpb24pIHJldHVybjtcclxuICAgICAgICBpZiAoIXRoaXMuY29ubmVjdG9yLmRhdGFiYXNlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IGNhbid0IHVzZSBjYWNoZSB3aXRob3V0IG1vbmdvIGNvbm5lY3Rpb24hYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IHRoaXMuY29ubmVjdG9yLmRhdGFiYXNlLmNvbGxlY3Rpb24odGhpcy5jb25maWcucmVzb2x2ZShcImNhY2hlQ29sbGVjdGlvblwiKSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmNyZWF0ZUluZGV4KFxyXG4gICAgICAgICAgICB7ZXhwaXJlc0F0OiAxfSxcclxuICAgICAgICAgICAge2V4cGlyZUFmdGVyU2Vjb25kczogMH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgdHRsPzogbnVtYmVyLCBleHBpcmF0aW9uVGltZXN0YW1wOiBudW1iZXIgPSBudWxsLCB0YWdzOiBhbnkgPSB7fSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlKCk7XHJcbiAgICAgICAgY29uc3QgaXRlbTogSUNhY2hlSXRlbSA9IHtcclxuICAgICAgICAgICAgX2lkOiBrZXksXHJcbiAgICAgICAgICAgIGRhdGE6IGF3YWl0IHRoaXMuY2FjaGVQcm9jZXNzb3Iuc2VyaWFsaXplKHZhbHVlKSxcclxuICAgICAgICAgICAgdGFnczogYXdhaXQgdGhpcy5jYWNoZVByb2Nlc3Nvci5zZXJpYWxpemUodGFncyksXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lc3RhbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAodHRsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICAgICAgaXRlbS5leHBpcmVzQXQgPSBub3cgKyB0dGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbi51cGRhdGVPbmUoe19pZDoga2V5fSwgeyRzZXQ6IGl0ZW19LCB7dXBzZXJ0OiB0cnVlfSk7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlKCk7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh7X2lkOiBrZXl9KTtcclxuICAgICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XHJcbiAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5leHBpcmVzQXQgJiYgaXRlbS5leHBpcmVzQXQgPCBub3cpIHtcclxuICAgICAgICAgICAgaXRlbSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXRlbSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhY2hlIHByb2JhYmx5IGRvZXNuJ3QgZXhpc3RzIHdpdGgga2V5OiAke2tleX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVQcm9jZXNzb3IuZGVzZXJpYWxpemUoaXRlbS5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRPclNldChrZXk6IHN0cmluZywgdmFsdWVDYjogKCkgPT4gUHJvbWlzZTxhbnk+LCB0dGw/OiBudW1iZXIsIGV4cGlyYXRpb25UaW1lc3RhbXA6IG51bWJlciA9IG51bGwsIHRhZ3M6IGFueSA9IHt9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXQoa2V5KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldChrZXksIGF3YWl0IHZhbHVlQ2IoKSwgdHRsLCBleHBpcmF0aW9uVGltZXN0YW1wLCB0YWdzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlKGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmUoKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZGVsZXRlT25lKHtfaWQ6IGtleX0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,69 +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 __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { injectAll, singleton } from "tsyringe";
14
- import dotenv from "dotenv";
15
- import { PARAMETER } from "../common-types";
16
- import { colorize, ConsoleColor, convertValue, getType, isFunction } from "../utils";
17
- let Configuration = class Configuration {
18
- constructor(params) {
19
- dotenv.config();
20
- this.paramMap = {};
21
- this.paramValues = {};
22
- (params || []).forEach(param => this.add(param));
23
- }
24
- add(param) {
25
- const existingParam = this.paramMap[param.name] || param;
26
- existingParam.defaultValue = param.defaultValue;
27
- existingParam.resolver = param.resolver || existingParam.resolver;
28
- this.paramMap[param.name] = existingParam;
29
- }
30
- resolveValue(param) {
31
- const envName = param.name.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
32
- return "_" + y.toLowerCase();
33
- }).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
34
- const envValue = process.env[envName];
35
- if (typeof envValue !== "undefined") {
36
- const value = isFunction(param.resolver)
37
- ? param.resolver(envValue)
38
- : convertValue(envValue, getType(param.defaultValue));
39
- console.log(colorize(`Processing param value`, ConsoleColor.FgYellow), colorize(param.name, ConsoleColor.FgGreen), colorize(envName, ConsoleColor.FgBlue), `"${envValue}"`, value);
40
- return value;
41
- }
42
- else if (isFunction(param.resolver)) {
43
- const value = param.resolver(param.defaultValue);
44
- console.log(colorize(`Processing default param value`, ConsoleColor.FgYellow), colorize(param.name, ConsoleColor.FgGreen), param.defaultValue, value);
45
- return value;
46
- }
47
- console.log(colorize(`Using default param value`, ConsoleColor.FgYellow), colorize(param.name, ConsoleColor.FgGreen), param.defaultValue);
48
- return param.defaultValue;
49
- }
50
- hasParam(name) {
51
- return !!this.paramMap[name];
52
- }
53
- resolve(name) {
54
- const param = this.paramMap[name];
55
- if (!param)
56
- throw new Error(`Parameter with name: '${name}' does not exists in configuration`);
57
- if (!(name in this.paramValues)) {
58
- this.paramValues[name] = this.resolveValue(param);
59
- }
60
- return this.paramValues[name];
61
- }
62
- };
63
- Configuration = __decorate([
64
- singleton(),
65
- __param(0, injectAll(PARAMETER)),
66
- __metadata("design:paramtypes", [Array])
67
- ], Configuration);
68
- export { Configuration };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7SUFHdEUsYUFBYSxTQUFiLGFBQWE7SUFLdEIsWUFBa0MsTUFBbUI7UUFDakQsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsR0FBRyxDQUFDLEtBQWdCO1FBQzFCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUN6RCxhQUFhLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDaEQsYUFBYSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFUyxZQUFZLENB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ImltcG9ydCB7aW5qZWN0QWxsLCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQgZG90ZW52IGZyb20gXCJkb3RlbnZcIjtcclxuXHJcbmltcG9ydCB7UEFSQU1FVEVSLCBQYXJhbWV0ZXJ9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtjb2xvcml6ZSwgQ29uc29sZUNvbG9yLCBjb252ZXJ0VmFsdWUsIGdldFR5cGUsIGlzRnVuY3Rpb259IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcGFyYW1NYXA6IHtbbmFtZTogc3RyaW5nXTogUGFyYW1ldGVyfTtcclxuICAgIHByb3RlY3RlZCBwYXJhbVZhbHVlczoge1tuYW1lOiBzdHJpbmddOiBhbnl9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBpbmplY3RBbGwoUEFSQU1FVEVSKSBwYXJhbXM6IFBhcmFtZXRlcltdKSB7XHJcbiAgICAgICAgZG90ZW52LmNvbmZpZygpO1xyXG4gICAgICAgIHRoaXMucGFyYW1NYXAgPSB7fTtcclxuICAgICAgICB0aGlzLnBhcmFtVmFsdWVzID0ge307XHJcbiAgICAgICAgKHBhcmFtcyB8fCBbXSkuZm9yRWFjaChwYXJhbSA9PiB0aGlzLmFkZChwYXJhbSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGQocGFyYW06IFBhcmFtZXRlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYW0gPSB0aGlzLnBhcmFtTWFwW3BhcmFtLm5hbWVdIHx8IHBhcmFtO1xyXG4gICAgICAgIGV4aXN0aW5nUGFyYW0uZGVmYXVsdFZhbHVlID0gcGFyYW0uZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgIGV4aXN0aW5nUGFyYW0ucmVzb2x2ZXIgPSBwYXJhbS5yZXNvbHZlciB8fCBleGlzdGluZ1BhcmFtLnJlc29sdmVyO1xyXG4gICAgICAgIHRoaXMucGFyYW1NYXBbcGFyYW0ubmFtZV0gPSBleGlzdGluZ1BhcmFtO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZXNvbHZlVmFsdWUocGFyYW06IFBhcmFtZXRlcik6IGFueSB7XHJcbiAgICAgICAgY29uc3QgZW52TmFtZSA9IHBhcmFtLm5hbWUucmVwbGFjZSgvXFwuPyhbQS1afDAtOV0rKS9nLCBmdW5jdGlvbiAoeCwgeSkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJfXCIgKyB5LnRvTG93ZXJDYXNlKClcclxuICAgICAgICB9KS5yZXBsYWNlKC9cXC4vZ2ksIFwiX1wiKS5yZXBsYWNlKC9eXy8sIFwiXCIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgY29uc3QgZW52VmFsdWUgPSBwcm9jZXNzLmVudltlbnZOYW1lXTtcclxuICAgICAgICBpZiAodHlwZW9mIGVudlZhbHVlICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXNGdW5jdGlvbihwYXJhbS5yZXNvbHZlcilcclxuICAgICAgICAgICAgICAgID8gcGFyYW0ucmVzb2x2ZXIoZW52VmFsdWUpXHJcbiAgICAgICAgICAgICAgICA6IGNvbnZlcnRWYWx1ZShlbnZWYWx1ZSwgZ2V0VHlwZShwYXJhbS5kZWZhdWx0VmFsdWUpKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICBjb2xvcml6ZShgUHJvY2Vzc2luZyBwYXJhbSB2YWx1ZWAsIENvbnNvbGVDb2xvci5GZ1llbGxvdyksXHJcbiAgICAgICAgICAgICAgICBjb2xvcml6ZShwYXJhbS5uYW1lLCBDb25zb2xlQ29sb3IuRmdHcmVlbiksXHJcbiAgICAgICAgICAgICAgICBjb2xvcml6ZShlbnZOYW1lLCBDb25zb2xlQ29sb3IuRmdCbHVlKSxcclxuICAgICAgICAgICAgICAgIGBcIiR7ZW52VmFsdWV9XCJgLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihwYXJhbS5yZXNvbHZlcikpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbS5yZXNvbHZlcihwYXJhbS5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICAgICAgIGNvbG9yaXplKGBQcm9jZXNzaW5nIGRlZmF1bHQgcGFyYW0gdmFsdWVgLCBDb25zb2xlQ29sb3IuRmdZZWxsb3cpLFxyXG4gICAgICAgICAgICAgICAgY29sb3JpemUocGFyYW0ubmFtZSwgQ29uc29sZUNvbG9yLkZnR3JlZW4pLFxyXG4gICAgICAgICAgICAgICAgcGFyYW0uZGVmYXVsdFZhbHVlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICAgY29sb3JpemUoYFVzaW5nIGRlZmF1bHQgcGFyYW0gdmFsdWVgLCBDb25zb2xlQ29sb3IuRmdZZWxsb3cpLFxyXG4gICAgICAgICAgICBjb2xvcml6ZShwYXJhbS5uYW1lLCBDb25zb2xlQ29sb3IuRmdHcmVlbiksXHJcbiAgICAgICAgICAgIHBhcmFtLmRlZmF1bHRWYWx1ZSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBwYXJhbS5kZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaGFzUGFyYW0obmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wYXJhbU1hcFtuYW1lXTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlKG5hbWU6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgcGFyYW0gPSB0aGlzLnBhcmFtTWFwW25hbWVdO1xyXG4gICAgICAgIGlmICghcGFyYW0pIHRocm93IG5ldyBFcnJvcihgUGFyYW1ldGVyIHdpdGggbmFtZTogJyR7bmFtZX0nIGRvZXMgbm90IGV4aXN0cyBpbiBjb25maWd1cmF0aW9uYCk7XHJcbiAgICAgICAgaWYgKCEobmFtZSBpbiB0aGlzLnBhcmFtVmFsdWVzKSkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmFtVmFsdWVzW25hbWVdID0gdGhpcy5yZXNvbHZlVmFsdWUocGFyYW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJhbVZhbHVlc1tuYW1lXTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,29 +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
- import { injectable, Lifecycle, scoped } from "tsyringe";
17
- let EndpointProvider = class EndpointProvider {
18
- configure(app) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- console.log(`Express app is mounted to: ${app.mountpath}`);
21
- });
22
- }
23
- };
24
- EndpointProvider = __decorate([
25
- injectable(),
26
- scoped(Lifecycle.ContainerScoped)
27
- ], EndpointProvider);
28
- export { EndpointProvider };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0lBSzFDLGdCQUFnQixTQUFoQixnQkFBZ0I7SUFFbkIsU0FBUyxDQUFDLEdBQVk7O1lBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FBQTtDQUNKLENBQUE7QUFMWSxnQkFBZ0I7SUFGNUIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7R0FDckIsZ0JBQWdCLENBSzVCO1NBTFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7RXhwcmVzc30gZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgRW5kcG9pbnRQcm92aWRlciB7XHJcblxyXG4gICAgYXN5bmMgY29uZmlndXJlKGFwcDogRXhwcmVzcyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEV4cHJlc3MgYXBwIGlzIG1vdW50ZWQgdG86ICR7YXBwLm1vdW50cGF0aH1gKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,60 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { deleteFromBucket, streamToBuffer, toImage } from "../../utils";
11
- import { BaseEntity } from "./base-entity";
12
- export class Asset extends BaseEntity {
13
- constructor(id, data, collection, bucket) {
14
- super(id, data, collection);
15
- this.bucket = bucket;
16
- }
17
- get filename() {
18
- return this.data.filename;
19
- }
20
- get contentType() {
21
- return this.data.contentType;
22
- }
23
- get metadata() {
24
- return this.data.metadata;
25
- }
26
- get stream() {
27
- return this.bucket.openDownloadStream(this.mId);
28
- }
29
- unlink() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return deleteFromBucket(this.bucket, this.mId);
32
- });
33
- }
34
- getBuffer() {
35
- return streamToBuffer(this.stream);
36
- }
37
- download(metadata) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- metadata = Object.assign(this.metadata, metadata || {});
40
- metadata.downloadCount = isNaN(metadata.downloadCount) || !metadata.firstDownload
41
- ? 1
42
- : metadata.downloadCount + 1;
43
- metadata.firstDownload = metadata.firstDownload || new Date();
44
- metadata.lastDownload = new Date();
45
- yield this.collection.updateOne({ _id: this.mId }, { $set: { metadata } });
46
- return this.stream;
47
- });
48
- }
49
- getImage(params = null) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- return toImage(this.stream, params, this.metadata);
52
- });
53
- }
54
- downloadImage(params, metadata) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- return toImage(yield this.download(metadata), params, this.metadata);
57
- });
58
- }
59
- }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZW50aXRpZXMvYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxNQUFNLE9BQU8sS0FBTSxTQUFRLFVBQWtCO0lBa0J6QyxZQUFZLEVBQVksRUFDWixJQUFxQixFQUNyQixVQUFzQixFQUNaLE1BQW9CO1FBQ3RDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRFYsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUUxQyxDQUFDO0lBckJELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVNLLE1BQU07O1lBQ1IsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxDQUFDO0tBQUE7SUFFRCxTQUFTO1FBQ0wsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFSyxRQUFRLENBQUMsUUFBcUI7O1lBQ2hDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELFFBQVEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO2dCQUM3RSxDQUFDLENBQUMsQ0FBQztnQkFDSCxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUQsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsU0FBNEIsSUFBSTs7WUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7S0FBQTtJQUVLLGFBQWEsQ0FBQyxNQUEwQixFQUFFLFFBQXFCOztZQUNqRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RSxDQUFDO0tBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhZGFibGV9IGZyb20gXCJzdHJlYW1cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9uLCBHcmlkRlNCdWNrZXR9IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcblxyXG5pbXBvcnQge0lBc3NldCwgSUFzc2V0SW1hZ2VQYXJhbXMsIElBc3NldE1ldGF9IGZyb20gXCIuLi8uLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtkZWxldGVGcm9tQnVja2V0LCBzdHJlYW1Ub0J1ZmZlciwgdG9JbWFnZX0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7QmFzZUVudGl0eX0gZnJvbSBcIi4vYmFzZS1lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBc3NldCBleHRlbmRzIEJhc2VFbnRpdHk8SUFzc2V0PiBpbXBsZW1lbnRzIElBc3NldCB7XHJcblxyXG4gICAgZ2V0IGZpbGVuYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWxlbmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29udGVudFR5cGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNvbnRlbnRUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBtZXRhZGF0YSgpOiBJQXNzZXRNZXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm1ldGFkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdHJlYW0oKTogUmVhZGFibGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1Y2tldC5vcGVuRG93bmxvYWRTdHJlYW0odGhpcy5tSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGlkOiBPYmplY3RJZCxcclxuICAgICAgICAgICAgICAgIGRhdGE6IFBhcnRpYWw8SUFzc2V0PixcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb24sXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgYnVja2V0OiBHcmlkRlNCdWNrZXQpIHtcclxuICAgICAgICBzdXBlcihpZCwgZGF0YSwgY29sbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saW5rKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUZyb21CdWNrZXQodGhpcy5idWNrZXQsIHRoaXMubUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCdWZmZXIoKTogUHJvbWlzZTxCdWZmZXI+IHtcclxuICAgICAgICByZXR1cm4gc3RyZWFtVG9CdWZmZXIodGhpcy5zdHJlYW0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvd25sb2FkKG1ldGFkYXRhPzogSUFzc2V0TWV0YSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBtZXRhZGF0YSA9IE9iamVjdC5hc3NpZ24odGhpcy5tZXRhZGF0YSwgbWV0YWRhdGEgfHwge30pO1xyXG4gICAgICAgIG1ldGFkYXRhLmRvd25sb2FkQ291bnQgPSBpc05hTihtZXRhZGF0YS5kb3dubG9hZENvdW50KSB8fCAhbWV0YWRhdGEuZmlyc3REb3dubG9hZFxyXG4gICAgICAgICAgICA/IDFcclxuICAgICAgICAgICAgOiBtZXRhZGF0YS5kb3dubG9hZENvdW50ICsgMTtcclxuICAgICAgICBtZXRhZGF0YS5maXJzdERvd25sb2FkID0gbWV0YWRhdGEuZmlyc3REb3dubG9hZCB8fCBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIG1ldGFkYXRhLmxhc3REb3dubG9hZCA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uLnVwZGF0ZU9uZSh7X2lkOiB0aGlzLm1JZH0sIHskc2V0OiB7bWV0YWRhdGF9fSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEltYWdlKHBhcmFtczogSUFzc2V0SW1hZ2VQYXJhbXMgPSBudWxsKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIHJldHVybiB0b0ltYWdlKHRoaXMuc3RyZWFtLCBwYXJhbXMsIHRoaXMubWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvd25sb2FkSW1hZ2UocGFyYW1zPzogSUFzc2V0SW1hZ2VQYXJhbXMsIG1ldGFkYXRhPzogSUFzc2V0TWV0YSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICByZXR1cm4gdG9JbWFnZShhd2FpdCB0aGlzLmRvd25sb2FkKG1ldGFkYXRhKSwgcGFyYW1zLCB0aGlzLm1ldGFkYXRhKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- export class BaseEntity {
11
- constructor(mId, data, collection) {
12
- this.mId = mId;
13
- this.data = data;
14
- this.collection = collection;
15
- }
16
- get id() {
17
- return this.mId.toHexString();
18
- }
19
- save() {
20
- return this.collection.updateOne({ _id: this.mId }, { $set: this.toJSON() });
21
- }
22
- load() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const res = yield this.collection.findOne({ _id: this.mId });
25
- this.deleted = !res;
26
- this.data = res || {};
27
- return this;
28
- });
29
- }
30
- toJSON() {
31
- const ret = Object.assign({}, this.data);
32
- delete ret._id;
33
- ret.id = this.id;
34
- return ret;
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZW50aXRpZXMvYmFzZS1lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsTUFBTSxPQUFPLFVBQVU7SUFRbkIsWUFBcUIsR0FBYSxFQUNaLElBQWdCLEVBQ2hCLFVBQTJCO1FBRjVCLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBQ2pELENBQUM7SUFURCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQVNELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFSyxJQUFJOztZQUNOLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUQsTUFBTTtRQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQVEsQ0FBQztRQUNoRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDZixHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbGxlY3Rpb259IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUVudGl0eTxUPiB7XHJcblxyXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubUlkLnRvSGV4U3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGRlbGV0ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgbUlkOiBPYmplY3RJZCxcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBkYXRhOiBQYXJ0aWFsPFQ+LFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGNvbGxlY3Rpb246IENvbGxlY3Rpb248YW55Pikge1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uLnVwZGF0ZU9uZSh7X2lkOiB0aGlzLm1JZH0sIHskc2V0OiB0aGlzLnRvSlNPTigpfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHRoaXM+IHtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh7X2lkOiB0aGlzLm1JZH0pO1xyXG4gICAgICAgIHRoaXMuZGVsZXRlZCA9ICFyZXM7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzIHx8IHt9O1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHRvSlNPTigpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IHJldCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGF0YSkgYXMgYW55O1xyXG4gICAgICAgIGRlbGV0ZSByZXQuX2lkO1xyXG4gICAgICAgIHJldC5pZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,90 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { ObjectId } from "bson";
11
- import { deleteFromBucket } from "../../utils";
12
- import { BaseEntity } from "./base-entity";
13
- export class LazyAsset extends BaseEntity {
14
- constructor(id, data, collection, logger, assets, progresses) {
15
- super(id, data, collection);
16
- this.logger = logger;
17
- this.assets = assets;
18
- this.progresses = progresses;
19
- }
20
- get jobName() {
21
- return this.data.jobName;
22
- }
23
- get jobParams() {
24
- return this.data.jobParams;
25
- }
26
- get jobQue() {
27
- return this.data.jobQue;
28
- }
29
- get progressId() {
30
- return this.data.progressId;
31
- }
32
- get assetId() {
33
- return this.data.assetId;
34
- }
35
- unlink() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- yield this.load();
38
- if (!this.progressId) {
39
- yield this.collection.deleteOne({ _id: this.mId });
40
- }
41
- return deleteFromBucket(this.assets.bucket, new ObjectId(this.assetId));
42
- });
43
- }
44
- startWorking() {
45
- this.load().then(() => {
46
- if (this.deleted)
47
- return;
48
- this.progresses.get(this.progressId).then(p => {
49
- p === null || p === void 0 ? void 0 : p.cancel();
50
- });
51
- this.startWorkingOnAsset(false).then(() => {
52
- this.logger.log("lazy-assets", `Started working on lazy asset: ${this.id}`);
53
- }).catch(reason => {
54
- this.logger.log("lazy-assets", `Can't start working on lazy asset: ${this.id}\nReason: ${reason}`);
55
- });
56
- });
57
- }
58
- loadAsset() {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- yield this.load();
61
- if (this.deleted)
62
- return null;
63
- if (this.assetId) {
64
- return this.assets.read(this.assetId);
65
- }
66
- if (this.progressId) {
67
- yield this.progresses.waitToFinish(this.progressId);
68
- return this.loadAsset();
69
- }
70
- yield this.startWorkingOnAsset(true);
71
- return this.loadAsset();
72
- });
73
- }
74
- writeAsset(asset) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- this.data.assetId = asset.id;
77
- yield this.save();
78
- return asset;
79
- });
80
- }
81
- startWorkingOnAsset(fromLoad) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- this.data.progressId = (yield this.progresses.create()).id;
84
- this.data.assetId = null;
85
- yield this.save();
86
- yield this.progresses.jobMan.enqueueWithName(this.data.jobName, Object.assign(Object.assign({}, this.data.jobParams), { lazyId: this.id, fromLoad }));
87
- });
88
- }
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGllcy9sYXp5LWFzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHOUIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUFzQjtJQXNCakQsWUFBWSxFQUFZLEVBQ1osSUFBeUIsRUFDekIsVUFBc0IsRUFDWixNQUFjLEVBQ2QsTUFBYyxFQUNkLFVBQXNCO1FBQ3hDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSFYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTVDLENBQUM7SUEzQkQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBV0ssTUFBTTs7WUFDUixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENB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ZW50IjpbImltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuXHJcbmltcG9ydCB7SUFzc2V0LCBJTGF6eUFzc2V0fSBmcm9tIFwiLi4vLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7ZGVsZXRlRnJvbUJ1Y2tldH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi4vYXNzZXRzXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4uL3Byb2dyZXNzZXNcIjtcclxuaW1wb3J0IHtCYXNlRW50aXR5fSBmcm9tIFwiLi9iYXNlLWVudGl0eVwiO1xyXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIExhenlBc3NldCBleHRlbmRzIEJhc2VFbnRpdHk8SUxhenlBc3NldD4gaW1wbGVtZW50cyBJTGF6eUFzc2V0IHtcclxuXHJcbiAgICBnZXQgam9iTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuam9iTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgam9iUGFyYW1zKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5qb2JQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGpvYlF1ZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuam9iUXVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwcm9ncmVzc0lkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5wcm9ncmVzc0lkO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBhc3NldElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5hc3NldElkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGlkOiBPYmplY3RJZCxcclxuICAgICAgICAgICAgICAgIGRhdGE6IFBhcnRpYWw8SUxhenlBc3NldD4sXHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyLFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGFzc2V0czogQXNzZXRzLFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHByb2dyZXNzZXM6IFByb2dyZXNzZXMpIHtcclxuICAgICAgICBzdXBlcihpZCwgZGF0YSwgY29sbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saW5rKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnByb2dyZXNzSWQpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmRlbGV0ZU9uZSh7X2lkOiB0aGlzLm1JZH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGVsZXRlRnJvbUJ1Y2tldCh0aGlzLmFzc2V0cy5idWNrZXQsIG5ldyBPYmplY3RJZCh0aGlzLmFzc2V0SWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydFdvcmtpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2FkKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZWQpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy5wcm9ncmVzc2VzLmdldCh0aGlzLnByb2dyZXNzSWQpLnRoZW4ocCA9PiB7XHJcbiAgICAgICAgICAgICAgICBwPy5jYW5jZWwoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRXb3JraW5nT25Bc3NldChmYWxzZSkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJsYXp5LWFzc2V0c1wiLCBgU3RhcnRlZCB3b3JraW5nIG9uIGxhenkgYXNzZXQ6ICR7dGhpcy5pZH1gKTtcclxuICAgICAgICAgICAgfSkuY2F0Y2gocmVhc29uID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImxhenktYXNzZXRzXCIsIGBDYW4ndCBzdGFydCB3b3JraW5nIG9uIGxhenkgYXNzZXQ6ICR7dGhpcy5pZH1cXG5SZWFzb246ICR7cmVhc29ufWApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBsb2FkQXNzZXQoKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmxvYWQoKTtcclxuICAgICAgICBpZiAodGhpcy5kZWxldGVkKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBpZiAodGhpcy5hc3NldElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFzc2V0cy5yZWFkKHRoaXMuYXNzZXRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnByb2dyZXNzSWQpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9ncmVzc2VzLndhaXRUb0ZpbmlzaCh0aGlzLnByb2dyZXNzSWQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkQXNzZXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydFdvcmtpbmdPbkFzc2V0KHRydWUpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRBc3NldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdyaXRlQXNzZXQoYXNzZXQ6IElBc3NldCk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhLmFzc2V0SWQgPSBhc3NldC5pZDtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHN0YXJ0V29ya2luZ09uQXNzZXQoZnJvbUxvYWQ6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YS5wcm9ncmVzc0lkID0gKGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5jcmVhdGUoKSkuaWQ7XHJcbiAgICAgICAgdGhpcy5kYXRhLmFzc2V0SWQgPSBudWxsO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5qb2JNYW4uZW5xdWV1ZVdpdGhOYW1lKHRoaXMuZGF0YS5qb2JOYW1lLCB7Li4udGhpcy5kYXRhLmpvYlBhcmFtcywgbGF6eUlkOiB0aGlzLmlkLCBmcm9tTG9hZH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==