@resolveio/server-lib 9.2.19 → 9.2.20

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 (221) hide show
  1. package/client-server-app.js +55 -1
  2. package/client-server-app.js.map +1 -1
  3. package/collections/app-status.collection.js +40 -1
  4. package/collections/app-status.collection.js.map +1 -1
  5. package/collections/app-version.collection.js +40 -1
  6. package/collections/app-version.collection.js.map +1 -1
  7. package/collections/counter.collection.js +43 -1
  8. package/collections/counter.collection.js.map +1 -1
  9. package/collections/cron-job-history.collection.js +71 -1
  10. package/collections/cron-job-history.collection.js.map +1 -1
  11. package/collections/cron-job.collection.js +74 -1
  12. package/collections/cron-job.collection.js.map +1 -1
  13. package/collections/email-history.collection.js +55 -1
  14. package/collections/email-history.collection.js.map +1 -1
  15. package/collections/email-verified.collection.js +50 -1
  16. package/collections/email-verified.collection.js.map +1 -1
  17. package/collections/file.collection.js +62 -1
  18. package/collections/file.collection.js.map +1 -1
  19. package/collections/flag.collection.js +44 -1
  20. package/collections/flag.collection.js.map +1 -1
  21. package/collections/log-method-latency.collection.js +53 -1
  22. package/collections/log-method-latency.collection.js.map +1 -1
  23. package/collections/log-subscription.collection.js +57 -1
  24. package/collections/log-subscription.collection.js.map +1 -1
  25. package/collections/log.collection.js +72 -1
  26. package/collections/log.collection.js.map +1 -1
  27. package/collections/logged-in-users.collection.js +58 -1
  28. package/collections/logged-in-users.collection.js.map +1 -1
  29. package/collections/method-call.collection.js +51 -1
  30. package/collections/method-call.collection.js.map +1 -1
  31. package/collections/method-response.collection.js +55 -1
  32. package/collections/method-response.collection.js.map +1 -1
  33. package/collections/monitor-cpu.collection.js +57 -1
  34. package/collections/monitor-cpu.collection.js.map +1 -1
  35. package/collections/monitor-https-inbound.collection.js +66 -1
  36. package/collections/monitor-https-inbound.collection.js.map +1 -1
  37. package/collections/monitor-https-outbound.collection.js +74 -1
  38. package/collections/monitor-https-outbound.collection.js.map +1 -1
  39. package/collections/monitor-memory.collection.js +68 -1
  40. package/collections/monitor-memory.collection.js.map +1 -1
  41. package/collections/monitor-mongo.collection.js +62 -1
  42. package/collections/monitor-mongo.collection.js.map +1 -1
  43. package/collections/notification.collection.js +40 -1
  44. package/collections/notification.collection.js.map +1 -1
  45. package/collections/report-builder-dashboard-builder.collection.js +93 -1
  46. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  47. package/collections/report-builder-library.collection.js +76 -1
  48. package/collections/report-builder-library.collection.js.map +1 -1
  49. package/collections/report-builder-report.collection.js +138 -1
  50. package/collections/report-builder-report.collection.js.map +1 -1
  51. package/collections/user-group.collection.js +79 -1
  52. package/collections/user-group.collection.js.map +1 -1
  53. package/collections/user-guide.collection.js +46 -1
  54. package/collections/user-guide.collection.js.map +1 -1
  55. package/collections/user.collection.js +248 -1
  56. package/collections/user.collection.js.map +1 -1
  57. package/cron/cron.js +161 -1
  58. package/cron/cron.js.map +1 -1
  59. package/fixtures/cron-jobs.js +72 -1
  60. package/fixtures/cron-jobs.js.map +1 -1
  61. package/fixtures/init.js +62 -1
  62. package/fixtures/init.js.map +1 -1
  63. package/http/auth.js +697 -1
  64. package/http/auth.js.map +1 -1
  65. package/http/health.js +10 -1
  66. package/http/health.js.map +1 -1
  67. package/http/home.js +64 -1
  68. package/http/home.js.map +1 -1
  69. package/index.js +123 -1
  70. package/index.js.map +1 -1
  71. package/managers/cron.manager.js +205 -1
  72. package/managers/cron.manager.js.map +1 -1
  73. package/managers/method.manager.js +599 -1
  74. package/managers/method.manager.js.map +1 -1
  75. package/managers/mongo.manager.js +1682 -1
  76. package/managers/mongo.manager.js.map +1 -1
  77. package/managers/monitor.manager.js +334 -1
  78. package/managers/monitor.manager.js.map +1 -1
  79. package/managers/subscription.manager.js +867 -1
  80. package/managers/subscription.manager.js.map +1 -1
  81. package/managers/subscription.performance.js +100 -1
  82. package/managers/subscription.performance.js.map +1 -1
  83. package/methods/accounts.js +224 -1
  84. package/methods/accounts.js.map +1 -1
  85. package/methods/aws.js +449 -1
  86. package/methods/aws.js.map +1 -1
  87. package/methods/cloudconvert.js +214 -1
  88. package/methods/cloudconvert.js.map +1 -1
  89. package/methods/collections.js +526 -1
  90. package/methods/collections.js.map +1 -1
  91. package/methods/counters.js +121 -1
  92. package/methods/counters.js.map +1 -1
  93. package/methods/cron-jobs.js +1284 -1
  94. package/methods/cron-jobs.js.map +1 -1
  95. package/methods/flags.js +8 -1
  96. package/methods/flags.js.map +1 -1
  97. package/methods/logs.js +370 -1
  98. package/methods/logs.js.map +1 -1
  99. package/methods/monitor.js +384 -1
  100. package/methods/monitor.js.map +1 -1
  101. package/methods/pdf.js +685 -1
  102. package/methods/pdf.js.map +1 -1
  103. package/methods/report-builder.js +826 -1
  104. package/methods/report-builder.js.map +1 -1
  105. package/methods/support.js +263 -1
  106. package/methods/support.js.map +1 -1
  107. package/models/app-status.model.js +3 -1
  108. package/models/app-status.model.js.map +1 -1
  109. package/models/app-version.model.js +3 -1
  110. package/models/app-version.model.js.map +1 -1
  111. package/models/billing-logged-in-users.model.js +3 -1
  112. package/models/billing-logged-in-users.model.js.map +1 -1
  113. package/models/collection-document.model.js +3 -1
  114. package/models/collection-document.model.js.map +1 -1
  115. package/models/counter.model.js +3 -1
  116. package/models/counter.model.js.map +1 -1
  117. package/models/cron-job-history.model.js +3 -1
  118. package/models/cron-job-history.model.js.map +1 -1
  119. package/models/cron-job.model.js +3 -1
  120. package/models/cron-job.model.js.map +1 -1
  121. package/models/dialog.model.js +3 -1
  122. package/models/dialog.model.js.map +1 -1
  123. package/models/email-history.model.js +3 -1
  124. package/models/email-history.model.js.map +1 -1
  125. package/models/email-verified.model.js +3 -1
  126. package/models/email-verified.model.js.map +1 -1
  127. package/models/file.model.js +3 -1
  128. package/models/file.model.js.map +1 -1
  129. package/models/flag.model.js +3 -1
  130. package/models/flag.model.js.map +1 -1
  131. package/models/log-method-latency.model.js +3 -1
  132. package/models/log-method-latency.model.js.map +1 -1
  133. package/models/log-subscription.model.js +3 -1
  134. package/models/log-subscription.model.js.map +1 -1
  135. package/models/log.model.js +3 -1
  136. package/models/log.model.js.map +1 -1
  137. package/models/logged-in-users.model.js +3 -1
  138. package/models/logged-in-users.model.js.map +1 -1
  139. package/models/method-call.model.js +3 -1
  140. package/models/method-call.model.js.map +1 -1
  141. package/models/method-response.model.js +3 -1
  142. package/models/method-response.model.js.map +1 -1
  143. package/models/method.model.js +3 -1
  144. package/models/method.model.js.map +1 -1
  145. package/models/monitor-cpu.model.js +3 -1
  146. package/models/monitor-cpu.model.js.map +1 -1
  147. package/models/monitor-https-inbound.model.js +3 -1
  148. package/models/monitor-https-inbound.model.js.map +1 -1
  149. package/models/monitor-https-outbound.model.js +3 -1
  150. package/models/monitor-https-outbound.model.js.map +1 -1
  151. package/models/monitor-memory.model.js +3 -1
  152. package/models/monitor-memory.model.js.map +1 -1
  153. package/models/monitor-mongo.model.js +3 -1
  154. package/models/monitor-mongo.model.js.map +1 -1
  155. package/models/notification.model.js +3 -1
  156. package/models/notification.model.js.map +1 -1
  157. package/models/pagination.model.js +23 -1
  158. package/models/pagination.model.js.map +1 -1
  159. package/models/permission.model.js +3 -1
  160. package/models/permission.model.js.map +1 -1
  161. package/models/report-builder-dashboard-builder.model.js +3 -1
  162. package/models/report-builder-dashboard-builder.model.js.map +1 -1
  163. package/models/report-builder-library.model.js +3 -1
  164. package/models/report-builder-library.model.js.map +1 -1
  165. package/models/report-builder-report.model.js +3 -1
  166. package/models/report-builder-report.model.js.map +1 -1
  167. package/models/report-builder.model.js +3 -1
  168. package/models/report-builder.model.js.map +1 -1
  169. package/models/select-data-label.model.js +3 -1
  170. package/models/select-data-label.model.js.map +1 -1
  171. package/models/server-response.model.js +3 -1
  172. package/models/server-response.model.js.map +1 -1
  173. package/models/subscription.model.js +3 -1
  174. package/models/subscription.model.js.map +1 -1
  175. package/models/support-ticket.model.js +3 -1
  176. package/models/support-ticket.model.js.map +1 -1
  177. package/models/user-group.model.js +3 -1
  178. package/models/user-group.model.js.map +1 -1
  179. package/models/user-guide.model.js +3 -1
  180. package/models/user-guide.model.js.map +1 -1
  181. package/models/user.model.js +3 -1
  182. package/models/user.model.js.map +1 -1
  183. package/package.json +1 -2
  184. package/public_api.js +78 -1
  185. package/public_api.js.map +1 -1
  186. package/publications/app-status.js +16 -1
  187. package/publications/app-status.js.map +1 -1
  188. package/publications/app-version.js +16 -1
  189. package/publications/app-version.js.map +1 -1
  190. package/publications/cron-jobs.js +32 -1
  191. package/publications/cron-jobs.js.map +1 -1
  192. package/publications/files.js +36 -1
  193. package/publications/files.js.map +1 -1
  194. package/publications/flags.js +22 -1
  195. package/publications/flags.js.map +1 -1
  196. package/publications/logs.js +90 -1
  197. package/publications/logs.js.map +1 -1
  198. package/publications/method-calls.js +16 -1
  199. package/publications/method-calls.js.map +1 -1
  200. package/publications/method-responses.js +16 -1
  201. package/publications/method-responses.js.map +1 -1
  202. package/publications/notifications.js +16 -1
  203. package/publications/notifications.js.map +1 -1
  204. package/publications/report-builder-dashboard-builders.js +42 -1
  205. package/publications/report-builder-dashboard-builders.js.map +1 -1
  206. package/publications/report-builder-libraries.js +89 -1
  207. package/publications/report-builder-libraries.js.map +1 -1
  208. package/publications/report-builder-reports.js +50 -1
  209. package/publications/report-builder-reports.js.map +1 -1
  210. package/publications/super-admin.js +16 -1
  211. package/publications/super-admin.js.map +1 -1
  212. package/publications/user-groups.js +16 -1
  213. package/publications/user-groups.js.map +1 -1
  214. package/publications/user-guides.js +16 -1
  215. package/publications/user-guides.js.map +1 -1
  216. package/server-app.js +682 -1
  217. package/server-app.js.map +1 -1
  218. package/util/common.js +498 -1
  219. package/util/common.js.map +1 -1
  220. package/util/schema-report-builder.js +452 -1
  221. package/util/schema-report-builder.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/collections.ts"],"names":["common_1","require","simpl_schema_1","pagination_model_1","index_1","mongo_manager_1","loadCollectionMethods","methodManager","methods","collectionListAll","function","Promise","resolve","reject","ResolveIOServer","getMongoManager","collections","map","a","collectionName","sort","b","localeCompare","collectionListRB","filter","useRB","findOne","check","default","collection","type","String","query","Object","blackbox","then","res","err","find","optional","sortQuery","findWithOptions","options","PaginationOptionsSchema","optionsQuery","fields","keys","length","limit","skip","insertDocument","document","id_1","objectIdHexString","insertOne","insertManyDocuments","documents","Array","documents.$","forEach","insertMany","updateDocument","f_document","replaceOne","_id","updateDocumentProps","doc_id","updateParams","updateParams.$","doc__v","Number","currDoc","modifiedDoc_1","deepCopy","data","prop","__v","console","log","Date","oldDoc","newCurrDocId","newCurrDocV","updatedDoc","getMongoMergeUpdatedDoc","updateDocumentOffline","f_oldDocument","newCurrDocId_1","newCurrDocV_1","oldDocV_1","updateDocumentPropsOffline","modifiedDoc_2","newCurrDocId_2","newCurrDocV_2","removeDocument","deleteOne","removeDocumentWithQuery","removeDocumentsWithQuery","deleteMany","exports"],"mappings":"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","file":"collections.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { deepCopy, getMongoMergeUpdatedDoc } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tcollectionListAll: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tresolve(ResolveIOServer.getMongoManager().collections().map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcollectionListRB: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tresolve(ResolveIOServer.getMongoManager().collections().filter(a => a.useRB).map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Query database for any collection and query\n\t\tfindOne: {\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 = {}) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne(query).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tfind: {\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 = {}, sortQuery = {}) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).find(query, {sort: sortQuery}).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\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 new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet optionsQuery = {};\n\n\t\t\t\t\t\tif (options.fields && Object.keys(options.fields).length) {\n\t\t\t\t\t\t\toptionsQuery['projection'] = options.fields;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.sort && Object.keys(options.sort).length) {\n\t\t\t\t\t\t\toptionsQuery['sort'] = options.sort;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.limit) {\n\t\t\t\t\t\t\toptionsQuery['limit'] = options.limit;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.skip) {\n\t\t\t\t\t\t\toptionsQuery['skip'] = options.skip;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).find(query, optionsQuery).then(res => resolve(res), 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\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\tdocument['__v'] = 0;\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).insertOne(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((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tdocuments.forEach(document => {\n\t\t\t\t\t\t\tdocument['_id'] = objectIdHexString();\n\t\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).insertMany(documents).then(() => resolve(documents.map(a => a['_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// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), 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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document).then(res => resolve(res), err => reject(err));\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\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\t__v: doc__v\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\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\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\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\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\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\t\t\tlet oldDocV = f_document['__v'];\n\n\t\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\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\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_id: newCurrDocId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t__v: oldDocV\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}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\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\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\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\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\treject('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + oldDocV);\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}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}, null, true).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, f_oldDocument);\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 = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\t\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\t\t__v: doc__v\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}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\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\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\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\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\treject('OFFLINE - 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\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}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteOne({_id: doc_id}).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteOne(query).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\tremoveDocumentsWithQuery: {\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteMany(query).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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}"]}
1
+ {"version":3,"sources":["../../src/methods/collections.ts"],"names":[],"mappings":"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","file":"collections.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { deepCopy, getMongoMergeUpdatedDoc } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tcollectionListAll: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tresolve(ResolveIOServer.getMongoManager().collections().map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcollectionListRB: {\n\t\t\tfunction: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tresolve(ResolveIOServer.getMongoManager().collections().filter(a => a.useRB).map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Query database for any collection and query\n\t\tfindOne: {\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 = {}) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne(query).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tfind: {\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 = {}, sortQuery = {}) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).find(query, {sort: sortQuery}).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\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 new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet optionsQuery = {};\n\n\t\t\t\t\t\tif (options.fields && Object.keys(options.fields).length) {\n\t\t\t\t\t\t\toptionsQuery['projection'] = options.fields;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.sort && Object.keys(options.sort).length) {\n\t\t\t\t\t\t\toptionsQuery['sort'] = options.sort;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.limit) {\n\t\t\t\t\t\t\toptionsQuery['limit'] = options.limit;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (options.skip) {\n\t\t\t\t\t\t\toptionsQuery['skip'] = options.skip;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).find(query, optionsQuery).then(res => resolve(res), 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\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\tdocument['__v'] = 0;\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).insertOne(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((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tdocuments.forEach(document => {\n\t\t\t\t\t\t\tdocument['_id'] = objectIdHexString();\n\t\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).insertMany(documents).then(() => resolve(documents.map(a => a['_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// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), 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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document).then(res => resolve(res), err => reject(err));\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\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\t__v: doc__v\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\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\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\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\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\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\t\t\tlet oldDocV = f_document['__v'];\n\n\t\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\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\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_id: newCurrDocId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t__v: oldDocV\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}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\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\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\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\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\treject('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + oldDocV);\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}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}, null, true).then(currDoc => {\n\t\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, f_oldDocument);\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 = currDoc.__v;\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t\t\t\t_id: {\n\t\t\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\t\t__v: doc__v\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}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\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\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\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\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\treject('OFFLINE - 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\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}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\treject('Invalid Version And We Are NOT Using Versions On This Collection!');\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\treject('No Document');\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\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\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteOne({_id: doc_id}).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteOne(query).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\tremoveDocumentsWithQuery: {\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\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collection).deleteMany(query).then(res => {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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}"]}
@@ -1,2 +1,122 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,n,t,o){return new(t||(t=Promise))((function(r,c){function fulfilled(e){try{step(o.next(e))}catch(e){c(e)}}function rejected(e){try{step(o.throw(e))}catch(e){c(e)}}function step(e){e.done?r(e.value):function adopt(e){return e instanceof t?e:new t((function(n){n(e)}))}(e.value).then(fulfilled,rejected)}step((o=o.apply(e,n||[])).next())}))},__generator=this&&this.__generator||function(e,n){var t,o,r,c,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function verb(c){return function(u){return function step(c){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){i.label=c[1];break}if(6===c[0]&&i.label<r[1]){i.label=r[1],r=c;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(c);break}r[2]&&i.ops.pop(),i.trys.pop();continue}c=n.call(e,i)}catch(e){c=[6,e],o=0}finally{t=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCounterMethods=void 0;var counter_collection_1=require("../collections/counter.collection"),simpl_schema_1=require("simpl-schema"),__1=require(".."),mongo_manager_1=require("../managers/mongo.manager");function loadCounterMethods(e){e.methods({incCounter:{check:new simpl_schema_1.default({counterType:{type:String}}),function:function(e){var n=this;return new Promise((function(t,o){return __awaiter(n,void 0,void 0,(function(){var n;return __generator(this,(function(o){switch(o.label){case 0:return[4,counter_collection_1.Counters.findOne({type:e})];case 1:return o.sent()?[3,2]:(counter_collection_1.Counters.create({_id:mongo_manager_1.objectIdHexString(),count:2,type:e}),t(1),[3,4]);case 2:return[4,counter_collection_1.Counters.findOneAndUpdate({type:e},{$inc:{count:1}})];case 3:n=o.sent(),t(n.count),o.label=4;case 4:return[2]}}))}))}))}},countCollectionWithQuery:{check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,n){return new Promise((function(t,o){__1.ResolveIOServer.getMongoManager().collection(e)?__1.ResolveIOServer.getMongoManager().collection(e).countDocuments(n).then((function(e){return t(e)}),(function(e){return o(e)})):o("Invalid collection")}))}},countCollection:{check:new simpl_schema_1.default({collectionType:{type:String}}),function:function(e){return new Promise((function(n,t){__1.ResolveIOServer.getMongoManager().collection(e)?__1.ResolveIOServer.getMongoManager().collection(e).countDocuments().then((function(e){return n(e)}),(function(e){return t(e)})):t("Invalid collection")}))}}})}exports.loadCounterMethods=loadCounterMethods;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.loadCounterMethods = void 0;
40
+ var counter_collection_1 = require("../collections/counter.collection");
41
+ var simpl_schema_1 = require("simpl-schema");
42
+ var __1 = require("..");
43
+ var mongo_manager_1 = require("../managers/mongo.manager");
44
+ function loadCounterMethods(methodManager) {
45
+ methodManager.methods({
46
+ incCounter: {
47
+ check: new simpl_schema_1.default({
48
+ counterType: {
49
+ type: String
50
+ }
51
+ }),
52
+ function: function (counterType) {
53
+ var _this = this;
54
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
55
+ var counter, newCount;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0: return [4 /*yield*/, counter_collection_1.Counters.findOne({ type: counterType })];
59
+ case 1:
60
+ counter = _a.sent();
61
+ if (!!counter) return [3 /*break*/, 2];
62
+ counter_collection_1.Counters.create({
63
+ _id: mongo_manager_1.objectIdHexString(),
64
+ count: 2,
65
+ type: counterType
66
+ });
67
+ resolve(1);
68
+ return [3 /*break*/, 4];
69
+ case 2: return [4 /*yield*/, counter_collection_1.Counters.findOneAndUpdate({ type: counterType }, { $inc: { count: 1 } })];
70
+ case 3:
71
+ newCount = _a.sent();
72
+ resolve(newCount.count);
73
+ _a.label = 4;
74
+ case 4: return [2 /*return*/];
75
+ }
76
+ });
77
+ }); });
78
+ }
79
+ },
80
+ countCollectionWithQuery: {
81
+ check: new simpl_schema_1.default({
82
+ collectionType: {
83
+ type: String
84
+ },
85
+ query: {
86
+ type: Object,
87
+ blackbox: true
88
+ }
89
+ }),
90
+ function: function (collectionType, query) {
91
+ return new Promise(function (resolve, reject) {
92
+ if (!__1.ResolveIOServer.getMongoManager().collection(collectionType)) {
93
+ reject('Invalid collection');
94
+ }
95
+ else {
96
+ __1.ResolveIOServer.getMongoManager().collection(collectionType).countDocuments(query).then(function (res) { return resolve(res); }, function (err) { return reject(err); });
97
+ }
98
+ });
99
+ }
100
+ },
101
+ countCollection: {
102
+ check: new simpl_schema_1.default({
103
+ collectionType: {
104
+ type: String
105
+ }
106
+ }),
107
+ function: function (collectionType) {
108
+ return new Promise(function (resolve, reject) {
109
+ if (!__1.ResolveIOServer.getMongoManager().collection(collectionType)) {
110
+ reject('Invalid collection');
111
+ }
112
+ else {
113
+ __1.ResolveIOServer.getMongoManager().collection(collectionType).countDocuments().then(function (res) { return resolve(res); }, function (err) { return reject(err); });
114
+ }
115
+ });
116
+ }
117
+ }
118
+ });
119
+ }
120
+ exports.loadCounterMethods = loadCounterMethods;
121
+
2
122
  //# sourceMappingURL=counters.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/counters.ts"],"names":["counter_collection_1","require","simpl_schema_1","__1","mongo_manager_1","loadCounterMethods","methodManager","methods","incCounter","check","default","counterType","type","String","function","_this","this","Promise","resolve","reject","__awaiter","Counters","findOne","_a","sent","create","_id","objectIdHexString","count","findOneAndUpdate","$inc","newCount","countCollectionWithQuery","collectionType","query","Object","blackbox","ResolveIOServer","getMongoManager","collection","countDocuments","then","res","err","countCollection","exports"],"mappings":"mkDACA,IAAAA,qBAAAC,QAAA,qCACAC,eAAAD,QAAA,gBACAE,IAAAF,QAAA,MACAG,gBAAAH,QAAA,6BAEA,SAAgBI,mBAAmBC,GAClCA,EAAcC,QAAQ,CACrBC,WAAY,CACXC,MAAO,IAAIP,eAAAQ,QAAa,CACvBC,YAAa,CACZC,KAAMC,UAGRC,SAAU,SAASH,GAAT,IAAAI,EAAAC,KACT,OAAO,IAAIC,SAAQ,SAAOC,EAASC,GAAM,OAAAC,UAAAL,OAAA,OAAA,GAAA,6EAC1B,MAAA,CAAA,EAAMf,qBAAAqB,SAASC,QAAQ,CAACV,KAAMD,mBAA9BY,EAAAC,OAEV,CAAA,EAAA,IACHxB,qBAAAqB,SAASI,OAAO,CACfC,IAAKtB,gBAAAuB,oBACLC,MAAO,EACPhB,KAAMD,IAGPO,EAAQ,iBAGO,MAAA,CAAA,EAAMlB,qBAAAqB,SAASQ,iBAAiB,CAACjB,KAAMD,GAAc,CAACmB,KAAM,CAACF,MAAO,aAA/EG,EAAWR,EAAAC,OAEfN,EAAQa,EAASH,8CAKrBI,yBAA0B,CACzBvB,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,QAEPqB,MAAO,CACNtB,KAAMuB,OACNC,UAAU,KAGZtB,SAAU,SAASmB,EAAwBC,GAC1C,OAAO,IAAIjB,SAAQ,SAACC,EAASC,GACvBhB,IAAAkC,gBAAgBC,kBAAkBC,WAAWN,GAIjD9B,IAAAkC,gBAAgBC,kBAAkBC,WAAWN,GAAgBO,eAAeN,GAAOO,MAAK,SAAAC,GAAO,OAAAxB,EAAQwB,MAAM,SAAAC,GAAO,OAAAxB,EAAOwB,MAH3HxB,EAAO,2BAQXyB,gBAAiB,CAChBnC,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,UAGRC,SAAU,SAASmB,GAClB,OAAO,IAAIhB,SAAQ,SAACC,EAASC,GACvBhB,IAAAkC,gBAAgBC,kBAAkBC,WAAWN,GAIjD9B,IAAAkC,gBAAgBC,kBAAkBC,WAAWN,GAAgBO,iBAAiBC,MAAK,SAAAC,GAAO,OAAAxB,EAAQwB,MAAM,SAAAC,GAAO,OAAAxB,EAAOwB,MAHtHxB,EAAO,6BA3Db0B,QAAAxC,mBAAAA","file":"counters.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Counters } from '../collections/counter.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '..';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCounterMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tincCounter: {\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: objectIdHexString(),\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}});\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\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) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collectionType)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collectionType).countDocuments(query).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcountCollection: {\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) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collectionType)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collectionType).countDocuments().then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/methods/counters.ts"],"names":[],"mappings":"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","file":"counters.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Counters } from '../collections/counter.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '..';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCounterMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tincCounter: {\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: objectIdHexString(),\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}});\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\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) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collectionType)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collectionType).countDocuments(query).then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcountCollection: {\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) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collectionType)) {\n\t\t\t\t\t\treject('Invalid collection');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tResolveIOServer.getMongoManager().collection(collectionType).countDocuments().then(res => resolve(res), err => reject(err));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}