63a1c2f23ea216e14a667aac9fd898287d5c70d9
[motion2.git] / server / api / mailMessage / mailMessage.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6402=['includeAll','include','findAll','rows','show','length','find','body','params','describe','create','out','MailAccountId','List','Contacts','updatedAt','DESC','MailServerOut','Smtp','service','host','port','secure','auth','user','pass','attachments','root','server/files/attachments','basename','CmContact','ListId','List\x20not\x20found','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','readAt','UserId','Contact','get','MailInteraction','MailInteractionId','isNil','read1stAt','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','manual','interface','SIP/%s','channel','event','acceptmessage','agent','interaction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','EventManager','rejectmessage','download','unix','toString','server','files','tmp','message-%s.eml','from','bcc','subject','Attachment','Attachments','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','Bcc','join','existsSync','push','type','readFileSync','build','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','client','http','request','then','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','MailMessage,\x20%s,\x20%s','info','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','send','index','MailMessage','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','pick','where','VIRTUAL','merge','options'];(function(_0x5ee2db,_0x47ea25){var _0x2cab07=function(_0x4643f7){while(--_0x4643f7){_0x5ee2db['push'](_0x5ee2db['shift']());}};_0x2cab07(++_0x47ea25);}(_0x6402,0x1a5));var _0x2640=function(_0x1ae3a6,_0x4d6fbd){_0x1ae3a6=_0x1ae3a6-0x0;var _0x2f7b56=_0x6402[_0x1ae3a6];return _0x2f7b56;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x2640('0x0'));var rimraf=require(_0x2640('0x1'));var zipdir=require(_0x2640('0x2'));var jsonpatch=require(_0x2640('0x3'));var rp=require(_0x2640('0x4'));var moment=require(_0x2640('0x5'));var BPromise=require(_0x2640('0x6'));var Mustache=require(_0x2640('0x7'));var util=require(_0x2640('0x8'));var path=require(_0x2640('0x9'));var sox=require(_0x2640('0xa'));var csv=require(_0x2640('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x2640('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2640('0xd'));var deskjs=require(_0x2640('0xe'));var toCsv=require(_0x2640('0xb'));var querystring=require(_0x2640('0xf'));var Papa=require(_0x2640('0x10'));var Redis=require('ioredis');var authService=require(_0x2640('0x11'));var qs=require(_0x2640('0x12'));var as=require(_0x2640('0x13'));var hardwareService=require(_0x2640('0x14'));var logger=require(_0x2640('0x15'))(_0x2640('0x16'));var utils=require(_0x2640('0x17'));var config=require(_0x2640('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x2640('0x19')]=_[_0x2640('0x1a')](config[_0x2640('0x19')],{'host':_0x2640('0x1b'),'port':0x18eb});var socket=require(_0x2640('0x1c'))(new Redis(config[_0x2640('0x19')]));require(_0x2640('0x1d'))[_0x2640('0x1e')](socket);var jayson=require('jayson/promise');var client=jayson[_0x2640('0x1f')][_0x2640('0x20')]({'port':0x232c});var client9003=jayson[_0x2640('0x1f')][_0x2640('0x20')]({'port':0x232b});var client9002=jayson[_0x2640('0x1f')][_0x2640('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x1f40f3,_0x2f8666,_0x55c293,_0x255087){return new BPromise(function(_0x1e67b4,_0x363326){var _0x2660fc=_0x255087||client;return _0x2660fc[_0x2640('0x21')](_0x1f40f3,_0x55c293)[_0x2640('0x22')](function(_0x120268){logger['info']('MailMessage,\x20%s,\x20%s',_0x2f8666,_0x2640('0x23'));logger['debug'](_0x2640('0x24'),_0x2f8666,_0x2640('0x23'),JSON[_0x2640('0x25')](_0x120268));if(_0x120268[_0x2640('0x26')]){if(_0x120268[_0x2640('0x26')][_0x2640('0x27')]===0x1f4){logger[_0x2640('0x26')]('MailMessage,\x20%s,\x20%s',_0x2f8666,_0x120268['error'][_0x2640('0x28')]);return _0x363326(_0x120268[_0x2640('0x26')][_0x2640('0x28')]);}logger[_0x2640('0x26')](_0x2640('0x29'),_0x2f8666,_0x120268[_0x2640('0x26')]['message']);return _0x1e67b4(_0x120268[_0x2640('0x26')][_0x2640('0x28')]);}else{logger[_0x2640('0x2a')](_0x2640('0x29'),_0x2f8666,_0x2640('0x23'));_0x1e67b4(_0x120268['result'][_0x2640('0x28')]);}})[_0x2640('0x2b')](function(_0x2e66b1){logger['error'](_0x2640('0x29'),_0x2f8666,_0x2e66b1);_0x363326(_0x2e66b1);});});}function respondWithStatusCode(_0x4938c2,_0x30c1e8){_0x30c1e8=_0x30c1e8||0xcc;return function(_0x4adf49){if(_0x4adf49){return _0x4938c2[_0x2640('0x2c')](_0x30c1e8);}return _0x4938c2['status'](_0x30c1e8)[_0x2640('0x2d')]();};}function respondWithResult(_0x564534,_0x59a7ea){_0x59a7ea=_0x59a7ea||0xc8;return function(_0x257ea7){if(_0x257ea7){return _0x564534[_0x2640('0x2e')](_0x59a7ea)[_0x2640('0x2f')](_0x257ea7);}};}function respondWithFilteredResult(_0x56efea,_0x1267fe){return function(_0x40b774){if(_0x40b774){var _0x40d4ac=_0x40b774[_0x2640('0x30')],_0x369d2a=_0x1267fe[_0x2640('0x31')],_0x5a2e45=_0x1267fe[_0x2640('0x31')]+_0x1267fe[_0x2640('0x32')],_0x2fa6b6;if(_0x5a2e45>=_0x40d4ac){_0x5a2e45=_0x40d4ac;_0x2fa6b6=0xc8;}else{_0x2fa6b6=0xce;}_0x56efea[_0x2640('0x2e')](_0x2fa6b6);return _0x56efea[_0x2640('0x33')](_0x2640('0x34'),_0x369d2a+'-'+_0x5a2e45+'/'+_0x40d4ac)[_0x2640('0x2f')](_0x40b774);}return null;};}function patchUpdates(_0x502d68){return function(_0x19ed1e){try{jsonpatch[_0x2640('0x35')](_0x19ed1e,_0x502d68,!![]);}catch(_0x1df7dd){return BPromise[_0x2640('0x36')](_0x1df7dd);}return _0x19ed1e[_0x2640('0x37')]();};}function saveUpdates(_0x49b0e6,_0x419280){return function(_0x4eb4f6){if(_0x4eb4f6){return _0x4eb4f6[_0x2640('0x38')](_0x49b0e6)[_0x2640('0x22')](function(_0x4da7f6){return _0x4da7f6;});}return null;};}function removeEntity(_0x509adb,_0x109320){return function(_0x3832de){if(_0x3832de){return _0x3832de[_0x2640('0x39')]()['then'](function(){_0x509adb['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x143f61,_0x594cbe){return function(_0x46090c){if(!_0x46090c){_0x143f61[_0x2640('0x2c')](0x194);}return _0x46090c;};}function handleError(_0x47af2c,_0x548ea7){_0x548ea7=_0x548ea7||0x1f4;return function(_0x52dcb4){logger['error'](_0x52dcb4[_0x2640('0x3a')]);if(_0x52dcb4['name']){delete _0x52dcb4[_0x2640('0x3b')];}_0x47af2c[_0x2640('0x2e')](_0x548ea7)[_0x2640('0x3c')](_0x52dcb4);};}exports[_0x2640('0x3d')]=function(_0x385faf,_0xccfcb4){var _0x191642={},_0x19add0={},_0x14543e={'count':0x0,'rows':[]};var _0x22f5e4=_['map'](db[_0x2640('0x3e')][_0x2640('0x3f')],function(_0x6475e){return{'name':_0x6475e['fieldName'],'type':_0x6475e['type'][_0x2640('0x40')]};});_0x19add0[_0x2640('0x41')]=_['map'](_0x22f5e4,_0x2640('0x3b'));_0x19add0[_0x2640('0x42')]=_[_0x2640('0x43')](_0x385faf[_0x2640('0x42')]);_0x19add0[_0x2640('0x44')]=_[_0x2640('0x45')](_0x19add0[_0x2640('0x41')],_0x19add0[_0x2640('0x42')]);_0x191642[_0x2640('0x46')]=_[_0x2640('0x45')](_0x19add0['model'],qs[_0x2640('0x47')](_0x385faf[_0x2640('0x42')][_0x2640('0x47')]));_0x191642['attributes']=_0x191642[_0x2640('0x46')]['length']?_0x191642['attributes']:_0x19add0[_0x2640('0x41')];if(!_0x385faf[_0x2640('0x42')]['hasOwnProperty'](_0x2640('0x48'))){_0x191642['limit']=qs[_0x2640('0x32')](_0x385faf['query']['limit']);_0x191642[_0x2640('0x31')]=qs['offset'](_0x385faf['query'][_0x2640('0x31')]);}_0x191642[_0x2640('0x49')]=qs[_0x2640('0x4a')](_0x385faf[_0x2640('0x42')][_0x2640('0x4a')]);_0x191642['where']=qs[_0x2640('0x44')](_[_0x2640('0x4b')](_0x385faf[_0x2640('0x42')],_0x19add0[_0x2640('0x44')]),_0x22f5e4);if(_0x385faf[_0x2640('0x42')]['filter']){_0x191642[_0x2640('0x4c')]=_['merge'](_0x191642[_0x2640('0x4c')],{'$or':_['map'](_0x22f5e4,function(_0x3ee308){if(_0x3ee308['type']!==_0x2640('0x4d')){var _0x19a3e3={};_0x19a3e3[_0x3ee308[_0x2640('0x3b')]]={'$like':'%'+_0x385faf['query']['filter']+'%'};return _0x19a3e3;}})});}_0x191642=_[_0x2640('0x4e')]({},_0x191642,_0x385faf[_0x2640('0x4f')]);var _0x4d548c={'where':_0x191642[_0x2640('0x4c')]};return db['MailMessage'][_0x2640('0x30')](_0x4d548c)[_0x2640('0x22')](function(_0x30311f){_0x14543e[_0x2640('0x30')]=_0x30311f;if(_0x385faf['query'][_0x2640('0x50')]){_0x191642[_0x2640('0x51')]=[{'all':!![]}];}return db[_0x2640('0x3e')][_0x2640('0x52')](_0x191642);})[_0x2640('0x22')](function(_0x82504a){_0x14543e[_0x2640('0x53')]=_0x82504a;return _0x14543e;})[_0x2640('0x22')](respondWithFilteredResult(_0xccfcb4,_0x191642))[_0x2640('0x2b')](handleError(_0xccfcb4,null));};exports[_0x2640('0x54')]=function(_0x56093c,_0x3cfcd1){var _0x2f566b={'raw':!![],'where':{'id':_0x56093c['params']['id']}},_0x39fcaf={};_0x39fcaf[_0x2640('0x41')]=_[_0x2640('0x43')](db['MailMessage']['rawAttributes']);_0x39fcaf['query']=_[_0x2640('0x43')](_0x56093c[_0x2640('0x42')]);_0x39fcaf[_0x2640('0x44')]=_[_0x2640('0x45')](_0x39fcaf['model'],_0x39fcaf[_0x2640('0x42')]);_0x2f566b[_0x2640('0x46')]=_[_0x2640('0x45')](_0x39fcaf['model'],qs[_0x2640('0x47')](_0x56093c['query'][_0x2640('0x47')]));_0x2f566b[_0x2640('0x46')]=_0x2f566b['attributes'][_0x2640('0x55')]?_0x2f566b[_0x2640('0x46')]:_0x39fcaf['model'];if(_0x56093c[_0x2640('0x42')][_0x2640('0x50')]){_0x2f566b[_0x2640('0x51')]=[{'all':!![]}];}_0x2f566b=_['merge']({},_0x2f566b,_0x56093c['options']);return db[_0x2640('0x3e')][_0x2640('0x56')](_0x2f566b)[_0x2640('0x22')](handleEntityNotFound(_0x3cfcd1,null))[_0x2640('0x22')](respondWithResult(_0x3cfcd1,null))[_0x2640('0x2b')](handleError(_0x3cfcd1,null));};exports[_0x2640('0x38')]=function(_0x56e982,_0x1f97c1){if(_0x56e982['body']['id']){delete _0x56e982[_0x2640('0x57')]['id'];}return db[_0x2640('0x3e')][_0x2640('0x56')]({'where':{'id':_0x56e982[_0x2640('0x58')]['id']}})[_0x2640('0x22')](handleEntityNotFound(_0x1f97c1,null))[_0x2640('0x22')](saveUpdates(_0x56e982[_0x2640('0x57')],null))[_0x2640('0x22')](respondWithResult(_0x1f97c1,null))[_0x2640('0x2b')](handleError(_0x1f97c1,null));};exports[_0x2640('0x39')]=function(_0x5d702b,_0x3ebdb2){return db[_0x2640('0x3e')][_0x2640('0x56')]({'where':{'id':_0x5d702b[_0x2640('0x58')]['id']}})[_0x2640('0x22')](handleEntityNotFound(_0x3ebdb2,null))[_0x2640('0x22')](removeEntity(_0x3ebdb2,null))[_0x2640('0x2b')](handleError(_0x3ebdb2,null));};exports[_0x2640('0x59')]=function(_0x4a34fb,_0x2cb788){return db[_0x2640('0x3e')]['describe']()['then'](respondWithResult(_0x2cb788,null))[_0x2640('0x2b')](handleError(_0x2cb788,null));};exports[_0x2640('0x5a')]=function(_0x5d5782,_0x56e83a){return db['MailMessage']['create'](_0x5d5782[_0x2640('0x57')])[_0x2640('0x22')](function(_0x2d92c2){if(_0x2d92c2){if(_0x2d92c2['direction']===_0x2640('0x5b')&&!_0x2d92c2['secret']){var _0x428c2c,_0x24dc87,_0x10d4d7;if(_0x5d5782['body']['to']){_0x24dc87=_0x5d5782[_0x2640('0x57')]['to']['split'](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x2d92c2[_0x2640('0x5c')]},'include':[{'model':db['CmList'],'as':_0x2640('0x5d'),'include':[{'model':db['CmContact'],'as':_0x2640('0x5e'),'where':{'email':_0x24dc87},'limit':0x1,'order':[[_0x2640('0x5f'),_0x2640('0x60')]]}]},{'model':db[_0x2640('0x61')],'as':'Smtp','raw':!![]}]})[_0x2640('0x22')](function(_0x1dfbca){_0x428c2c=_0x1dfbca;if(_0x428c2c&&_0x428c2c[_0x2640('0x62')]){var _0xf9c77={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x428c2c[_0x2640('0x62')][_0x2640('0x63')])){_0xf9c77[_0x2640('0x64')]=_0x428c2c[_0x2640('0x62')][_0x2640('0x64')];_0xf9c77[_0x2640('0x65')]=_0x428c2c['Smtp'][_0x2640('0x65')];_0xf9c77[_0x2640('0x66')]=_0x428c2c[_0x2640('0x62')][_0x2640('0x66')];if(_0x428c2c['Smtp']['authentication']){_0xf9c77[_0x2640('0x67')]={'user':_0x428c2c[_0x2640('0x62')][_0x2640('0x68')],'pass':_0x428c2c[_0x2640('0x62')][_0x2640('0x69')]};}}else{_0xf9c77['service']=_0x428c2c['Smtp'][_0x2640('0x63')];_0xf9c77['auth']={'user':_0x428c2c[_0x2640('0x62')][_0x2640('0x68')],'pass':_0x428c2c[_0x2640('0x62')][_0x2640('0x69')]};_0xf9c77[_0x2640('0x66')]=_0x428c2c[_0x2640('0x62')][_0x2640('0x66')];}if(_0x5d5782[_0x2640('0x57')][_0x2640('0x6a')]&&_0x5d5782['body'][_0x2640('0x6a')][_0x2640('0x55')]){for(var _0x376e6c=0x0;_0x376e6c<_0x5d5782[_0x2640('0x57')][_0x2640('0x6a')][_0x2640('0x55')];_0x376e6c+=0x1){_0x5d5782[_0x2640('0x57')][_0x2640('0x6a')][_0x376e6c]={'filename':_0x5d5782[_0x2640('0x57')][_0x2640('0x6a')][_0x376e6c]['name'],'path':path['join'](config[_0x2640('0x6b')],_0x2640('0x6c'),_0x5d5782['body']['attachments'][_0x376e6c][_0x2640('0x6d')])};}}_0x10d4d7={'account':_0xf9c77,'message':_0x5d5782['body']};return;}})[_0x2640('0x22')](function(){if(_0x428c2c[_0x2640('0x5d')]){if(_0x428c2c[_0x2640('0x5d')]['Contacts'][_0x2640('0x55')]){return _0x428c2c[_0x2640('0x5d')][_0x2640('0x5e')][0x0];}else{return db[_0x2640('0x6e')][_0x2640('0x5a')](_['defaults'](_0x5d5782[_0x2640('0x57')],{'firstName':_0x5d5782['body']['to'],'email':_0x5d5782[_0x2640('0x57')]['to'],'phone':_0x5d5782['body']['to'],'ListId':_0x428c2c[_0x2640('0x6f')]}));}}else{throw new Error(_0x2640('0x70'));}})['then'](function(){if(_0x10d4d7){return respondWithRpcPromise('SendMail','sendMail',_0x10d4d7,client9003)[_0x2640('0x22')](function(_0x3fc8d6){return _0x2d92c2[_0x2640('0x38')]({'read':!![],'messageId':_0x3fc8d6[_0x2640('0x71')],'sentAt':moment()[_0x2640('0x72')](_0x2640('0x73'))});})[_0x2640('0x2b')](function(_0x46391f){logger[_0x2640('0x26')]('%s',JSON['stringify'](_0x46391f));return _0x2d92c2;});}return _0x2d92c2;});}return _0x2d92c2;}})[_0x2640('0x22')](respondWithResult(_0x56e83a,0xc9))[_0x2640('0x2b')](handleError(_0x56e83a,null));};var interaction_log=require(_0x2640('0x15'))(_0x2640('0x74'));exports[_0x2640('0x75')]=function(_0x4fc405,_0x3fc406,_0x22711f){var _0x37c38a={'channel':_0x2640('0x76')};if(_0x4fc405[_0x2640('0x57')]['id']){delete _0x4fc405[_0x2640('0x57')]['id'];}_0x4fc405[_0x2640('0x57')][_0x2640('0x77')]=!![];_0x4fc405[_0x2640('0x57')][_0x2640('0x78')]=moment()['format'](_0x2640('0x73'));_0x4fc405[_0x2640('0x57')]['UserId']=_0x4fc405[_0x2640('0x57')][_0x2640('0x79')]||_0x4fc405['user']['id'];return db[_0x2640('0x3e')][_0x2640('0x56')]({'where':{'id':_0x4fc405[_0x2640('0x58')]['id'],'UserId':null},'include':[{'model':db[_0x2640('0x6e')],'as':_0x2640('0x7a')}]})[_0x2640('0x22')](handleEntityNotFound(_0x3fc406,null))[_0x2640('0x22')](saveUpdates(_0x4fc405[_0x2640('0x57')],null))[_0x2640('0x22')](function(_0x1c8c83){if(_0x1c8c83){_0x37c38a['message']=_0x1c8c83[_0x2640('0x7b')]({'plain':!![]});return db[_0x2640('0x7c')][_0x2640('0x56')]({'where':{'id':_0x1c8c83[_0x2640('0x7d')]}});}return null;})[_0x2640('0x22')](handleEntityNotFound(_0x3fc406,null))[_0x2640('0x22')](function(_0xccf714){if(_0xccf714){return _0xccf714[_0x2640('0x38')]({'UserId':_0x4fc405[_0x2640('0x57')][_0x2640('0x79')],'read1stAt':_[_0x2640('0x7e')](_0xccf714[_0x2640('0x7f')])?moment()[_0x2640('0x72')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x2640('0x22')](function(_0x34a9d7){if(_0x34a9d7){_0x37c38a['interaction']=_0x34a9d7['get']({'plain':!![]});interaction_log[_0x2640('0x2a')](_0x2640('0x80'),_0x4fc405[_0x2640('0x68')]['id'],_0x4fc405[_0x2640('0x68')][_0x2640('0x3b')],_0x4fc405[_0x2640('0x68')][_0x2640('0x81')],_0x37c38a['interaction']['id'],_0x4fc405['body']?JSON[_0x2640('0x25')](_0x4fc405['body']):_0x2640('0x82'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x37c38a);}return null;})[_0x2640('0x22')](function(_0x2a40ce){if(_0x2a40ce){if(_0x4fc405[_0x2640('0x57')][_0x2640('0x83')]){_0x37c38a[_0x2640('0x28')][_0x2640('0x84')]=util[_0x2640('0x72')](_0x2640('0x85'),_0x4fc405['user'][_0x2640('0x3b')]);_0x37c38a[_0x2640('0x28')][_0x2640('0x86')]=_0x37c38a[_0x2640('0x86')];_0x37c38a[_0x2640('0x28')][_0x2640('0x87')]=_0x2640('0x75');return respondWithRpcPromise('EventManager','EventManager',{'event':_0x2640('0x88'),'message':_0x37c38a['message']},client9002)['then'](function(){return _0x37c38a;});}return _0x37c38a;}return null;})[_0x2640('0x22')](respondWithResult(_0x3fc406,null))[_0x2640('0x2b')](handleError(_0x3fc406,null));};var interaction_log=require(_0x2640('0x15'))(_0x2640('0x74'));exports['reject']=function(_0x40f45c,_0x3b65ac,_0x2ae132){var _0x10c84d={'agent':{},'channel':_0x2640('0x76')};if(_0x40f45c[_0x2640('0x57')]['id']){delete _0x40f45c[_0x2640('0x57')]['id'];}_0x40f45c[_0x2640('0x57')][_0x2640('0x79')]=_0x40f45c[_0x2640('0x57')]['UserId']||_0x40f45c['user']['id'];_0x10c84d[_0x2640('0x89')]['id']=_0x40f45c[_0x2640('0x57')]['UserId'];return db[_0x2640('0x3e')][_0x2640('0x56')]({'where':{'id':_0x40f45c[_0x2640('0x58')]['id'],'UserId':null}})[_0x2640('0x22')](handleEntityNotFound(_0x3b65ac,null))['then'](function(_0x2f6161){if(_0x2f6161){_0x10c84d['message']=_0x2f6161[_0x2640('0x7b')]({'plain':!![]});return db[_0x2640('0x7c')]['find']({'where':{'id':_0x2f6161[_0x2640('0x7d')]}});}return null;})[_0x2640('0x22')](handleEntityNotFound(_0x3b65ac,null))['then'](function(_0x7ff97a){if(_0x7ff97a){_0x10c84d[_0x2640('0x8a')]=_0x7ff97a[_0x2640('0x7b')]({'plain':!![]});interaction_log[_0x2640('0x2a')](_0x2640('0x8b'),_0x40f45c[_0x2640('0x68')]['id'],_0x40f45c[_0x2640('0x68')][_0x2640('0x3b')],_0x40f45c[_0x2640('0x68')][_0x2640('0x81')],_0x10c84d[_0x2640('0x8a')]['id'],_0x40f45c['body']?JSON[_0x2640('0x25')](_0x40f45c[_0x2640('0x57')]):'null');return respondWithRpcPromise(_0x2640('0x8c'),_0x2640('0x8d'),_0x10c84d);}return null;})[_0x2640('0x22')](function(_0x23453f){if(_0x23453f){_0x23453f['message'][_0x2640('0x84')]=util[_0x2640('0x72')](_0x2640('0x85'),_0x40f45c[_0x2640('0x68')][_0x2640('0x3b')]);_0x23453f[_0x2640('0x28')][_0x2640('0x86')]=_0x10c84d[_0x2640('0x86')];_0x23453f[_0x2640('0x28')][_0x2640('0x87')]='reject';respondWithRpcPromise(_0x2640('0x8e'),'EventManager',{'event':_0x2640('0x8f'),'message':_0x23453f[_0x2640('0x28')]},client9002);return _0x10c84d;}return null;})['then'](respondWithResult(_0x3b65ac,null))[_0x2640('0x2b')](handleError(_0x3b65ac,null));};exports[_0x2640('0x90')]=function(_0x24bc94,_0x5a524e){var _0x5181a8=moment()[_0x2640('0x91')]()[_0x2640('0x92')]();var _0x41a770=path['join'](config[_0x2640('0x6b')],_0x2640('0x93'),_0x2640('0x94'),_0x2640('0x95'));var _0x320e6f=path['join'](config[_0x2640('0x6b')],'server',_0x2640('0x94'),_0x2640('0x6a'));var _0x42dfb5=util[_0x2640('0x72')](_0x2640('0x96'),_0x5181a8);return db[_0x2640('0x3e')][_0x2640('0x56')]({'where':{'id':_0x24bc94['params']['id']},'attributes':['id',_0x2640('0x57'),_0x2640('0x97'),'to','cc',_0x2640('0x98'),_0x2640('0x99'),'createdAt'],'include':_0x24bc94['query'][_0x2640('0x6a')]?[{'model':db[_0x2640('0x9a')],'as':_0x2640('0x9b')}]:undefined})[_0x2640('0x22')](handleEntityNotFound(_0x5a524e,null))['then'](function(_0x51f455){if(_0x51f455){var _0x23dce5=_0x51f455;var _0xe47dcd={'from':_0x23dce5[_0x2640('0x97')],'to':_0x23dce5['to'],'subject':_0x23dce5['subject'],'html':_0x23dce5[_0x2640('0x57')],'headers':{'Date':moment(_0x23dce5[_0x2640('0x9c')])['format'](_0x2640('0x9d'))},'attachments':[]};if(_0x51f455['cc']){_0xe47dcd['headers']['Cc']=_0x51f455['cc'];}if(_0x51f455[_0x2640('0x98')]){_0xe47dcd['headers'][_0x2640('0x9e')]=_0x51f455[_0x2640('0x98')];}return new BPromise(function(_0x31c21c,_0x5b94f8){if(_0x51f455[_0x2640('0x9b')]){for(var _0x6b11fd=0x0;_0x6b11fd<_0x51f455[_0x2640('0x9b')][_0x2640('0x55')];_0x6b11fd++){var _0x5efe06=_0x51f455['Attachments'][_0x6b11fd];var _0x121914=path[_0x2640('0x9f')](_0x320e6f,_0x5efe06[_0x2640('0x6d')]);if(fs[_0x2640('0xa0')](_0x121914)){_0xe47dcd[_0x2640('0x6a')][_0x2640('0xa1')]({'name':_0x5efe06[_0x2640('0x3b')],'contentType':_0x5efe06[_0x2640('0xa2')],'data':fs[_0x2640('0xa3')](_0x121914)});}}}emlformat[_0x2640('0xa4')](_0xe47dcd,function(_0x5a99b5,_0x1e9fe5){if(_0x5a99b5)return _0x5b94f8(_0x5a99b5);fs['writeFileSync'](path['join'](_0x41a770,_0x42dfb5),_0x1e9fe5);return _0x31c21c(_0x1e9fe5);});});}})[_0x2640('0x22')](function(_0x292bfb){if(_0x292bfb){return _0x5a524e[_0x2640('0x90')](path[_0x2640('0x9f')](_0x41a770,_0x42dfb5),_0x42dfb5,function(_0xbc92a3){if(_0xbc92a3){console['log'](_0x2640('0xa5'),_0xbc92a3);}else{fs[_0x2640('0xa6')](path[_0x2640('0x9f')](_0x41a770,_0x42dfb5));}});}})[_0x2640('0x2b')](handleError(_0x5a524e,null));};