@resolveio/server-lib 20.5.0 → 20.5.3

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 (113) hide show
  1. package/collections/app-status.collection.js +1 -1
  2. package/collections/app-status.collection.js.map +1 -1
  3. package/collections/counter.collection.js +1 -1
  4. package/collections/counter.collection.js.map +1 -1
  5. package/collections/cron-job-history.collection.js +1 -1
  6. package/collections/cron-job-history.collection.js.map +1 -1
  7. package/collections/cron-job.collection.js +1 -1
  8. package/collections/cron-job.collection.js.map +1 -1
  9. package/collections/email-history.collection.js +1 -1
  10. package/collections/email-history.collection.js.map +1 -1
  11. package/collections/email-verified.collection.js +1 -1
  12. package/collections/email-verified.collection.js.map +1 -1
  13. package/collections/file.collection.js +1 -1
  14. package/collections/file.collection.js.map +1 -1
  15. package/collections/flag-update.collection.js +1 -1
  16. package/collections/flag-update.collection.js.map +1 -1
  17. package/collections/flag.collection.js +1 -1
  18. package/collections/flag.collection.js.map +1 -1
  19. package/collections/log-method-latency.collection.js +1 -1
  20. package/collections/log-method-latency.collection.js.map +1 -1
  21. package/collections/log-subscription.collection.js +1 -1
  22. package/collections/log-subscription.collection.js.map +1 -1
  23. package/collections/log.collection.js +1 -1
  24. package/collections/log.collection.js.map +1 -1
  25. package/collections/logged-in-users.collection.js +1 -1
  26. package/collections/logged-in-users.collection.js.map +1 -1
  27. package/collections/method-response.collection.js +1 -1
  28. package/collections/method-response.collection.js.map +1 -1
  29. package/collections/monitor-cpu.collection.js +1 -1
  30. package/collections/monitor-cpu.collection.js.map +1 -1
  31. package/collections/monitor-memory.collection.js +1 -1
  32. package/collections/monitor-memory.collection.js.map +1 -1
  33. package/collections/monitor-mongo.collection.js +1 -1
  34. package/collections/monitor-mongo.collection.js.map +1 -1
  35. package/collections/notification.collection.js +1 -1
  36. package/collections/notification.collection.js.map +1 -1
  37. package/collections/report-builder-dashboard-builder.collection.js +1 -1
  38. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  39. package/collections/report-builder-library.collection.js +1 -1
  40. package/collections/report-builder-library.collection.js.map +1 -1
  41. package/collections/report-builder-report.collection.js +1 -1
  42. package/collections/report-builder-report.collection.js.map +1 -1
  43. package/collections/user-group.collection.js +1 -1
  44. package/collections/user-group.collection.js.map +1 -1
  45. package/collections/user-guide.collection.js +1 -1
  46. package/collections/user-guide.collection.js.map +1 -1
  47. package/collections/user.collection.js +1 -1
  48. package/collections/user.collection.js.map +1 -1
  49. package/collections/worker-task-request.collection.js +1 -1
  50. package/collections/worker-task-request.collection.js.map +1 -1
  51. package/collections/worker-task-response.collection.js +1 -1
  52. package/collections/worker-task-response.collection.js.map +1 -1
  53. package/fixtures/cron-jobs.js +1 -1
  54. package/fixtures/cron-jobs.js.map +1 -1
  55. package/fixtures/init.js +1 -1
  56. package/fixtures/init.js.map +1 -1
  57. package/http/auth.d.ts +1 -2
  58. package/http/auth.js +1 -1
  59. package/http/auth.js.map +1 -1
  60. package/http/home.d.ts +1 -2
  61. package/http/home.js +1 -1
  62. package/http/home.js.map +1 -1
  63. package/index.d.ts +0 -30
  64. package/index.js +1 -1
  65. package/index.js.map +1 -1
  66. package/managers/cron.manager.js +1 -1
  67. package/managers/cron.manager.js.map +1 -1
  68. package/managers/local-log.manager.js +1 -1
  69. package/managers/local-log.manager.js.map +1 -1
  70. package/managers/method.manager.js +1 -1
  71. package/managers/method.manager.js.map +1 -1
  72. package/managers/mongo.manager.d.ts +1 -2
  73. package/managers/mongo.manager.js +1 -1
  74. package/managers/mongo.manager.js.map +1 -1
  75. package/managers/monitor.manager.d.ts +0 -1
  76. package/managers/monitor.manager.js +1 -1
  77. package/managers/monitor.manager.js.map +1 -1
  78. package/managers/subscription.manager.js +1 -1
  79. package/managers/subscription.manager.js.map +1 -1
  80. package/managers/websocket.manager.d.ts +1 -2
  81. package/managers/websocket.manager.js.map +1 -1
  82. package/methods/accounts.js +1 -1
  83. package/methods/accounts.js.map +1 -1
  84. package/methods/aws.js +1 -1
  85. package/methods/aws.js.map +1 -1
  86. package/methods/collections.js +1 -1
  87. package/methods/collections.js.map +1 -1
  88. package/methods/counters.js +1 -1
  89. package/methods/counters.js.map +1 -1
  90. package/methods/logs.js +1 -1
  91. package/methods/logs.js.map +1 -1
  92. package/methods/monitor.js +1 -1
  93. package/methods/monitor.js.map +1 -1
  94. package/methods/report-builder.js +1 -1
  95. package/methods/report-builder.js.map +1 -1
  96. package/package.json +1 -1
  97. package/public_api.d.ts +1 -0
  98. package/public_api.js +1 -1
  99. package/public_api.js.map +1 -1
  100. package/resolveio-server-app.d.ts +31 -0
  101. package/resolveio-server-app.js +2 -0
  102. package/resolveio-server-app.js.map +1 -0
  103. package/server-app.d.ts +2 -1
  104. package/server-app.js +1 -1
  105. package/server-app.js.map +1 -1
  106. package/util/common.d.ts +1 -0
  107. package/util/common.js +1 -1
  108. package/util/common.js.map +1 -1
  109. package/util/schema-report-builder.js +1 -1
  110. package/util/schema-report-builder.js.map +1 -1
  111. package/client-server-app.d.ts +0 -1
  112. package/client-server-app.js +0 -2
  113. package/client-server-app.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/aws.ts"],"names":["file_collection_1","require","simpl_schema_1","index_1","mongo_manager_1","client_s3_1","s3_request_presigner_1","request","defaults","encoding","fs","pdfCnt","loadAWSMethods","methodManager","methods","uploadFileAndSave","check","default","fileName","type","String","fileData","fileSize","Number","fileOrder","fileType","compress","Boolean","function","_this","this","Promise","resolve","reject","__awaiter","key_1","Date","now","s3_1","getAWS","s3","maxRetries_1","attempt_1","uploadFile_1","putObject","Bucket","process","env","AWS_S3_BUCKET","Key","Body","Buffer","from","replace","split","ACL","ContentType","ContentDisposition","then","res","Files","create","_id","objectIdHexString","__v","name","size","key","order","resFile","catch","errFile","err","backoff","Math","pow","console","warn","concat","setTimeout","Error","message","uploadNonPDFFileAndSave","key_2","uploadNonPDFBufferAndSave","fileDataBuffer","key_3","uploadNonPDFStreamAndSave","key_4","createReadStream","deleteFiles","keys","Array","keys.$","find","$in","files","_a","sent","deleteCnt","length","forEach","file","deleteOne","deleteObject","deleteFile","findOne","deleteFileWithId","id_file","getSignedUrlsAndFilesWithId","ids","ids.$","expires","_c","i","getCommand","GetObjectCommand","_b","push","getSignedUrl","expiresIn","apply","fileArray","map","a","getSignedUrlWithId","getSignedUrlUSEast1BucketAndKey","bucket","s3USEast1","getSignedUrls","getDataURIfromURL","url","get","error","response","body","statusCode","data","headers","toString","emailFile","email","additional_message","findById","callMethodInternal","errPDF","resPDF","emailMessage","sendEmail","ResolveIOServer","getClientName","filename","path","exports"],"mappings":"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","file":"aws.js","sourcesContent":["import { AWS, MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { getSignedUrl } from '@aws-sdk/s3-request-presigner';\n\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\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\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\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tconst maxRetries = 3;\n\t\t\t\t\t\tlet attempt = 0;\n\n\t\t\t\t\t\tconst uploadFile = () => {\n\t\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\t\t\tKey: key,\n\t\t\t\t\t\t\t\tBody: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), \n\t\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\t\tContentType: fileData.split(',')[0].split(':')[1].split(';')[0], \n\t\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __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}).catch(errFile => {\n\t\t\t\t\t\t\t\t\t\treject(errFile);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\t\tattempt++;\n\t\t\t\t\t\t\t\tif (attempt <= maxRetries) {\n\t\t\t\t\t\t\t\t\tconst backoff = Math.pow(2, attempt) * 1000; // Exponential backoff\n\t\t\t\t\t\t\t\t\tconsole.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);\n\t\t\t\t\t\t\t\t\tsetTimeout(uploadFile, backoff);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treject(new Error(`Failed to upload after ${maxRetries} attempts: ${err.message}`));\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\tuploadFile(); // Start the upload process\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(new Error(\"Invalid fileName provided\"));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: Buffer.from(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\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}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\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}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\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\tfileDataBuffer: {\t\n\t\t\t\t\ttype: Buffer\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, fileDataBuffer, 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\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fileDataBuffer, \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\t\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\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\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\tuploadNonPDFStreamAndSave: {\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\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, 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\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fs.createReadStream(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\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));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\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});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\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(files.length);\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\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\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\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\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\t\tlet file = files[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\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\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\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlUSEast1BucketAndKey: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\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(bucket: string, key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3USEast1();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: bucket, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\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(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet key = keys[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\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\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\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 additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\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\tthis.callMethodInternal('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\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\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}], null, '');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Please click the link to the requested file.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '', null, null, '');\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}"]}
1
+ {"version":3,"sources":["../../src/methods/aws.ts"],"names":["file_collection_1","require","simpl_schema_1","resolveio_server_app_1","client_s3_1","s3_request_presigner_1","common_1","request","defaults","encoding","fs","pdfCnt","loadAWSMethods","methodManager","methods","uploadFileAndSave","check","default","fileName","type","String","fileData","fileSize","Number","fileOrder","fileType","compress","Boolean","function","_this","this","Promise","resolve","reject","__awaiter","key_1","Date","now","s3_1","getAWS","s3","maxRetries_1","attempt_1","uploadFile_1","putObject","Bucket","process","env","AWS_S3_BUCKET","Key","Body","Buffer","from","replace","split","ACL","ContentType","ContentDisposition","then","res","Files","create","_id","objectIdHexString","__v","name","size","key","order","resFile","catch","errFile","err","backoff","Math","pow","console","warn","concat","setTimeout","Error","message","uploadNonPDFFileAndSave","key_2","uploadNonPDFBufferAndSave","fileDataBuffer","key_3","uploadNonPDFStreamAndSave","key_4","createReadStream","deleteFiles","keys","Array","keys.$","find","$in","files","_a","sent","deleteCnt","length","forEach","file","deleteOne","deleteObject","deleteFile","findOne","deleteFileWithId","id_file","getSignedUrlsAndFilesWithId","ids","ids.$","expires","_c","i","getCommand","GetObjectCommand","_b","push","getSignedUrl","expiresIn","apply","fileArray","map","a","getSignedUrlWithId","getSignedUrlUSEast1BucketAndKey","bucket","s3USEast1","getSignedUrls","getDataURIfromURL","url","get","error","response","body","statusCode","data","headers","toString","emailFile","email","additional_message","findById","callMethodInternal","errPDF","resPDF","emailMessage","sendEmail","ResolveIOServer","getClientName","filename","path","exports"],"mappings":"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","file":"aws.js","sourcesContent":["import { AWS, MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { getSignedUrl } from '@aws-sdk/s3-request-presigner';\nimport { objectIdHexString } from '../util/common';\n\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\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\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\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tconst maxRetries = 3;\n\t\t\t\t\t\tlet attempt = 0;\n\n\t\t\t\t\t\tconst uploadFile = () => {\n\t\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\t\t\tKey: key,\n\t\t\t\t\t\t\t\tBody: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), \n\t\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\t\tContentType: fileData.split(',')[0].split(':')[1].split(';')[0], \n\t\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __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}).catch(errFile => {\n\t\t\t\t\t\t\t\t\t\treject(errFile);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\t\tattempt++;\n\t\t\t\t\t\t\t\tif (attempt <= maxRetries) {\n\t\t\t\t\t\t\t\t\tconst backoff = Math.pow(2, attempt) * 1000; // Exponential backoff\n\t\t\t\t\t\t\t\t\tconsole.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);\n\t\t\t\t\t\t\t\t\tsetTimeout(uploadFile, backoff);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treject(new Error(`Failed to upload after ${maxRetries} attempts: ${err.message}`));\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\tuploadFile(); // Start the upload process\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(new Error(\"Invalid fileName provided\"));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: Buffer.from(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\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}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\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}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\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\tfileDataBuffer: {\t\n\t\t\t\t\ttype: Buffer\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, fileDataBuffer, 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\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fileDataBuffer, \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\t\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\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\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\tuploadNonPDFStreamAndSave: {\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\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, 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\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fs.createReadStream(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\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));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\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\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});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\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(files.length);\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\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\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\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\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\t\tlet file = files[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\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\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\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlUSEast1BucketAndKey: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\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(bucket: string, key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3USEast1();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: bucket, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\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(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet key = keys[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\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\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\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 additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\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\tthis.callMethodInternal('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\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\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}], null, '');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Please click the link to the requested file.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '', null, null, '');\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}"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCollectionMethods=void 0;var common_1=require("../util/common"),simpl_schema_1=require("simpl-schema"),pagination_model_1=require("../models/pagination.model"),index_1=require("../index"),mongo_manager_1=require("../managers/mongo.manager");function loadCollectionMethods(e){e.methods({collectionListAll:{function:function(){return new Promise(function(e,n){e(index_1.ResolveIOServer.getMongoManager().collections().map(function(e){return e.collectionName}).sort(function(e,n){return e.localeCompare(n)}))})}},collectionListRB:{function:function(){return new Promise(function(e,n){e(index_1.ResolveIOServer.getMongoManager().collections().filter(function(e){return e.useRB}).map(function(e){return e.collectionName}).sort(function(e,n){return e.localeCompare(n)}))})}},findOne:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return void 0===t&&(t={}),new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).findOne(t).then(function(e){return n(e)},function(e){return o(e)}):o("Invalid collection")})}},find:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,t,i){return void 0===t&&(t={}),void 0===i&&(i={}),new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).find(t,{sort:i}).then(function(e){return n(e)},function(e){return o(e)}):o("Invalid collection")})}},findWithOptions:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(t,i,c){return new Promise(function(n,o){var e;index_1.ResolveIOServer.getMongoManager().collection(t)?(e={},c.fields&&Object.keys(c.fields).length&&(e.projection=c.fields),c.sort&&Object.keys(c.sort).length&&(e.sort=c.sort),c.limit&&(e.limit=c.limit),c.skip&&(e.skip=c.skip),index_1.ResolveIOServer.getMongoManager().collection(t).find(i,e).then(function(e){return n(e)},function(e){return o(e)})):o("Invalid collection")})}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(t,i){return new Promise(function(e,n){var o;index_1.ResolveIOServer.getMongoManager().collection(t)?(o=(0,mongo_manager_1.objectIdHexString)(),i._id=o,i.__v=0,index_1.ResolveIOServer.getMongoManager().collection(t).insertOne(i).then(function(){return e(o)},function(e){return n(e)})):n("Invalid collection")})}},insertManyDocuments:{check:new simpl_schema_1.default({collection:{type:String},documents:{type:Array},"documents.$":{type:Object,blackbox:!0}}),function:function(o,t){return new Promise(function(e,n){index_1.ResolveIOServer.getMongoManager().collection(o)?(t.forEach(function(e){e._id=(0,mongo_manager_1.objectIdHexString)(),e.__v=0}),index_1.ResolveIOServer.getMongoManager().collection(o).insertMany(t).then(function(){return e(t.map(function(e){return e._id}))},function(e){return n(e)})):n("Invalid collection")})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(e,t){return new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).replaceOne({_id:t._id},t).then(function(e){return n(e)},function(e){return o(e)}):o("Invalid collection")})}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number,optional:!0}}),function:function(l,e,n,a){return new Promise(function(c,r){index_1.ResolveIOServer.getMongoManager().collection(l)?index_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:e}).then(function(t){var i;t?(i=(0,common_1.deepCopy)(t),n.forEach(function(e){i[e.prop]=e.data}),a&&i.__v!==a?(console.log(new Date,"invalid version - "+l,t.__v,a),index_1.ResolveIOServer.getMongoManager().collection(l+".versions")?index_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:t._id,__v:a}}).then(function(e){var n=t._id,o=t.__v;e?((e=(0,common_1.getMongoMergeUpdatedDoc)(i,t,e))._id=n,e.__v=o,t._id=n,t.__v=o,index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:n},e,{},!1,!1,t).then(function(e){c(e)},function(e){return r(e)})):r("Invalid Version And Could Not Find History Props - DB: "+o+", Trying to update with :"+a)},function(){}):r("Invalid Version And We Are NOT Using Versions On This Collection!")):index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:i._id},i,{},!1,!1,t).then(function(e){c(e)},function(e){return r(e)})):r("No Document")},function(){}):r("Invalid collection")})}},updateDocumentOffline:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(l,a){return new Promise(function(c,r){index_1.ResolveIOServer.getMongoManager().collection(l)?index_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:a._id}).then(function(n){var o,t,i;n?n.__v===a.__v?index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:a._id},a,{},!1,!1,n).then(function(e){c(e)},function(e){return r(e)}):(console.log("OFFLINE - invalid version - "+l,n.__v,a.__v),o=n._id,t=n.__v,i=a.__v,index_1.ResolveIOServer.getMongoManager().collection(l+".versions")?index_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:o,__v:i}}).then(function(e){e?((e=(0,common_1.getMongoMergeUpdatedDoc)(a,n,e))._id=o,e.__v=t,n._id=o,n.__v=t,index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:o},e,{},!1,!1,n).then(function(e){c(e)},function(e){return r(e)})):r("OFFLINE - Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+i)},function(){}):r("Invalid Version And We Are NOT Using Versions On This Collection!")):r("No Document")},function(){}):r("Invalid collection")})}},updateDocumentPropsOffline:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(l,e,a,u){return new Promise(function(c,r){index_1.ResolveIOServer.getMongoManager().collection(l)?index_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:e},null,!0).then(function(n){var o,t,i;n?(o=(0,common_1.deepCopy)(n),a.forEach(function(e){o[e.prop]=e.data}),o.__v===u?index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:o._id},o,{},!1,!1,n).then(function(e){c(e)},function(e){return r(e)}):(console.log("OFFLINE - invalid version - "+l,n.__v,u),t=n._id,i=n.__v,index_1.ResolveIOServer.getMongoManager().collection(l+".versions")?index_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:n._id,__v:u}}).then(function(e){e?((e=(0,common_1.getMongoMergeUpdatedDoc)(o,n,e))._id=t,e.__v=i,n._id=t,n.__v=i,index_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:t},e,{},!1,!1,n).then(function(e){c(e)},function(e){return r(e)})):r("OFFLINE - Invalid Version And Could Not Find History Props - DB: "+i+", Trying to update with :"+u)},function(){}):r("Invalid Version And We Are NOT Using Versions On This Collection!"))):r("No Document")},function(){}):r("Invalid collection")})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(e,t){return new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).deleteOne({_id:t}).then(function(e){n(e)},function(e){o(e)}):o("Invalid collection")})}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).deleteOne(t).then(function(e){n(e)},function(e){o(e)}):o("Invalid collection")})}},removeDocumentsWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return new Promise(function(n,o){index_1.ResolveIOServer.getMongoManager().collection(e)?index_1.ResolveIOServer.getMongoManager().collection(e).deleteMany(t).then(function(e){n(e)},function(e){o(e)}):o("Invalid collection")})}}})}exports.loadCollectionMethods=loadCollectionMethods;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCollectionMethods=void 0;var common_1=require("../util/common"),simpl_schema_1=require("simpl-schema"),pagination_model_1=require("../models/pagination.model"),resolveio_server_app_1=require("../resolveio-server-app");function loadCollectionMethods(e){e.methods({collectionListAll:{function:function(){return new Promise(function(e,o){e(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))})}},collectionListRB:{function:function(){return new Promise(function(e,o){e(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().filter(function(e){return e.useRB}).map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))})}},findOne:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,r){return void 0===r&&(r={}),new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).findOne(r).then(function(e){return o(e)},function(e){return n(e)}):n("Invalid collection")})}},find:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,r,t){return void 0===r&&(r={}),void 0===t&&(t={}),new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).find(r,{sort:t}).then(function(e){return o(e)},function(e){return n(e)}):n("Invalid collection")})}},findWithOptions:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(r,t,i){return new Promise(function(o,n){var e;resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r)?(e={},i.fields&&Object.keys(i.fields).length&&(e.projection=i.fields),i.sort&&Object.keys(i.sort).length&&(e.sort=i.sort),i.limit&&(e.limit=i.limit),i.skip&&(e.skip=i.skip),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r).find(t,e).then(function(e){return o(e)},function(e){return n(e)})):n("Invalid collection")})}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(r,t){return new Promise(function(e,o){var n;resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r)?(n=(0,common_1.objectIdHexString)(),t._id=n,t.__v=0,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r).insertOne(t).then(function(){return e(n)},function(e){return o(e)})):o("Invalid collection")})}},insertManyDocuments:{check:new simpl_schema_1.default({collection:{type:String},documents:{type:Array},"documents.$":{type:Object,blackbox:!0}}),function:function(n,r){return new Promise(function(e,o){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(n)?(r.forEach(function(e){e._id=(0,common_1.objectIdHexString)(),e.__v=0}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(n).insertMany(r).then(function(){return e(r.map(function(e){return e._id}))},function(e){return o(e)})):o("Invalid collection")})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(e,r){return new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).replaceOne({_id:r._id},r).then(function(e){return o(e)},function(e){return n(e)}):n("Invalid collection")})}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number,optional:!0}}),function:function(l,e,o,s){return new Promise(function(i,c){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:e}).then(function(r){var t;r?(t=(0,common_1.deepCopy)(r),o.forEach(function(e){t[e.prop]=e.data}),s&&t.__v!==s?(console.log(new Date,"invalid version - "+l,r.__v,s),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions")?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:r._id,__v:s}}).then(function(e){var o=r._id,n=r.__v;e?((e=(0,common_1.getMongoMergeUpdatedDoc)(t,r,e))._id=o,e.__v=n,r._id=o,r.__v=n,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:o},e,{},!1,!1,r).then(function(e){i(e)},function(e){return c(e)})):c("Invalid Version And Could Not Find History Props - DB: "+n+", Trying to update with :"+s)},function(){}):c("Invalid Version And We Are NOT Using Versions On This Collection!")):resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:t._id},t,{},!1,!1,r).then(function(e){i(e)},function(e){return c(e)})):c("No Document")},function(){}):c("Invalid collection")})}},updateDocumentOffline:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(l,s){return new Promise(function(i,c){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:s._id}).then(function(o){var n,r,t;o?o.__v===s.__v?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:s._id},s,{},!1,!1,o).then(function(e){i(e)},function(e){return c(e)}):(console.log("OFFLINE - invalid version - "+l,o.__v,s.__v),n=o._id,r=o.__v,t=s.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions")?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:n,__v:t}}).then(function(e){e?((e=(0,common_1.getMongoMergeUpdatedDoc)(s,o,e))._id=n,e.__v=r,o._id=n,o.__v=r,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:n},e,{},!1,!1,o).then(function(e){i(e)},function(e){return c(e)})):c("OFFLINE - Invalid Version And Could Not Find History Props - DB: "+r+", Trying to update with :"+t)},function(){}):c("Invalid Version And We Are NOT Using Versions On This Collection!")):c("No Document")},function(){}):c("Invalid collection")})}},updateDocumentPropsOffline:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(l,e,s,a){return new Promise(function(i,c){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:e},null,!0).then(function(o){var n,r,t;o?(n=(0,common_1.deepCopy)(o),s.forEach(function(e){n[e.prop]=e.data}),n.__v===a?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:n._id},n,{},!1,!1,o).then(function(e){i(e)},function(e){return c(e)}):(console.log("OFFLINE - invalid version - "+l,o.__v,a),r=o._id,t=o.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions")?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:o._id,__v:a}}).then(function(e){e?((e=(0,common_1.getMongoMergeUpdatedDoc)(n,o,e))._id=r,e.__v=t,o._id=r,o.__v=t,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:r},e,{},!1,!1,o).then(function(e){i(e)},function(e){return c(e)})):c("OFFLINE - Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+a)},function(){}):c("Invalid Version And We Are NOT Using Versions On This Collection!"))):c("No Document")},function(){}):c("Invalid collection")})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(e,r){return new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteOne({_id:r}).then(function(e){o(e)},function(e){n(e)}):n("Invalid collection")})}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,r){return new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteOne(r).then(function(e){o(e)},function(e){n(e)}):n("Invalid collection")})}},removeDocumentsWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,r){return new Promise(function(o,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteMany(r).then(function(e){o(e)},function(e){n(e)}):n("Invalid collection")})}}})}exports.loadCollectionMethods=loadCollectionMethods;
2
2
  //# sourceMappingURL=collections.js.map
@@ -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","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\toptional: 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) {\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 (!doc__v || 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: ' + newCurrDocV + ', 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}),\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).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\t\t\t\t\t\t\t\t\t\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: newCurrDocId,\n\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}\n\t\t\t\t\t\t\t\t\t\t}).then(oldDoc => {\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(f_document, 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('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + oldDocV);\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\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}),\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}, 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\t\t\t\t\t\t\t\t\t\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\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('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', 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\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":["common_1","require","simpl_schema_1","pagination_model_1","resolveio_server_app_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","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, objectIdHexString } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { ResolveIOServer } from '../resolveio-server-app';\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\toptional: 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) {\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 (!doc__v || 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: ' + newCurrDocV + ', 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}),\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).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\t\t\t\t\t\t\t\t\t\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: newCurrDocId,\n\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}\n\t\t\t\t\t\t\t\t\t\t}).then(oldDoc => {\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(f_document, 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('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + oldDocV);\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\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}),\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}, 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\t\t\t\t\t\t\t\t\t\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\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('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', 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\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,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,o,r,c){return new(r=r||Promise)(function(t,n){function fulfilled(e){try{step(c.next(e))}catch(e){n(e)}}function rejected(e){try{step(c.throw(e))}catch(e){n(e)}}function step(e){var n;e.done?t(e.value):((n=e.value)instanceof r?n:new r(function(e){e(n)})).then(fulfilled,rejected)}step((c=c.apply(e,o||[])).next())})},__generator=this&&this.__generator||function(o,r){var c,i,l,u={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},a={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(t){return function(e){var n=[t,e];if(c)throw new TypeError("Generator is already executing.");for(;u=a&&n[a=0]?0:u;)try{if(c=1,i&&(l=2&n[0]?i.return:n[0]?i.throw||((l=i.return)&&l.call(i),0):i.next)&&!(l=l.call(i,n[1])).done)return l;switch(i=0,(n=l?[2&n[0],l.value]:n)[0]){case 0:case 1:l=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,i=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(!(l=0<(l=u.trys).length&&l[l.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!l||n[1]>l[0]&&n[1]<l[3]))u.label=n[1];else if(6===n[0]&&u.label<l[1])u.label=l[1],l=n;else{if(!(l&&u.label<l[2])){l[2]&&u.ops.pop(),u.trys.pop();continue}u.label=l[2],u.ops.push(n)}}n=r.call(o,u)}catch(e){n=[6,e],i=0}finally{c=l=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}}},counter_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCounterMethods=void 0,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(o){var n=this;return new Promise(function(t,e){return __awaiter(n,void 0,void 0,function(){var n;return __generator(this,function(e){switch(e.label){case 0:return[4,counter_collection_1.Counters.findOne({type:o})];case 1:return e.sent()?[3,2]:(counter_collection_1.Counters.create({_id:(0,mongo_manager_1.objectIdHexString)(),count:2,type:o}),t(1),[3,4]);case 2:return[4,counter_collection_1.Counters.findOneAndUpdate({type:o},{$inc:{count:1}})];case 3:n=e.sent(),t(n.count),e.label=4;case 4:return[2]}})})})}},countCollectionWithQuery:{check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){return new Promise(function(n,t){__1.ResolveIOServer.getMongoManager().collection(e)?__1.ResolveIOServer.getMongoManager().collection(e).countDocuments(o).then(function(e){return n(e)},function(e){return t(e)}):t("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";var __awaiter=this&&this.__awaiter||function(e,o,r,c){return new(r=r||Promise)(function(n,t){function fulfilled(e){try{step(c.next(e))}catch(e){t(e)}}function rejected(e){try{step(c.throw(e))}catch(e){t(e)}}function step(e){var t;e.done?n(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(fulfilled,rejected)}step((c=c.apply(e,o||[])).next())})},__generator=this&&this.__generator||function(o,r){var c,i,l,u={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},a={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(n){return function(e){var t=[n,e];if(c)throw new TypeError("Generator is already executing.");for(;u=a&&t[a=0]?0:u;)try{if(c=1,i&&(l=2&t[0]?i.return:t[0]?i.throw||((l=i.return)&&l.call(i),0):i.next)&&!(l=l.call(i,t[1])).done)return l;switch(i=0,(t=l?[2&t[0],l.value]:t)[0]){case 0:case 1:l=t;break;case 4:return u.label++,{value:t[1],done:!1};case 5:u.label++,i=t[1],t=[0];continue;case 7:t=u.ops.pop(),u.trys.pop();continue;default:if(!(l=0<(l=u.trys).length&&l[l.length-1])&&(6===t[0]||2===t[0])){u=0;continue}if(3===t[0]&&(!l||t[1]>l[0]&&t[1]<l[3]))u.label=t[1];else if(6===t[0]&&u.label<l[1])u.label=l[1],l=t;else{if(!(l&&u.label<l[2])){l[2]&&u.ops.pop(),u.trys.pop();continue}u.label=l[2],u.ops.push(t)}}t=r.call(o,u)}catch(e){t=[6,e],i=0}finally{c=l=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}},counter_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCounterMethods=void 0,require("../collections/counter.collection")),simpl_schema_1=require("simpl-schema"),resolveio_server_app_1=require("../resolveio-server-app"),common_1=require("../util/common");function loadCounterMethods(e){e.methods({incCounter:{check:new simpl_schema_1.default({counterType:{type:String}}),function:function(o){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,counter_collection_1.Counters.findOne({type:o})];case 1:return e.sent()?[3,2]:(counter_collection_1.Counters.create({_id:(0,common_1.objectIdHexString)(),count:2,type:o}),n(1),[3,4]);case 2:return[4,counter_collection_1.Counters.findOneAndUpdate({type:o},{$inc:{count:1}})];case 3:t=e.sent(),n(t.count),e.label=4;case 4:return[2]}})})})}},countCollectionWithQuery:{check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){return new Promise(function(t,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).countDocuments(o).then(function(e){return t(e)},function(e){return n(e)}):n("Invalid collection")})}},countCollection:{check:new simpl_schema_1.default({collectionType:{type:String}}),function:function(e){return new Promise(function(t,n){resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e)?resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).countDocuments().then(function(e){return t(e)},function(e){return n(e)}):n("Invalid collection")})}}})}exports.loadCounterMethods=loadCounterMethods;
2
2
  //# 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":"k8CACAA,sB,yFAAAC,QAAA,mCAAA,GACAC,eAAAD,QAAA,cAAA,EACAE,IAAAF,QAAA,IAAA,EACAG,gBAAAH,QAAA,2BAAA,EAEA,SAAgBI,mBAAmBC,GAClCA,EAAcC,QAAQ,CACrBC,WAAY,CACXC,MAAO,IAAIP,eAAAQ,QAAa,CACvBC,YAAa,CACZC,KAAMC,M,EAEP,EACDC,SAAU,SAASH,GAAT,IAAAI,EAAAC,KACT,OAAO,IAAIC,QAAQ,SAAOC,EAASC,GAAM,OAAAC,UAAAL,EAAA,KAAA,EAAA,KAAA,EAAA,W,iEAC1B,MAAA,CAAA,EAAMf,qBAAAqB,SAASC,QAAQ,CAACV,KAAMD,CAAW,CAAC,G,cAA1CY,EAAAC,KAAA,EAEV,CAAA,EAAA,IACHxB,qBAAAqB,SAASI,OAAO,CACfC,KAAK,EAAAtB,gBAAAuB,mBAAiB,EACtBC,MAAO,EACPhB,KAAMD,C,CACN,EAEDO,EAAQ,CAAC,E,cAGM,MAAA,CAAA,EAAMlB,qBAAAqB,SAASQ,iBAAiB,CAACjB,KAAMD,CAAW,EAAG,CAACmB,KAAM,CAACF,MAAO,CAAC,CAAC,CAAC,G,OAAlFG,EAAWR,EAAAC,KAAA,EAEfN,EAAQa,EAASH,KAAK,E,gCAEvB,CACF,C,EAEDI,yBAA0B,CACzBvB,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,M,EAEPqB,MAAO,CACNtB,KAAMuB,OACNC,SAAU,CAAA,C,EAEX,EACDtB,SAAU,SAASmB,EAAwBC,GAC1C,OAAO,IAAIjB,QAAQ,SAACC,EAASC,GACvBhB,IAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAI/D9B,IAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAAEO,eAAeN,CAAK,EAAEO,KAAK,SAAAC,GAAO,OAAAxB,EAAQwB,CAAG,CAAX,EAAc,SAAAC,GAAO,OAAAxB,EAAOwB,CAAG,CAAV,CAAW,EAH/HxB,EAAO,oBAAoB,CAK7B,CAAC,CACF,C,EAEDyB,gBAAiB,CAChBnC,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,M,EAEP,EACDC,SAAU,SAASmB,GAClB,OAAO,IAAIhB,QAAQ,SAACC,EAASC,GACvBhB,IAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAI/D9B,IAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAAEO,eAAc,EAAGC,KAAK,SAAAC,GAAO,OAAAxB,EAAQwB,CAAG,CAAX,EAAc,SAAAC,GAAO,OAAAxB,EAAOwB,CAAG,CAAV,CAAW,EAH1HxB,EAAO,oBAAoB,CAK7B,CAAC,CACF,C,EAED,CACF,CApEA0B,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":["counter_collection_1","require","simpl_schema_1","resolveio_server_app_1","common_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":"k8CACAA,sB,yFAAAC,QAAA,mCAAA,GACAC,eAAAD,QAAA,cAAA,EACAE,uBAAAF,QAAA,yBAAA,EACAG,SAAAH,QAAA,gBAAA,EAEA,SAAgBI,mBAAmBC,GAClCA,EAAcC,QAAQ,CACrBC,WAAY,CACXC,MAAO,IAAIP,eAAAQ,QAAa,CACvBC,YAAa,CACZC,KAAMC,M,EAEP,EACDC,SAAU,SAASH,GAAT,IAAAI,EAAAC,KACT,OAAO,IAAIC,QAAQ,SAAOC,EAASC,GAAM,OAAAC,UAAAL,EAAA,KAAA,EAAA,KAAA,EAAA,W,iEAC1B,MAAA,CAAA,EAAMf,qBAAAqB,SAASC,QAAQ,CAACV,KAAMD,CAAW,CAAC,G,cAA1CY,EAAAC,KAAA,EAEV,CAAA,EAAA,IACHxB,qBAAAqB,SAASI,OAAO,CACfC,KAAK,EAAAtB,SAAAuB,mBAAiB,EACtBC,MAAO,EACPhB,KAAMD,C,CACN,EAEDO,EAAQ,CAAC,E,cAGM,MAAA,CAAA,EAAMlB,qBAAAqB,SAASQ,iBAAiB,CAACjB,KAAMD,CAAW,EAAG,CAACmB,KAAM,CAACF,MAAO,CAAC,CAAC,CAAC,G,OAAlFG,EAAWR,EAAAC,KAAA,EAEfN,EAAQa,EAASH,KAAK,E,gCAEvB,CACF,C,EAEDI,yBAA0B,CACzBvB,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,M,EAEPqB,MAAO,CACNtB,KAAMuB,OACNC,SAAU,CAAA,C,EAEX,EACDtB,SAAU,SAASmB,EAAwBC,GAC1C,OAAO,IAAIjB,QAAQ,SAACC,EAASC,GACvBhB,uBAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAI/D9B,uBAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAAEO,eAAeN,CAAK,EAAEO,KAAK,SAAAC,GAAO,OAAAxB,EAAQwB,CAAG,CAAX,EAAc,SAAAC,GAAO,OAAAxB,EAAOwB,CAAG,CAAV,CAAW,EAH/HxB,EAAO,oBAAoB,CAK7B,CAAC,CACF,C,EAEDyB,gBAAiB,CAChBnC,MAAO,IAAIP,eAAAQ,QAAa,CACvBuB,eAAgB,CACfrB,KAAMC,M,EAEP,EACDC,SAAU,SAASmB,GAClB,OAAO,IAAIhB,QAAQ,SAACC,EAASC,GACvBhB,uBAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAI/D9B,uBAAAkC,gBAAgBC,gBAAe,EAAGC,WAAWN,CAAc,EAAEO,eAAc,EAAGC,KAAK,SAAAC,GAAO,OAAAxB,EAAQwB,CAAG,CAAX,EAAc,SAAAC,GAAO,OAAAxB,EAAOwB,CAAG,CAAV,CAAW,EAH1HxB,EAAO,oBAAoB,CAK7B,CAAC,CACF,C,EAED,CACF,CApEA0B,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 '../resolveio-server-app';\nimport { objectIdHexString } from '../util/common';\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}"]}
package/methods/logs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,r,n,a){return new(n=n||Promise)(function(o,t){function fulfilled(e){try{step(a.next(e))}catch(e){t(e)}}function rejected(e){try{step(a.throw(e))}catch(e){t(e)}}function step(e){var t;e.done?o(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(fulfilled,rejected)}step((a=a.apply(e,r||[])).next())})},__generator=this&&this.__generator||function(r,n){var a,i,c,s={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]},d={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(d[Symbol.iterator]=function(){return this}),d;function verb(o){return function(e){var t=[o,e];if(a)throw new TypeError("Generator is already executing.");for(;s=d&&t[d=0]?0:s;)try{if(a=1,i&&(c=2&t[0]?i.return:t[0]?i.throw||((c=i.return)&&c.call(i),0):i.next)&&!(c=c.call(i,t[1])).done)return c;switch(i=0,(t=c?[2&t[0],c.value]:t)[0]){case 0:case 1:c=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(c=0<(c=s.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3]))s.label=t[1];else if(6===t[0]&&s.label<c[1])s.label=c[1],c=t;else{if(!(c&&s.label<c[2])){c[2]&&s.ops.pop(),s.trys.pop();continue}s.label=c[2],s.ops.push(t)}}t=n.call(r,s)}catch(e){t=[6,e],i=0}finally{a=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}},log_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadLogMethods=void 0,require("../collections/log.collection")),log_subscription_collection_1=require("../collections/log-subscription.collection"),index_1=require("../index"),log_method_latency_collection_1=require("../collections/log-method-latency.collection"),mongo_manager_1=require("../managers/mongo.manager");function loadLogMethods(e){e.methods({insertErrorLog:{function:function(e,t){return this.sendEmail("dev@resolveio.com","Error Detected - "+index_1.ResolveIOServer.getClientName(),this.user+"\n"+e+"\n"+JSON.stringify(t,null,2)),log_collection_1.Logs.insertOne({_id:(0,mongo_manager_1.objectIdHexString)(),type:"error",collection:"",id_document:"",payload:JSON.stringify(t,null,2),method:"",id_user:this.id_user||"",user:this.user||"",messageId:0,route:""})},skipValidation:!0},insertSubscriptionLog:{function:function(o,r,n,a){return new Promise(function(e,t){"https://resolveio.com"!==index_1.ResolveIOServer.getServerConfig().ROOT_URL&&"http://localhost:4200"!==index_1.ResolveIOServer.getServerConfig().ROOT_URL?index_1.ResolveIOServer.getLocalLogManager().writeLog({type:"log-subscription",date:new Date,data:{_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,date:new Date,type:o,subscription:r,collection_name:n,subData:a}}):log_subscription_collection_1.LogSubscriptions.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,date:new Date,type:o,subscription:r,collection_name:n,subData:a}),e(!0)})},skipValidation:!0},insertMethodLatencyLog:{function:function(o){return new Promise(function(e,t){"https://resolveio.com"!==index_1.ResolveIOServer.getServerConfig().ROOT_URL&&"http://localhost:4200"!==index_1.ResolveIOServer.getServerConfig().ROOT_URL?index_1.ResolveIOServer.getLocalLogManager().writeLog({type:"log-method-latency",date:new Date,data:{_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,date_start:new Date,date_end:null,latency_ms:0,method:o}}):log_method_latency_collection_1.LogMethodLatencies.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,date_start:new Date,date_end:null,latency_ms:0,method:o}),e(!0)})},skipValidation:!0},superadminAPM:{function:function(s,d,l){var t=this;return new Promise(function(c,e){return __awaiter(t,void 0,void 0,function(){var t,o,r,n,a,i;return __generator(this,function(e){switch(e.label){case 0:return[4,log_method_latency_collection_1.LogMethodLatencies.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:d}}]}},{$group:{_id:"$method",method:{$first:"$method"},count:{$sum:1},latency_min:{$min:"$latency_ms"},latency_avg:{$avg:"$latency_ms"},latency_max:{$max:"$latency_ms"}}}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 1:return t=e.sent(),[4,log_subscription_collection_1.LogSubscriptions.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:d}}]}},{$group:{_id:"$subscription",subscription:{$first:"$subscription"},count:{$sum:1}}}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 2:return o=e.sent(),r={},n={},n="seconds"===l?(r={second:{$second:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},minute:{$minute:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1,"_id.minute":1,"_id.second":1}):"minutes"===l?(r={minute:{$minute:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1,"_id.minute":1}):"hours"===l?(r={hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1}):(r={day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1}),[4,log_method_latency_collection_1.LogMethodLatencies.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:d}}]}},{$group:{_id:r,count:{$sum:1}}},{$sort:n}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 3:return a=e.sent(),[4,log_subscription_collection_1.LogSubscriptions.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:d}}]}},{$group:{_id:r,count:{$sum:1}}},{$sort:n}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 4:return i=e.sent(),c({methods:t,subscriptions:o,methodGraphData:a,subGraphData:i}),[2]}})})})},skipValidation:!0}})}exports.loadLogMethods=loadLogMethods;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,n,i){return new(n=n||Promise)(function(o,t){function fulfilled(e){try{step(i.next(e))}catch(e){t(e)}}function rejected(e){try{step(i.throw(e))}catch(e){t(e)}}function step(e){var t;e.done?o(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(fulfilled,rejected)}step((i=i.apply(e,r||[])).next())})},__generator=this&&this.__generator||function(r,n){var i,a,c,s={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]},l={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function verb(o){return function(e){var t=[o,e];if(i)throw new TypeError("Generator is already executing.");for(;s=l&&t[l=0]?0:s;)try{if(i=1,a&&(c=2&t[0]?a.return:t[0]?a.throw||((c=a.return)&&c.call(a),0):a.next)&&!(c=c.call(a,t[1])).done)return c;switch(a=0,(t=c?[2&t[0],c.value]:t)[0]){case 0:case 1:c=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,a=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(c=0<(c=s.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3]))s.label=t[1];else if(6===t[0]&&s.label<c[1])s.label=c[1],c=t;else{if(!(c&&s.label<c[2])){c[2]&&s.ops.pop(),s.trys.pop();continue}s.label=c[2],s.ops.push(t)}}t=n.call(r,s)}catch(e){t=[6,e],a=0}finally{i=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}},log_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadLogMethods=void 0,require("../collections/log.collection")),log_subscription_collection_1=require("../collections/log-subscription.collection"),resolveio_server_app_1=require("../resolveio-server-app"),log_method_latency_collection_1=require("../collections/log-method-latency.collection"),common_1=require("../util/common");function loadLogMethods(e){e.methods({insertErrorLog:{function:function(e,t){return this.sendEmail("dev@resolveio.com","Error Detected - "+resolveio_server_app_1.ResolveIOServer.getClientName(),this.user+"\n"+e+"\n"+JSON.stringify(t,null,2)),log_collection_1.Logs.insertOne({_id:(0,common_1.objectIdHexString)(),type:"error",collection:"",id_document:"",payload:JSON.stringify(t,null,2),method:"",id_user:this.id_user||"",user:this.user||"",messageId:0,route:""})},skipValidation:!0},insertSubscriptionLog:{function:function(o,r,n,i){return new Promise(function(e,t){"https://resolveio.com"!==resolveio_server_app_1.ResolveIOServer.getServerConfig().ROOT_URL&&"http://localhost:4200"!==resolveio_server_app_1.ResolveIOServer.getServerConfig().ROOT_URL?resolveio_server_app_1.ResolveIOServer.getLocalLogManager().writeLog({type:"log-subscription",date:new Date,data:{_id:(0,common_1.objectIdHexString)(),__v:0,date:new Date,type:o,subscription:r,collection_name:n,subData:i}}):log_subscription_collection_1.LogSubscriptions.create({_id:(0,common_1.objectIdHexString)(),__v:0,date:new Date,type:o,subscription:r,collection_name:n,subData:i}),e(!0)})},skipValidation:!0},insertMethodLatencyLog:{function:function(o){return new Promise(function(e,t){"https://resolveio.com"!==resolveio_server_app_1.ResolveIOServer.getServerConfig().ROOT_URL&&"http://localhost:4200"!==resolveio_server_app_1.ResolveIOServer.getServerConfig().ROOT_URL?resolveio_server_app_1.ResolveIOServer.getLocalLogManager().writeLog({type:"log-method-latency",date:new Date,data:{_id:(0,common_1.objectIdHexString)(),__v:0,date_start:new Date,date_end:null,latency_ms:0,method:o}}):log_method_latency_collection_1.LogMethodLatencies.create({_id:(0,common_1.objectIdHexString)(),__v:0,date_start:new Date,date_end:null,latency_ms:0,method:o}),e(!0)})},skipValidation:!0},superadminAPM:{function:function(s,l,d){var t=this;return new Promise(function(c,e){return __awaiter(t,void 0,void 0,function(){var t,o,r,n,i,a;return __generator(this,function(e){switch(e.label){case 0:return[4,log_method_latency_collection_1.LogMethodLatencies.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:l}}]}},{$group:{_id:"$method",method:{$first:"$method"},count:{$sum:1},latency_min:{$min:"$latency_ms"},latency_avg:{$avg:"$latency_ms"},latency_max:{$max:"$latency_ms"}}}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 1:return t=e.sent(),[4,log_subscription_collection_1.LogSubscriptions.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:l}}]}},{$group:{_id:"$subscription",subscription:{$first:"$subscription"},count:{$sum:1}}}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 2:return o=e.sent(),r={},n={},n="seconds"===d?(r={second:{$second:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},minute:{$minute:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1,"_id.minute":1,"_id.second":1}):"minutes"===d?(r={minute:{$minute:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1,"_id.minute":1}):"hours"===d?(r={hour:{$hour:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1,"_id.hour":1}):(r={day:{$dayOfMonth:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},month:{$month:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}},year:{$year:{date:"$createdAt",timezone:process.env.TZ_CLIENT||"America/Chicago"}}},{"_id.year":1,"_id.month":1,"_id.day":1}),[4,log_method_latency_collection_1.LogMethodLatencies.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:l}}]}},{$group:{_id:r,count:{$sum:1}}},{$sort:n}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 3:return i=e.sent(),[4,log_subscription_collection_1.LogSubscriptions.aggregate([{$match:{$and:[{createdAt:{$gte:s}},{createdAt:{$lte:l}}]}},{$group:{_id:r,count:{$sum:1}}},{$sort:n}],{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 4:return a=e.sent(),c({methods:t,subscriptions:o,methodGraphData:i,subGraphData:a}),[2]}})})})},skipValidation:!0}})}exports.loadLogMethods=loadLogMethods;
2
2
  //# sourceMappingURL=logs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/logs.ts"],"names":["log_collection_1","require","log_subscription_collection_1","index_1","log_method_latency_collection_1","mongo_manager_1","loadLogMethods","methodManager","methods","insertErrorLog","function","message","data","this","sendEmail","ResolveIOServer","getClientName","user","JSON","stringify","Logs","insertOne","_id","objectIdHexString","type","collection","id_document","payload","method","id_user","messageId","route","skipValidation","insertSubscriptionLog","subscription","collection_name","subData","Promise","resolve","reject","getServerConfig","getLocalLogManager","writeLog","date","Date","__v","LogSubscriptions","create","insertMethodLatencyLog","date_start","date_end","latency_ms","LogMethodLatencies","superadminAPM","graphInterval","_this","__awaiter","aggregate","$match","$and","createdAt","$gte","$lte","$group","$first","count","$sum","latency_min","$min","latency_avg","$avg","latency_max","$max","allowDiskUse","readPreference","serverConfig","latencies","_a","sent","subscriptions","groupId","groupSort","second","$second","timezone","process","env","TZ_CLIENT","minute","$minute","hour","$hour","day","$dayOfMonth","month","$month","year","$year","_id.year","_id.month","_id.day","_id.hour","_id.minute","_id.second","$sort","methodGraphData","subGraphData","exports"],"mappings":"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","file":"logs.js","sourcesContent":["import { 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';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadLogMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tinsertErrorLog: {\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.insertOne({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tcollection: '',\n\t\t\t\t\tid_document: '',\n\t\t\t\t\tpayload: JSON.stringify(data, null, 2),\n\t\t\t\t\tmethod: '',\n\t\t\t\t\tid_user: this.id_user || '',\n\t\t\t\t\tuser: this.user || '',\n\t\t\t\t\tmessageId: 0,\n\t\t\t\t\troute: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertSubscriptionLog: {\n\t\t\tfunction: function(type, subscription, collection_name, subData) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tResolveIOServer.getServerConfig()['ROOT_URL'] !== 'https://resolveio.com'\n\t\t\t\t\t&& ResolveIOServer.getServerConfig()['ROOT_URL'] !== 'http://localhost:4200'\n\t\t\t\t\t) {\n\t\t\t\t\t\tResolveIOServer.getLocalLogManager().writeLog({\n\t\t\t\t\t\t\ttype: 'log-subscription',\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: type,\n\t\t\t\t\t\t\t\tsubscription: subscription,\n\t\t\t\t\t\t\t\tcollection_name: collection_name,\n\t\t\t\t\t\t\t\tsubData: subData\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\telse {\n\t\t\t\t\t\tLogSubscriptions.create({\n\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\ttype: type,\n\t\t\t\t\t\t\tsubscription: subscription,\n\t\t\t\t\t\t\tcollection_name: collection_name,\n\t\t\t\t\t\t\tsubData: subData\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertMethodLatencyLog: {\n\t\t\tfunction: function(method) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tResolveIOServer.getServerConfig()['ROOT_URL'] !== 'https://resolveio.com'\n\t\t\t\t\t&& ResolveIOServer.getServerConfig()['ROOT_URL'] !== 'http://localhost:4200'\n\t\t\t\t\t) {\n\t\t\t\t\t\tResolveIOServer.getLocalLogManager().writeLog({\n\t\t\t\t\t\t\ttype: 'log-method-latency',\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\t\tdate_start: new Date(),\n\t\t\t\t\t\t\t\tdate_end: null,\n\t\t\t\t\t\t\t\tlatency_ms: 0,\n\t\t\t\t\t\t\t\tmethod: method\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\telse {\n\t\t\t\t\t\tLogMethodLatencies.create({\n\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\tdate_start: new Date(),\n\t\t\t\t\t\t\tdate_end: null,\n\t\t\t\t\t\t\tlatency_ms: 0,\n\t\t\t\t\t\t\tmethod: method\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tsuperadminAPM: {\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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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}"]}
1
+ {"version":3,"sources":["../../src/methods/logs.ts"],"names":["log_collection_1","require","log_subscription_collection_1","resolveio_server_app_1","log_method_latency_collection_1","common_1","loadLogMethods","methodManager","methods","insertErrorLog","function","message","data","this","sendEmail","ResolveIOServer","getClientName","user","JSON","stringify","Logs","insertOne","_id","objectIdHexString","type","collection","id_document","payload","method","id_user","messageId","route","skipValidation","insertSubscriptionLog","subscription","collection_name","subData","Promise","resolve","reject","getServerConfig","getLocalLogManager","writeLog","date","Date","__v","LogSubscriptions","create","insertMethodLatencyLog","date_start","date_end","latency_ms","LogMethodLatencies","superadminAPM","graphInterval","_this","__awaiter","aggregate","$match","$and","createdAt","$gte","$lte","$group","$first","count","$sum","latency_min","$min","latency_avg","$avg","latency_max","$max","allowDiskUse","readPreference","serverConfig","latencies","_a","sent","subscriptions","groupId","groupSort","second","$second","timezone","process","env","TZ_CLIENT","minute","$minute","hour","$hour","day","$dayOfMonth","month","$month","year","$year","_id.year","_id.month","_id.day","_id.hour","_id.minute","_id.second","$sort","methodGraphData","subGraphData","exports"],"mappings":"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","file":"logs.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Logs } from '../collections/log.collection';\nimport { LogSubscriptions } from '../collections/log-subscription.collection';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { LogMethodLatencies } from '../collections/log-method-latency.collection';\nimport { objectIdHexString } from '../util/common';\n\nexport function loadLogMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tinsertErrorLog: {\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.insertOne({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tcollection: '',\n\t\t\t\t\tid_document: '',\n\t\t\t\t\tpayload: JSON.stringify(data, null, 2),\n\t\t\t\t\tmethod: '',\n\t\t\t\t\tid_user: this.id_user || '',\n\t\t\t\t\tuser: this.user || '',\n\t\t\t\t\tmessageId: 0,\n\t\t\t\t\troute: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertSubscriptionLog: {\n\t\t\tfunction: function(type, subscription, collection_name, subData) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tResolveIOServer.getServerConfig()['ROOT_URL'] !== 'https://resolveio.com'\n\t\t\t\t\t&& ResolveIOServer.getServerConfig()['ROOT_URL'] !== 'http://localhost:4200'\n\t\t\t\t\t) {\n\t\t\t\t\t\tResolveIOServer.getLocalLogManager().writeLog({\n\t\t\t\t\t\t\ttype: 'log-subscription',\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: type,\n\t\t\t\t\t\t\t\tsubscription: subscription,\n\t\t\t\t\t\t\t\tcollection_name: collection_name,\n\t\t\t\t\t\t\t\tsubData: subData\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\telse {\n\t\t\t\t\t\tLogSubscriptions.create({\n\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\ttype: type,\n\t\t\t\t\t\t\tsubscription: subscription,\n\t\t\t\t\t\t\tcollection_name: collection_name,\n\t\t\t\t\t\t\tsubData: subData\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tinsertMethodLatencyLog: {\n\t\t\tfunction: function(method) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tResolveIOServer.getServerConfig()['ROOT_URL'] !== 'https://resolveio.com'\n\t\t\t\t\t&& ResolveIOServer.getServerConfig()['ROOT_URL'] !== 'http://localhost:4200'\n\t\t\t\t\t) {\n\t\t\t\t\t\tResolveIOServer.getLocalLogManager().writeLog({\n\t\t\t\t\t\t\ttype: 'log-method-latency',\n\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\t\tdate_start: new Date(),\n\t\t\t\t\t\t\t\tdate_end: null,\n\t\t\t\t\t\t\t\tlatency_ms: 0,\n\t\t\t\t\t\t\t\tmethod: method\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\telse {\n\t\t\t\t\t\tLogMethodLatencies.create({\n\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\t\tdate_start: new Date(),\n\t\t\t\t\t\t\tdate_end: null,\n\t\t\t\t\t\t\tlatency_ms: 0,\n\t\t\t\t\t\t\tmethod: method\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(true);\n\t\t\t\t});\n\t\t\t},\n\t\t\tskipValidation: true\n\t\t},\n\t\tsuperadminAPM: {\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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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: process.env.TZ_CLIENT || '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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, 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}"]}