@resolveio/server-lib 9.0.8 → 9.0.10
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.
- package/managers/method.manager.js +1 -1
- package/managers/method.manager.js.map +1 -1
- package/managers/mongo.manager.d.ts +6 -6
- package/managers/mongo.manager.js.map +1 -1
- package/methods/aws.js +1 -1
- package/methods/aws.js.map +1 -1
- package/methods/collections.js +6 -6
- package/methods/collections.js.map +1 -1
- package/methods/cron-jobs.js +4 -4
- package/methods/cron-jobs.js.map +1 -1
- package/methods/pdf.js +115 -11
- package/methods/pdf.js.map +1 -1
- package/package.json +1 -1
package/methods/aws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/aws.ts"],"names":[],"mappings":"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","file":"aws.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nlet request = require('request').defaults({ encoding: null });\n\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\tlet that = this;\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\n\t\t\t\t\t\tif (fileData.split(',')[0].split(':')[1].split(';')[0] === 'application/pdf' && compress) {\n\t\t\t\t\t\t\tlet file = {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(), \n\t\t\t\t\t\t\t\t__v: 0, \n\t\t\t\t\t\t\t\tname: fileName, \n\t\t\t\t\t\t\t\tsize: fileSize, \n\t\t\t\t\t\t\t\tkey: key, \n\t\t\t\t\t\t\t\torder: fileOrder, \n\t\t\t\t\t\t\t\ttype: fileType\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tFiles.create(file).then(resFile => {\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'compressBase64AndUploadPDF', file._id, fileName, key, fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), (errCompress, resCompress) => {\n\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet newParams = {Bucket: that.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), ACL: 'private', ContentType: fileData.split(',')[0].split(':')[1].split(';')[0], ContentDisposition: 'inline'};\n\n\t\t\t\t\t\t\tthat.getAWS().upload(newParams, (err, res) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: 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}, errFile => reject(errFile));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\t\n\t\t\tskipQueue: true,\t\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\n\t\t\t\t\t\tthis.getAWS().upload(newParams, (err, res) => {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: 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});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\n\t\t\t\t\t\tlet delParams = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key};\n\t\t\t\n\t\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: file.key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tkeys.forEach(key => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n 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\tlet that = this;\n\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthat.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}]);\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 Mesasge:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/aws.ts"],"names":[],"mappings":"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","file":"aws.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nlet request = require('request').defaults({ encoding: null });\n\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\tlet that = this;\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\n\t\t\t\t\t\tif (fileData.split(',')[0].split(':')[1].split(';')[0] === 'application/pdf' && compress) {\n\t\t\t\t\t\t\tlet file = {\n\t\t\t\t\t\t\t\t_id: objectIdHexString(), \n\t\t\t\t\t\t\t\t__v: 0, \n\t\t\t\t\t\t\t\tname: fileName, \n\t\t\t\t\t\t\t\tsize: fileSize, \n\t\t\t\t\t\t\t\tkey: key, \n\t\t\t\t\t\t\t\torder: fileOrder, \n\t\t\t\t\t\t\t\ttype: fileType\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tFiles.create(file).then(resFile => {\n\t\t\t\t\t\t\t\tthis.callMethodInternal('compressBase64AndUploadPDF', file._id, fileName, key, fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), (errCompress, resCompress) => {\n\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet newParams = {Bucket: that.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), ACL: 'private', ContentType: fileData.split(',')[0].split(':')[1].split(';')[0], ContentDisposition: 'inline'};\n\n\t\t\t\t\t\t\tthat.getAWS().upload(newParams, (err, res) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: 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}, errFile => reject(errFile));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\t\n\t\t\tskipQueue: true,\t\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\n\t\t\t\t\t\tthis.getAWS().upload(newParams, (err, res) => {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: 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});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\n\t\t\t\t\t\tlet delParams = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key};\n\t\t\t\n\t\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: file.key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tkeys.forEach(key => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n 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\tlet that = this;\n\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthat.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}]);\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 Mesasge:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
|
package/methods/collections.js
CHANGED
|
@@ -86,7 +86,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
86
86
|
}
|
|
87
87
|
catch (errors) {
|
|
88
88
|
schemaErrors = errors;
|
|
89
|
-
_this.callMethodInternal
|
|
89
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);
|
|
90
90
|
}
|
|
91
91
|
if (schemaErrors) {
|
|
92
92
|
console.log(schemaErrors);
|
|
@@ -158,7 +158,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
158
158
|
}
|
|
159
159
|
catch (errors) {
|
|
160
160
|
schemaErrors = errors;
|
|
161
|
-
_this.callMethodInternal
|
|
161
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document_1]);
|
|
162
162
|
}
|
|
163
163
|
if (schemaErrors) {
|
|
164
164
|
console.log(schemaErrors);
|
|
@@ -238,7 +238,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
238
238
|
}
|
|
239
239
|
catch (errors) {
|
|
240
240
|
schemaErrors = errors;
|
|
241
|
-
_this.callMethodInternal
|
|
241
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);
|
|
242
242
|
}
|
|
243
243
|
if (schemaErrors) {
|
|
244
244
|
console.log(schemaErrors);
|
|
@@ -409,7 +409,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
409
409
|
}
|
|
410
410
|
catch (errors) {
|
|
411
411
|
schemaErrors = errors;
|
|
412
|
-
_this.callMethodInternal
|
|
412
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc_1]);
|
|
413
413
|
}
|
|
414
414
|
if (schemaErrors) {
|
|
415
415
|
console.log(schemaErrors);
|
|
@@ -565,7 +565,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
565
565
|
}
|
|
566
566
|
catch (errors) {
|
|
567
567
|
schemaErrors = errors;
|
|
568
|
-
_this.callMethodInternal
|
|
568
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);
|
|
569
569
|
}
|
|
570
570
|
if (schemaErrors) {
|
|
571
571
|
console.log(schemaErrors);
|
|
@@ -731,7 +731,7 @@ function loadCollectionMethods(methodManager) {
|
|
|
731
731
|
}
|
|
732
732
|
catch (errors) {
|
|
733
733
|
schemaErrors = errors;
|
|
734
|
-
_this.callMethodInternal
|
|
734
|
+
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc_2]);
|
|
735
735
|
}
|
|
736
736
|
if (schemaErrors) {
|
|
737
737
|
console.log(schemaErrors);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/collections.ts"],"names":[],"mappings":"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","file":"collections.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { getMongoUpdates, deepCopy, getMongoMergeUpdatedDoc, getBinarySize } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { Logs } from '../collections/log.collection';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\t// Query database for any collection and query\n\t\tfindOne: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne(query);\n\t\t\t}\n\t\t},\n\t\tfind: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsort: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, sortQuery: Object = {}) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).find(query, {sort: <any>sortQuery});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\ttype: PaginationOptionsSchema\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, options: PaginationOptions) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).find(query, {projection: options.fields, sort: options.sort, limit: options.limit, skip: options.skip});\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(document);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\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\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().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((res, rej) => {\n\n\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\tfor (let i = 0; i < documents.length; i++) {\n\t\t\t\t\t\tlet document = documents[i];\n\n\t\t\t\t\t\tpromises.push(new Promise((resolve, reject) => {\n\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(document);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).insertOne(document).then(() => resolve(id), err => reject(err));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\n\t\t\t\t\tPromise.all(promises).then(vals => res(vals), err => console.log(err));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update\n\t\tupdateDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': f_document['__v']}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, errOldDoc => {});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, errDoc => {\n\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentProps: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.n);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': doc__v}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\t\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, () => {});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tupdateDocumentOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentPropsOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + modifiedDoc.__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Removes 1 document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (deleted), res = 0 (not deleted), err = not deleted\n\t\t// Search for doc, if found then try and remove\n\t\tremoveDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: doc_id}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocument',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteOne({_id: doc_id}).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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\tremoveDocumentWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document (Query)',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: query}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocumentWithQuery',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteOne(query).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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\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\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Documents (Query)',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: query}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocumentsWithQuery',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteMany(query).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/collections.ts"],"names":[],"mappings":"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","file":"collections.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { getMongoUpdates, deepCopy, getMongoMergeUpdatedDoc, getBinarySize } from '../util/common';\nimport SimpleSchema from 'simpl-schema';\nimport { PaginationOptionsSchema, PaginationOptions } from '../models/pagination.model';\nimport { Logs } from '../collections/log.collection';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\t// Query database for any collection and query\n\t\tfindOne: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne(query);\n\t\t\t}\n\t\t},\n\t\tfind: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsort: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, sortQuery: Object = {}) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).find(query, {sort: <any>sortQuery});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\ttype: PaginationOptionsSchema\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, options: PaginationOptions) {\n\t\t\t\treturn ResolveIOServer.getMainServer().getMongoServer().collection(collection).find(query, {projection: options.fields, sort: options.sort, limit: options.limit, skip: options.skip});\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(document);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\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\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().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((res, rej) => {\n\n\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\tfor (let i = 0; i < documents.length; i++) {\n\t\t\t\t\t\tlet document = documents[i];\n\n\t\t\t\t\t\tpromises.push(new Promise((resolve, reject) => {\n\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(document);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(document)) < 200000) {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(document, null, 2),\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Insert Document',\n\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\tmethod: 'insertDocument',\n\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).insertOne(document).then(() => resolve(id), err => reject(err));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\n\t\t\t\t\tPromise.all(promises).then(vals => res(vals), err => console.log(err));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update\n\t\tupdateDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocument',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': f_document['__v']}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, errOldDoc => {});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, errDoc => {\n\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentProps: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.n);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentProps',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t{'_id.__v': doc__v}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}).then(oldDoc => {\n\t\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\t\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treject('Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, () => {});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tupdateDocumentOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: f_document['_id']}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(f_document);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, f_document, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: f_document['_id']}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(f_document)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(f_document, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentPropsOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tf_oldDocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string, updateParams: any[], doc__v: number, f_oldDocument: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).findOne({_id: doc_id}).then(currDoc => {\n\t\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\t\n\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\t\t\t\tlet schemaErrors = null;\n\t\t\t\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection)['simplschema'].validate(modifiedDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errors) {\n\t\t\t\t\t\t\t\t\tschemaErrors = errors;\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (schemaErrors) {\n\t\t\t\t\t\t\t\t\tconsole.log(schemaErrors);\n\t\t\t\t\t\t\t\t\treject('Schema Errors');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet updates = getMongoUpdates(currDoc, modifiedDoc, true);\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': currDoc._id},\n\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: currDoc.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\tif (updates) {\n\t\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).updateOne({_id: modifiedDoc._id}, updates).then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.ok);\n\t\t\t\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(1);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (getBinarySize(JSON.stringify(updateParams)) < 200000) {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: JSON.stringify(updateParams, null, 2),\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Update Document Props',\n\t\t\t\t\t\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection + ', Id: ' + doc_id + ', ' + 'Version: ' + doc__v,\n\t\t\t\t\t\t\t\t\t\t\tpayload: 'Too Big',\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'updateDocumentPropsOffline',\n\t\t\t\t\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\t\t\t\t\t\troute: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\n\t\t\t\t\t\t\t\tif (f_oldDocument) {\n\t\t\t\t\t\t\t\t\tlet versionDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\t\t\t\tversionDoc._id = {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: currDoc.__v\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, f_oldDocument);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v++;\n\t\t\t\t\t\t\t\t\tupdatedDoc.updatedAt = new Date();\n\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc).then(res => {\n\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').create(versionDoc).then(doc => {\n\t\t\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection + '.versions').deleteMany({\n\t\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id._id': versionDoc._id._id},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{'_id.__v': {$lte: versionDoc._id.__v - 4}}\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.result.nModified);\n\t\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, err => reject(err));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\treject('OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + currDoc.__v + ', Trying to update with :' + modifiedDoc.__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('No Document');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// Removes 1 document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (deleted), res = 0 (not deleted), err = not deleted\n\t\t// Search for doc, if found then try and remove\n\t\tremoveDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: doc_id}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocument',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteOne({_id: doc_id}).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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\tremoveDocumentWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Document (Query)',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: query}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocumentWithQuery',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteOne(query).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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\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\n\t\t\t\t\tLogs.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tdate: new Date(),\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\ttitle: 'Remove Documents (Query)',\n\t\t\t\t\t\tmessage: 'User: ' + this.user + ', Collection Type: ' + collection,\n\t\t\t\t\t\tpayload: JSON.stringify({_id: query}, null, 2),\n\t\t\t\t\t\tmethod: 'removeDocumentsWithQuery',\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tmessageId: '',\n\t\t\t\t\t\troute: ''\n\t\t\t\t\t});\n\n\t\t\t\t\tResolveIOServer.getMainServer().getMongoServer().collection(collection).deleteMany(query).then(res => {\n\t\t\t\t\t\tresolve(res.result.ok);\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});\n}"]}
|
package/methods/cron-jobs.js
CHANGED
|
@@ -79,7 +79,7 @@ function loadCronJobMethods(methodManager) {
|
|
|
79
79
|
case 1:
|
|
80
80
|
files = _a.sent();
|
|
81
81
|
if (files.length) {
|
|
82
|
-
this.callMethodInternal
|
|
82
|
+
this.callMethodInternal('deleteFiles');
|
|
83
83
|
file_collection_1.Files.deleteMany({ _id: { $in: files.map(function (a) { return a._id; }) } });
|
|
84
84
|
}
|
|
85
85
|
resolve();
|
|
@@ -286,7 +286,7 @@ function loadCronJobMethods(methodManager) {
|
|
|
286
286
|
filters_1.push({ $or: ors });
|
|
287
287
|
}
|
|
288
288
|
});
|
|
289
|
-
this.callMethodInternal
|
|
289
|
+
this.callMethodInternal('reportBuilderBuildTree', report.collection_root, function (errCollTree, collectionTree) {
|
|
290
290
|
if (collectionTree) {
|
|
291
291
|
collectionTree.layers = [collectionTree];
|
|
292
292
|
var treeLeaves = [];
|
|
@@ -426,7 +426,7 @@ function loadCronJobMethods(methodManager) {
|
|
|
426
426
|
filterArrays_1.push({ $or: ors });
|
|
427
427
|
}
|
|
428
428
|
});
|
|
429
|
-
_this.callMethodInternal
|
|
429
|
+
_this.callMethodInternal('reportBuilderGetResults', report.type, report.collection_root, rootOptions_1, filters_1, filterArrays_1, filterArrayFields_1, report.fields_selected, report.fields_custom, report.groups_row, report.fields_total, report.fields_link, report.id_date_field || null, report.date_interval || null, report.group_type, function (err, res) {
|
|
430
430
|
if (res && res[0]) {
|
|
431
431
|
var results_1 = res[0].results;
|
|
432
432
|
var reportTotals = res[0].totals;
|
|
@@ -922,7 +922,7 @@ function loadCronJobMethods(methodManager) {
|
|
|
922
922
|
}
|
|
923
923
|
else {
|
|
924
924
|
console.log(res);
|
|
925
|
-
_this.callMethodInternal
|
|
925
|
+
_this.callMethodInternal('insertErrorLog', 'Report Builder Cron Job - Report Builder Get Results', [
|
|
926
926
|
err
|
|
927
927
|
]);
|
|
928
928
|
reject(err);
|