@resolveio/server-lib 5.2.39 → 5.2.41

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 (195) hide show
  1. package/client-server-app.js +2 -0
  2. package/client-server-app.js.map +1 -0
  3. package/collections/active-subscription.collection.js +2 -0
  4. package/collections/active-subscription.collection.js.map +1 -0
  5. package/collections/app-status.collection.js +2 -0
  6. package/collections/app-status.collection.js.map +1 -0
  7. package/collections/app-version.collection.js +2 -0
  8. package/collections/app-version.collection.js.map +1 -0
  9. package/collections/billing-logged-in-users.collection.js +2 -0
  10. package/collections/billing-logged-in-users.collection.js.map +1 -0
  11. package/collections/counter.collection.js +2 -0
  12. package/collections/counter.collection.js.map +1 -0
  13. package/collections/cron-job-history.collection.js +2 -0
  14. package/collections/cron-job-history.collection.js.map +1 -0
  15. package/collections/cron-job.collection.js +2 -0
  16. package/collections/cron-job.collection.js.map +1 -0
  17. package/collections/file.collection.js +2 -0
  18. package/collections/file.collection.js.map +1 -0
  19. package/collections/flag.collection.js +2 -0
  20. package/collections/flag.collection.js.map +1 -0
  21. package/collections/log-method-latency.collection.js +2 -0
  22. package/collections/log-method-latency.collection.js.map +1 -0
  23. package/collections/log-subscription.collection.js +2 -0
  24. package/collections/log-subscription.collection.js.map +1 -0
  25. package/collections/log.collection.js +2 -0
  26. package/collections/log.collection.js.map +1 -0
  27. package/collections/logged-in-users.collection.js +2 -0
  28. package/collections/logged-in-users.collection.js.map +1 -0
  29. package/collections/method-call.collection.js +2 -0
  30. package/collections/method-call.collection.js.map +1 -0
  31. package/collections/method-response.collection.js +2 -0
  32. package/collections/method-response.collection.js.map +1 -0
  33. package/collections/notification.collection.js +2 -0
  34. package/collections/notification.collection.js.map +1 -0
  35. package/collections/queue-flag.collection.js +2 -0
  36. package/collections/queue-flag.collection.js.map +1 -0
  37. package/collections/queue-method.collection.js +2 -0
  38. package/collections/queue-method.collection.js.map +1 -0
  39. package/collections/queue-response.collection.js +2 -0
  40. package/collections/queue-response.collection.js.map +1 -0
  41. package/collections/report-builder-report.collection.js +2 -0
  42. package/collections/report-builder-report.collection.js.map +1 -0
  43. package/collections/support-ticket.collection.js +2 -0
  44. package/collections/support-ticket.collection.js.map +1 -0
  45. package/collections/user.collection.js +2 -0
  46. package/collections/user.collection.js.map +1 -0
  47. package/cron/cron.js +2 -0
  48. package/cron/cron.js.map +1 -0
  49. package/fixtures/cron-jobs.js +2 -0
  50. package/fixtures/cron-jobs.js.map +1 -0
  51. package/fixtures/init.js +2 -0
  52. package/fixtures/init.js.map +1 -0
  53. package/http/auth.js +2 -0
  54. package/http/auth.js.map +1 -0
  55. package/http/health.js +2 -0
  56. package/http/health.js.map +1 -0
  57. package/http/home.js +2 -0
  58. package/http/home.js.map +1 -0
  59. package/index.js +2 -0
  60. package/index.js.map +1 -0
  61. package/managers/cron.manager.js +2 -0
  62. package/managers/cron.manager.js.map +1 -0
  63. package/managers/database.manager.js +2 -0
  64. package/managers/database.manager.js.map +1 -0
  65. package/managers/method.manager.js +2 -0
  66. package/managers/method.manager.js.map +1 -0
  67. package/managers/queue-method.manager.js +2 -0
  68. package/managers/queue-method.manager.js.map +1 -0
  69. package/managers/subscription.manager.js +2 -0
  70. package/managers/subscription.manager.js.map +1 -0
  71. package/managers/support.manager.js +2 -0
  72. package/managers/support.manager.js.map +1 -0
  73. package/methods/accounts.js +2 -0
  74. package/methods/accounts.js.map +1 -0
  75. package/methods/aws.js +2 -0
  76. package/methods/aws.js.map +1 -0
  77. package/methods/cloudconvert.js +2 -0
  78. package/methods/cloudconvert.js.map +1 -0
  79. package/methods/collections.js +2 -0
  80. package/methods/collections.js.map +1 -0
  81. package/methods/counters.js +2 -0
  82. package/methods/counters.js.map +1 -0
  83. package/methods/cron-jobs.js +2 -0
  84. package/methods/cron-jobs.js.map +1 -0
  85. package/methods/flags.js +2 -0
  86. package/methods/flags.js.map +1 -0
  87. package/methods/logs.js +2 -0
  88. package/methods/logs.js.map +1 -0
  89. package/methods/pdf.js +2 -0
  90. package/methods/pdf.js.map +1 -0
  91. package/methods/report-builder.js +2 -0
  92. package/methods/report-builder.js.map +1 -0
  93. package/models/active-subscription.model.js +2 -0
  94. package/models/active-subscription.model.js.map +1 -0
  95. package/models/app-status.model.js +2 -0
  96. package/models/app-status.model.js.map +1 -0
  97. package/models/app-version.model.js +2 -0
  98. package/models/app-version.model.js.map +1 -0
  99. package/models/billing-logged-in-users.model.js +2 -0
  100. package/models/billing-logged-in-users.model.js.map +1 -0
  101. package/models/collection-document.model.js +2 -0
  102. package/models/collection-document.model.js.map +1 -0
  103. package/models/counter.model.js +2 -0
  104. package/models/counter.model.js.map +1 -0
  105. package/models/cron-job-history.model.js +2 -0
  106. package/models/cron-job-history.model.js.map +1 -0
  107. package/models/cron-job.model.js +2 -0
  108. package/models/cron-job.model.js.map +1 -0
  109. package/models/dialog.model.js +2 -0
  110. package/models/dialog.model.js.map +1 -0
  111. package/models/file.model.js +2 -0
  112. package/models/file.model.js.map +1 -0
  113. package/models/flag.model.js +2 -0
  114. package/models/flag.model.js.map +1 -0
  115. package/models/log-method-latency.model.js +2 -0
  116. package/models/log-method-latency.model.js.map +1 -0
  117. package/models/log-subscription.model.js +2 -0
  118. package/models/log-subscription.model.js.map +1 -0
  119. package/models/log.model.js +2 -0
  120. package/models/log.model.js.map +1 -0
  121. package/models/logged-in-users.model.js +2 -0
  122. package/models/logged-in-users.model.js.map +1 -0
  123. package/models/method-call.model.js +2 -0
  124. package/models/method-call.model.js.map +1 -0
  125. package/models/method-response.model.js +2 -0
  126. package/models/method-response.model.js.map +1 -0
  127. package/models/method.model.js +2 -0
  128. package/models/method.model.js.map +1 -0
  129. package/models/notification.model.js +2 -0
  130. package/models/notification.model.js.map +1 -0
  131. package/models/pagination.model.js +2 -0
  132. package/models/pagination.model.js.map +1 -0
  133. package/models/permission.model.js +2 -0
  134. package/models/permission.model.js.map +1 -0
  135. package/models/queue-method.model.js +2 -0
  136. package/models/queue-method.model.js.map +1 -0
  137. package/models/queue-response.model.js +2 -0
  138. package/models/queue-response.model.js.map +1 -0
  139. package/models/report-builder-report.model.js +2 -0
  140. package/models/report-builder-report.model.js.map +1 -0
  141. package/models/report-builder.model.js +2 -0
  142. package/models/report-builder.model.js.map +1 -0
  143. package/models/select-data-label.model.js +2 -0
  144. package/models/select-data-label.model.js.map +1 -0
  145. package/models/server-response.model.js +2 -0
  146. package/models/server-response.model.js.map +1 -0
  147. package/models/subscription.model.js +2 -0
  148. package/models/subscription.model.js.map +1 -0
  149. package/models/support-method.model.js +2 -0
  150. package/models/support-method.model.js.map +1 -0
  151. package/models/support-ticket.model.js +2 -0
  152. package/models/support-ticket.model.js.map +1 -0
  153. package/models/user.model.js +2 -0
  154. package/models/user.model.js.map +1 -0
  155. package/package.json +1 -1
  156. package/publications/app-status.js +2 -0
  157. package/publications/app-status.js.map +1 -0
  158. package/publications/app-version.js +2 -0
  159. package/publications/app-version.js.map +1 -0
  160. package/publications/billing-logged-in-users.js +2 -0
  161. package/publications/billing-logged-in-users.js.map +1 -0
  162. package/publications/cron-jobs.js +2 -0
  163. package/publications/cron-jobs.js.map +1 -0
  164. package/publications/files.js +2 -0
  165. package/publications/files.js.map +1 -0
  166. package/publications/flags.js +2 -0
  167. package/publications/flags.js.map +1 -0
  168. package/publications/logs.js +2 -0
  169. package/publications/logs.js.map +1 -0
  170. package/publications/method-calls.js +2 -0
  171. package/publications/method-calls.js.map +1 -0
  172. package/publications/method-responses.js +2 -0
  173. package/publications/method-responses.js.map +1 -0
  174. package/publications/notifications.js +2 -0
  175. package/publications/notifications.js.map +1 -0
  176. package/publications/report-builder-reports.js +2 -0
  177. package/publications/report-builder-reports.js.map +1 -0
  178. package/publications/super-admin.js +2 -0
  179. package/publications/super-admin.js.map +1 -0
  180. package/publications/support-tickets.js +2 -0
  181. package/publications/support-tickets.js.map +1 -0
  182. package/server-app.js +2 -0
  183. package/server-app.js.map +1 -0
  184. package/support-methods/aws.js +2 -0
  185. package/support-methods/aws.js.map +1 -0
  186. package/support-methods/collections.js +2 -0
  187. package/support-methods/collections.js.map +1 -0
  188. package/support-methods/counters.js +2 -0
  189. package/support-methods/counters.js.map +1 -0
  190. package/support-methods/support.js +2 -0
  191. package/support-methods/support.js.map +1 -0
  192. package/util/common.js +2 -0
  193. package/util/common.js.map +1 -0
  194. package/util/schema-report-builder.js +20 -2
  195. package/util/schema-report-builder.js.map +1 -0
package/methods/aws.js CHANGED
@@ -456,3 +456,5 @@ function loadAWSMethods(methodManager) {
456
456
  });
457
457
  }
458
458
  exports.loadAWSMethods = loadAWSMethods;
459
+
460
+ //# sourceMappingURL=aws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/aws.ts"],"names":[],"mappings":"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","file":"aws.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport { Types } from 'mongoose';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nlet request = require('request').defaults({ encoding: null });\n\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\tlet that = this;\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\n\t\t\t\t\t\tif (fileData.split(',')[0].split(':')[1].split(';')[0] === 'application/pdf' && compress) {\n\t\t\t\t\t\t\tlet file = {\n\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(), \n\t\t\t\t\t\t\t\t__v: 0, \n\t\t\t\t\t\t\t\tname: fileName, \n\t\t\t\t\t\t\t\tsize: fileSize, \n\t\t\t\t\t\t\t\tkey: key, \n\t\t\t\t\t\t\t\torder: fileOrder, \n\t\t\t\t\t\t\t\ttype: fileType\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tFiles.create(file).then(resFile => {\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'compressBase64AndUploadPDF', file._id, fileName, key, fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), (errCompress, resCompress) => {\n\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet newParams = {Bucket: that.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), ACL: 'private', ContentType: fileData.split(',')[0].split(':')[1].split(';')[0], ContentDisposition: 'inline'};\n\n\t\t\t\t\t\t\tthat.getAWS().upload(newParams, (err, res) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t\t}).then(resFile => {\n\t\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\t\n\t\t\tskipQueue: true,\t\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\n\t\t\t\t\t\tthis.getAWS().upload(newParams, function(err, res) {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\t\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id}).exec();\n\t\t\n\t\t\t\t\t\tlet delParams = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key};\n\t\t\t\n\t\t\t\t\t\tthis.getAWS().deleteObject(delParams, function(err, res) {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tFiles.deleteOne({_id: file._id}).exec();\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, function(err, res) {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: file.key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, function(err, res) {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id}).exec();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tkeys.forEach(key => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string) {\n\t\t\t\tlet that = this;\n\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, 'Attached is the file requested for email.', '', [{\n\t\t\t\t\t\t\t\t\tfilename: file.name,\n\t\t\t\t\t\t\t\t\tpath: resPDF\n\t\t\t\t\t\t\t\t}]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, 'Please click the link to the requested file. ' + resPDF, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
@@ -35,3 +35,5 @@ function loadCloudConvertMethods(methodManager) {
35
35
  });
36
36
  }
37
37
  exports.loadCloudConvertMethods = loadCloudConvertMethods;
38
+
39
+ //# sourceMappingURL=cloudconvert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/cloudconvert.ts"],"names":[],"mappings":";;AACA,iCAAmC;AAEnC,SAAgB,uBAAuB,CAAC,aAA4B;IACnE,aAAa,CAAC,OAAO,CAAC;QACrB,eAAe,EAAE;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBAAA,iBAwBT;gBAvBA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,OAAO,CAAC;wBACP,MAAM,EAAE,MAAM;wBACd,GAAG,EAAE,sCAAsC;wBAC3C,OAAO,EAAE;4BACR,cAAc,EAAE,iCAAiC;yBACjD;wBACD,IAAI,EAAE;4BACL,QAAQ,EAAE,KAAI,CAAC,YAAY,CAAC,cAAc,CAAC;4BAC3C,MAAM,EAAE,SAAS;4BACjB,aAAa,EAAE,KAAK;4BACpB,cAAc,EAAE,KAAK;yBACrB;qBACD,EAAE,CAAC,UAAC,KAAK,EAAE,QAAQ,EAAE,IAAI;wBACzB,IAAI,CAAC,KAAK,EAAE;4BACX,OAAO,CAAC,IAAI,CAAC,CAAC;yBACd;6BACI;4BACJ,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;4BACxC,MAAM,CAAC,KAAK,CAAC,CAAC;yBACd;oBACF,CAAC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AA/BD,0DA+BC","file":"cloudconvert.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport * as request from 'request';\n\nexport function loadCloudConvertMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgetCCProcessURL: {\n\t\t\tskipQueue: true,\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest({\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\turl: 'https://api.cloudconvert.com/process',\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'application/json; charset=UTF-8'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t'apikey': this.serverConfig['CLOUDCONVERT'],\n\t\t\t\t\t\t\t'mode': 'combine',\n\t\t\t\t\t\t\t'inputformat': 'pdf',\n\t\t\t\t\t\t\t'outputformat': 'pdf'\n\t\t\t\t\t\t}\n\t\t\t\t\t}, ((error, response, body) => {\n\t\t\t\t\t\tif (!error) {\n\t\t\t\t\t\t\tresolve(body);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error happened: ' + error);\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
@@ -910,3 +910,5 @@ function loadCollectionMethods(methodManager) {
910
910
  });
911
911
  }
912
912
  exports.loadCollectionMethods = loadCollectionMethods;
913
+
914
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/collections.ts"],"names":[],"mappings":"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","file":"collections.js","sourcesContent":["import { Document, Types} from 'mongoose';\nimport { MethodManager } from '../managers/method.manager';\nimport { getMongoUpdates, deepCopy, getMongoMergeUpdatedDoc, getBinarySize } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { Logs } from '../collections/log.collection';\nimport { ResolveIOServer } from '../index';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\t// Query database for any collection and query\n\t\tfindOne: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn ResolveIOServer.getMainDB().model(collection).findOne(query).exec();\n\t\t\t}\n\t\t},\n\t\tfind: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsort: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, sortQuery: Object = {}) {\n\t\t\t\treturn ResolveIOServer.getMainDB().model(collection).find(query).sort(sortQuery).exec();\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\ttype: PaginationOptionsSchema\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, options: PaginationOptions) {\n\t\t\t\treturn ResolveIOServer.getMainDB().model(collection).find(query).sort(options.sort).limit(options.limit).skip(options.skip).select(options.fields).exec();\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(document);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet id = Types.ObjectId().toHexString();\n\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).create(document).then(() => resolve(id), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertManyDocuments: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocuments: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'documents.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, documents: Object[]) {\n\t\t\t\treturn new Promise((res, rej) => {\n\n\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\tfor (let i = 0; i < documents.length; i++) {\n\t\t\t\t\t\tlet document = documents[i];\n\n\t\t\t\t\t\tpromises.push(new Promise((resolve, reject) => {\n\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(document);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet id = Types.ObjectId().toHexString();\n\t\t\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).create(document).then(() => resolve(id), err => reject(err));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\n\t\t\t\t\tPromise.all(promises).then(vals => res(vals), err => console.log(err));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update\n\t\tupdateDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).findOne({_id: f_document['_id']}).lean().exec((errDoc, currDoc) => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: f_document['_id']}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: f_document['_id']}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': f_document['__v']}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).lean().exec((errOldDoc, oldDoc) => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).replaceOne({_id: newCurrDocId}, updatedDoc).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentProps: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).findOne({_id: doc_id}).lean().exec((errDoc, currDoc: Document) => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: modifiedDoc._id}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: modifiedDoc._id}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': doc__v}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).lean().exec((errOldDoc, oldDoc) => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\t\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).replaceOne({_id: newCurrDocId}, updatedDoc).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tupdateDocumentOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).findOne({_id: f_document['_id']}).lean().exec((errDoc, currDoc) => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: f_document['_id']}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: f_document['_id']}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).replaceOne({_id: newCurrDocId}, updatedDoc).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentPropsOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).findOne({_id: doc_id}).lean().exec((errDoc, currDoc: Document) => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: modifiedDoc._id}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).updateOne({_id: modifiedDoc._id}, updates, {strict: false}).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(collection).replaceOne({_id: newCurrDocId}, updatedDoc).exec().then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainDB().model(ResolveIOServer.getMainDB().model(collection)['versionCollection']).deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).exec().then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + modifiedDoc.__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Removes 1 document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (deleted), res = 0 (not deleted), err = not deleted\n\t\t// Search for doc, if found then try and remove\n\t\tremoveDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: doc_id}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocument',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).deleteOne({_id: doc_id}).exec((err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tremoveDocumentWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document (Query)',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: query}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocumentWithQuery',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainDB().model(collection).deleteOne(query).exec((err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res.ok);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
@@ -105,3 +105,5 @@ function loadCounterMethods(methodManager) {
105
105
  });
106
106
  }
107
107
  exports.loadCounterMethods = loadCounterMethods;
108
+
109
+ //# sourceMappingURL=counters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/counters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AAEjC,wEAA6D;AAC7D,6CAAwC;AACxC,wBAAqC;AAErC,SAAgB,kBAAkB,CAAC,aAA4B;IAC9D,aAAa,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE;YACX,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,WAAW,EAAE;oBACZ,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,WAAmB;gBAA5B,iBAmBT;gBAlBA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;oCAC1B,qBAAM,6BAAQ,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,EAAA;;gCAArD,OAAO,GAAG,SAA2C;qCAErD,CAAC,OAAO,EAAR,wBAAQ;gCACX,6BAAQ,CAAC,MAAM,CAAC;oCACf,GAAG,EAAE,gBAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;oCACnC,KAAK,EAAE,CAAC;oCACR,IAAI,EAAE,WAAW;iCACjB,CAAC,CAAC;gCAEH,OAAO,CAAC,CAAC,CAAC,CAAC;;oCAGI,qBAAM,6BAAQ,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAC,IAAI,EAAE,EAAA;;gCAA1F,QAAQ,GAAG,SAA+E;gCAE9F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;;qBAEzB,CAAC,CAAC;YACJ,CAAC;SACD;QACD,wBAAwB,EAAE;YACzB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,cAAc,EAAE;oBACf,IAAI,EAAE,MAAM;iBACZ;gBACD,KAAK,EAAE;oBACN,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;iBACd;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,cAAsB,EAAE,KAAa;gBACvD,OAAO,mBAAe,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3F,CAAC;SACD;QACD,eAAe,EAAE;YAChB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,cAAc,EAAE;oBACf,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,cAAsB;gBACxC,OAAO,mBAAe,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YACtF,CAAC;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AAzDD,gDAyDC","file":"counters.js","sourcesContent":["import { Types } from 'mongoose';\nimport { MethodManager } from '../managers/method.manager';\nimport { Counters } from '../collections/counter.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '..';\n\nexport function loadCounterMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tincCounter: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcounterType: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(counterType: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet counter = await Counters.findOne({type: counterType});\n\n\t\t\t\t\tif (!counter) {\n\t\t\t\t\t\tCounters.create({\n\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t\tcount: 2,\n\t\t\t\t\t\t\ttype: counterType\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet newCount = await Counters.findOneAndUpdate({type: counterType}, {$inc: {count: 1}}).exec();\n\n\t\t\t\t\t\tresolve(newCount.count);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcountCollectionWithQuery: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollectionType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collectionType: string, query: Object) {\t\n\t\t\t\treturn ResolveIOServer.getMainDB().model(collectionType).collection.countDocuments(query);\n\t\t\t}\n\t\t},\n\t\tcountCollection: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollectionType: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collectionType: string) {\t\n\t\t\t\treturn ResolveIOServer.getMainDB().model(collectionType).collection.countDocuments();\n\t\t\t}\n\t\t}\n\t});\n}"]}
@@ -847,3 +847,5 @@ function getTreeLeaves(items, resArray, allowLookups) {
847
847
  }
848
848
  });
849
849
  }
850
+
851
+ //# sourceMappingURL=cron-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/cron-jobs.ts"],"names":[],"mappings":"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","file":"cron-jobs.js","sourcesContent":["import { QueueMethods } from '../collections/queue-method.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { ClientUsers, Users } from '../collections/user.collection';\nimport { ReportBuilderReports } from '../collections/report-builder-report.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { Types } from 'mongoose';\nimport { mergeDeep, deepCopy } from '../util/common';\nimport { PaginationOptions } from '../models/pagination.model';\nimport * as moment from 'moment';\nimport { parseAsync } from 'json2csv';\n\nexport function loadCronJobMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tmethodQueue: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet updateCnt = await QueueMethods.collection.countDocuments();\n\n\t\t\t\t\tif (updateCnt) {\n\t\t\t\t\t\tmethodManager.getMainServer().getQueueManager().runMethodQueue();\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tupdateClientUsers: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\t\t\tif (!ClientUsers) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n let users = await Users.find({});\n \n let count = 0;\n\n\t\t\t\t\tlet interval = setInterval(() => {\n\t\t\t\t\t\tlet updateChunk = users.slice(count * 10, Math.min(users.length, (count + 1) * 10));\n\t\t\t\t\t\tthis.callMethodInternal.call(this, 'updateClientUserChunk', updateChunk);\n\t\t\t\t\t\tcount++;\n\n\t\t\t\t\t\tif (count * 10 > users.length) {\n\t\t\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 1000);\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n },\n updateClientUserChunk: {\n check: new SimpleSchema({\n\t\t\t\tusers: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'users.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(users: Array<any>) {\n return new Promise((resolve, reject) => {\n users.forEach(user => {\n\t\t\t\t\t\tuser['client'] = this.serverConfig['CLIENT_NAME'];\n\t\t\t\t\t\tClientUsers.updateOne({ \n $and: [\n {id_user: user._id },\n {client: user['client']}\n ]\n }, {$setOnInsert: {\n\t\t\t\t\t\t\t_id: Types.ObjectId().toHexString(), \n\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\tid_user: user._id,\n\t\t\t\t\t\t\tfullname: user.fullname, \n\t\t\t\t\t\t\tclient: user['client']\n\t\t\t\t\t\t}, \n\t\t\t\t\t\t$set: {email: user.email}}, {upsert: true, strict: false}).exec();\n });\n\n resolve();\n });\n\t\t\t}\n\t\t},\n\t\treportbuilderCronJob: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tdata: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(data: Object) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet report = await ReportBuilderReports.findById(data['id_report']);\n\n\t\t\t\t\treport.fields_selected.forEach((field: any) => {\n\t\t\t\t\t\tlet dotPath = field.fieldPath.replace(/\\.\\$/g, '');\n\t\t\t\t\t\tlet fieldData = dotPath.split('.');\n\t\t\t\t\t\tfield.fieldPathObj = null;\n\t\t\t\t\t\tfor (let i = fieldData.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\tif (!field.fieldPathObj) {\n\t\t\t\t\t\t\t\tfield.fieldPathObj = {[fieldData[i]]: 1};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tfield.fieldPathObj = {[fieldData[i]]: field.fieldPathObj};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif ((report.fields_selected && report.fields_selected.length) || (report.groups_row && report.groups_row.length)) {\n\t\t\t\t\t\tlet fieldsObj = {};\n\n\t\t\t\t\t\tlet count = 0;\n\n\t\t\t\t\t\treport.fields_selected.forEach((field: any) => {\n\t\t\t\t\t\t\tif (field.collection_name === report.collection_root) {\n\t\t\t\t\t\t\t\tfieldsObj = mergeDeep(fieldsObj, field.fieldPathObj);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlet sortIndex = report.fields_sort.findIndex(a => a.field === field['id']);\n\n\t\t\t\t\t\t\tif (sortIndex >= 0) {\n\t\t\t\t\t\t\t\treport.fields_sort[sortIndex].field = ('f_' + count);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfield['id'] = 'f_' + count;\n\n\t\t\t\t\t\t\tcount += 1;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlet sortObj = {};\n\t\t\t\t\t\tif (report.fields_sort.length) {\n\t\t\t\t\t\t\treport.fields_sort.forEach(sortField => {\n\t\t\t\t\t\t\t\tif (sortField.field.startsWith('gr_') && (report.type === 'Tabular' || report.type === 'Dated')) {\n\t\t\t\t\t\t\t\t\tsortObj['_id.' + sortField.field] = (sortField.order === 'asc' ? 1 : -1);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tsortObj[sortField.field] = (sortField.order === 'asc' ? 1 : -1);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tsortObj = null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet rootOptions: PaginationOptions = {\n\t\t\t\t\t\t\tlimit: 0,\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tfields: fieldsObj,\n\t\t\t\t\t\t\tsort: sortObj\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tlet filters = [];\n\n\t\t\t\t\t\treport.fields_filter.filter(a => !a.field.includes('.$.')).forEach(filter => {\n\t\t\t\t\t\t\tif (filter.condition && filter.field && filter.value !== null) {\n\t\t\t\t\t\t\t\tif (filter.condition === 'bw') {\n\t\t\t\t\t\t\t\t\tif (filter.fieldType === 'Date' && filter.is_rolling) {\n\t\t\t\t\t\t\t\t\t\tlet startDate = null;\n\t\t\t\t\t\t\t\t\t\tlet endDate = null;\n\n\t\t\t\t\t\t\t\t\t\tif (filter.rolling_interval === 'Q1') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(2).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q2') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(2).toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(3).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q3') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(3).toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(4).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q4') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(4).toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Today') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Yesterday') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().subtract(1, 'days').startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Week') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('isoWeek').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Week') {\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('isoWeek').subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('isoWeek').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Month') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('month').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Month') {\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('month').subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('month').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last 30 Days') {\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().subtract(30, 'days').startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Quarter') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(moment().quarter()).toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Quarter') {\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(moment().quarter()).subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('quarter').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Year') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Year') {\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'All') {\n\t\t\t\t\t\t\t\t\t\t\tstartDate = new Date(2017, 0, 1, 0, 0, 0, 0);\n\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tfilters.push({[filter.field]: {'$gte': startDate}});\n\t\t\t\t\t\t\t\t\t\tfilters.push({[filter.field]: {'$lte': endDate}});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tfilters.push({[filter.field]: {'$gte': filter.value}});\n\t\t\t\t\t\t\t\t\t\tfilters.push({[filter.field]: {'$lte': filter.highValue}});\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (Array.isArray(filter.value)) {\n\t\t\t\t\t\t\t\t\t\tlet or = [];\n\n\t\t\t\t\t\t\t\t\t\tfilter.value.forEach(filt => {\n\t\t\t\t\t\t\t\t\t\t\tor.push({[filter.field]: {['$' + filter.condition]: (Array.isArray(filt) ? filt[0] : filt)}});\n\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\tfilters.push({$or: or});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tfilters.push({[filter.field]: {['$' + filter.condition]: filter.value}});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.callMethodInternal.call(this, 'reportBuilderBuildTree', report.collection_root, (errCollTree, collectionTree) => {\n\t\t\t\t\t\t\tif (collectionTree) {\n\t\t\t\t\t\t\t\tcollectionTree.layers = [collectionTree];\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet treeLeaves = [];\n\t\t\t\t\t\t\t\tlet allLeaves = [];\n\t\t\t\t\t\t\t\tgetTreeLeaves(collectionTree.children, treeLeaves);\n\t\t\t\t\t\t\t\tgetTreeLeaves(collectionTree.children, allLeaves, true);\n\n\t\t\t\t\t\t\t\tlet filterArrayFields = [];\n\t\t\t\t\t\t\t\tlet filterArrays = [];\n\n\t\t\t\t\t\t\t\treport.fields_filter.filter(a => a.field.includes('.$.')).forEach(filter => {\n\t\t\t\t\t\t\t\t\tfilterArrayFields.push(allLeaves.filter(a => a.fieldPath === filter.field)[0]);\n\t\t\t\t\t\t\t\t\tif (filter.condition && filter.field && filter.value !== null) {\n\t\t\t\t\t\t\t\t\t\tif (filter.condition === 'bw') {\n\t\t\t\t\t\t\t\t\t\t\tif (filter.fieldType === 'Date' && filter.is_rolling) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet startDate = null;\n\t\t\t\t\t\t\t\t\t\t\t\tlet endDate = null;\n\n\t\t\t\t\t\t\t\t\t\t\t\tif (filter.rolling_interval === 'Q1') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(2).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q2') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(2).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(3).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q3') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(3).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(4).subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Q4') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(4).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Today') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Yesterday') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().subtract(1, 'days').startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Week') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('isoWeek').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Week') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('isoWeek').subtract(1, 'days').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('isoWeek').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Month') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('month').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Month') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('month').subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('month').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last 30 Days') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().subtract(30, 'days').startOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Quarter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').quarter(moment().quarter()).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Quarter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').quarter(moment().quarter()).subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('quarter').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Year') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment().startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'Last Year') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().startOf('year').subtract(1, 'days').endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = moment(endDate).startOf('year').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (filter.rolling_interval === 'All') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartDate = new Date(2017, 0, 1, 0, 0, 0, 0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tendDate = moment().endOf('day').toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({[filter.field]: {'$gte': startDate}});\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({[filter.field]: {'$lte': endDate}});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({[filter.field]: {'$gte': filter.value}});\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({[filter.field]: {'$lte': filter.highValue}});\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tif (Array.isArray(filter.value)) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet or = [];\n\n\t\t\t\t\t\t\t\t\t\t\t\tfilter.value.forEach(filt => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tor.push({[filter.field.replace(/\\.\\$/g, '')]: {['$' + filter.condition]: (Array.isArray(filt) ? filt[0] : filt)}});\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({$or: or});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tfilterArrays.push({[filter.field.replace(/\\.\\$/g, '')]: {['$' + filter.condition]: filter.value}});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'reportBuilderGetResults', report.type, report.collection_root, rootOptions, filters, filterArrays, filterArrayFields, report.fields_selected, report.groups_row, report.fields_total, report.fields_link, report.id_date_field || null, report.date_interval || null, report.group_type, (err, res) => {\n\t\t\t\t\t\t\t\t\tif (res && res[0]) {\n\t\t\t\t\t\t\t\t\t\tconst fields = [];\n\n\t\t\t\t\t\t\t\t\t\tlet results = res[0].results;\n\t\t\t\t\t\t\t\t\t\tlet reportTotals = res[0].totals;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif (report.type === 'Tabular') {\n\t\t\t\t\t\t\t\t\t\t\treport.fields_selected.forEach(field => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (field.fieldType === 'Number' && field.leafFormatType === 'Number') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id].toLocaleString();\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if ((field.fieldType === 'Number' || field.leafValueType === 'Count') && field.leafFormatType === 'String') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id].toString();\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if ((field.fieldType === 'Number' || field.leafValueType === 'Count') && field.leafFormatType === 'Currency') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id].toLocaleString('en-US', { style: 'currency', currency: 'USD' });\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Boolean' && field.leafFormatType === 'String') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id] === true ? 'Yes' : 'No';\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Boolean' && (!field.leafFormatType || field.leafFormatType === 'Boolean')) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id] === true ? 'True' : 'False';\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Boolean' && field.leafFormatType === 'Boolean_Number') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = result[field.id] === true ? 1 : 0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && (field.leafFormatType === 'Date')) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).format('L');\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && field.leafFormatType === 'Time') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).format('LT');\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && field.leafFormatType === 'DateTime') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).format('MM/DD/YYYY h:mm A');\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && field.leafFormatType === 'Date_long') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).format('LL');\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && field.leafFormatType === 'DateTime_long') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).format('LLL');\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse if (field.fieldType === 'Date' && field.leafFormatType === 'Timestamp') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresults.filter(a => a[field.id] !== null).forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult[field.id] = moment(result[field.id]).toDate().getTime();\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\treport.groups_row.forEach(group => {\n\t\t\t\t\t\t\t\t\t\t\t\tfields.push('_id.' + group.id);\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\treport.fields_selected.forEach(selectedField => {\n\t\t\t\t\t\t\t\t\t\t\t\tfields.push(selectedField.id);\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\tconst opts = { fields };\n\n\t\t\t\t\t\t\t\t\t\t\tparseAsync(results, opts)\n\t\t\t\t\t\t\t\t\t\t\t.then(csv => {\n\t\t\t\t\t\t\t\t\t\t\t\tlet rows = csv.split(/(?:\\r\\n|\\n)+/).filter(function(el) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn el.length !== 0;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\treport.groups_row.forEach(group => {\n\t\t\t\t\t\t\t\t\t\t\t\t\trows[0] = rows[0].replace('_id.' + group.id, group.columnName);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\treport.fields_selected.forEach(selectedField => {\n\t\t\t\t\t\t\t\t\t\t\t\t\trows[0] = rows[0].replace(selectedField.id, selectedField.columnName);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tlet newCSV = '';\n\n\t\t\t\t\t\t\t\t\t\t\t\trows.forEach((row, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewCSV += row;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (index < rows.length - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewCSV += '\\r\\n';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tdata['emails'].forEach(email => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sendEmail(email,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'AAIMOS Scheduled Report - ' + report.report_name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>AAIMOS Automated Report<b><br>\n\t\t\t\t\t\t\t\t\t\t\t\t\tReport Name: ` + report.report_name + `<br>\n\t\t\t\t\t\t\t\t\t\t\t\t\tPrepared By: ` + data['user'] + `<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\t\tAttached are the results of this report in a CSV formatted file.<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\t\tHave a great day!<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\t\tResolveIO<br><br>`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilename: report.report_name + '-' + moment().format('MM-DD-YYYY-hh-mm-A') + '.csv',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: newCSV\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.serverConfig['MAIL_FROM_REPORTS']\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t.catch(errCSV => console.error(errCSV));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (report.type === 'Dated') {\n\t\t\t\t\t\t\t\t\t\t\tlet lines: any = [];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tlet tmpHeaders = {};\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\treport.groups_row.forEach(group => {\n\t\t\t\t\t\t\t\t\t\t\t\ttmpHeaders[group.id] = group.columnName;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\ttmpHeaders[''] = '';\n\n\t\t\t\t\t\t\t\t\t\t\tlet datedUniqueDates = [];\n\t\t\t\t\t\t\t\t\t\t\tlet datedUniqueGroups = [];\n\n\t\t\t\t\t\t\t\t\t\t\tif (report.date_interval === 'Quarterly') {\n\t\t\t\t\t\t\t\t\t\t\t\tresults.forEach(dataPt => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (dataPt._id.month < 4) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdataPt._id.quarter = 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (dataPt._id.month < 7) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdataPt._id.quarter = 2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (dataPt._id.month < 10) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdataPt._id.quarter = 3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdataPt._id.quarter = 4;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tdelete dataPt._id.month;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tfor (let i = results.length - 1; i >= 1; i--) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet dataPt = results[i];\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (results.filter(a => JSON.stringify(a._id) === JSON.stringify(dataPt._id)).length > 1) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet tmpData = results.filter(a => JSON.stringify(a._id) === JSON.stringify(dataPt._id))[0];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(tmpData).filter(a => a !== '_id').forEach(key => {\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpData[key] += dataPt[key];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresults.splice(i, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tlet tmpResults = deepCopy(results);\n\t\t\t\t\t\t\t\t\t\t\ttmpResults.forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id.day;\n\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id.week;\n\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id.month;\n\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id.quarter;\n\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id.year;\n\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmp = {};\n\n\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(result._id).forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[key] = result._id[key];\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tif (!datedUniqueGroups.filter(a => JSON.stringify(a) === JSON.stringify(tmp)).length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdatedUniqueGroups.push(tmp);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\ttmpResults = deepCopy(results);\n\n\t\t\t\t\t\t\t\t\t\t\ttmpResults.forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(result._id).filter(a => a !== 'day' && a !== 'week' && a !== 'month' && a !== 'quarter' && a !== 'year').forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdelete result._id[key];\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmp = {};\n\n\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(result._id).forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[key] = result._id[key];\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tif (!datedUniqueDates.filter(a => JSON.stringify(a) === JSON.stringify(tmp)).length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdatedUniqueDates.push(tmp);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tdatedUniqueDates.forEach(result => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (!result.year) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = 'No Date';\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (report.date_interval === 'Daily') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.date = new Date(result.year, result.month, result.day, 0, 0, 0, 0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = moment(result.date).format('MMM DD YYYY');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (report.date_interval === 'Weekly') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.date = moment().day('Sunday').week(result.week + 1).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateLast = moment().day('Saturday').week(result.week + 1).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = 'Week #' + (result.week + 1) + ' ' + result.year + '(' + moment(result.date).format('MM/DD/YY') + ' - ' + moment(result.dateLast).format('MM/DD/YY') + ')';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (report.date_interval === 'Monthly') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.date = new Date(result.year, result.month, 0, 0, 0, 0, 0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = moment(result.date).format('MMM YYYY');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (report.date_interval === 'Quarterly') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.date = moment().quarter(result.quarter).year(result.year).toDate();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = 'Q' + result.quarter + ' ' + result.year;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if (report.date_interval === 'Yearly') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.date = new Date(result.year);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresult.dateString = result.year.toString();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\tdatedUniqueDates = datedUniqueDates.filter(a => !a.date).concat(datedUniqueDates.filter(a => a.date).sort((a, b) => a.date.getTime() - b.date.getTime()));\n\n\t\t\t\t\t\t\t\t\t\t\tlet reportTotalGroups = [];\n\t\t\t\t\t\t\t\t\t\t\tlet reportTotalDates = [];\n\t\t\t\t\t\t\t\t\t\t\tlet datedData = [];\n\n\t\t\t\t\t\t\t\t\t\t\tdatedUniqueDates.forEach(date => {\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmpData = [];\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmpTotalDated = {};\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmpTotalCnt = {};\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmpTotalType = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tdatedUniqueGroups.forEach(group => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet result = results.filter(a => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet res = true;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(date).filter(a => a !== 'date' && a !== 'dateLast' && a !== 'dateString').forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (a._id[key] !== date[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tres = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(group).forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (a._id[key] !== group[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tres = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t\t\t\t\t\t\t\t})[0];\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpData.push(result);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(result._id).filter(a => a).forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (report.fields_total.filter(a => a.fields.includes(key)).length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!tmpTotalDated[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[key] = result._id[key];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[key] += result._id[key];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!tmpTotalCnt[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalCnt[key] = 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalCnt[key] += 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalType[key] = report.fields_total.filter(a => a.fields.includes(key))[0].type;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(result).filter(a => a && a !== '_id').forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (report.fields_total.filter(a => a.fields.includes(key)).length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!tmpTotalDated[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[key] = result[key];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[key] += result[key];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!tmpTotalCnt[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalCnt[key] = 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalCnt[key] += 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalType[key] = report.fields_total.filter(a => a.fields.includes(key))[0].type;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpData.push(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(tmpTotalType).forEach(totalKey => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (tmpTotalType[totalKey] === 'avg') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[totalKey] = tmpTotalDated[totalKey] / tmpTotalCnt[totalKey];\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalDated[totalKey] = Math.round(tmpTotalDated[totalKey] * 100) / 100;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\treportTotalDates.push(tmpTotalDated);\n\t\t\t\t\t\t\t\t\t\t\t\tdatedData.push(tmpData);\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\tdatedUniqueGroups.forEach(group => {\n\t\t\t\t\t\t\t\t\t\t\t\tlet tmpTotalGroup = {};\n\t\t\t\t\t\t\t\t\t\t\t\tlet filteredData = results.filter(a => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet res = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(group).filter(a => a !== 'date' && a !== 'dateLast' && a !== 'dateString' && a !== 'day' && a !== 'week' && a !== 'month' && a !== 'quarter' && a !== 'year').forEach(key => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (a._id[key] !== group[key]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tres = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\treport.fields_total.forEach(total => {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttotal.fields.forEach(field => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (filteredData.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!tmpTotalGroup[field]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalGroup[field] = filteredData.filter(a => a && a[field]).map(a => a[field]).reduce((a, b) => a + b, 0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalGroup[field] += filteredData.filter(a => a && a[field]).map(a => a[field]).reduce((a, b) => a + b, 0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (total.type === 'avg') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalGroup[field] = Math.round(tmpTotalGroup[field] / filteredData.length * 100) / 100;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmpTotalGroup[field] = 0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\treportTotalGroups.push(tmpTotalGroup);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tdatedUniqueDates.forEach(date => {\n\t\t\t\t\t\t\t\t\t\t\t\ttmpHeaders[date.dateString] = date.dateString;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\ttmpHeaders['Totals'] = 'Totals';\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tlines.push(tmpHeaders);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tfor (let i = 0; i <= datedUniqueGroups.length - 1; i++) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet group = datedUniqueGroups[i];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfor (let j = 0; j <= report.fields_selected.length - 1; j++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet field = report.fields_selected[j];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet tmp = {};\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= report.groups_row.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet groupRow = report.groups_row[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (j === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[group[groupRow.id]] = group[groupRow.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[group[groupRow.id]] = '';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[field.columnName] = field.columnName;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= datedData.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet result = datedData[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (result[i]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[i + ' ' + j + ' ' + k] = result[i][field.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[i + ' ' + j + ' ' + k] = '';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= report.fields_total.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet total = report.fields_total[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (total.fields.includes(field.id)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['total' + i + ' ' + j + ' ' + k] = reportTotalGroups[i][field.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['total' + i + ' ' + j + ' ' + k] = '';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tlines.push(tmp);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tif (reportTotals) {\n\t\t\t\t\t\t\t\t\t\t\t\tfor (let j = 0; j <= report.fields_selected.length - 1; j++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet field = report.fields_selected[j];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet tmp = {};\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= report.groups_row.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet groupRow = report.groups_row[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let l = 0; l <= report.fields_total.length - 1; l++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet total = report.fields_total[l];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (j === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[total.type + k] = total.type + ' TOTALS';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[total.type + k] = '';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\ttmp[field.columnName] = field.columnName;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= datedData.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet result = datedData[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let l = 0; l <= report.fields_total.length - 1; l++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet total = report.fields_total[l];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (total.fields.includes(field.id)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['total' + j + ' ' + k + ' ' + l] = reportTotalDates[k][field.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['total' + j + ' ' + k + ' ' + l] = '';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let k = 0; k <= report.groups_row.length - 1; k++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet groupRow = report.groups_row[k];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let l = 0; l <= report.fields_total.length - 1; l++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet total = report.fields_total[l];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (total.fields.includes(groupRow.id)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['totalreportTotals' + j + ' ' + k + ' ' + l] = reportTotals[total.id + groupRow.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let l = 0; l <= report.fields_total.length - 1; l++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet total = report.fields_total[l];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (total.fields.includes(field.id)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttmp['totalreportTotals' + j + ' ' + l] = reportTotals[total.id + '_' + field.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tlines.push(tmp);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tlet newCSV = '';\n\n\t\t\t\t\t\t\t\t\t\t\tlines.forEach((row, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(row).forEach((key, keyIndex) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (row[key] && typeof(row[key]) === 'string') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trow[key] = row[key].replace(new RegExp(/,/g), '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewCSV += row[key];\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (keyIndex < Object.keys(row).length - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewCSV += ',';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tif (index < lines.length - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewCSV += '\\r\\n';\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\tdata['emails'].forEach(email => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.sendEmail(email,\n\t\t\t\t\t\t\t\t\t\t\t\t'AAIMOS Scheduled Report - ' + report.report_name,\n\t\t\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t\t<b>AAIMOS Automated Report<b><br>\n\t\t\t\t\t\t\t\t\t\t\t\tReport Name: ` + report.report_name + `<br>\n\t\t\t\t\t\t\t\t\t\t\t\tPrepared By: ` + data['user'] + `<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\tAttached are the results of this report in a CSV formatted file.<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\tHave a great day!<br><br>\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIO<br><br>`,\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilename: report.report_name + '-' + moment().format('MM-DD-YYYY-hh-mm-A') + '.csv',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: newCSV\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tthis.serverConfig['MAIL_FROM_REPORTS']\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log(res);\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Report Builder Cron Job - Report Builder Get Results', [\n\t\t\t\t\t\t\t\t\t\t\terr\n\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction getTreeLeaves(items, resArray, allowLookups = false) {\n\titems.forEach(item => {\n\t\tif (item.isLeaf) {\n\t\t\tresArray.push(item);\n\t\t}\n\t\telse {\n\t\t\tif (!item.lookup_collection || allowLookups) {\n\t\t\t\tgetTreeLeaves(item.children, resArray, allowLookups);\n\t\t\t}\n\t\t}\n\t});\n}"]}
package/methods/flags.js CHANGED
@@ -4,3 +4,5 @@ function loadFlagMethods(methodManager) {
4
4
  methodManager.methods({});
5
5
  }
6
6
  exports.loadFlagMethods = loadFlagMethods;
7
+
8
+ //# sourceMappingURL=flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/flags.ts"],"names":[],"mappings":";;AAEA,SAAgB,eAAe,CAAC,aAA4B;IAC3D,aAAa,CAAC,OAAO,CAAC,EAErB,CAAC,CAAC;AACJ,CAAC;AAJD,0CAIC","file":"flags.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\n\nexport function loadFlagMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\t\n\t});\n}"]}
package/methods/logs.js CHANGED
@@ -369,3 +369,5 @@ function loadLogMethods(methodManager) {
369
369
  });
370
370
  }
371
371
  exports.loadLogMethods = loadLogMethods;
372
+
373
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/methods/logs.ts"],"names":[],"mappings":"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","file":"logs.js","sourcesContent":["import { Types } from 'mongoose';\nimport { MethodManager } from '../managers/method.manager';\nimport { Logs } from '../collections/log.collection';\nimport { LogSubscriptions } from '../collections/log-subscription.collection';\nimport { ResolveIOServer } from '../index';\nimport { LogMethodLatencies } from '../collections/log-method-latency.collection';\n\nexport function loadLogMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tinsertErrorLog: {\n\t\t\tskipQueue: true,\n\t\t\tfunction: function(message, data) {\n\t\t\t\tthis.sendEmail('dev@resolveio.com', 'Error Detected - ' + ResolveIOServer.getClientName(), this.user + '\\n' + message + '\\n' + JSON.stringify(data, null, 2));\n\n\t\t\t\treturn Logs.create({\n\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tdate: new Date(),\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttitle: 'Error - User: ' + this.user,\n\t\t\t\t\tmessage: message,\n\t\t\t\t\tpayload: JSON.stringify(data, null, 2),\n\t\t\t\t\tmethod: '',\n\t\t\t\t\tuser: this.user,\n\t\t\t\t\tmessageId: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertSubscriptionLog: {\n\t\t\tskipQueue: true,\n\t\t\tfunction: function(type, subscription, collection_name, subData) {\n\t\t\t\treturn LogSubscriptions.create({\n\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tdate: new Date(),\n\t\t\t\t\ttype: type,\n\t\t\t\t\tsubscription: subscription,\n\t\t\t\t\tcollection_name: collection_name,\n\t\t\t\t\tsubData: subData\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertMethodLatencyLog: {\n\t\t\tskipQueue: true,\n\t\t\tfunction: function(method) {\n\t\t\t\treturn LogMethodLatencies.create({\n\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tdate_start: new Date(),\n\t\t\t\t\tdate_end: null,\n\t\t\t\t\tlatency: 0,\n\t\t\t\t\tmethod: method\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tsuperadminAPM: {\n\t\t\tskipQueue: true,\n\t\t\tfunction: function(date_start: Date, date_end: Date, graphInterval) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet latencies = await LogMethodLatencies.aggregate([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$gte: date_start}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$lte: date_end}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t\t_id: '$method',\n\t\t\t\t\t\t\t\tmethod: {$first: '$method'},\n\t\t\t\t\t\t\t\tcount: {$sum: 1},\n\t\t\t\t\t\t\t\tlatency_min: {$min: '$latency_ms'},\n\t\t\t\t\t\t\t\tlatency_avg: {$avg: '$latency_ms'},\n\t\t\t\t\t\t\t\tlatency_max: {$max: '$latency_ms'}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]).allowDiskUse(true);\n\n\t\t\t\t\tlet subscriptions = await LogSubscriptions.aggregate([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$gte: date_start}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$lte: date_end}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t\t_id: '$subscription',\n\t\t\t\t\t\t\t\tsubscription: {$first: '$subscription'},\n\t\t\t\t\t\t\t\tcount: {$sum: 1}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]).allowDiskUse(true);\n\n\t\t\t\t\tlet groupId = {};\n\t\t\t\t\tlet groupSort = {};\n\n\t\t\t\t\tif (graphInterval === 'seconds') {\n\t\t\t\t\t\tgroupId = {\n\t\t\t\t\t\t\tsecond: {\n\t\t\t\t\t\t\t\t$second: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tgroupSort = {\n\t\t\t\t\t\t\t'_id.year': 1,\n\t\t\t\t\t\t\t'_id.month': 1,\n\t\t\t\t\t\t\t'_id.day': 1,\n\t\t\t\t\t\t\t'_id.hour': 1,\n\t\t\t\t\t\t\t'_id.minute': 1,\n\t\t\t\t\t\t\t'_id.second': 1\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\telse if (graphInterval === 'minutes') {\n\t\t\t\t\t\tgroupId = {\n\t\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tgroupSort = {\n\t\t\t\t\t\t\t'_id.year': 1,\n\t\t\t\t\t\t\t'_id.month': 1,\n\t\t\t\t\t\t\t'_id.day': 1,\n\t\t\t\t\t\t\t'_id.hour': 1,\n\t\t\t\t\t\t\t'_id.minute': 1\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\telse if (graphInterval === 'hours') {\n\t\t\t\t\t\tgroupId = {\n\t\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tgroupSort = {\n\t\t\t\t\t\t\t'_id.year': 1,\n\t\t\t\t\t\t\t'_id.month': 1,\n\t\t\t\t\t\t\t'_id.day': 1,\n\t\t\t\t\t\t\t'_id.hour': 1\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tgroupId = {\n\t\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\t\tdate: '$createdAt',\n\t\t\t\t\t\t\t\t\ttimezone: \"America/Chicago\"\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tgroupSort = {\n\t\t\t\t\t\t\t'_id.year': 1,\n\t\t\t\t\t\t\t'_id.month': 1,\n\t\t\t\t\t\t\t'_id.day': 1\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tlet methodGraphData = await LogMethodLatencies.aggregate([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$gte: date_start}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$lte: date_end}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t\t\tcount: {\n\t\t\t\t\t\t\t\t\t$sum: 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$sort: groupSort\n\t\t\t\t\t\t}\n\t\t\t\t\t]).allowDiskUse(true);\n\n\t\t\t\t\tlet subGraphData = await LogSubscriptions.aggregate([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$gte: date_start}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcreatedAt: {$lte: date_end}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t\t\tcount: {\n\t\t\t\t\t\t\t\t\t$sum: 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$sort: groupSort\n\t\t\t\t\t\t}\n\t\t\t\t\t]).allowDiskUse(true);\n\n\t\t\t\t\tresolve({\n\t\t\t\t\t\tmethods: latencies,\n\t\t\t\t\t\tsubscriptions: subscriptions,\n\t\t\t\t\t\tmethodGraphData: methodGraphData,\n\t\t\t\t\t\tsubGraphData: subGraphData\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t}\n\t});\n}"]}
package/methods/pdf.js CHANGED
@@ -448,3 +448,5 @@ function loadPDFMethods(methodManager) {
448
448
  });
449
449
  }
450
450
  exports.loadPDFMethods = loadPDFMethods;
451
+
452
+ //# sourceMappingURL=pdf.js.map