@resolveio/server-lib 1.0.0-rc28 → 1.0.0-rc4

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 (159) hide show
  1. package/collections/active-subscription.collection.js +2 -68
  2. package/collections/app-status.collection.js +2 -43
  3. package/collections/app-version.collection.js +2 -56
  4. package/collections/counter.collection.js +2 -73
  5. package/collections/cron-job-history.collection.js +2 -86
  6. package/collections/cron-job.collection.js +2 -89
  7. package/collections/file.collection.js +2 -73
  8. package/collections/flag.collection.js +2 -47
  9. package/collections/log.collection.js +2 -64
  10. package/collections/logged-in-users.collection.js +2 -70
  11. package/collections/method-call.collection.js +2 -44
  12. package/collections/method-response.collection.js +2 -48
  13. package/collections/queue-flag.collection.js +2 -41
  14. package/collections/queue-method.collection.js +2 -116
  15. package/collections/queue-response.collection.js +2 -78
  16. package/collections/support-ticket.collection.js +2 -146
  17. package/collections/user.collection.js +2 -108
  18. package/cron/cron.js +2 -160
  19. package/fixtures/cron-jobs.js +2 -72
  20. package/fixtures/init.js +2 -73
  21. package/http/auth.js +2 -472
  22. package/http/health.js +2 -8
  23. package/index.js +2 -125
  24. package/managers/cron.manager.js +2 -193
  25. package/managers/method.manager.js +2 -544
  26. package/managers/queue-method.manager.js +2 -239
  27. package/managers/subscription.manager.js +2 -700
  28. package/managers/support.manager.js +2 -208
  29. package/methods/accounts.js +2 -253
  30. package/methods/aws.js +2 -345
  31. package/methods/cloudconvert.js +2 -37
  32. package/methods/collections.js +2 -738
  33. package/methods/counters.js +2 -404
  34. package/methods/cron-jobs.js +2 -63
  35. package/methods/flags.js +2 -6
  36. package/methods/logs.js +2 -29
  37. package/methods/pdf.js +2 -303
  38. package/models/active-subscription.model.js +2 -2
  39. package/models/app-status.model.js +2 -2
  40. package/models/app-version.model.js +2 -2
  41. package/models/collection-document.model.js +2 -2
  42. package/models/counter.model.js +2 -2
  43. package/models/cron-job-history.model.js +2 -2
  44. package/models/cron-job.model.js +2 -2
  45. package/models/dialog.model.js +2 -2
  46. package/models/file.model.js +2 -2
  47. package/models/flag.model.js +2 -2
  48. package/models/log.model.js +2 -2
  49. package/models/logged-in-users.model.js +2 -2
  50. package/models/method-call.model.js +2 -2
  51. package/models/method-response.model.js +2 -2
  52. package/models/method.model.js +2 -2
  53. package/models/pagination.model.js +2 -20
  54. package/models/permission.model.js +2 -2
  55. package/models/queue-method.model.js +2 -2
  56. package/models/queue-response.model.js +2 -2
  57. package/models/select-data-label.model.js +2 -2
  58. package/models/server-response.model.js +2 -2
  59. package/models/subscription.model.js +2 -2
  60. package/models/support-method.model.js +2 -2
  61. package/models/support-ticket.model.js +2 -2
  62. package/models/user.model.js +2 -2
  63. package/package.json +2 -4
  64. package/publications/app-status.js +2 -14
  65. package/publications/app-version.js +2 -14
  66. package/publications/cron-jobs.js +2 -14
  67. package/publications/files.js +2 -71
  68. package/publications/flags.js +2 -23
  69. package/publications/logs.js +2 -26
  70. package/publications/method-calls.js +2 -14
  71. package/publications/method-responses.js +2 -14
  72. package/publications/super-admin.js +2 -21
  73. package/publications/support-tickets.js +2 -118
  74. package/server-app.js +2 -641
  75. package/support-methods/aws.js +2 -276
  76. package/support-methods/collections.js +2 -471
  77. package/support-methods/counters.js +2 -189
  78. package/support-methods/support.js +2 -19
  79. package/util/common.js +2 -334
  80. package/collections/active-subscription.collection.d.ts +0 -8
  81. package/collections/app-status.collection.d.ts +0 -8
  82. package/collections/app-version.collection.d.ts +0 -8
  83. package/collections/counter.collection.d.ts +0 -10
  84. package/collections/cron-job-history.collection.d.ts +0 -8
  85. package/collections/cron-job.collection.d.ts +0 -8
  86. package/collections/file.collection.d.ts +0 -10
  87. package/collections/flag.collection.d.ts +0 -8
  88. package/collections/log.collection.d.ts +0 -8
  89. package/collections/logged-in-users.collection.d.ts +0 -8
  90. package/collections/method-call.collection.d.ts +0 -7
  91. package/collections/method-response.collection.d.ts +0 -7
  92. package/collections/queue-flag.collection.d.ts +0 -8
  93. package/collections/queue-method.collection.d.ts +0 -8
  94. package/collections/queue-response.collection.d.ts +0 -8
  95. package/collections/support-ticket.collection.d.ts +0 -8
  96. package/collections/user.collection.d.ts +0 -9
  97. package/cron/cron.d.ts +0 -6
  98. package/fixtures/cron-jobs.d.ts +0 -2
  99. package/fixtures/init.d.ts +0 -2
  100. package/http/auth.d.ts +0 -3
  101. package/http/health.d.ts +0 -2
  102. package/index.d.ts +0 -17
  103. package/managers/cron.manager.d.ts +0 -17
  104. package/managers/method.manager.d.ts +0 -28
  105. package/managers/queue-method.manager.d.ts +0 -14
  106. package/managers/subscription.manager.d.ts +0 -27
  107. package/managers/support.manager.d.ts +0 -18
  108. package/methods/accounts.d.ts +0 -3
  109. package/methods/aws.d.ts +0 -3
  110. package/methods/cloudconvert.d.ts +0 -3
  111. package/methods/collections.d.ts +0 -3
  112. package/methods/counters.d.ts +0 -3
  113. package/methods/cron-jobs.d.ts +0 -3
  114. package/methods/flags.d.ts +0 -3
  115. package/methods/logs.d.ts +0 -3
  116. package/methods/pdf.d.ts +0 -3
  117. package/models/active-subscription.model.d.ts +0 -14
  118. package/models/app-status.model.d.ts +0 -5
  119. package/models/app-version.model.d.ts +0 -5
  120. package/models/collection-document.model.d.ts +0 -7
  121. package/models/counter.model.d.ts +0 -6
  122. package/models/cron-job-history.model.d.ts +0 -13
  123. package/models/cron-job.model.d.ts +0 -14
  124. package/models/dialog.model.d.ts +0 -24
  125. package/models/file.model.d.ts +0 -10
  126. package/models/flag.model.d.ts +0 -6
  127. package/models/log.model.d.ts +0 -12
  128. package/models/logged-in-users.model.d.ts +0 -10
  129. package/models/method-call.model.d.ts +0 -8
  130. package/models/method-response.model.d.ts +0 -9
  131. package/models/method.model.d.ts +0 -11
  132. package/models/notification.model.d.ts +0 -5
  133. package/models/notification.model.js +0 -2
  134. package/models/pagination.model.d.ts +0 -12
  135. package/models/permission.model.d.ts +0 -13
  136. package/models/queue-method.model.d.ts +0 -10
  137. package/models/queue-response.model.d.ts +0 -11
  138. package/models/select-data-label.model.d.ts +0 -10
  139. package/models/server-response.model.d.ts +0 -6
  140. package/models/subscription.model.d.ts +0 -31
  141. package/models/support-method.model.d.ts +0 -10
  142. package/models/support-ticket.model.d.ts +0 -40
  143. package/models/user.model.d.ts +0 -15
  144. package/publications/app-status.d.ts +0 -3
  145. package/publications/app-version.d.ts +0 -3
  146. package/publications/cron-jobs.d.ts +0 -3
  147. package/publications/files.d.ts +0 -3
  148. package/publications/flags.d.ts +0 -3
  149. package/publications/logs.d.ts +0 -3
  150. package/publications/method-calls.d.ts +0 -3
  151. package/publications/method-responses.d.ts +0 -3
  152. package/publications/super-admin.d.ts +0 -3
  153. package/publications/support-tickets.d.ts +0 -2
  154. package/server-app.d.ts +0 -34
  155. package/support-methods/aws.d.ts +0 -3
  156. package/support-methods/collections.d.ts +0 -3
  157. package/support-methods/counters.d.ts +0 -3
  158. package/support-methods/support.d.ts +0 -3
  159. package/util/common.d.ts +0 -15
package/index.js CHANGED
@@ -1,125 +1,2 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- var mongoose = require("mongoose");
39
- var ResolveIOServer = /** @class */ (function () {
40
- function ResolveIOServer(serverConfig, client, clientDir, _dontRunSupport) {
41
- ResolveIOServer._serverConfig = serverConfig;
42
- ResolveIOServer._client = client;
43
- ResolveIOServer._clientDir = clientDir;
44
- if (_dontRunSupport) {
45
- ResolveIOServer._dontRunSupport = _dontRunSupport;
46
- }
47
- }
48
- ResolveIOServer.connectAndRun = function () {
49
- var _this = this;
50
- return new Promise(function (resolve, reject) {
51
- if (ResolveIOServer._serverConfig['ROOT_URL'] !== 'http://localhost:4200' && !_this._dontRunSupport) {
52
- mongoose.createConnection(ResolveIOServer._serverConfig['RESOLVEIO_SUPPORT_MONGO_URL'], { useNewUrlParser: true }).then(function (db) { return __awaiter(_this, void 0, void 0, function () {
53
- var _this = this;
54
- return __generator(this, function (_a) {
55
- ResolveIOServer._supportDB = db;
56
- mongoose.createConnection(ResolveIOServer._serverConfig['MONGO_URL'], { useNewUrlParser: true }).then(function (dbMain) { return __awaiter(_this, void 0, void 0, function () {
57
- var serverApp;
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0:
61
- ResolveIOServer._mainDB = dbMain;
62
- return [4 /*yield*/, Promise.resolve().then(function () { return require('./server-app'); })];
63
- case 1:
64
- serverApp = (_a.sent()).default;
65
- ResolveIOServer._mainServer = new serverApp(this, ResolveIOServer._serverConfig, this._clientDir);
66
- resolve();
67
- return [2 /*return*/];
68
- }
69
- });
70
- }); }, function (err) {
71
- process.exit();
72
- reject();
73
- });
74
- return [2 /*return*/];
75
- });
76
- }); }, function (err) {
77
- process.exit();
78
- reject();
79
- });
80
- }
81
- else {
82
- ResolveIOServer._supportDB = null;
83
- mongoose.createConnection(ResolveIOServer._serverConfig['MONGO_URL'], { useNewUrlParser: true }).then(function (dbMain) { return __awaiter(_this, void 0, void 0, function () {
84
- var serverApp;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0:
88
- ResolveIOServer._mainDB = dbMain;
89
- return [4 /*yield*/, Promise.resolve().then(function () { return require('./server-app'); })];
90
- case 1:
91
- serverApp = (_a.sent()).default;
92
- ResolveIOServer._mainServer = new serverApp(this, ResolveIOServer._serverConfig, this._clientDir);
93
- resolve();
94
- return [2 /*return*/];
95
- }
96
- });
97
- }); }, function (err) {
98
- process.exit();
99
- reject();
100
- });
101
- }
102
- });
103
- };
104
- ResolveIOServer.getClientName = function () {
105
- return this._client;
106
- };
107
- ResolveIOServer.getMainServer = function () {
108
- return ResolveIOServer._mainServer;
109
- };
110
- ResolveIOServer.getMainDB = function () {
111
- return ResolveIOServer._mainDB;
112
- };
113
- ResolveIOServer.getSupportDB = function () {
114
- return ResolveIOServer._supportDB;
115
- };
116
- ResolveIOServer._serverConfig = null;
117
- ResolveIOServer._mainDB = null;
118
- ResolveIOServer._supportDB = null;
119
- ResolveIOServer._mainServer = null;
120
- ResolveIOServer._client = '';
121
- ResolveIOServer._clientDir = '';
122
- ResolveIOServer._dontRunSupport = false;
123
- return ResolveIOServer;
124
- }());
125
- exports.ResolveIOServer = ResolveIOServer;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(i,c,l,u){return new(l||(l=Promise))(function(e,r){function o(e){try{n(u.next(e))}catch(e){r(e)}}function t(e){try{n(u.throw(e))}catch(e){r(e)}}function n(r){r.done?e(r.value):new l(function(e){e(r.value)}).then(o,t)}n((u=u.apply(i,c||[])).next())})},__generator=this&&this.__generator||function(o,t){var n,i,c,e,l={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function r(r){return function(e){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,i&&(c=2&r[0]?i.return:r[0]?i.throw||((c=i.return)&&c.call(i),0):i.next)&&!(c=c.call(i,r[1])).done)return c;switch(i=0,c&&(r=[2&r[0],c.value]),r[0]){case 0:case 1:c=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,i=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(!(c=0<(c=l.trys).length&&c[c.length-1])&&(6===r[0]||2===r[0])){l=0;continue}if(3===r[0]&&(!c||r[1]>c[0]&&r[1]<c[3])){l.label=r[1];break}if(6===r[0]&&l.label<c[1]){l.label=c[1],c=r;break}if(c&&l.label<c[2]){l.label=c[2],l.ops.push(r);break}c[2]&&l.ops.pop(),l.trys.pop();continue}r=t.call(o,l)}catch(e){r=[6,e],i=0}finally{n=c=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,e])}}};function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,"__esModule",{value:!0});var mongoose=require("mongoose"),server_app_1=require("./server-app"),ResolveIOServer=function(){function n(t,e){var o=this;n._serverConfig=t,n._client=e,"http://localhost:4200"!==t.ROOT_URL?mongoose.createConnection(t.RESOLVEIO_SUPPORT_MONGO_URL,{useNewUrlParser:!0}).then(function(r){return __awaiter(o,void 0,void 0,function(){var o=this;return __generator(this,function(e){return n._supportDB=r,mongoose.createConnection(t.MONGO_URL,{useNewUrlParser:!0}).then(function(r){return __awaiter(o,void 0,void 0,function(){return __generator(this,function(e){return n._mainDB=r,n._mainServer=new server_app_1.ResolveIOMainServer(this,n._serverConfig),[2]})})},function(e){process.exit()}),[2]})})},function(e){process.exit()}):(n._supportDB=null,mongoose.createConnection(t.MONGO_URL,{useNewUrlParser:!0}).then(function(r){return __awaiter(o,void 0,void 0,function(){return __generator(this,function(e){return n._mainDB=r,n._mainServer=new server_app_1.ResolveIOMainServer(this,n._serverConfig),[2]})})},function(e){process.exit()}))}return n.getClientName=function(){return this._client},n.getMainServer=function(){return n._mainServer},n.getMainDB=function(){return n._mainDB},n.getSupportDB=function(){return n._supportDB},n._serverConfig=null,n._mainDB=null,n._supportDB=null,n._mainServer=null,n._client="",n}();exports.default=ResolveIOServer,__export(require("./collections/active-subscription.collection")),__export(require("./collections/app-status.collection")),__export(require("./collections/app-version.collection")),__export(require("./collections/counter.collection")),__export(require("./collections/cron-job-history.collection")),__export(require("./collections/cron-job.collection")),__export(require("./collections/file.collection")),__export(require("./collections/flag.collection")),__export(require("./collections/log.collection")),__export(require("./collections/logged-in-users.collection")),__export(require("./collections/method-call.collection")),__export(require("./collections/method-response.collection")),__export(require("./collections/queue-flag.collection")),__export(require("./collections/queue-method.collection")),__export(require("./collections/queue-response.collection")),__export(require("./collections/support-ticket.collection")),__export(require("./collections/user.collection")),__export(require("./managers/cron.manager")),__export(require("./managers/method.manager")),__export(require("./managers/queue-method.manager")),__export(require("./managers/subscription.manager")),__export(require("./managers/support.manager")),__export(require("./models/pagination.model"));
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJtb25nb29zZSIsInJlcXVpcmUiLCJzZXJ2ZXJfYXBwXzEiLCJSZXNvbHZlSU9TZXJ2ZXIiLCJzZXJ2ZXJDb25maWciLCJjbGllbnQiLCJfdGhpcyIsInRoaXMiLCJfc2VydmVyQ29uZmlnIiwiX2NsaWVudCIsImNyZWF0ZUNvbm5lY3Rpb24iLCJ1c2VOZXdVcmxQYXJzZXIiLCJ0aGVuIiwiZGIiLCJfX2F3YWl0ZXIiLCJfc3VwcG9ydERCIiwiZGJNYWluIiwiX21haW5EQiIsIl9tYWluU2VydmVyIiwiUmVzb2x2ZUlPTWFpblNlcnZlciIsImVyciIsInByb2Nlc3MiLCJleGl0IiwiZ2V0Q2xpZW50TmFtZSIsImdldE1haW5TZXJ2ZXIiLCJnZXRNYWluREIiLCJnZXRTdXBwb3J0REIiLCJfX2V4cG9ydCJdLCJtYXBwaW5ncyI6InFnREFBQSxJQUFBQSxTQUFBQyxRQUFBLFlBQ0FDLGFBQUFELFFBQUEsZ0JBRUFFLGdCQUFBLFdBT0MsU0FBQUEsRUFBWUMsRUFBY0MsR0FBMUIsSUFBQUMsRUFBQUMsS0FFQ0osRUFBZ0JLLGNBQWdCSixFQUNoQ0QsRUFBZ0JNLFFBQVVKLEVBRU8sMEJBQTdCRCxFQUF1QixTQUMxQkosU0FBU1UsaUJBQWlCTixFQUEwQyw0QkFBRyxDQUFFTyxpQkFBaUIsSUFBUUMsS0FBSyxTQUFPQyxHQUFFLE9BQUFDLFVBQUFSLE9BQUEsT0FBQSxFQUFBLGlFQUMvR0gsRUFBZ0JZLFdBQWFGLEVBRTdCYixTQUFTVSxpQkFBaUJOLEVBQXdCLFVBQUcsQ0FBRU8saUJBQWlCLElBQVFDLEtBQUssU0FBT0ksR0FBTSxPQUFBRixVQUFBUixPQUFBLE9BQUEsRUFBQSxzREFDakdILEVBQWdCYyxRQUFVRCxFQUMxQmIsRUFBZ0JlLFlBQWMsSUFBSWhCLGFBQUFpQixvQkFBb0JaLEtBQU1KLEVBQWdCSyx3QkFDMUUsU0FBQ1ksR0FDSEMsUUFBUUMsa0JBRVAsU0FBQ0YsR0FDSEMsUUFBUUMsVUFJVG5CLEVBQWdCWSxXQUFhLEtBRTdCZixTQUFTVSxpQkFBaUJOLEVBQXdCLFVBQUcsQ0FBRU8saUJBQWlCLElBQVFDLEtBQUssU0FBT0ksR0FBTSxPQUFBRixVQUFBUixPQUFBLE9BQUEsRUFBQSxzREFDakdILEVBQWdCYyxRQUFVRCxFQUMxQmIsRUFBZ0JlLFlBQWMsSUFBSWhCLGFBQUFpQixvQkFBb0JaLEtBQU1KLEVBQWdCSyx3QkFDMUUsU0FBQ1ksR0FDSEMsUUFBUUMsVUFvQlosT0FmZW5CLEVBQUFvQixjQUFkLFdBQ0MsT0FBT2hCLEtBQUtFLFNBR0NOLEVBQUFxQixjQUFkLFdBQ0MsT0FBT3JCLEVBQWdCZSxhQUdWZixFQUFBc0IsVUFBZCxXQUNDLE9BQU90QixFQUFnQmMsU0FHVmQsRUFBQXVCLGFBQWQsV0FDQyxPQUFPdkIsRUFBZ0JZLFlBbERUWixFQUFBSyxjQUFnQixLQUNoQkwsRUFBQWMsUUFBVSxLQUNWZCxFQUFBWSxXQUFhLEtBQ2JaLEVBQUFlLFlBQWMsS0FDZGYsRUFBQU0sUUFBVSxHQWdEMUJOLEVBckRBLG1CQUFxQkEsZ0JBdURyQndCLFNBQUExQixRQUFBLGlEQUNBMEIsU0FBQTFCLFFBQUEsd0NBQ0EwQixTQUFBMUIsUUFBQSx5Q0FDQTBCLFNBQUExQixRQUFBLHFDQUNBMEIsU0FBQTFCLFFBQUEsOENBQ0EwQixTQUFBMUIsUUFBQSxzQ0FDQTBCLFNBQUExQixRQUFBLGtDQUNBMEIsU0FBQTFCLFFBQUEsa0NBQ0EwQixTQUFBMUIsUUFBQSxpQ0FDQTBCLFNBQUExQixRQUFBLDZDQUNBMEIsU0FBQTFCLFFBQUEseUNBQ0EwQixTQUFBMUIsUUFBQSw2Q0FDQTBCLFNBQUExQixRQUFBLHdDQUNBMEIsU0FBQTFCLFFBQUEsMENBQ0EwQixTQUFBMUIsUUFBQSw0Q0FDQTBCLFNBQUExQixRQUFBLDRDQUNBMEIsU0FBQTFCLFFBQUEsa0NBQ0EwQixTQUFBMUIsUUFBQSw0QkFDQTBCLFNBQUExQixRQUFBLDhCQUNBMEIsU0FBQTFCLFFBQUEsb0NBQ0EwQixTQUFBMUIsUUFBQSxvQ0FDQTBCLFNBQUExQixRQUFBLCtCQWFBMEIsU0FBQTFCLFFBQUEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb25nb29zZSBmcm9tICdtb25nb29zZSc7XG5pbXBvcnQgeyBSZXNvbHZlSU9NYWluU2VydmVyIH0gZnJvbSAnLi9zZXJ2ZXItYXBwJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzb2x2ZUlPU2VydmVyIHtcblx0cHJpdmF0ZSBzdGF0aWMgX3NlcnZlckNvbmZpZyA9IG51bGw7XG5cdHByaXZhdGUgc3RhdGljIF9tYWluREIgPSBudWxsO1xuXHRwcml2YXRlIHN0YXRpYyBfc3VwcG9ydERCID0gbnVsbDtcblx0cHJpdmF0ZSBzdGF0aWMgX21haW5TZXJ2ZXIgPSBudWxsO1xuXHRwcml2YXRlIHN0YXRpYyBfY2xpZW50ID0gJyc7XG5cblx0Y29uc3RydWN0b3Ioc2VydmVyQ29uZmlnLCBjbGllbnQ6IHN0cmluZykge1xuXG5cdFx0UmVzb2x2ZUlPU2VydmVyLl9zZXJ2ZXJDb25maWcgPSBzZXJ2ZXJDb25maWc7XG5cdFx0UmVzb2x2ZUlPU2VydmVyLl9jbGllbnQgPSBjbGllbnQ7XG5cblx0XHRpZiAoc2VydmVyQ29uZmlnWydST09UX1VSTCddICE9PSAnaHR0cDovL2xvY2FsaG9zdDo0MjAwJykge1xuXHRcdFx0bW9uZ29vc2UuY3JlYXRlQ29ubmVjdGlvbihzZXJ2ZXJDb25maWdbJ1JFU09MVkVJT19TVVBQT1JUX01PTkdPX1VSTCddLCB7IHVzZU5ld1VybFBhcnNlcjogdHJ1ZSB9KS50aGVuKGFzeW5jIChkYikgPT4ge1xuXHRcdFx0XHRSZXNvbHZlSU9TZXJ2ZXIuX3N1cHBvcnREQiA9IGRiO1xuXHRcdFx0XG5cdFx0XHRcdG1vbmdvb3NlLmNyZWF0ZUNvbm5lY3Rpb24oc2VydmVyQ29uZmlnWydNT05HT19VUkwnXSwgeyB1c2VOZXdVcmxQYXJzZXI6IHRydWUgfSkudGhlbihhc3luYyAoZGJNYWluKSA9PiB7XG5cdFx0XHRcdFx0UmVzb2x2ZUlPU2VydmVyLl9tYWluREIgPSBkYk1haW47XG5cdFx0XHRcdFx0UmVzb2x2ZUlPU2VydmVyLl9tYWluU2VydmVyID0gbmV3IFJlc29sdmVJT01haW5TZXJ2ZXIodGhpcywgUmVzb2x2ZUlPU2VydmVyLl9zZXJ2ZXJDb25maWcpO1xuXHRcdFx0XHR9LCAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0cHJvY2Vzcy5leGl0KCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSwgKGVycikgPT4ge1xuXHRcdFx0XHRwcm9jZXNzLmV4aXQoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdFJlc29sdmVJT1NlcnZlci5fc3VwcG9ydERCID0gbnVsbDtcblx0XHRcdFxuXHRcdFx0bW9uZ29vc2UuY3JlYXRlQ29ubmVjdGlvbihzZXJ2ZXJDb25maWdbJ01PTkdPX1VSTCddLCB7IHVzZU5ld1VybFBhcnNlcjogdHJ1ZSB9KS50aGVuKGFzeW5jIChkYk1haW4pID0+IHtcblx0XHRcdFx0UmVzb2x2ZUlPU2VydmVyLl9tYWluREIgPSBkYk1haW47XG5cdFx0XHRcdFJlc29sdmVJT1NlcnZlci5fbWFpblNlcnZlciA9IG5ldyBSZXNvbHZlSU9NYWluU2VydmVyKHRoaXMsIFJlc29sdmVJT1NlcnZlci5fc2VydmVyQ29uZmlnKTtcblx0XHRcdH0sIChlcnIpID0+IHtcblx0XHRcdFx0cHJvY2Vzcy5leGl0KCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldENsaWVudE5hbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2NsaWVudDtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TWFpblNlcnZlcigpIHtcblx0XHRyZXR1cm4gUmVzb2x2ZUlPU2VydmVyLl9tYWluU2VydmVyO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBnZXRNYWluREIoKSB7XG5cdFx0cmV0dXJuIFJlc29sdmVJT1NlcnZlci5fbWFpbkRCO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBnZXRTdXBwb3J0REIoKSB7XG5cdFx0cmV0dXJuIFJlc29sdmVJT1NlcnZlci5fc3VwcG9ydERCO1xuXHR9XG59XG5cbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvYWN0aXZlLXN1YnNjcmlwdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvYXBwLXN0YXR1cy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvYXBwLXZlcnNpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL2NvdW50ZXIuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL2Nyb24tam9iLWhpc3RvcnkuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL2Nyb24tam9iLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy9maWxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy9mbGFnLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy9sb2cuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL2xvZ2dlZC1pbi11c2Vycy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvbWV0aG9kLWNhbGwuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL21ldGhvZC1yZXNwb25zZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvcXVldWUtZmxhZy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvcXVldWUtbWV0aG9kLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy9xdWV1ZS1yZXNwb25zZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMvc3VwcG9ydC10aWNrZXQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb25zL3VzZXIuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZXJzL2Nyb24ubWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZXJzL21ldGhvZC5tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlcnMvcXVldWUtbWV0aG9kLm1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2Vycy9zdWJzY3JpcHRpb24ubWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZXJzL3N1cHBvcnQubWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hY3RpdmUtc3Vic2NyaXB0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2FwcC1zdGF0dXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXBwLXZlcnNpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29sbGVjdGlvbi1kb2N1bWVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3VudGVyLm1vZGVsJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2Nyb24tam9iLWhpc3RvcnkubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY3Jvbi1qb2IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGlhbG9nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2ZpbGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZmxhZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9sb2cubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbWV0aG9kLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3BhZ2luYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcGVybWlzc2lvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zZWxlY3QtZGF0YS1sYWJlbC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zZXJ2ZXItcmVzcG9uc2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc3VwcG9ydC1tZXRob2QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc3VwcG9ydC10aWNrZXQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdXNlci5tb2RlbCc7Il19
@@ -1,193 +1,2 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- var cron_job_collection_1 = require("../collections/cron-job.collection");
39
- var CronJobManager = require('../cron/cron');
40
- var CronManager = /** @class */ (function () {
41
- function CronManager(mainServer) {
42
- this._mainServer = mainServer;
43
- this._cronManager = new CronJobManager();
44
- this.loadCronJobs();
45
- }
46
- CronManager.prototype.loadCronJobs = function () {
47
- return __awaiter(this, void 0, void 0, function () {
48
- var jobs;
49
- var _this = this;
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0: return [4 /*yield*/, cron_job_collection_1.CronJobs.find({}).exec()];
53
- case 1:
54
- jobs = _a.sent();
55
- jobs.forEach(function (job) {
56
- _this.addCronJob(job);
57
- });
58
- return [2 /*return*/];
59
- }
60
- });
61
- });
62
- };
63
- CronManager.prototype.doesCronJobExist = function (cron) {
64
- return this._cronManager.exists(cron.name);
65
- };
66
- CronManager.prototype.doesCronJobNameExist = function (cron_name) {
67
- return this._cronManager.exists(cron_name);
68
- };
69
- CronManager.prototype.addCronJob = function (cron) {
70
- var _this = this;
71
- if (!this.doesCronJobExist(cron)) {
72
- if (cron.timezone) {
73
- }
74
- else {
75
- var cronOptions = {
76
- start: true,
77
- };
78
- if (cron.timezone) {
79
- cronOptions['timeZone'] = cron.timezone;
80
- }
81
- this._cronManager.add(cron.name, cron.time_to_run, function () {
82
- _this.runCronJob(cron);
83
- }, cronOptions);
84
- }
85
- }
86
- };
87
- CronManager.prototype.updateCronJob = function (cron) {
88
- if (this.doesCronJobExist(cron)) {
89
- this._cronManager.update(cron.name, cron.time_to_run);
90
- }
91
- };
92
- CronManager.prototype.removeCronJob = function (cron_name) {
93
- if (this.doesCronJobNameExist(cron_name)) {
94
- this._cronManager.deleteJob(cron_name);
95
- }
96
- };
97
- CronManager.prototype.startCronJob = function (cron) {
98
- if (this.doesCronJobExist(cron)) {
99
- this._cronManager.start(cron.name);
100
- }
101
- };
102
- CronManager.prototype.stopCronJob = function (cron) {
103
- if (this.doesCronJobExist(cron)) {
104
- this._cronManager.start(cron.name);
105
- }
106
- };
107
- CronManager.prototype.stopAllCronJobs = function () {
108
- this._cronManager.stopAll();
109
- };
110
- CronManager.prototype.checkCronJobsForUpdates = function () {
111
- return __awaiter(this, void 0, void 0, function () {
112
- var jobs;
113
- var _this = this;
114
- return __generator(this, function (_a) {
115
- switch (_a.label) {
116
- case 0: return [4 /*yield*/, cron_job_collection_1.CronJobs.find({}).exec()];
117
- case 1:
118
- jobs = _a.sent();
119
- // Remove deleted cron jobs
120
- this._cronManager.getJobs().forEach(function (cronJob) {
121
- if (jobs.map(function (a) { return a.name; }).indexOf(cronJob) === -1) {
122
- _this.removeCronJob(cronJob);
123
- }
124
- });
125
- // Add new cron jobs
126
- jobs.forEach(function (cronJob) {
127
- _this.addCronJob(cronJob);
128
- });
129
- // Update cronjobs
130
- jobs.forEach(function (cronJob) {
131
- _this.updateCronJob(cronJob);
132
- });
133
- return [2 /*return*/];
134
- }
135
- });
136
- });
137
- };
138
- CronManager.prototype.runCronJob = function (cron) {
139
- var _this = this;
140
- var now = new Date();
141
- if (!cron.next_run || now.getTime() >= cron.next_run.getTime()) {
142
- cron_job_collection_1.CronJobs.findOneAndUpdate({
143
- $and: [
144
- { _id: cron._id },
145
- { running: false }
146
- ]
147
- }, { $set: { running: true } }).exec(function (err, res) { return __awaiter(_this, void 0, void 0, function () {
148
- return __generator(this, function (_a) {
149
- switch (_a.label) {
150
- case 0:
151
- if (!res) return [3 /*break*/, 9];
152
- if (!cron.method_run_data) return [3 /*break*/, 2];
153
- return [4 /*yield*/, this._mainServer.getMethodManager().callMethodCron(cron.method_run, cron.method_run_data)];
154
- case 1:
155
- _a.sent();
156
- return [3 /*break*/, 4];
157
- case 2: return [4 /*yield*/, this._mainServer.getMethodManager().callMethodCron(cron.method_run)];
158
- case 3:
159
- _a.sent();
160
- _a.label = 4;
161
- case 4:
162
- if (!cron.method_complete) return [3 /*break*/, 8];
163
- if (!cron.method_complete_data) return [3 /*break*/, 6];
164
- return [4 /*yield*/, this._mainServer.getMethodManager().callMethodCron(cron.method_complete, cron.method_complete_data)];
165
- case 5:
166
- _a.sent();
167
- return [3 /*break*/, 8];
168
- case 6: return [4 /*yield*/, this._mainServer.getMethodManager().callMethodCron(cron.method_complete)];
169
- case 7:
170
- _a.sent();
171
- _a.label = 8;
172
- case 8:
173
- if (cron.repeat) {
174
- cron_job_collection_1.CronJobs.updateOne({
175
- $and: [
176
- { _id: cron._id },
177
- { running: true }
178
- ]
179
- }, { $set: { running: false, next_run: this._cronManager.getJob(cron.name).nextDates().toDate() } }).exec();
180
- }
181
- else {
182
- cron_job_collection_1.CronJobs.deleteOne({ _id: cron._id }).exec();
183
- }
184
- _a.label = 9;
185
- case 9: return [2 /*return*/];
186
- }
187
- });
188
- }); });
189
- }
190
- };
191
- return CronManager;
192
- }());
193
- exports.CronManager = CronManager;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(a,i,c,s){return new(c||(c=Promise))(function(e,n){function t(e){try{r(s.next(e))}catch(e){n(e)}}function o(e){try{r(s.throw(e))}catch(e){n(e)}}function r(n){n.done?e(n.value):new c(function(e){e(n.value)}).then(t,o)}r((s=s.apply(a,i||[])).next())})},__generator=this&&this.__generator||function(t,o){var r,a,i,e,c={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function n(n){return function(e){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;c;)try{if(r=1,a&&(i=2&n[0]?a.return:n[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,n[1])).done)return i;switch(a=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return c.label++,{value:n[1],done:!1};case 5:c.label++,a=n[1],n=[0];continue;case 7:n=c.ops.pop(),c.trys.pop();continue;default:if(!(i=0<(i=c.trys).length&&i[i.length-1])&&(6===n[0]||2===n[0])){c=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&n[1]<i[3])){c.label=n[1];break}if(6===n[0]&&c.label<i[1]){c.label=i[1],i=n;break}if(i&&c.label<i[2]){c.label=i[2],c.ops.push(n);break}i[2]&&c.ops.pop(),c.trys.pop();continue}n=o.call(t,c)}catch(e){n=[6,e],a=0}finally{r=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var cron_job_collection_1=require("../collections/cron-job.collection"),CronJobManager=require("../cron/cron"),CronManager=function(){function e(e){this._mainServer=e,this._cronManager=new CronJobManager,this.loadCronJobs()}return e.prototype.loadCronJobs=function(){return __awaiter(this,void 0,void 0,function(){var n=this;return __generator(this,function(e){switch(e.label){case 0:return[4,cron_job_collection_1.CronJobs.find({}).exec()];case 1:return e.sent().forEach(function(e){n.addCronJob(e)}),[2]}})})},e.prototype.doesCronJobExist=function(e){return this._cronManager.exists(e.name)},e.prototype.doesCronJobNameExist=function(e){return this._cronManager.exists(e)},e.prototype.addCronJob=function(e){var n=this;if(!this.doesCronJobExist(e))if(e.timezone);else{var t={start:!0};e.timezone&&(t.timeZone=e.timezone),this._cronManager.add(e.name,e.time_to_run,function(){n.runCronJob(e)},t)}},e.prototype.updateCronJob=function(e){this.doesCronJobExist(e)&&this._cronManager.update(e.name,e.time_to_run)},e.prototype.removeCronJob=function(e){this.doesCronJobNameExist(e)&&this._cronManager.deleteJob(e)},e.prototype.startCronJob=function(e){this.doesCronJobExist(e)&&this._cronManager.start(e.name)},e.prototype.stopCronJob=function(e){this.doesCronJobExist(e)&&this._cronManager.start(e.name)},e.prototype.stopAllCronJobs=function(){this._cronManager.stopAll()},e.prototype.checkCronJobsForUpdates=function(){return __awaiter(this,void 0,void 0,function(){var n,t=this;return __generator(this,function(e){switch(e.label){case 0:return[4,cron_job_collection_1.CronJobs.find({}).exec()];case 1:return n=e.sent(),this._cronManager.getJobs().forEach(function(e){-1===n.map(function(e){return e.name}).indexOf(e)&&t.removeCronJob(e)}),n.forEach(function(e){t.addCronJob(e)}),n.forEach(function(e){t.updateCronJob(e)}),[2]}})})},e.prototype.runCronJob=function(t){var o=this,e=new Date;(!t.next_run||e.getTime()>=t.next_run.getTime())&&cron_job_collection_1.CronJobs.findOneAndUpdate({$and:[{_id:t._id},{running:!1}]},{$set:{running:!0}}).exec(function(e,n){return __awaiter(o,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return n?t.method_run_data?[4,this._mainServer.getMethodManager().callMethodCron(t.method_run,t.method_run_data)]:[3,2]:[3,9];case 1:return e.sent(),[3,4];case 2:return[4,this._mainServer.getMethodManager().callMethodCron(t.method_run)];case 3:e.sent(),e.label=4;case 4:return t.method_complete?t.method_complete_data?[4,this._mainServer.getMethodManager().callMethodCron(t.method_complete,t.method_complete_data)]:[3,6]:[3,8];case 5:return e.sent(),[3,8];case 6:return[4,this._mainServer.getMethodManager().callMethodCron(t.method_complete)];case 7:e.sent(),e.label=8;case 8:t.repeat?cron_job_collection_1.CronJobs.updateOne({$and:[{_id:t._id},{running:!0}]},{$set:{running:!1,next_run:this._cronManager.getJob(t.name).nextDates().toDate()}}).exec():cron_job_collection_1.CronJobs.deleteOne({_id:t._id}).exec(),e.label=9;case 9:return[2]}})})})},e}();exports.CronManager=CronManager;
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2Vycy9jcm9uLm1hbmFnZXIudHMiXSwibmFtZXMiOlsiY3Jvbl9qb2JfY29sbGVjdGlvbl8xIiwicmVxdWlyZSIsIkNyb25Kb2JNYW5hZ2VyIiwiQ3Jvbk1hbmFnZXIiLCJtYWluU2VydmVyIiwidGhpcyIsIl9tYWluU2VydmVyIiwiX2Nyb25NYW5hZ2VyIiwibG9hZENyb25Kb2JzIiwicHJvdG90eXBlIiwiQ3JvbkpvYnMiLCJmaW5kIiwiZXhlYyIsIl9hIiwic2VudCIsImZvckVhY2giLCJqb2IiLCJfdGhpcyIsImFkZENyb25Kb2IiLCJkb2VzQ3JvbkpvYkV4aXN0IiwiY3JvbiIsImV4aXN0cyIsIm5hbWUiLCJkb2VzQ3JvbkpvYk5hbWVFeGlzdCIsImNyb25fbmFtZSIsInRpbWV6b25lIiwiY3Jvbk9wdGlvbnMiLCJzdGFydCIsImFkZCIsInRpbWVfdG9fcnVuIiwicnVuQ3JvbkpvYiIsInVwZGF0ZUNyb25Kb2IiLCJ1cGRhdGUiLCJyZW1vdmVDcm9uSm9iIiwiZGVsZXRlSm9iIiwic3RhcnRDcm9uSm9iIiwic3RvcENyb25Kb2IiLCJzdG9wQWxsQ3JvbkpvYnMiLCJzdG9wQWxsIiwiY2hlY2tDcm9uSm9ic0ZvclVwZGF0ZXMiLCJqb2JzIiwiZ2V0Sm9icyIsImNyb25Kb2IiLCJtYXAiLCJhIiwiaW5kZXhPZiIsIm5vdyIsIkRhdGUiLCJuZXh0X3J1biIsImdldFRpbWUiLCJmaW5kT25lQW5kVXBkYXRlIiwiJGFuZCIsIl9pZCIsInJ1bm5pbmciLCIkc2V0IiwiZXJyIiwicmVzIiwiX19hd2FpdGVyIiwibWV0aG9kX3J1bl9kYXRhIiwiZ2V0TWV0aG9kTWFuYWdlciIsImNhbGxNZXRob2RDcm9uIiwibWV0aG9kX3J1biIsIm1ldGhvZF9jb21wbGV0ZSIsIm1ldGhvZF9jb21wbGV0ZV9kYXRhIiwicmVwZWF0IiwidXBkYXRlT25lIiwiZ2V0Sm9iIiwibmV4dERhdGVzIiwidG9EYXRlIiwiZGVsZXRlT25lIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Im83Q0FDQSxJQUFBQSxzQkFBQUMsUUFBQSxzQ0FFSUMsZUFBaUJELFFBQVEsZ0JBRTdCRSxZQUFBLFdBS0MsU0FBQUEsRUFBWUMsR0FDWEMsS0FBS0MsWUFBY0YsRUFFbkJDLEtBQUtFLGFBQWUsSUFBSUwsZUFDeEJHLEtBQUtHLGVBNElQLE9BekllTCxFQUFBTSxVQUFBRCxhQUFkLGdJQUNZLE1BQUEsQ0FBQSxFQUFNUixzQkFBQVUsU0FBU0MsS0FBSyxJQUFJQyxzQkFBeEJDLEVBQUFDLE9BRU5DLFFBQVEsU0FBQUMsR0FDWkMsRUFBS0MsV0FBV0YsZUFJVmIsRUFBQU0sVUFBQVUsaUJBQVIsU0FBeUJDLEdBQ3hCLE9BQU9mLEtBQUtFLGFBQWFjLE9BQU9ELEVBQUtFLE9BRzlCbkIsRUFBQU0sVUFBQWMscUJBQVIsU0FBNkJDLEdBQzVCLE9BQU9uQixLQUFLRSxhQUFhYyxPQUFPRyxJQUd6QnJCLEVBQUFNLFVBQUFTLFdBQVIsU0FBbUJFLEdBQW5CLElBQUFILEVBQUFaLEtBQ0MsSUFBS0EsS0FBS2MsaUJBQWlCQyxHQUMxQixHQUFJQSxFQUFLSyxjQUdKLENBQ0osSUFBSUMsRUFBYyxDQUNqQkMsT0FBTyxHQU9KUCxFQUFLSyxXQUNSQyxFQUFzQixTQUFJTixFQUFLSyxVQUdoQ3BCLEtBQUtFLGFBQWFxQixJQUNqQlIsRUFBS0UsS0FDTEYsRUFBS1MsWUFDTCxXQUNDWixFQUFLYSxXQUFXVixJQUVqQk0sS0FNSXZCLEVBQUFNLFVBQUFzQixjQUFSLFNBQXNCWCxHQUNqQmYsS0FBS2MsaUJBQWlCQyxJQUN6QmYsS0FBS0UsYUFBYXlCLE9BQU9aLEVBQUtFLEtBQU1GLEVBQUtTLGNBSW5DMUIsRUFBQU0sVUFBQXdCLGNBQVIsU0FBc0JULEdBQ2pCbkIsS0FBS2tCLHFCQUFxQkMsSUFDN0JuQixLQUFLRSxhQUFhMkIsVUFBVVYsSUFJdEJyQixFQUFBTSxVQUFBMEIsYUFBUixTQUFxQmYsR0FDaEJmLEtBQUtjLGlCQUFpQkMsSUFDekJmLEtBQUtFLGFBQWFvQixNQUFNUCxFQUFLRSxPQUl2Qm5CLEVBQUFNLFVBQUEyQixZQUFSLFNBQW9CaEIsR0FDZmYsS0FBS2MsaUJBQWlCQyxJQUN6QmYsS0FBS0UsYUFBYW9CLE1BQU1QLEVBQUtFLE9BSXZCbkIsRUFBQU0sVUFBQTRCLGdCQUFSLFdBQ0NoQyxLQUFLRSxhQUFhK0IsV0FHTm5DLEVBQUFNLFVBQUE4Qix3QkFBYixrSUFDWSxNQUFBLENBQUEsRUFBTXZDLHNCQUFBVSxTQUFTQyxLQUFLLElBQUlDLHNCQUEvQjRCLEVBQU8zQixFQUFBQyxPQUdYVCxLQUFLRSxhQUFha0MsVUFBVTFCLFFBQVEsU0FBQTJCLElBQ2EsSUFBNUNGLEVBQUtHLElBQUksU0FBQUMsR0FBSyxPQUFBQSxFQUFFdEIsT0FBTXVCLFFBQVFILElBQ2pDekIsRUFBS2dCLGNBQWNTLEtBS3JCRixFQUFLekIsUUFBUSxTQUFBMkIsR0FDWnpCLEVBQUtDLFdBQVd3QixLQUlqQkYsRUFBS3pCLFFBQVEsU0FBQTJCLEdBQ1p6QixFQUFLYyxjQUFjVyxlQUlidkMsRUFBQU0sVUFBQXFCLFdBQVIsU0FBbUJWLEdBQW5CLElBQUFILEVBQUFaLEtBQ0t5QyxFQUFNLElBQUlDLE9BRVQzQixFQUFLNEIsVUFBWUYsRUFBSUcsV0FBYTdCLEVBQUs0QixTQUFTQyxZQUNwRGpELHNCQUFBVSxTQUFTd0MsaUJBQWlCLENBQ3pCQyxLQUFNLENBQ0wsQ0FBQ0MsSUFBS2hDLEVBQUtnQyxLQUNYLENBQUNDLFNBQVMsS0FFVCxDQUFDQyxLQUFNLENBQUNELFNBQVMsS0FBUXpDLEtBQUssU0FBTzJDLEVBQUtDLEdBQUcsT0FBQUMsVUFBQXhDLE9BQUEsT0FBQSxFQUFBLDZFQUMzQ3VDLEVBQ0NwQyxFQUFLc0MsZ0JBQ1IsQ0FBQSxFQUFNckQsS0FBS0MsWUFBWXFELG1CQUFtQkMsZUFBZXhDLEVBQUt5QyxXQUFZekMsRUFBS3NDLGtCQUQ1RSxDQUFBLEVBQUEsR0FERCxDQUFBLEVBQUEsaUJBRUY3QyxFQUFBQyxvQkFHQSxNQUFBLENBQUEsRUFBTVQsS0FBS0MsWUFBWXFELG1CQUFtQkMsZUFBZXhDLEVBQUt5QyxvQkFBOURoRCxFQUFBQywrQkFHR00sRUFBSzBDLGdCQUNKMUMsRUFBSzJDLHFCQUNSLENBQUEsRUFBTTFELEtBQUtDLFlBQVlxRCxtQkFBbUJDLGVBQWV4QyxFQUFLMEMsZ0JBQWlCMUMsRUFBSzJDLHVCQURqRixDQUFBLEVBQUEsR0FERCxDQUFBLEVBQUEsaUJBRUZsRCxFQUFBQyxvQkFHQSxNQUFBLENBQUEsRUFBTVQsS0FBS0MsWUFBWXFELG1CQUFtQkMsZUFBZXhDLEVBQUswQyx5QkFBOURqRCxFQUFBQyx3QkFJRU0sRUFBSzRDLE9BQ1JoRSxzQkFBQVUsU0FBU3VELFVBQVUsQ0FDbEJkLEtBQU0sQ0FDTCxDQUFDQyxJQUFLaEMsRUFBS2dDLEtBQ1gsQ0FBQ0MsU0FBUyxLQUVULENBQUNDLEtBQU0sQ0FBQ0QsU0FBUyxFQUFPTCxTQUFVM0MsS0FBS0UsYUFBYTJELE9BQU85QyxFQUFLRSxNQUFNNkMsWUFBWUMsWUFBWXhELE9BR2pHWixzQkFBQVUsU0FBUzJELFVBQVUsQ0FBQ2pCLElBQUtoQyxFQUFLZ0MsTUFBTXhDLDBDQU0xQ1QsRUFySkEsR0FBYW1FLFFBQUFuRSxZQUFBQSIsImZpbGUiOiJtYW5hZ2Vycy9jcm9uLm1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcm9uSm9iTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY3Jvbi1qb2IubW9kZWwnO1xuaW1wb3J0IHsgQ3JvbkpvYnMgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jcm9uLWpvYi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJlc29sdmVJT01haW5TZXJ2ZXIgfSBmcm9tICcuLi9zZXJ2ZXItYXBwJztcbmxldCBDcm9uSm9iTWFuYWdlciA9IHJlcXVpcmUoJy4uL2Nyb24vY3JvbicpO1xuXG5leHBvcnQgY2xhc3MgQ3Jvbk1hbmFnZXIge1xuXG5cdHByaXZhdGUgX2Nyb25NYW5hZ2VyO1xuXHRwcml2YXRlIF9tYWluU2VydmVyOiBSZXNvbHZlSU9NYWluU2VydmVyO1xuXG5cdGNvbnN0cnVjdG9yKG1haW5TZXJ2ZXIpIHtcblx0XHR0aGlzLl9tYWluU2VydmVyID0gbWFpblNlcnZlcjtcblxuXHRcdHRoaXMuX2Nyb25NYW5hZ2VyID0gbmV3IENyb25Kb2JNYW5hZ2VyKCk7XG5cdFx0dGhpcy5sb2FkQ3JvbkpvYnMoKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgbG9hZENyb25Kb2JzKCkge1xuXHRcdGxldCBqb2JzID0gYXdhaXQgQ3JvbkpvYnMuZmluZCh7fSkuZXhlYygpO1xuXG5cdFx0am9icy5mb3JFYWNoKGpvYiA9PiB7XG5cdFx0XHR0aGlzLmFkZENyb25Kb2Ioam9iKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZG9lc0Nyb25Kb2JFeGlzdChjcm9uOiBDcm9uSm9iTW9kZWwpIHtcblx0XHRyZXR1cm4gdGhpcy5fY3Jvbk1hbmFnZXIuZXhpc3RzKGNyb24ubmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIGRvZXNDcm9uSm9iTmFtZUV4aXN0KGNyb25fbmFtZTogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Nyb25NYW5hZ2VyLmV4aXN0cyhjcm9uX25hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRDcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGlmICghdGhpcy5kb2VzQ3JvbkpvYkV4aXN0KGNyb24pKSB7XG5cdFx0XHRpZiAoY3Jvbi50aW1lem9uZSkge1xuXG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0bGV0IGNyb25PcHRpb25zID0ge1xuXHRcdFx0XHRcdHN0YXJ0OiB0cnVlLFxuXHRcdFx0XHRcdC8vIG9uQ29tcGxldGU6ICgpID0+IHtcblx0XHRcdFx0XHQvLyBcdHRoaXMucnVuQ3JvbkpvYkNvbXBsZXRlZChjcm9uKTtcblx0XHRcdFx0XHQvLyB9LFxuXHRcdFx0XHRcdC8vIHRpbWVab25lOiBjcm9uLnRpbWV6b25lXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0aWYgKGNyb24udGltZXpvbmUpIHtcblx0XHRcdFx0XHRjcm9uT3B0aW9uc1sndGltZVpvbmUnXSA9IGNyb24udGltZXpvbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLl9jcm9uTWFuYWdlci5hZGQoXG5cdFx0XHRcdFx0Y3Jvbi5uYW1lLFxuXHRcdFx0XHRcdGNyb24udGltZV90b19ydW4sXG5cdFx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5ydW5Dcm9uSm9iKGNyb24pO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y3Jvbk9wdGlvbnNcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZUNyb25Kb2IoY3JvbjogQ3JvbkpvYk1vZGVsKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JFeGlzdChjcm9uKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIudXBkYXRlKGNyb24ubmFtZSwgY3Jvbi50aW1lX3RvX3J1bik7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSByZW1vdmVDcm9uSm9iKGNyb25fbmFtZTogc3RyaW5nKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JOYW1lRXhpc3QoY3Jvbl9uYW1lKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIuZGVsZXRlSm9iKGNyb25fbmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdGFydENyb25Kb2IoY3JvbjogQ3JvbkpvYk1vZGVsKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JFeGlzdChjcm9uKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIuc3RhcnQoY3Jvbi5uYW1lKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHN0b3BDcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGlmICh0aGlzLmRvZXNDcm9uSm9iRXhpc3QoY3JvbikpIHtcblx0XHRcdHRoaXMuX2Nyb25NYW5hZ2VyLnN0YXJ0KGNyb24ubmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdG9wQWxsQ3JvbkpvYnMoKSB7XG5cdFx0dGhpcy5fY3Jvbk1hbmFnZXIuc3RvcEFsbCgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGNoZWNrQ3JvbkpvYnNGb3JVcGRhdGVzKCkge1xuXHRcdGxldCBqb2JzID0gYXdhaXQgQ3JvbkpvYnMuZmluZCh7fSkuZXhlYygpO1xuXG5cdFx0Ly8gUmVtb3ZlIGRlbGV0ZWQgY3JvbiBqb2JzXG5cdFx0dGhpcy5fY3Jvbk1hbmFnZXIuZ2V0Sm9icygpLmZvckVhY2goY3JvbkpvYiA9PiB7XG5cdFx0XHRpZiAoam9icy5tYXAoYSA9PiBhLm5hbWUpLmluZGV4T2YoY3JvbkpvYikgPT09IC0xKSB7XG5cdFx0XHRcdHRoaXMucmVtb3ZlQ3JvbkpvYihjcm9uSm9iKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdC8vIEFkZCBuZXcgY3JvbiBqb2JzXG5cdFx0am9icy5mb3JFYWNoKGNyb25Kb2IgPT4ge1xuXHRcdFx0dGhpcy5hZGRDcm9uSm9iKGNyb25Kb2IpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gVXBkYXRlIGNyb25qb2JzXG5cdFx0am9icy5mb3JFYWNoKGNyb25Kb2IgPT4ge1xuXHRcdFx0dGhpcy51cGRhdGVDcm9uSm9iKGNyb25Kb2IpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBydW5Dcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuXG5cdFx0aWYgKCFjcm9uLm5leHRfcnVuIHx8IG5vdy5nZXRUaW1lKCkgPj0gY3Jvbi5uZXh0X3J1bi5nZXRUaW1lKCkpIHtcblx0XHRcdENyb25Kb2JzLmZpbmRPbmVBbmRVcGRhdGUoe1xuXHRcdFx0XHQkYW5kOiBbXG5cdFx0XHRcdFx0e19pZDogY3Jvbi5faWR9LFxuXHRcdFx0XHRcdHtydW5uaW5nOiBmYWxzZX1cblx0XHRcdFx0XVxuXHRcdFx0fSwgeyRzZXQ6IHtydW5uaW5nOiB0cnVlfX0pLmV4ZWMoYXN5bmMgKGVyciwgcmVzKSA9PiB7XG5cdFx0XHRcdGlmIChyZXMpIHtcblx0XHRcdFx0XHRpZiAoY3Jvbi5tZXRob2RfcnVuX2RhdGEpIHtcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuX21haW5TZXJ2ZXIuZ2V0TWV0aG9kTWFuYWdlcigpLmNhbGxNZXRob2RDcm9uKGNyb24ubWV0aG9kX3J1biwgY3Jvbi5tZXRob2RfcnVuX2RhdGEpO1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5fbWFpblNlcnZlci5nZXRNZXRob2RNYW5hZ2VyKCkuY2FsbE1ldGhvZENyb24oY3Jvbi5tZXRob2RfcnVuKTtcblx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdGlmIChjcm9uLm1ldGhvZF9jb21wbGV0ZSkge1xuXHRcdFx0XHRcdFx0aWYgKGNyb24ubWV0aG9kX2NvbXBsZXRlX2RhdGEpIHtcblx0XHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5fbWFpblNlcnZlci5nZXRNZXRob2RNYW5hZ2VyKCkuY2FsbE1ldGhvZENyb24oY3Jvbi5tZXRob2RfY29tcGxldGUsIGNyb24ubWV0aG9kX2NvbXBsZXRlX2RhdGEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuX21haW5TZXJ2ZXIuZ2V0TWV0aG9kTWFuYWdlcigpLmNhbGxNZXRob2RDcm9uKGNyb24ubWV0aG9kX2NvbXBsZXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdGlmIChjcm9uLnJlcGVhdCkge1xuXHRcdFx0XHRcdFx0Q3JvbkpvYnMudXBkYXRlT25lKHtcblx0XHRcdFx0XHRcdFx0JGFuZDogW1xuXHRcdFx0XHRcdFx0XHRcdHtfaWQ6IGNyb24uX2lkfSxcblx0XHRcdFx0XHRcdFx0XHR7cnVubmluZzogdHJ1ZX1cblx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0fSwgeyRzZXQ6IHtydW5uaW5nOiBmYWxzZSwgbmV4dF9ydW46IHRoaXMuX2Nyb25NYW5hZ2VyLmdldEpvYihjcm9uLm5hbWUpLm5leHREYXRlcygpLnRvRGF0ZSgpfX0pLmV4ZWMoKTtcblx0XHRcdFx0XHR9IFxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0Q3JvbkpvYnMuZGVsZXRlT25lKHtfaWQ6IGNyb24uX2lkfSkuZXhlYygpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59Il19