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

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 +53 -0
  46. package/index.js +123 -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,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadCounterMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=counters.d.ts.map
@@ -1,2 +1,404 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(i,c,a,u){return new(a||(a=Promise))(function(e,t){function n(e){try{r(u.next(e))}catch(e){t(e)}}function o(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(n,o)}r((u=u.apply(i,c||[])).next())})},__generator=this&&this.__generator||function(n,o){var r,i,c,e,a={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,i&&(c=2&t[0]?i.return:t[0]?i.throw||((c=i.return)&&c.call(i),0):i.next)&&!(c=c.call(i,t[1])).done)return c;switch(i=0,c&&(t=[2&t[0],c.value]),t[0]){case 0:case 1:c=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,i=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(c=0<(c=a.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3])){a.label=t[1];break}if(6===t[0]&&a.label<c[1]){a.label=c[1],c=t;break}if(c&&a.label<c[2]){a.label=c[2],a.ops.push(t);break}c[2]&&a.ops.pop(),a.trys.pop();continue}t=o.call(n,a)}catch(e){t=[6,e],i=0}finally{r=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),counter_collection_1=require("../collections/counter.collection"),simpl_schema_1=require("simpl-schema"),__1=require("..");function loadCounterMethods(e){e.methods({incCounter:{skipQueue:!0,check:new simpl_schema_1.default({counterType:{type:String}}),function:function(o){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,counter_collection_1.Counters.findOne({type:o})];case 1:return e.sent()?[3,2]:(counter_collection_1.Counters.create({_id:mongoose_1.Types.ObjectId().toHexString(),count:2,type:o}),n(1),[3,4]);case 2:return[4,counter_collection_1.Counters.findOneAndUpdate({type:o},{$inc:{count:1}}).exec()];case 3:t=e.sent(),n(t.count),e.label=4;case 4:return[2]}})})})}},countCollectionWithQuery:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return __1.default.getMainDB().model(e).collection.countDocuments(t)}},countQuery:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String},search:{type:String,optional:!0},filters:simpl_schema_1.default.oneOf({type:Array,optional:!0},{type:Object,blackbox:!0,optional:!0}),"filters.$":{type:Object,optional:!0,blackbox:!0},subType:{type:String,optional:!0}}),function:function(e,t,n){void 0===t&&(t=""),void 0===n&&(n=[]);var o={};if(t||n&&n.length){if(n&&n.length&&(o.$and=[],n.forEach(function(e){var t;n.filter(function(e){return"job"===e.prop}).length?(n.filter(function(e){return"job"===e.prop})[0].data?o.$and.push({$or:[{type:"request"},{type:"initIso"},{type:"return"},{type:"returnIso"},{type:"transferOut"},{type:"transferIn"}]}):o.$and.push({$or:[{type:"Customer Pickup"},{type:"Direct Sale"},{type:"Third Party"},{type:"Sale Return"},{type:"transferYard"}]}),n.splice(n.map(function(e){return e.prop}).indexOf("job"),1)):o.$and.push(((t={})[e.prop]=e.data,t))})),t&&"jobs"===e){var r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{status:r},{operator:r},{pumping_company:r},{afe:r},{po:r},{county:r},{state:r},{well:r}]}):o={$or:[{status:r},{operator:r},{pumping_company:r},{afe:r},{po:r},{county:r},{state:r},{well:r}]}}else if(t&&"chemicals"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{chemical_category:r},{container:r},{type:r},{description:r},{quantity_string:r},{unit:r},{min_stock_string:r},{max_stock_string:r}]}):o={$or:[{chemical_category:r},{container:r},{type:r},{description:r},{quantity_string:r},{unit:r},{min_stock_string:r},{max_stock_string:r}]}}else if(t&&"bols"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{date_string:r},{bol_string:r},{chemical:r},{locTo:r},{locFrom:r},{quantity_string:r},{file_status:r}]}):o={$or:[{date_string:r},{bol_string:r},{chemical:r},{locTo:r},{locFrom:r},{quantity_string:r},{file_status:r}]}}else if(t&&"isotanks"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{tank_number:r},{quantity_string:r},{current_location:r},{current_chemical:r}]}):o={$or:[{tank_number:r},{quantity_string:r},{current_location:r},{current_chemical:r}]}}}else o={};return __1.default.getMainDB().model(e).collection.countDocuments(o)}},countCollection:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String}}),function:function(e){return __1.default.getMainDB().model(e).collection.countDocuments()}}})}exports.loadCounterMethods=loadCounterMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2NvdW50ZXJzLnRzIl0sIm5hbWVzIjpbIm1vbmdvb3NlXzEiLCJyZXF1aXJlIiwiY291bnRlcl9jb2xsZWN0aW9uXzEiLCJzaW1wbF9zY2hlbWFfMSIsIl9fMSIsImxvYWRDb3VudGVyTWV0aG9kcyIsIm1ldGhvZE1hbmFnZXIiLCJtZXRob2RzIiwiaW5jQ291bnRlciIsInNraXBRdWV1ZSIsImNoZWNrIiwiZGVmYXVsdCIsImNvdW50ZXJUeXBlIiwidHlwZSIsIlN0cmluZyIsImZ1bmN0aW9uIiwiX3RoaXMiLCJ0aGlzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJfX2F3YWl0ZXIiLCJDb3VudGVycyIsImZpbmRPbmUiLCJfYSIsInNlbnQiLCJjcmVhdGUiLCJfaWQiLCJUeXBlcyIsIk9iamVjdElkIiwidG9IZXhTdHJpbmciLCJjb3VudCIsImZpbmRPbmVBbmRVcGRhdGUiLCIkaW5jIiwiZXhlYyIsIm5ld0NvdW50IiwiY291bnRDb2xsZWN0aW9uV2l0aFF1ZXJ5IiwiY29sbGVjdGlvblR5cGUiLCJxdWVyeSIsIk9iamVjdCIsImJsYWNrYm94IiwiZ2V0TWFpbkRCIiwibW9kZWwiLCJjb2xsZWN0aW9uIiwiY291bnREb2N1bWVudHMiLCJjb3VudFF1ZXJ5Iiwic2VhcmNoIiwib3B0aW9uYWwiLCJmaWx0ZXJzIiwib25lT2YiLCJBcnJheSIsImZpbHRlcnMuJCIsInN1YlR5cGUiLCJsZW5ndGgiLCJmb3JFYWNoIiwiZmlsdGVyIiwiYSIsInByb3AiLCJkYXRhIiwicHVzaCIsIiRvciIsInNwbGljZSIsIm1hcCIsImluZGV4T2YiLCJzZWFyY2hSZWdFeCIsIiRyZWdleCIsIiRvcHRpb25zIiwic3RhdHVzIiwib3BlcmF0b3IiLCJwdW1waW5nX2NvbXBhbnkiLCJhZmUiLCJwbyIsImNvdW50eSIsInN0YXRlIiwid2VsbCIsImNoZW1pY2FsX2NhdGVnb3J5IiwiY29udGFpbmVyIiwiZGVzY3JpcHRpb24iLCJxdWFudGl0eV9zdHJpbmciLCJ1bml0IiwibWluX3N0b2NrX3N0cmluZyIsIm1heF9zdG9ja19zdHJpbmciLCJkYXRlX3N0cmluZyIsImJvbF9zdHJpbmciLCJjaGVtaWNhbCIsImxvY1RvIiwibG9jRnJvbSIsImZpbGVfc3RhdHVzIiwidGFua19udW1iZXIiLCJjdXJyZW50X2xvY2F0aW9uIiwiY3VycmVudF9jaGVtaWNhbCIsImNvdW50Q29sbGVjdGlvbiIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJvN0NBQUEsSUFBQUEsV0FBQUMsUUFBQSxZQUVBQyxxQkFBQUQsUUFBQSxxQ0FDQUUsZUFBQUYsUUFBQSxnQkFDQUcsSUFBQUgsUUFBQSxNQUVBLFNBQWdCSSxtQkFBbUJDLEdBQ2xDQSxFQUFjQyxRQUFRLENBQ3JCQyxXQUFZLENBQ1hDLFdBQVcsRUFDWEMsTUFBTyxJQUFJUCxlQUFBUSxRQUFhLENBQ3ZCQyxZQUFhLENBQ1pDLEtBQU1DLFVBR1JDLFNBQVUsU0FBU0gsR0FBVCxJQUFBSSxFQUFBQyxLQUNULE9BQU8sSUFBSUMsUUFBUSxTQUFPQyxFQUFTQyxHQUFNLE9BQUFDLFVBQUFMLE9BQUEsT0FBQSxFQUFBLDRFQUMxQixNQUFBLENBQUEsRUFBTWQscUJBQUFvQixTQUFTQyxRQUFRLENBQUNWLEtBQU1ELG1CQUE5QlksRUFBQUMsT0FFVixDQUFBLEVBQUEsSUFDSHZCLHFCQUFBb0IsU0FBU0ksT0FBTyxDQUNmQyxJQUFLM0IsV0FBQTRCLE1BQU1DLFdBQVdDLGNBQ3RCQyxNQUFPLEVBQ1BsQixLQUFNRCxJQUdQTyxFQUFRLGlCQUdPLE1BQUEsQ0FBQSxFQUFNakIscUJBQUFvQixTQUFTVSxpQkFBaUIsQ0FBQ25CLEtBQU1ELEdBQWMsQ0FBQ3FCLEtBQU0sQ0FBQ0YsTUFBTyxLQUFLRyxlQUFwRkMsRUFBV1gsRUFBQUMsT0FFZk4sRUFBUWdCLEVBQVNKLDJDQUtyQksseUJBQTBCLENBQ3pCM0IsV0FBVyxFQUNYQyxNQUFPLElBQUlQLGVBQUFRLFFBQWEsQ0FDdkIwQixlQUFnQixDQUNmeEIsS0FBTUMs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QmQsR0FFbEIsQ0FDQ3lCLGlCQUFrQnpCLEdBRW5CLENBQ0MwQixpQkFBa0IxQixXQXBRdkIxQixFQUFRLEdBNFFULE9BQU9sQyxJQUFBTyxRQUFnQjhCLFlBQVlDLE1BQU1MLEdBQWdCTSxXQUFXQyxlQUFlTixLQUdyRnFELGdCQUFpQixDQUNoQmxGLFdBQVcsRUFDWEMsTUFBTyxJQUFJUCxlQUFBUSxRQUFhLENBQ3ZCMEIsZUFBZ0IsQ0FDZnhCLEtBQU1DLFVBR1JDLFNBQVUsU0FBU3NCLEdBQ2xCLE9BQU9qQyxJQUFBTyxRQUFnQjhCLFlBQVlDLE1BQU1MLEdBQWdCTSxXQUFXQyxxQkF2V3hFZ0QsUUFBQXZGLG1CQUFBQSIsImZpbGUiOiJtZXRob2RzL2NvdW50ZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZXMgfSBmcm9tICdtb25nb29zZSc7XG5pbXBvcnQgeyBNZXRob2RNYW5hZ2VyIH0gZnJvbSAnLi4vbWFuYWdlcnMvbWV0aG9kLm1hbmFnZXInO1xuaW1wb3J0IHsgQ291bnRlcnMgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb3VudGVyLmNvbGxlY3Rpb24nO1xuaW1wb3J0IFNpbXBsZVNjaGVtYSBmcm9tICdzaW1wbC1zY2hlbWEnO1xuaW1wb3J0IFJlc29sdmVJT1NlcnZlciBmcm9tICcuLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ291bnRlck1ldGhvZHMobWV0aG9kTWFuYWdlcjogTWV0aG9kTWFuYWdlcikge1xuXHRtZXRob2RNYW5hZ2VyLm1ldGhvZHMoe1xuXHRcdGluY0NvdW50ZXI6IHtcblx0XHRcdHNraXBRdWV1ZTogdHJ1ZSxcblx0XHRcdGNoZWNrOiBuZXcgU2ltcGxlU2NoZW1hKHtcblx0XHRcdFx0Y291bnRlclR5cGU6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oY291bnRlclR5cGU6IHN0cmluZykge1xuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0XHRcdGxldCBjb3VudGVyID0gYXdhaXQgQ291bnRlcnMuZmluZE9uZSh7dHlwZTogY291bnRlclR5cGV9KTtcblxuXHRcdFx0XHRcdGlmICghY291bnRlcikge1xuXHRcdFx0XHRcdFx0Q291bnRlcnMuY3JlYXRlKHtcblx0XHRcdFx0XHRcdFx0X2lkOiBUeXBlcy5PYmplY3RJZCgpLnRvSGV4U3RyaW5nKCksXG5cdFx0XHRcdFx0XHRcdGNvdW50OiAyLFxuXHRcdFx0XHRcdFx0XHR0eXBlOiBjb3VudGVyVHlwZVxuXHRcdFx0XHRcdFx0fSk7XG5cblx0XHRcdFx0XHRcdHJlc29sdmUoMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0bGV0IG5ld0NvdW50ID0gYXdhaXQgQ291bnRlcnMuZmluZE9uZUFuZFVwZGF0ZSh7dHlwZTogY291bnRlclR5cGV9LCB7JGluYzoge2NvdW50OiAxfX0pLmV4ZWMoKTtcblxuXHRcdFx0XHRcdFx0cmVzb2x2ZShuZXdDb3VudC5jb3VudCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGNvdW50Q29sbGVjdGlvbldpdGhRdWVyeToge1xuXHRcdFx0c2tpcFF1ZXVlOiB0cnVlLFxuXHRcdFx0Y2hlY2s6IG5ldyBTaW1wbGVTY2hlbWEoe1xuXHRcdFx0XHRjb2xsZWN0aW9uVHlwZToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRxdWVyeToge1xuXHRcdFx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdFx0XHRibGFja2JveDogdHJ1ZVxuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdGZ1bmN0aW9uOiBmdW5jdGlvbihjb2xsZWN0aW9uVHlwZTogc3RyaW5nLCBxdWVyeTogT2JqZWN0KSB7XHRcblx0XHRcdFx0cmV0dXJuIFJlc29sdmVJT1NlcnZlci5nZXRNYWluREIoKS5tb2RlbChjb2xsZWN0aW9uVHlwZSkuY29sbGVjdGlvbi5jb3VudERvY3VtZW50cyhxdWVyeSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjb3VudFF1ZXJ5OiB7XG5cdFx0XHRza2lwUXVldWU6IHRydWUsXG5cdFx0XHRjaGVjazogbmV3IFNpbXBsZVNjaGVtYSh7XG5cdFx0XHRcdGNvbGxlY3Rpb25UeXBlOiB7XG5cdFx0XHRcdFx0dHlwZTogU3RyaW5nXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNlYXJjaDoge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdFx0XHRvcHRpb25hbDogdHJ1ZVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmaWx0ZXJzOiBTaW1wbGVTY2hlbWEub25lT2YoXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0dHlwZTogQXJyYXksXG5cdFx0XHRcdFx0XHRvcHRpb25hbDogdHJ1ZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0dHlwZTogT2JqZWN0LFxuXHRcdFx0XHRcdFx0YmxhY2tib3g6IHRydWUsXG5cdFx0XHRcdFx0XHRvcHRpb25hbDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0KSxcblx0XHRcdFx0J2ZpbHRlcnMuJCc6IHtcblx0XHRcdFx0XHR0eXBlOiBPYmplY3QsXG5cdFx0XHRcdFx0b3B0aW9uYWw6IHRydWUsXG5cdFx0XHRcdFx0YmxhY2tib3g6IHRydWVcblx0XHRcdFx0fSwgXG5cdFx0XHRcdHN1YlR5cGU6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRcdFx0b3B0aW9uYWw6IHRydWVcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oY29sbGVjdGlvblR5cGU6IHN0cmluZywgc2VhcmNoID0gJycsIGZpbHRlcnMgPSBbXSkge1xuXHRcdFx0XHRsZXQgcXVlcnkgPSB7fTtcblxuXHRcdFx0XHRpZiAoIXNlYXJjaCAmJiAoIWZpbHRlcnMgfHwgIWZpbHRlcnMubGVuZ3RoKSkge1xuXHRcdFx0XHRcdHF1ZXJ5ID0ge307XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0aWYgKGZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdHF1ZXJ5WyckYW5kJ10gPSBbXTtcblxuXHRcdFx0XHRcdFx0ZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmIChmaWx0ZXJzLmZpbHRlcihhID0+IGEucHJvcCA9PT0gJ2pvYicpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChmaWx0ZXJzLmZpbHRlcihhID0+IGEucHJvcCA9PT0gJ2pvYicpWzBdLmRhdGEpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHF1ZXJ5WyckYW5kJ10ucHVzaCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRvcjogW1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt0eXBlOiAncmVxdWVzdCd9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt0eXBlOiAnaW5pdElzbyd9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt0eXBlOiAncmV0dXJuJ30sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3R5cGU6ICdyZXR1cm5Jc28nfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7dHlwZTogJ3RyYW5zZmVyT3V0J30sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3R5cGU6ICd0cmFuc2ZlckluJ31cblx0XHRcdFx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0cXVlcnlbJyRhbmQnXS5wdXNoKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG9yOiBbXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3R5cGU6ICdDdXN0b21lciBQaWNrdXAnfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7dHlwZTogJ0RpcmVjdCBTYWxlJ30sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3R5cGU6ICdUaGlyZCBQYXJ0eSd9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt0eXBlOiAnU2FsZSBSZXR1cm4nfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7dHlwZTogJ3RyYW5zZmVyWWFyZCd9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJzLnNwbGljZShmaWx0ZXJzLm1hcChhID0+IGEucHJvcCkuaW5kZXhPZignam9iJyksIDEpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHF1ZXJ5WyckYW5kJ10ucHVzaCh7W2ZpbHRlclsncHJvcCddXTogZmlsdGVyWydkYXRhJ119KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKHNlYXJjaCAmJiBjb2xsZWN0aW9uVHlwZSA9PT0gJ2pvYnMnKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzZWFyY2hSZWdFeCA9IHsgJyRyZWdleCc6ICcuKicgKyAoc2VhcmNoIHx8ICcnKSArICcuKicsICckb3B0aW9ucyc6ICdpJyB9O1xuXG5cdFx0XHRcdFx0XHRpZiAocXVlcnlbJyRhbmQnXSkge1xuXHRcdFx0XHRcdFx0XHRxdWVyeVsnJGFuZCddLnB1c2goe1xuXHRcdFx0XHRcdFx0XHRcdCRvcjogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdGF0dXM6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvcGVyYXRvcjogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sIFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwdW1waW5nX2NvbXBhbnk6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhZmU6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LCBcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG86IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3VudHk6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdGF0ZTogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdlbGw6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRxdWVyeSA9IHtcblx0XHRcdFx0XHRcdFx0XHQkb3I6IFtcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3RhdHVzOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3BlcmF0b3I6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LCBcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cHVtcGluZ19jb21wYW55OiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWZlOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSwgXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y291bnR5OiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3RhdGU6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR3ZWxsOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSBpZiAoc2VhcmNoICYmIGNvbGxlY3Rpb25UeXBlID09PSAnY2hlbWljYWxzJykge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc2VhcmNoUmVnRXggPSB7ICckcmVnZXgnOiAnLionICsgKHNlYXJjaCB8fCAnJykgKyAnLionLCAnJG9wdGlvbnMnOiAnaScgfTtcblxuXHRcdFx0XHRcdFx0aWYgKHF1ZXJ5WyckYW5kJ10pIHtcblx0XHRcdFx0XHRcdFx0cXVlcnlbJyRhbmQnXS5wdXNoKHtcblx0XHRcdFx0XHRcdFx0XHQkb3I6IFtcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2hlbWljYWxfY2F0ZWdvcnk6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb250YWluZXI6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LCBcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cXVhbnRpdHlfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pdDogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbl9zdG9ja19zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXhfc3RvY2tfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XHRcblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRxdWVyeSA9IHtcblx0XHRcdFx0XHRcdFx0XHQkb3I6IFtcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2hlbWljYWxfY2F0ZWdvcnk6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb250YWluZXI6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LCBcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cXVhbnRpdHlfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pdDogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbl9zdG9ja19zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXhfc3RvY2tfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSBpZiAoc2VhcmNoICYmIGNvbGxlY3Rpb25UeXBlID09PSAnYm9scycpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNlYXJjaFJlZ0V4ID0geyAnJHJlZ2V4JzogJy4qJyArIChzZWFyY2ggfHwgJycpICsgJy4qJywgJyRvcHRpb25zJzogJ2knIH07XG5cblx0XHRcdFx0XHRcdGlmIChxdWVyeVsnJGFuZCddKSB7XG5cblx0XHRcdFx0XHRcdFx0cXVlcnlbJyRhbmQnXS5wdXNoKHtcblx0XHRcdFx0XHRcdFx0XHQkb3I6IFtcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGF0ZV9zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib2xfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcdFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjaGVtaWNhbDogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sIFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsb2NUbzogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sIFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsb2NGcm9tOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cXVhbnRpdHlfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZmlsZV9zdGF0dXM6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cdFxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHF1ZXJ5ID0ge1xuXHRcdFx0XHRcdFx0XHRcdCRvcjogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkYXRlX3N0cmluZzogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJvbF9zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFx0XG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNoZW1pY2FsOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSwgXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxvY1RvOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSwgXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxvY0Zyb206IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRxdWFudGl0eV9zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxlX3N0YXR1czogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2UgaWYgKHNlYXJjaCAmJiBjb2xsZWN0aW9uVHlwZSA9PT0gJ2lzb3RhbmtzJykge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc2VhcmNoUmVnRXggPSB7ICckcmVnZXgnOiAnLionICsgKHNlYXJjaCB8fCAnJykgKyAnLionLCAnJG9wdGlvbnMnOiAnaScgfTtcblxuXHRcdFx0XHRcdFx0aWYgKHF1ZXJ5WyckYW5kJ10pIHtcblx0XHRcdFx0XHRcdFx0cXVlcnlbJyRhbmQnXS5wdXNoKHtcblx0XHRcdFx0XHRcdFx0XHQkb3I6IFtcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGFua19udW1iZXI6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRxdWFudGl0eV9zdHJpbmc6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjdXJyZW50X2xvY2F0aW9uOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVudF9jaGVtaWNhbDogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fVx0XG5cdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0cXVlcnkgPSB7XG5cdFx0XHRcdFx0XHRcdFx0JG9yOiBbXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRhbmtfbnVtYmVyOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cXVhbnRpdHlfc3RyaW5nOiBzZWFyY2hSZWdFeFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVudF9sb2NhdGlvbjogc2VhcmNoUmVnRXhcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGN1cnJlbnRfY2hlbWljYWw6IHNlYXJjaFJlZ0V4XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFxuXHRcdFx0XHRyZXR1cm4gUmVzb2x2ZUlPU2VydmVyLmdldE1haW5EQigpLm1vZGVsKGNvbGxlY3Rpb25UeXBlKS5jb2xsZWN0aW9uLmNvdW50RG9jdW1lbnRzKHF1ZXJ5KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGNvdW50Q29sbGVjdGlvbjoge1xuXHRcdFx0c2tpcFF1ZXVlOiB0cnVlLFxuXHRcdFx0Y2hlY2s6IG5ldyBTaW1wbGVTY2hlbWEoe1xuXHRcdFx0XHRjb2xsZWN0aW9uVHlwZToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdGZ1bmN0aW9uOiBmdW5jdGlvbihjb2xsZWN0aW9uVHlwZTogc3RyaW5nKSB7XHRcblx0XHRcdFx0cmV0dXJuIFJlc29sdmVJT1NlcnZlci5nZXRNYWluREIoKS5tb2RlbChjb2xsZWN0aW9uVHlwZSkuY29sbGVjdGlvbi5jb3VudERvY3VtZW50cygpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSk7XG59Il19
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_1 = require("mongoose");
39
+ var counter_collection_1 = require("../collections/counter.collection");
40
+ var simpl_schema_1 = require("simpl-schema");
41
+ var __1 = require("..");
42
+ function loadCounterMethods(methodManager) {
43
+ methodManager.methods({
44
+ incCounter: {
45
+ skipQueue: true,
46
+ check: new simpl_schema_1.default({
47
+ counterType: {
48
+ type: String
49
+ }
50
+ }),
51
+ function: function (counterType) {
52
+ var _this = this;
53
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
54
+ var counter, newCount;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0: return [4 /*yield*/, counter_collection_1.Counters.findOne({ type: counterType })];
58
+ case 1:
59
+ counter = _a.sent();
60
+ if (!!counter) return [3 /*break*/, 2];
61
+ counter_collection_1.Counters.create({
62
+ _id: mongoose_1.Types.ObjectId().toHexString(),
63
+ count: 2,
64
+ type: counterType
65
+ });
66
+ resolve(1);
67
+ return [3 /*break*/, 4];
68
+ case 2: return [4 /*yield*/, counter_collection_1.Counters.findOneAndUpdate({ type: counterType }, { $inc: { count: 1 } }).exec()];
69
+ case 3:
70
+ newCount = _a.sent();
71
+ resolve(newCount.count);
72
+ _a.label = 4;
73
+ case 4: return [2 /*return*/];
74
+ }
75
+ });
76
+ }); });
77
+ }
78
+ },
79
+ countCollectionWithQuery: {
80
+ skipQueue: true,
81
+ check: new simpl_schema_1.default({
82
+ collectionType: {
83
+ type: String
84
+ },
85
+ query: {
86
+ type: Object,
87
+ blackbox: true
88
+ }
89
+ }),
90
+ function: function (collectionType, query) {
91
+ return __1.default.getMainDB().model(collectionType).collection.countDocuments(query);
92
+ }
93
+ },
94
+ countQuery: {
95
+ skipQueue: true,
96
+ check: new simpl_schema_1.default({
97
+ collectionType: {
98
+ type: String
99
+ },
100
+ search: {
101
+ type: String,
102
+ optional: true
103
+ },
104
+ filters: simpl_schema_1.default.oneOf({
105
+ type: Array,
106
+ optional: true
107
+ }, {
108
+ type: Object,
109
+ blackbox: true,
110
+ optional: true
111
+ }),
112
+ 'filters.$': {
113
+ type: Object,
114
+ optional: true,
115
+ blackbox: true
116
+ },
117
+ subType: {
118
+ type: String,
119
+ optional: true
120
+ }
121
+ }),
122
+ function: function (collectionType, search, filters) {
123
+ if (search === void 0) { search = ''; }
124
+ if (filters === void 0) { filters = []; }
125
+ var query = {};
126
+ if (!search && (!filters || !filters.length)) {
127
+ query = {};
128
+ }
129
+ else {
130
+ if (filters && filters.length) {
131
+ query['$and'] = [];
132
+ filters.forEach(function (filter) {
133
+ var _a;
134
+ if (filters.filter(function (a) { return a.prop === 'job'; }).length) {
135
+ if (filters.filter(function (a) { return a.prop === 'job'; })[0].data) {
136
+ query['$and'].push({
137
+ $or: [
138
+ { type: 'request' },
139
+ { type: 'initIso' },
140
+ { type: 'return' },
141
+ { type: 'returnIso' },
142
+ { type: 'transferOut' },
143
+ { type: 'transferIn' }
144
+ ]
145
+ });
146
+ }
147
+ else {
148
+ query['$and'].push({
149
+ $or: [
150
+ { type: 'Customer Pickup' },
151
+ { type: 'Direct Sale' },
152
+ { type: 'Third Party' },
153
+ { type: 'Sale Return' },
154
+ { type: 'transferYard' }
155
+ ]
156
+ });
157
+ }
158
+ filters.splice(filters.map(function (a) { return a.prop; }).indexOf('job'), 1);
159
+ }
160
+ else {
161
+ query['$and'].push((_a = {}, _a[filter['prop']] = filter['data'], _a));
162
+ }
163
+ });
164
+ }
165
+ if (search && collectionType === 'jobs') {
166
+ var searchRegEx = { '$regex': '.*' + (search || '') + '.*', '$options': 'i' };
167
+ if (query['$and']) {
168
+ query['$and'].push({
169
+ $or: [
170
+ {
171
+ status: searchRegEx
172
+ },
173
+ {
174
+ operator: searchRegEx
175
+ },
176
+ {
177
+ pumping_company: searchRegEx
178
+ },
179
+ {
180
+ afe: searchRegEx
181
+ },
182
+ {
183
+ po: searchRegEx
184
+ },
185
+ {
186
+ county: searchRegEx
187
+ },
188
+ {
189
+ state: searchRegEx
190
+ },
191
+ {
192
+ well: searchRegEx
193
+ }
194
+ ]
195
+ });
196
+ }
197
+ else {
198
+ query = {
199
+ $or: [
200
+ {
201
+ status: searchRegEx
202
+ },
203
+ {
204
+ operator: searchRegEx
205
+ },
206
+ {
207
+ pumping_company: searchRegEx
208
+ },
209
+ {
210
+ afe: searchRegEx
211
+ },
212
+ {
213
+ po: searchRegEx
214
+ },
215
+ {
216
+ county: searchRegEx
217
+ },
218
+ {
219
+ state: searchRegEx
220
+ },
221
+ {
222
+ well: searchRegEx
223
+ }
224
+ ]
225
+ };
226
+ }
227
+ }
228
+ else if (search && collectionType === 'chemicals') {
229
+ var searchRegEx = { '$regex': '.*' + (search || '') + '.*', '$options': 'i' };
230
+ if (query['$and']) {
231
+ query['$and'].push({
232
+ $or: [
233
+ {
234
+ chemical_category: searchRegEx
235
+ },
236
+ {
237
+ container: searchRegEx
238
+ },
239
+ {
240
+ type: searchRegEx
241
+ },
242
+ {
243
+ description: searchRegEx
244
+ },
245
+ {
246
+ quantity_string: searchRegEx
247
+ },
248
+ {
249
+ unit: searchRegEx
250
+ },
251
+ {
252
+ min_stock_string: searchRegEx
253
+ },
254
+ {
255
+ max_stock_string: searchRegEx
256
+ }
257
+ ]
258
+ });
259
+ }
260
+ else {
261
+ query = {
262
+ $or: [
263
+ {
264
+ chemical_category: searchRegEx
265
+ },
266
+ {
267
+ container: searchRegEx
268
+ },
269
+ {
270
+ type: searchRegEx
271
+ },
272
+ {
273
+ description: searchRegEx
274
+ },
275
+ {
276
+ quantity_string: searchRegEx
277
+ },
278
+ {
279
+ unit: searchRegEx
280
+ },
281
+ {
282
+ min_stock_string: searchRegEx
283
+ },
284
+ {
285
+ max_stock_string: searchRegEx
286
+ }
287
+ ]
288
+ };
289
+ }
290
+ }
291
+ else if (search && collectionType === 'bols') {
292
+ var searchRegEx = { '$regex': '.*' + (search || '') + '.*', '$options': 'i' };
293
+ if (query['$and']) {
294
+ query['$and'].push({
295
+ $or: [
296
+ {
297
+ date_string: searchRegEx
298
+ },
299
+ {
300
+ bol_string: searchRegEx
301
+ },
302
+ {
303
+ chemical: searchRegEx
304
+ },
305
+ {
306
+ locTo: searchRegEx
307
+ },
308
+ {
309
+ locFrom: searchRegEx
310
+ },
311
+ {
312
+ quantity_string: searchRegEx
313
+ },
314
+ {
315
+ file_status: searchRegEx
316
+ }
317
+ ]
318
+ });
319
+ }
320
+ else {
321
+ query = {
322
+ $or: [
323
+ {
324
+ date_string: searchRegEx
325
+ },
326
+ {
327
+ bol_string: searchRegEx
328
+ },
329
+ {
330
+ chemical: searchRegEx
331
+ },
332
+ {
333
+ locTo: searchRegEx
334
+ },
335
+ {
336
+ locFrom: searchRegEx
337
+ },
338
+ {
339
+ quantity_string: searchRegEx
340
+ },
341
+ {
342
+ file_status: searchRegEx
343
+ }
344
+ ]
345
+ };
346
+ }
347
+ }
348
+ else if (search && collectionType === 'isotanks') {
349
+ var searchRegEx = { '$regex': '.*' + (search || '') + '.*', '$options': 'i' };
350
+ if (query['$and']) {
351
+ query['$and'].push({
352
+ $or: [
353
+ {
354
+ tank_number: searchRegEx
355
+ },
356
+ {
357
+ quantity_string: searchRegEx
358
+ },
359
+ {
360
+ current_location: searchRegEx
361
+ },
362
+ {
363
+ current_chemical: searchRegEx
364
+ }
365
+ ]
366
+ });
367
+ }
368
+ else {
369
+ query = {
370
+ $or: [
371
+ {
372
+ tank_number: searchRegEx
373
+ },
374
+ {
375
+ quantity_string: searchRegEx
376
+ },
377
+ {
378
+ current_location: searchRegEx
379
+ },
380
+ {
381
+ current_chemical: searchRegEx
382
+ }
383
+ ]
384
+ };
385
+ }
386
+ }
387
+ }
388
+ return __1.default.getMainDB().model(collectionType).collection.countDocuments(query);
389
+ }
390
+ },
391
+ countCollection: {
392
+ skipQueue: true,
393
+ check: new simpl_schema_1.default({
394
+ collectionType: {
395
+ type: String
396
+ }
397
+ }),
398
+ function: function (collectionType) {
399
+ return __1.default.getMainDB().model(collectionType).collection.countDocuments();
400
+ }
401
+ }
402
+ });
403
+ }
404
+ exports.loadCounterMethods = loadCounterMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadCronJobMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=cron-jobs.d.ts.map
@@ -1,2 +1,63 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(u,i,a,c){return new(a||(a=Promise))(function(e,t){function n(e){try{r(c.next(e))}catch(e){t(e)}}function o(e){try{r(c.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(n,o)}r((c=c.apply(u,i||[])).next())})},__generator=this&&this.__generator||function(n,o){var r,u,i,e,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,u&&(i=2&t[0]?u.return:t[0]?u.throw||((i=u.return)&&i.call(u),0):u.next)&&!(i=i.call(u,t[1])).done)return i;switch(u=0,i&&(t=[2&t[0],i.value]),t[0]){case 0:case 1:i=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,u=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(i=0<(i=a.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]<i[3])){a.label=t[1];break}if(6===t[0]&&a.label<i[1]){a.label=i[1],i=t;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(t);break}i[2]&&a.ops.pop(),a.trys.pop();continue}t=o.call(n,a)}catch(e){t=[6,e],u=0}finally{r=i=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var queue_method_collection_1=require("../collections/queue-method.collection");function loadCronJobMethods(o){o.methods({methodQueue:{function:function(){var n=this;return new Promise(function(t,e){return __awaiter(n,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,queue_method_collection_1.QueueMethods.collection.countDocuments()];case 1:return e.sent()&&o.getMainServer().getQueueManager().runMethodQueue(),t(),[2]}})})})}}})}exports.loadCronJobMethods=loadCronJobMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2Nyb24tam9icy50cyJdLCJuYW1lcyI6WyJxdWV1ZV9tZXRob2RfY29sbGVjdGlvbl8xIiwicmVxdWlyZSIsImxvYWRDcm9uSm9iTWV0aG9kcyIsIm1ldGhvZE1hbmFnZXIiLCJtZXRob2RzIiwibWV0aG9kUXVldWUiLCJmdW5jdGlvbiIsIl90aGlzIiwidGhpcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiX19hd2FpdGVyIiwiUXVldWVNZXRob2RzIiwiY29sbGVjdGlvbiIsImNvdW50RG9jdW1lbnRzIiwiX2EiLCJzZW50IiwiZ2V0TWFpblNlcnZlciIsImdldFF1ZXVlTWFuYWdlciIsInJ1bk1ldGhvZFF1ZXVlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Im83Q0FBQSxJQUFBQSwwQkFBQUMsUUFBQSwwQ0FHQSxTQUFnQkMsbUJBQW1CQyxHQUNsQ0EsRUFBY0MsUUFBUSxDQUNyQkMsWUFBYSxDQUNaQyxTQUFVLFdBQUEsSUFBQUMsRUFBQUMsS0FDVCxPQUFPLElBQUlDLFFBQVEsU0FBT0MsRUFBU0MsR0FBTSxPQUFBQyxVQUFBTCxPQUFBLE9BQUEsRUFBQSxzRUFDeEIsTUFBQSxDQUFBLEVBQU1QLDBCQUFBYSxhQUFhQyxXQUFXQyxnQ0FBOUJDLEVBQUFDLFFBR2ZkLEVBQWNlLGdCQUFnQkMsa0JBQWtCQyxpQkFHakRWLG1CQVhMVyxRQUFBbkIsbUJBQUFBIiwiZmlsZSI6Im1ldGhvZHMvY3Jvbi1qb2JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVldWVNZXRob2RzIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvcXVldWUtbWV0aG9kLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWV0aG9kTWFuYWdlciB9IGZyb20gJy4uL21hbmFnZXJzL21ldGhvZC5tYW5hZ2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDcm9uSm9iTWV0aG9kcyhtZXRob2RNYW5hZ2VyOiBNZXRob2RNYW5hZ2VyKSB7XG5cdG1ldGhvZE1hbmFnZXIubWV0aG9kcyh7XG5cdFx0bWV0aG9kUXVldWU6IHtcblx0XHRcdGZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0XHRsZXQgdXBkYXRlQ250ID0gYXdhaXQgUXVldWVNZXRob2RzLmNvbGxlY3Rpb24uY291bnREb2N1bWVudHMoKTtcblxuXHRcdFx0XHRcdGlmICh1cGRhdGVDbnQpIHtcblx0XHRcdFx0XHRcdG1ldGhvZE1hbmFnZXIuZ2V0TWFpblNlcnZlcigpLmdldFF1ZXVlTWFuYWdlcigpLnJ1bk1ldGhvZFF1ZXVlKCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmVzb2x2ZSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xufSAiXX0=
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 queue_method_collection_1 = require("../collections/queue-method.collection");
39
+ function loadCronJobMethods(methodManager) {
40
+ methodManager.methods({
41
+ methodQueue: {
42
+ function: function () {
43
+ var _this = this;
44
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
45
+ var updateCnt;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0: return [4 /*yield*/, queue_method_collection_1.QueueMethods.collection.countDocuments()];
49
+ case 1:
50
+ updateCnt = _a.sent();
51
+ if (updateCnt) {
52
+ methodManager.getMainServer().getQueueManager().runMethodQueue();
53
+ }
54
+ resolve();
55
+ return [2 /*return*/];
56
+ }
57
+ });
58
+ }); });
59
+ }
60
+ }
61
+ });
62
+ }
63
+ exports.loadCronJobMethods = loadCronJobMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadFlagMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=flags.d.ts.map
package/methods/flags.js CHANGED
@@ -1,2 +1,6 @@
1
- "use strict";function loadFlagMethods(e){e.methods({})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadFlagMethods=loadFlagMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2ZsYWdzLnRzIl0sIm5hbWVzIjpbImxvYWRGbGFnTWV0aG9kcyIsIm1ldGhvZE1hbmFnZXIiLCJtZXRob2RzIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6ImFBRUEsU0FBZ0JBLGdCQUFnQkMsR0FDL0JBLEVBQWNDLFFBQVEsMkRBRHZCQyxRQUFBSCxnQkFBQUEiLCJmaWxlIjoibWV0aG9kcy9mbGFncy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGhvZE1hbmFnZXIgfSBmcm9tICcuLi9tYW5hZ2Vycy9tZXRob2QubWFuYWdlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmxhZ01ldGhvZHMobWV0aG9kTWFuYWdlcjogTWV0aG9kTWFuYWdlcikge1xuXHRtZXRob2RNYW5hZ2VyLm1ldGhvZHMoe1xuXHRcdFxuXHR9KTtcbn0iXX0=
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function loadFlagMethods(methodManager) {
4
+ methodManager.methods({});
5
+ }
6
+ exports.loadFlagMethods = loadFlagMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadLogMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=logs.d.ts.map
package/methods/logs.js CHANGED
@@ -1,2 +1,29 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),log_collection_1=require("../collections/log.collection"),index_1=require("../index");function loadLogMethods(e){e.methods({insertErrorLog:{skipQueue:!0,function:function(e,o){return this.sendEmail("dev@resolveio.com","Error Detected - "+index_1.default.getClientName(),this.user+"\n"+e+"\n"+JSON.stringify(o,null,2)),log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,date:new Date,type:"error",title:"Error - User: "+this.user,message:e,payload:o,method:"",user:this.user,messageId:""})},skipValidation:!0}})}exports.loadLogMethods=loadLogMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2xvZ3MudHMiXSwibmFtZXMiOlsibW9uZ29vc2VfMSIsInJlcXVpcmUiLCJsb2dfY29sbGVjdGlvbl8xIiwiaW5kZXhfMSIsImxvYWRMb2dNZXRob2RzIiwibWV0aG9kTWFuYWdlciIsIm1ldGhvZHMiLCJpbnNlcnRFcnJvckxvZyIsInNraXBRdWV1ZSIsImZ1bmN0aW9uIiwibWVzc2FnZSIsImRhdGEiLCJ0aGlzIiwic2VuZEVtYWlsIiwiZGVmYXVsdCIsImdldENsaWVudE5hbWUiLCJ1c2VyIiwiSlNPTiIsInN0cmluZ2lmeSIsIkxvZ3MiLCJjcmVhdGUiLCJfaWQiLCJUeXBlcyIsIk9iamVjdElkIiwidG9IZXhTdHJpbmciLCJfX3YiLCJkYXRlIiwiRGF0ZSIsInR5cGUiLCJ0aXRsZSIsInBheWxvYWQiLCJtZXRob2QiLCJtZXNzYWdlSWQiLCJza2lwVmFsaWRhdGlvbiIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJvRUFBQSxJQUFBQSxXQUFBQyxRQUFBLFlBRUFDLGlCQUFBRCxRQUFBLGlDQUNBRSxRQUFBRixRQUFBLFlBRUEsU0FBZ0JHLGVBQWVDLEdBQzlCQSxFQUFjQyxRQUFRLENBQ3JCQyxlQUFnQixDQUNmQyxXQUFXLEVBQ1hDLFNBQVUsU0FBU0MsRUFBU0MsR0FHM0IsT0FGQUMsS0FBS0MsVUFBVSxvQkFBcUIsb0JBQXNCVixRQUFBVyxRQUFnQkMsZ0JBQWlCSCxLQUFLSSxLQUFPLEtBQU9OLEVBQVUsS0FBT08sS0FBS0MsVUFBVVAsRUFBTSxLQUFNLElBRW5KVCxpQkFBQWlCLEtBQUtDLE9BQU8sQ0FDbEJDLElBQUtyQixXQUFBc0IsTUFBTUMsV0FBV0MsY0FDdEJDLElBQUssRUFDTEMsS0FBTSxJQUFJQyxLQUNWQyxLQUFNLFFBQ05DLE1BQU8saUJBQW1CakIsS0FBS0ksS0FDL0JOLFFBQVNBLEVBQ1RvQixRQUFTbkIsRUFDVG9CLE9BQVEsR0FDUmYsS0FBTUosS0FBS0ksS0FDWGdCLFVBQVcsTUFHYkMsZ0JBQWdCLEtBcEJuQkMsUUFBQTlCLGVBQUFBIiwiZmlsZSI6Im1ldGhvZHMvbG9ncy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGVzIH0gZnJvbSAnbW9uZ29vc2UnO1xuaW1wb3J0IHsgTWV0aG9kTWFuYWdlciB9IGZyb20gJy4uL21hbmFnZXJzL21ldGhvZC5tYW5hZ2VyJztcbmltcG9ydCB7IExvZ3MgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9sb2cuY29sbGVjdGlvbic7XG5pbXBvcnQgUmVzb2x2ZUlPU2VydmVyIGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRMb2dNZXRob2RzKG1ldGhvZE1hbmFnZXI6IE1ldGhvZE1hbmFnZXIpIHtcblx0bWV0aG9kTWFuYWdlci5tZXRob2RzKHtcblx0XHRpbnNlcnRFcnJvckxvZzoge1xuXHRcdFx0c2tpcFF1ZXVlOiB0cnVlLFxuXHRcdFx0ZnVuY3Rpb246IGZ1bmN0aW9uKG1lc3NhZ2UsIGRhdGEpIHtcblx0XHRcdFx0dGhpcy5zZW5kRW1haWwoJ2RldkByZXNvbHZlaW8uY29tJywgJ0Vycm9yIERldGVjdGVkIC0gJyArIFJlc29sdmVJT1NlcnZlci5nZXRDbGllbnROYW1lKCksIHRoaXMudXNlciArICdcXG4nICsgbWVzc2FnZSArICdcXG4nICsgSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikpO1xuXG5cdFx0XHRcdHJldHVybiBMb2dzLmNyZWF0ZSh7XG5cdFx0XHRcdFx0X2lkOiBUeXBlcy5PYmplY3RJZCgpLnRvSGV4U3RyaW5nKCksXG5cdFx0XHRcdFx0X192OiAwLFxuXHRcdFx0XHRcdGRhdGU6IG5ldyBEYXRlKCksXG5cdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcblx0XHRcdFx0XHR0aXRsZTogJ0Vycm9yIC0gVXNlcjogJyArIHRoaXMudXNlcixcblx0XHRcdFx0XHRtZXNzYWdlOiBtZXNzYWdlLFxuXHRcdFx0XHRcdHBheWxvYWQ6IGRhdGEsXG5cdFx0XHRcdFx0bWV0aG9kOiAnJyxcblx0XHRcdFx0XHR1c2VyOiB0aGlzLnVzZXIsXG5cdFx0XHRcdFx0bWVzc2FnZUlkOiAnJ1xuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHRza2lwVmFsaWRhdGlvbjogdHJ1ZVxuXHRcdH1cblx0fSk7XG59Il19
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mongoose_1 = require("mongoose");
4
+ var log_collection_1 = require("../collections/log.collection");
5
+ var index_1 = require("../index");
6
+ function loadLogMethods(methodManager) {
7
+ methodManager.methods({
8
+ insertErrorLog: {
9
+ skipQueue: true,
10
+ function: function (message, data) {
11
+ this.sendEmail('dev@resolveio.com', 'Error Detected - ' + index_1.default.getClientName(), this.user + '\n' + message + '\n' + JSON.stringify(data, null, 2));
12
+ return log_collection_1.Logs.create({
13
+ _id: mongoose_1.Types.ObjectId().toHexString(),
14
+ __v: 0,
15
+ date: new Date(),
16
+ type: 'error',
17
+ title: 'Error - User: ' + this.user,
18
+ message: message,
19
+ payload: data,
20
+ method: '',
21
+ user: this.user,
22
+ messageId: ''
23
+ });
24
+ },
25
+ skipValidation: true
26
+ }
27
+ });
28
+ }
29
+ exports.loadLogMethods = loadLogMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadPDFMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=pdf.d.ts.map