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

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 (157) hide show
  1. package/collections/active-subscription.collection.d.ts +8 -0
  2. package/collections/active-subscription.collection.js +68 -2
  3. package/collections/app-status.collection.d.ts +8 -0
  4. package/collections/app-status.collection.js +43 -2
  5. package/collections/app-version.collection.d.ts +8 -0
  6. package/collections/app-version.collection.js +56 -2
  7. package/collections/counter.collection.d.ts +10 -0
  8. package/collections/counter.collection.js +73 -2
  9. package/collections/cron-job-history.collection.d.ts +8 -0
  10. package/collections/cron-job-history.collection.js +86 -2
  11. package/collections/cron-job.collection.d.ts +8 -0
  12. package/collections/cron-job.collection.js +89 -2
  13. package/collections/file.collection.d.ts +10 -0
  14. package/collections/file.collection.js +73 -2
  15. package/collections/flag.collection.d.ts +8 -0
  16. package/collections/flag.collection.js +47 -2
  17. package/collections/log.collection.d.ts +8 -0
  18. package/collections/log.collection.js +64 -2
  19. package/collections/logged-in-users.collection.d.ts +8 -0
  20. package/collections/logged-in-users.collection.js +70 -2
  21. package/collections/method-call.collection.d.ts +7 -0
  22. package/collections/method-call.collection.js +44 -2
  23. package/collections/method-response.collection.d.ts +7 -0
  24. package/collections/method-response.collection.js +48 -2
  25. package/collections/queue-flag.collection.d.ts +8 -0
  26. package/collections/queue-flag.collection.js +41 -2
  27. package/collections/queue-method.collection.d.ts +8 -0
  28. package/collections/queue-method.collection.js +116 -2
  29. package/collections/queue-response.collection.d.ts +8 -0
  30. package/collections/queue-response.collection.js +78 -2
  31. package/collections/support-ticket.collection.d.ts +8 -0
  32. package/collections/support-ticket.collection.js +146 -2
  33. package/collections/user.collection.d.ts +9 -0
  34. package/collections/user.collection.js +108 -2
  35. package/cron/cron.d.ts +6 -0
  36. package/cron/cron.js +160 -2
  37. package/fixtures/cron-jobs.d.ts +2 -0
  38. package/fixtures/cron-jobs.js +72 -2
  39. package/fixtures/init.d.ts +2 -0
  40. package/fixtures/init.js +73 -2
  41. package/http/auth.d.ts +3 -0
  42. package/http/auth.js +472 -2
  43. package/http/health.d.ts +2 -0
  44. package/http/health.js +8 -2
  45. package/index.d.ts +14 -0
  46. package/index.js +97 -2
  47. package/managers/cron.manager.d.ts +17 -0
  48. package/managers/cron.manager.js +193 -2
  49. package/managers/method.manager.d.ts +27 -0
  50. package/managers/method.manager.js +513 -2
  51. package/managers/queue-method.manager.d.ts +14 -0
  52. package/managers/queue-method.manager.js +239 -2
  53. package/managers/subscription.manager.d.ts +27 -0
  54. package/managers/subscription.manager.js +700 -2
  55. package/managers/support.manager.d.ts +18 -0
  56. package/managers/support.manager.js +208 -2
  57. package/methods/accounts.d.ts +3 -0
  58. package/methods/accounts.js +253 -2
  59. package/methods/aws.d.ts +3 -0
  60. package/methods/aws.js +323 -2
  61. package/methods/cloudconvert.d.ts +3 -0
  62. package/methods/cloudconvert.js +37 -2
  63. package/methods/collections.d.ts +3 -0
  64. package/methods/collections.js +738 -2
  65. package/methods/counters.d.ts +3 -0
  66. package/methods/counters.js +404 -2
  67. package/methods/cron-jobs.d.ts +3 -0
  68. package/methods/cron-jobs.js +63 -2
  69. package/methods/flags.d.ts +3 -0
  70. package/methods/flags.js +6 -2
  71. package/methods/logs.d.ts +3 -0
  72. package/methods/logs.js +29 -2
  73. package/methods/pdf.d.ts +3 -0
  74. package/methods/pdf.js +303 -2
  75. package/models/active-subscription.model.d.ts +14 -0
  76. package/models/active-subscription.model.js +2 -2
  77. package/models/app-status.model.d.ts +5 -0
  78. package/models/app-status.model.js +2 -2
  79. package/models/app-version.model.d.ts +5 -0
  80. package/models/app-version.model.js +2 -2
  81. package/models/collection-document.model.d.ts +7 -0
  82. package/models/collection-document.model.js +2 -2
  83. package/models/counter.model.d.ts +6 -0
  84. package/models/counter.model.js +2 -2
  85. package/models/cron-job-history.model.d.ts +13 -0
  86. package/models/cron-job-history.model.js +2 -2
  87. package/models/cron-job.model.d.ts +14 -0
  88. package/models/cron-job.model.js +2 -2
  89. package/models/dialog.model.d.ts +24 -0
  90. package/models/dialog.model.js +2 -2
  91. package/models/file.model.d.ts +10 -0
  92. package/models/file.model.js +2 -2
  93. package/models/flag.model.d.ts +6 -0
  94. package/models/flag.model.js +2 -2
  95. package/models/log.model.d.ts +12 -0
  96. package/models/log.model.js +2 -2
  97. package/models/logged-in-users.model.d.ts +10 -0
  98. package/models/logged-in-users.model.js +2 -2
  99. package/models/method-call.model.d.ts +8 -0
  100. package/models/method-call.model.js +2 -2
  101. package/models/method-response.model.d.ts +9 -0
  102. package/models/method-response.model.js +2 -2
  103. package/models/method.model.d.ts +11 -0
  104. package/models/method.model.js +2 -2
  105. package/models/pagination.model.d.ts +12 -0
  106. package/models/pagination.model.js +20 -2
  107. package/models/permission.model.d.ts +13 -0
  108. package/models/permission.model.js +2 -2
  109. package/models/queue-method.model.d.ts +10 -0
  110. package/models/queue-method.model.js +2 -2
  111. package/models/queue-response.model.d.ts +11 -0
  112. package/models/queue-response.model.js +2 -2
  113. package/models/select-data-label.model.d.ts +10 -0
  114. package/models/select-data-label.model.js +2 -2
  115. package/models/server-response.model.d.ts +6 -0
  116. package/models/server-response.model.js +2 -2
  117. package/models/subscription.model.d.ts +31 -0
  118. package/models/subscription.model.js +2 -2
  119. package/models/support-method.model.d.ts +10 -0
  120. package/models/support-method.model.js +2 -2
  121. package/models/support-ticket.model.d.ts +40 -0
  122. package/models/support-ticket.model.js +2 -2
  123. package/models/user.model.d.ts +15 -0
  124. package/models/user.model.js +2 -2
  125. package/package.json +3 -1
  126. package/publications/app-status.d.ts +3 -0
  127. package/publications/app-status.js +14 -2
  128. package/publications/app-version.d.ts +3 -0
  129. package/publications/app-version.js +14 -2
  130. package/publications/cron-jobs.d.ts +3 -0
  131. package/publications/cron-jobs.js +14 -2
  132. package/publications/files.d.ts +3 -0
  133. package/publications/files.js +71 -2
  134. package/publications/flags.d.ts +3 -0
  135. package/publications/flags.js +23 -2
  136. package/publications/logs.d.ts +3 -0
  137. package/publications/logs.js +26 -2
  138. package/publications/method-calls.d.ts +3 -0
  139. package/publications/method-calls.js +14 -2
  140. package/publications/method-responses.d.ts +3 -0
  141. package/publications/method-responses.js +14 -2
  142. package/publications/super-admin.d.ts +3 -0
  143. package/publications/super-admin.js +21 -2
  144. package/publications/support-tickets.d.ts +2 -0
  145. package/publications/support-tickets.js +118 -2
  146. package/server-app.d.ts +33 -0
  147. package/server-app.js +598 -2
  148. package/support-methods/aws.d.ts +3 -0
  149. package/support-methods/aws.js +276 -2
  150. package/support-methods/collections.d.ts +3 -0
  151. package/support-methods/collections.js +471 -2
  152. package/support-methods/counters.d.ts +3 -0
  153. package/support-methods/counters.js +189 -2
  154. package/support-methods/support.d.ts +3 -0
  155. package/support-methods/support.js +19 -2
  156. package/util/common.d.ts +15 -0
  157. package/util/common.js +334 -2
@@ -0,0 +1,2 @@
1
+ export declare function setupHealthRoutes(app: any, serverConfig: any): void;
2
+ //# sourceMappingURL=health.d.ts.map
package/http/health.js CHANGED
@@ -1,2 +1,8 @@
1
- "use strict";function setupHealthRoutes(e,t){e.get("/health",function(e,t){t.sendStatus(200)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupHealthRoutes=setupHealthRoutes;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9odHRwL2hlYWx0aC50cyJdLCJuYW1lcyI6WyJzZXR1cEhlYWx0aFJvdXRlcyIsImFwcCIsInNlcnZlckNvbmZpZyIsImdldCIsInJlcXVlc3QiLCJyZXNwb25zZSIsInNlbmRTdGF0dXMiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiYUFBQSxTQUFnQkEsa0JBQWtCQyxFQUFLQyxHQUN0Q0QsRUFBSUUsSUFBSSxVQUFXLFNBQVVDLEVBQVNDLEdBQ3JDQSxFQUFTQyxXQUFXLDhEQUZ0QkMsUUFBQVAsa0JBQUFBIiwiZmlsZSI6Imh0dHAvaGVhbHRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHNldHVwSGVhbHRoUm91dGVzKGFwcCwgc2VydmVyQ29uZmlnKSB7XG5cdGFwcC5nZXQoJy9oZWFsdGgnLCBmdW5jdGlvbiAocmVxdWVzdCwgcmVzcG9uc2UpIHtcblx0XHRyZXNwb25zZS5zZW5kU3RhdHVzKDIwMCk7XG5cdH0pO1xufSJdfQ==
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function setupHealthRoutes(app, serverConfig) {
4
+ app.get('/health', function (request, response) {
5
+ response.sendStatus(200);
6
+ });
7
+ }
8
+ exports.setupHealthRoutes = setupHealthRoutes;
package/index.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { ResolveIOMainServer } from './server-app';
2
+ export default class ResolveIOServer {
3
+ private static _serverConfig;
4
+ private static _mainDB;
5
+ private static _supportDB;
6
+ private static _mainServer;
7
+ private static _client;
8
+ constructor(serverConfig: any, client: string);
9
+ static getClientName(): string;
10
+ static getMainServer(): ResolveIOMainServer;
11
+ static getMainDB(): any;
12
+ static getSupportDB(): any;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1,2 +1,97 @@
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
+ "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 server_app_1 = require("./server-app");
40
+ var ResolveIOServer = /** @class */ (function () {
41
+ function ResolveIOServer(serverConfig, client) {
42
+ var _this = this;
43
+ ResolveIOServer._serverConfig = serverConfig;
44
+ ResolveIOServer._client = client;
45
+ if (serverConfig['ROOT_URL'] !== 'http://localhost:4200') {
46
+ mongoose.createConnection(serverConfig['RESOLVEIO_SUPPORT_MONGO_URL'], { useNewUrlParser: true }).then(function (db) { return __awaiter(_this, void 0, void 0, function () {
47
+ var _this = this;
48
+ return __generator(this, function (_a) {
49
+ ResolveIOServer._supportDB = db;
50
+ mongoose.createConnection(serverConfig['MONGO_URL'], { useNewUrlParser: true }).then(function (dbMain) { return __awaiter(_this, void 0, void 0, function () {
51
+ return __generator(this, function (_a) {
52
+ ResolveIOServer._mainDB = dbMain;
53
+ ResolveIOServer._mainServer = new server_app_1.ResolveIOMainServer(this, ResolveIOServer._serverConfig);
54
+ return [2 /*return*/];
55
+ });
56
+ }); }, function (err) {
57
+ process.exit();
58
+ });
59
+ return [2 /*return*/];
60
+ });
61
+ }); }, function (err) {
62
+ process.exit();
63
+ });
64
+ }
65
+ else {
66
+ ResolveIOServer._supportDB = null;
67
+ mongoose.createConnection(serverConfig['MONGO_URL'], { useNewUrlParser: true }).then(function (dbMain) { return __awaiter(_this, void 0, void 0, function () {
68
+ return __generator(this, function (_a) {
69
+ ResolveIOServer._mainDB = dbMain;
70
+ ResolveIOServer._mainServer = new server_app_1.ResolveIOMainServer(this, ResolveIOServer._serverConfig);
71
+ return [2 /*return*/];
72
+ });
73
+ }); }, function (err) {
74
+ process.exit();
75
+ });
76
+ }
77
+ }
78
+ ResolveIOServer.getClientName = function () {
79
+ return this._client;
80
+ };
81
+ ResolveIOServer.getMainServer = function () {
82
+ return ResolveIOServer._mainServer;
83
+ };
84
+ ResolveIOServer.getMainDB = function () {
85
+ return ResolveIOServer._mainDB;
86
+ };
87
+ ResolveIOServer.getSupportDB = function () {
88
+ return ResolveIOServer._supportDB;
89
+ };
90
+ ResolveIOServer._serverConfig = null;
91
+ ResolveIOServer._mainDB = null;
92
+ ResolveIOServer._supportDB = null;
93
+ ResolveIOServer._mainServer = null;
94
+ ResolveIOServer._client = '';
95
+ return ResolveIOServer;
96
+ }());
97
+ exports.default = ResolveIOServer;
@@ -0,0 +1,17 @@
1
+ export declare class CronManager {
2
+ private _cronManager;
3
+ private _mainServer;
4
+ constructor(mainServer: any);
5
+ private loadCronJobs;
6
+ private doesCronJobExist;
7
+ private doesCronJobNameExist;
8
+ private addCronJob;
9
+ private updateCronJob;
10
+ private removeCronJob;
11
+ private startCronJob;
12
+ private stopCronJob;
13
+ private stopAllCronJobs;
14
+ checkCronJobsForUpdates(): Promise<void>;
15
+ private runCronJob;
16
+ }
17
+ //# sourceMappingURL=cron.manager.d.ts.map
@@ -1,2 +1,193 @@
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2Vycy9jcm9uLm1hbmFnZXIudHMiXSwibmFtZXMiOlsiY3Jvbl9qb2JfY29sbGVjdGlvbl8xIiwicmVxdWlyZSIsIkNyb25Kb2JNYW5hZ2VyIiwiQ3Jvbk1hbmFnZXIiLCJtYWluU2VydmVyIiwidGhpcyIsIl9tYWluU2VydmVyIiwiX2Nyb25NYW5hZ2VyIiwibG9hZENyb25Kb2JzIiwicHJvdG90eXBlIiwiQ3JvbkpvYnMiLCJmaW5kIiwiZXhlYyIsIl9hIiwic2VudCIsImZvckVhY2giLCJqb2IiLCJfdGhpcyIsImFkZENyb25Kb2IiLCJkb2VzQ3JvbkpvYkV4aXN0IiwiY3JvbiIsImV4aXN0cyIsIm5hbWUiLCJkb2VzQ3JvbkpvYk5hbWVFeGlzdCIsImNyb25fbmFtZSIsInRpbWV6b25lIiwiY3Jvbk9wdGlvbnMiLCJzdGFydCIsImFkZCIsInRpbWVfdG9fcnVuIiwicnVuQ3JvbkpvYiIsInVwZGF0ZUNyb25Kb2IiLCJ1cGRhdGUiLCJyZW1vdmVDcm9uSm9iIiwiZGVsZXRlSm9iIiwic3RhcnRDcm9uSm9iIiwic3RvcENyb25Kb2IiLCJzdG9wQWxsQ3JvbkpvYnMiLCJzdG9wQWxsIiwiY2hlY2tDcm9uSm9ic0ZvclVwZGF0ZXMiLCJqb2JzIiwiZ2V0Sm9icyIsImNyb25Kb2IiLCJtYXAiLCJhIiwiaW5kZXhPZiIsIm5vdyIsIkRhdGUiLCJuZXh0X3J1biIsImdldFRpbWUiLCJmaW5kT25lQW5kVXBkYXRlIiwiJGFuZCIsIl9pZCIsInJ1bm5pbmciLCIkc2V0IiwiZXJyIiwicmVzIiwiX19hd2FpdGVyIiwibWV0aG9kX3J1bl9kYXRhIiwiZ2V0TWV0aG9kTWFuYWdlciIsImNhbGxNZXRob2RDcm9uIiwibWV0aG9kX3J1biIsIm1ldGhvZF9jb21wbGV0ZSIsIm1ldGhvZF9jb21wbGV0ZV9kYXRhIiwicmVwZWF0IiwidXBkYXRlT25lIiwiZ2V0Sm9iIiwibmV4dERhdGVzIiwidG9EYXRlIiwiZGVsZXRlT25lIiwiZXhwb3J0cyJd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ZUFBZXhDLEVBQUt5QyxvQkFBOURoRCxFQUFBQywrQkFHR00sRUFBSzBDLGdCQUNKMUMsRUFBSzJDLHFCQUNSLENBQUEsRUFBTTFELEtBQUtDLFlBQVlxRCxtQkFBbUJDLGVBQWV4QyxFQUFLMEMsZ0JBQWlCMUMsRUFBSzJDLHVCQURqRixDQUFBLEVBQUEsR0FERCxDQUFBLEVBQUEsaUJBRUZsRCxFQUFBQyxvQkFHQSxNQUFBLENBQUEsRUFBTVQsS0FBS0MsWUFBWXFELG1CQUFtQkMsZUFBZXhDLEVBQUswQyx5QkFBOURqRCxFQUFBQyx3QkFJRU0sRUFBSzRDLE9BQ1JoRSxzQkFBQVUsU0FBU3VELFVBQVUsQ0FDbEJkLEtBQU0sQ0FDTCxDQUFDQyxJQUFLaEMsRUFBS2dDLEtBQ1gsQ0FBQ0MsU0FBUyxLQUVULENBQUNDLEtBQU0sQ0FBQ0QsU0FBUyxFQUFPTCxTQUFVM0MsS0FBS0UsYUFBYTJELE9BQU85QyxFQUFLRSxNQUFNNkMsWUFBWUMsWUFBWXhELE9BR2pHWixzQkFBQVUsU0FBUzJELFVBQVUsQ0FBQ2pCLElBQUtoQyxFQUFLZ0MsTUFBTXhDLDBDQU0xQ1QsRUFySkEsR0FBYW1FLFFBQUFuRSxZQUFBQSIsImZpbGUiOiJtYW5hZ2Vycy9jcm9uLm1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcm9uSm9iTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY3Jvbi1qb2IubW9kZWwnO1xuaW1wb3J0IHsgQ3JvbkpvYnMgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jcm9uLWpvYi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJlc29sdmVJT01haW5TZXJ2ZXIgfSBmcm9tICcuLi9zZXJ2ZXItYXBwJztcbmxldCBDcm9uSm9iTWFuYWdlciA9IHJlcXVpcmUoJy4uL2Nyb24vY3JvbicpO1xuXG5leHBvcnQgY2xhc3MgQ3Jvbk1hbmFnZXIge1xuXG5cdHByaXZhdGUgX2Nyb25NYW5hZ2VyO1xuXHRwcml2YXRlIF9tYWluU2VydmVyOiBSZXNvbHZlSU9NYWluU2VydmVyO1xuXG5cdGNvbnN0cnVjdG9yKG1haW5TZXJ2ZXIpIHtcblx0XHR0aGlzLl9tYWluU2VydmVyID0gbWFpblNlcnZlcjtcblxuXHRcdHRoaXMuX2Nyb25NYW5hZ2VyID0gbmV3IENyb25Kb2JNYW5hZ2VyKCk7XG5cdFx0dGhpcy5sb2FkQ3JvbkpvYnMoKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgbG9hZENyb25Kb2JzKCkge1xuXHRcdGxldCBqb2JzID0gYXdhaXQgQ3JvbkpvYnMuZmluZCh7fSkuZXhlYygpO1xuXG5cdFx0am9icy5mb3JFYWNoKGpvYiA9PiB7XG5cdFx0XHR0aGlzLmFkZENyb25Kb2Ioam9iKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZG9lc0Nyb25Kb2JFeGlzdChjcm9uOiBDcm9uSm9iTW9kZWwpIHtcblx0XHRyZXR1cm4gdGhpcy5fY3Jvbk1hbmFnZXIuZXhpc3RzKGNyb24ubmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIGRvZXNDcm9uSm9iTmFtZUV4aXN0KGNyb25fbmFtZTogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Nyb25NYW5hZ2VyLmV4aXN0cyhjcm9uX25hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRDcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGlmICghdGhpcy5kb2VzQ3JvbkpvYkV4aXN0KGNyb24pKSB7XG5cdFx0XHRpZiAoY3Jvbi50aW1lem9uZSkge1xuXG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0bGV0IGNyb25PcHRpb25zID0ge1xuXHRcdFx0XHRcdHN0YXJ0OiB0cnVlLFxuXHRcdFx0XHRcdC8vIG9uQ29tcGxldGU6ICgpID0+IHtcblx0XHRcdFx0XHQvLyBcdHRoaXMucnVuQ3JvbkpvYkNvbXBsZXRlZChjcm9uKTtcblx0XHRcdFx0XHQvLyB9LFxuXHRcdFx0XHRcdC8vIHRpbWVab25lOiBjcm9uLnRpbWV6b25lXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0aWYgKGNyb24udGltZXpvbmUpIHtcblx0XHRcdFx0XHRjcm9uT3B0aW9uc1sndGltZVpvbmUnXSA9IGNyb24udGltZXpvbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLl9jcm9uTWFuYWdlci5hZGQoXG5cdFx0XHRcdFx0Y3Jvbi5uYW1lLFxuXHRcdFx0XHRcdGNyb24udGltZV90b19ydW4sXG5cdFx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5ydW5Dcm9uSm9iKGNyb24pO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y3Jvbk9wdGlvbnNcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZUNyb25Kb2IoY3JvbjogQ3JvbkpvYk1vZGVsKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JFeGlzdChjcm9uKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIudXBkYXRlKGNyb24ubmFtZSwgY3Jvbi50aW1lX3RvX3J1bik7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSByZW1vdmVDcm9uSm9iKGNyb25fbmFtZTogc3RyaW5nKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JOYW1lRXhpc3QoY3Jvbl9uYW1lKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIuZGVsZXRlSm9iKGNyb25fbmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdGFydENyb25Kb2IoY3JvbjogQ3JvbkpvYk1vZGVsKSB7XG5cdFx0aWYgKHRoaXMuZG9lc0Nyb25Kb2JFeGlzdChjcm9uKSkge1xuXHRcdFx0dGhpcy5fY3Jvbk1hbmFnZXIuc3RhcnQoY3Jvbi5uYW1lKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHN0b3BDcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGlmICh0aGlzLmRvZXNDcm9uSm9iRXhpc3QoY3JvbikpIHtcblx0XHRcdHRoaXMuX2Nyb25NYW5hZ2VyLnN0YXJ0KGNyb24ubmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdG9wQWxsQ3JvbkpvYnMoKSB7XG5cdFx0dGhpcy5fY3Jvbk1hbmFnZXIuc3RvcEFsbCgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGNoZWNrQ3JvbkpvYnNGb3JVcGRhdGVzKCkge1xuXHRcdGxldCBqb2JzID0gYXdhaXQgQ3JvbkpvYnMuZmluZCh7fSkuZXhlYygpO1xuXG5cdFx0Ly8gUmVtb3ZlIGRlbGV0ZWQgY3JvbiBqb2JzXG5cdFx0dGhpcy5fY3Jvbk1hbmFnZXIuZ2V0Sm9icygpLmZvckVhY2goY3JvbkpvYiA9PiB7XG5cdFx0XHRpZiAoam9icy5tYXAoYSA9PiBhLm5hbWUpLmluZGV4T2YoY3JvbkpvYikgPT09IC0xKSB7XG5cdFx0XHRcdHRoaXMucmVtb3ZlQ3JvbkpvYihjcm9uSm9iKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdC8vIEFkZCBuZXcgY3JvbiBqb2JzXG5cdFx0am9icy5mb3JFYWNoKGNyb25Kb2IgPT4ge1xuXHRcdFx0dGhpcy5hZGRDcm9uSm9iKGNyb25Kb2IpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gVXBkYXRlIGNyb25qb2JzXG5cdFx0am9icy5mb3JFYWNoKGNyb25Kb2IgPT4ge1xuXHRcdFx0dGhpcy51cGRhdGVDcm9uSm9iKGNyb25Kb2IpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBydW5Dcm9uSm9iKGNyb246IENyb25Kb2JNb2RlbCkge1xuXHRcdGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuXG5cdFx0aWYgKCFjcm9uLm5leHRfcnVuIHx8IG5vdy5nZXRUaW1lKCkgPj0gY3Jvbi5uZXh0X3J1bi5nZXRUaW1lKCkpIHtcblx0XHRcdENyb25Kb2JzLmZpbmRPbmVBbmRVcGRhdGUoe1xuXHRcdFx0XHQkYW5kOiBbXG5cdFx0XHRcdFx0e19pZDogY3Jvbi5faWR9LFxuXHRcdFx0XHRcdHtydW5uaW5nOiBmYWxzZX1cblx0XHRcdFx0XVxuXHRcdFx0fSwgeyRzZXQ6IHtydW5uaW5nOiB0cnVlfX0pLmV4ZWMoYXN5bmMgKGVyciwgcmVzKSA9PiB7XG5cdFx0XHRcdGlmIChyZXMpIHtcblx0XHRcdFx0XHRpZiAoY3Jvbi5tZXRob2RfcnVuX2RhdGEpIHtcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuX21haW5TZXJ2ZXIuZ2V0TWV0aG9kTWFuYWdlcigpLmNhbGxNZXRob2RDcm9uKGNyb24ubWV0aG9kX3J1biwgY3Jvbi5tZXRob2RfcnVuX2RhdGEpO1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5fbWFpblNlcnZlci5nZXRNZXRob2RNYW5hZ2VyKCkuY2FsbE1ldGhvZENyb24oY3Jvbi5tZXRob2RfcnVuKTtcblx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdGlmIChjcm9uLm1ldGhvZF9jb21wbGV0ZSkge1xuXHRcdFx0XHRcdFx0aWYgKGNyb24ubWV0aG9kX2NvbXBsZXRlX2RhdGEpIHtcblx0XHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5fbWFpblNlcnZlci5nZXRNZXRob2RNYW5hZ2VyKCkuY2FsbE1ldGhvZENyb24oY3Jvbi5tZXRob2RfY29tcGxldGUsIGNyb24ubWV0aG9kX2NvbXBsZXRlX2RhdGEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuX21haW5TZXJ2ZXIuZ2V0TWV0aG9kTWFuYWdlcigpLmNhbGxNZXRob2RDcm9uKGNyb24ubWV0aG9kX2NvbXBsZXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdGlmIChjcm9uLnJlcGVhdCkge1xuXHRcdFx0XHRcdFx0Q3JvbkpvYnMudXBkYXRlT25lKHtcblx0XHRcdFx0XHRcdFx0JGFuZDogW1xuXHRcdFx0XHRcdFx0XHRcdHtfaWQ6IGNyb24uX2lkfSxcblx0XHRcdFx0XHRcdFx0XHR7cnVubmluZzogdHJ1ZX1cblx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0fSwgeyRzZXQ6IHtydW5uaW5nOiBmYWxzZSwgbmV4dF9ydW46IHRoaXMuX2Nyb25NYW5hZ2VyLmdldEpvYihjcm9uLm5hbWUpLm5leHREYXRlcygpLnRvRGF0ZSgpfX0pLmV4ZWMoKTtcblx0XHRcdFx0XHR9IFxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0Q3JvbkpvYnMuZGVsZXRlT25lKHtfaWQ6IGNyb24uX2lkfSkuZXhlYygpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59Il19
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;
@@ -0,0 +1,27 @@
1
+ import { MethodModel } from '../models/method.model';
2
+ import * as aws from 'aws-sdk';
3
+ import { QueueMethodModel } from '../models/queue-method.model';
4
+ import { ResolveIOMainServer } from '../server-app';
5
+ export declare class MethodManager {
6
+ private _mainServer;
7
+ _methods: MethodModel;
8
+ private _mailer;
9
+ private _imap;
10
+ private _aws;
11
+ private serverConfig;
12
+ private _sendQueue;
13
+ private _runningQueue;
14
+ constructor(mainServer: any, serverConfig: any);
15
+ getMainServer(): ResolveIOMainServer;
16
+ methods(method: MethodModel): void;
17
+ callMethodCron(method: string, ...methodData: any[]): void;
18
+ callMethodQueue(update: QueueMethodModel): void;
19
+ callMethod(ws: WebSocket, messageId: any, method: any, ...methodData: any[]): void;
20
+ callMethodInternal(method: any, ...methodData: any[]): Promise<any>;
21
+ private sendWS;
22
+ sendEmail(sendTo: string, subject: string, text?: string, html?: string, attachments?: any[]): void;
23
+ getAWS(): aws.S3;
24
+ readFile(fileName: any): Promise<{}>;
25
+ readImage(fileName: any): Promise<{}>;
26
+ }
27
+ //# sourceMappingURL=method.manager.d.ts.map