@resolveio/server-lib 6.2.2-newrole → 6.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "6.2.2-newrole",
3
+ "version": "6.2.3",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "scripts": {
@@ -48,7 +48,8 @@ function loadSupportMethods(supportManager) {
48
48
  blackbox: true
49
49
  },
50
50
  id_files: {
51
- type: Array
51
+ type: Array,
52
+ optional: true
52
53
  },
53
54
  'id_files.$': {
54
55
  type: String
@@ -57,16 +58,18 @@ function loadSupportMethods(supportManager) {
57
58
  function: function (supportTicket, id_files) {
58
59
  var _this = this;
59
60
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
60
- var files;
61
+ var files_1;
61
62
  var _this = this;
62
63
  return __generator(this, function (_a) {
63
64
  switch (_a.label) {
64
- case 0: return [4 /*yield*/, file_collection_1.Files.find({
65
- _id: { $in: id_files }
66
- })];
65
+ case 0:
66
+ if (!(id_files && id_files.length)) return [3 /*break*/, 2];
67
+ return [4 /*yield*/, file_collection_1.Files.find({
68
+ _id: { $in: id_files }
69
+ })];
67
70
  case 1:
68
- files = _a.sent();
69
- this.callMethodInternal.call(this, 'getSignedUrls', files.map(function (a) { return a.key; }), 900, function (err, res) {
71
+ files_1 = _a.sent();
72
+ this.callMethodInternal.call(this, 'getSignedUrls', files_1.map(function (a) { return a.key; }), 900, function (err, res) {
70
73
  if (res) {
71
74
  _this.readFile('email-templates/support-ticket.html').then(function (html) { return __awaiter(_this, void 0, void 0, function () {
72
75
  var template, filesAttached, fileCnt;
@@ -82,7 +85,7 @@ function loadSupportMethods(supportManager) {
82
85
  filesAttached = [];
83
86
  fileCnt = 0;
84
87
  res.forEach(function (url) {
85
- filesAttached.push({ filename: files[fileCnt].name, path: url });
88
+ filesAttached.push({ filename: files_1[fileCnt].name, path: url });
86
89
  fileCnt++;
87
90
  });
88
91
  this.readImage('images/ResolveIO.png').then(function (logoData) {
@@ -105,12 +108,42 @@ function loadSupportMethods(supportManager) {
105
108
  }
106
109
  else {
107
110
  _this.callMethodInternal.call(_this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [
108
- files.map(function (a) { return a.key; }), err
111
+ files_1.map(function (a) { return a.key; }), err
109
112
  ]);
110
113
  reject(err);
111
114
  }
112
115
  });
113
- return [2 /*return*/];
116
+ return [3 /*break*/, 3];
117
+ case 2:
118
+ this.readFile('email-templates/support-ticket.html').then(function (html) { return __awaiter(_this, void 0, void 0, function () {
119
+ var template;
120
+ var _this = this;
121
+ return __generator(this, function (_a) {
122
+ template = handlebars.compile(html);
123
+ handlebars.registerHelper('greaterThan', function (a, b) {
124
+ return a > b;
125
+ });
126
+ handlebars.registerHelper('equals', function (a, b) {
127
+ return a === b;
128
+ });
129
+ this.readImage('images/ResolveIO.png').then(function (logoData) {
130
+ supportTicket['logo'] = 'data:image/png;base64,' + logoData;
131
+ if (supportTicket.client_user && supportTicket.client_user.email) {
132
+ supportTicket['user'] = supportTicket.client_user.user;
133
+ _this.sendEmail(supportTicket.client_user.email, 'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, '', template(supportTicket), null);
134
+ }
135
+ }, function (err) {
136
+ console.log(err);
137
+ });
138
+ resolve(true);
139
+ return [2 /*return*/];
140
+ });
141
+ }); }, function (err) {
142
+ console.log(err);
143
+ });
144
+ resolve(true);
145
+ _a.label = 3;
146
+ case 3: return [2 /*return*/];
114
147
  }
115
148
  });
116
149
  }); });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/support-methods/support.ts"],"names":[],"mappings":"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","file":"support.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { SupportManager } from '../managers/support.manager';\nimport { SupportTicketModel } from '../models/support-ticket.model';\nimport { Files } from '../collections/file.collection';\nimport handlebars = require('handlebars');\n\nexport function loadSupportMethods(supportManager: SupportManager) {\n\tsupportManager.supportMethods({\n\t\tsendSupportTicketEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tid_files: {\n\t\t\t\t\ttype: Array\t\t\t\t\t\n\t\t\t\t},\n\t\t\t\t'id_files.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(supportTicket: SupportTicketModel, id_files: string[]) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\t\t\tlet files = await Files.find({\n\t\t\t\t\t\t_id: {$in: id_files}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlet filesAttached = [];\n\n\t\t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t\t\t\t\t\t\tres.forEach(url => {\n\t\t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t\t\t\t\t\t\t\tfileCnt++;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\tfilesAttached\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}, err => {\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tsendSupportTicketModifiedEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tid_files: {\n\t\t\t\t\ttype: Array\t\t\t\t\t\n\t\t\t\t},\n\t\t\t\t'id_files.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(supportTicket: SupportTicketModel, id_files: string[]) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\t\t\tlet files = await Files.find({\n\t\t\t\t\t\t_id: {$in: id_files}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket-modified.html').then(async html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlet filesAttached = [];\n\n\t\t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t\t\t\t\t\t\tres.forEach(url => {\n\t\t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t\t\t\t\t\t\t\tfileCnt++;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsupportTicket.current_watchers.forEach(user => {\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = user.user;\n\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\tuser.email, \n\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - a ticket has been modified: ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\tfilesAttached\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 (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\tfilesAttached\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}, err => {\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tsendSupportTicketDeletedEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\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(supportTicket: SupportTicketModel) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', [], 900, (err, res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket-deleted.html').then(async html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\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}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\t[], err\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/support-methods/support.ts"],"names":[],"mappings":"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","file":"support.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { SupportManager } from '../managers/support.manager';\nimport { SupportTicketModel } from '../models/support-ticket.model';\nimport { Files } from '../collections/file.collection';\nimport handlebars = require('handlebars');\n\nexport function loadSupportMethods(supportManager: SupportManager) {\n\tsupportManager.supportMethods({\n\t\tsendSupportTicketEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tid_files: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\toptional: true\t\t\t\n\t\t\t\t},\n\t\t\t\t'id_files.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(supportTicket: SupportTicketModel, id_files?: string[]) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\t\n\t\t\t\t\tif (id_files && id_files.length) {\n\t\t\t\t\t\tlet files = await Files.find({\n\t\t\t\t\t\t\t_id: {$in: id_files}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\n\t\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\t\tlet filesAttached = [];\n\t\n\t\t\t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t\t\t\t\t\t\t\tres.forEach(url => {\n\t\t\t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t\t\t\t\t\t\t\t\tfileCnt++;\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t\t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\n\t\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\t\n\t\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \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\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\t\tfilesAttached\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t\t\t\t\t\t\t]);\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});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\n\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\tnull\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}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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}, err => {\n\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tsendSupportTicketModifiedEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tid_files: {\n\t\t\t\t\ttype: Array\t\t\t\t\t\n\t\t\t\t},\n\t\t\t\t'id_files.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(supportTicket: SupportTicketModel, id_files: string[]) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\t\t\tlet files = await Files.find({\n\t\t\t\t\t\t_id: {$in: id_files}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket-modified.html').then(async html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlet filesAttached = [];\n\n\t\t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t\t\t\t\t\t\tres.forEach(url => {\n\t\t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t\t\t\t\t\t\t\tfileCnt++;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsupportTicket.current_watchers.forEach(user => {\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = user.user;\n\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\tuser.email, \n\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - a ticket has been modified: ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\tfilesAttached\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 (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t\t\t\t\t\t\t\t\t\tfilesAttached\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}, err => {\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tsendSupportTicketDeletedEmail: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsupportTicket: {\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(supportTicket: SupportTicketModel) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', [], 900, (err, res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.readFile('email-templates/support-ticket-deleted.html').then(async html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a > b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t\t\t\t\t\t\t\t\t'', \n\t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\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}, err => {\n\t\t\t\t\t\t\t\tconsole.log(err);\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\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t\t\t\t\t\t\t[], err\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}