d46199b2978eaf855693041f5e79cc18532a125e
[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 _0xb94a=['bcc','subject','createdAt','decode','headers','Bcc','Attachments','basename','readFileSync','build','unlinkSync','eml-format','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','mail-interactions','redis','html-entities','./mailMessage.socket','register','jayson/promise','http','client','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','status','json','offset','undefined','limit','count','set','Content-Range','destroy','end','stack','send','index','map','MailMessage','rawAttributes','key','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','show','params','options','catch','update','body','find','describe','create','direction','out','secret','split','MailAccount','MailAccountId','CmList','List','CmContact','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','server/files/attachments','Contacts','defaults','ListId','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','AcceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','User','reject','rejectmessage','download','toString','root','server','tmp','message-%s.eml','from'];(function(_0x3bab09,_0x217c29){var _0x164376=function(_0x277730){while(--_0x277730){_0x3bab09['push'](_0x3bab09['shift']());}};_0x164376(++_0x217c29);}(_0xb94a,0xa8));var _0xab94=function(_0x16976a,_0x2a7b00){_0x16976a=_0x16976a-0x0;var _0x4179a0=_0xb94a[_0x16976a];return _0x4179a0;};'use strict';var emlformat=require(_0xab94('0x0'));var moment=require(_0xab94('0x1'));var BPromise=require(_0xab94('0x2'));var util=require(_0xab94('0x3'));var path=require(_0xab94('0x4'));var fs=require('fs');var _=require(_0xab94('0x5'));var Redis=require(_0xab94('0x6'));var htmlToText=require('html-to-text');var qs=require(_0xab94('0x7'));var logger=require(_0xab94('0x8'))(_0xab94('0x9'));var interaction_log=require(_0xab94('0x8'))(_0xab94('0xa'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0xab94('0xb')]=_['defaults'](config[_0xab94('0xb')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));var htmlEntities=require(_0xab94('0xc'));require(_0xab94('0xd'))[_0xab94('0xe')](socket);var jayson=require(_0xab94('0xf'));var client=jayson['client'][_0xab94('0x10')]({'port':0x232c});var client9003=jayson[_0xab94('0x11')][_0xab94('0x10')]({'port':0x232b});var client9002=jayson[_0xab94('0x11')][_0xab94('0x10')]({'port':0x232a});function respondWithRpcPromise(_0x4fa452,_0xfde1c2,_0x4c2659,_0x3090c5){return new BPromise(function(_0x249856,_0x3060f8){var _0x4eaa31=_0x3090c5||client;return _0x4eaa31['request'](_0x4fa452,_0x4c2659)[_0xab94('0x12')](function(_0x230264){logger[_0xab94('0x13')](_0xab94('0x14'),_0xfde1c2,_0xab94('0x15'));logger[_0xab94('0x16')](_0xab94('0x17'),_0xfde1c2,_0xab94('0x15'),JSON[_0xab94('0x18')](_0x230264));if(_0x230264[_0xab94('0x19')]){if(_0x230264[_0xab94('0x19')]['code']===0x1f4){logger[_0xab94('0x19')](_0xab94('0x14'),_0xfde1c2,_0x230264[_0xab94('0x19')]['message']);return _0x3060f8(_0x230264[_0xab94('0x19')]['message']);}logger[_0xab94('0x19')]('MailMessage,\x20%s,\x20%s',_0xfde1c2,_0x230264[_0xab94('0x19')][_0xab94('0x1a')]);return _0x249856(_0x230264[_0xab94('0x19')]['message']);}else{logger[_0xab94('0x13')](_0xab94('0x14'),_0xfde1c2,'request\x20sent');_0x249856(_0x230264[_0xab94('0x1b')]['message']);}})['catch'](function(_0x2bc981){logger['error'](_0xab94('0x14'),_0xfde1c2,_0x2bc981);_0x3060f8(_0x2bc981);});});}function respondWithResult(_0x6c2f4f,_0x2fb582){_0x2fb582=_0x2fb582||0xc8;return function(_0x5adb5c){if(_0x5adb5c){return _0x6c2f4f[_0xab94('0x1c')](_0x2fb582)[_0xab94('0x1d')](_0x5adb5c);}};}function respondWithFilteredResult(_0x20b81e,_0x49779e){return function(_0x953bc6){if(_0x953bc6){var _0x248aab=typeof _0x49779e[_0xab94('0x1e')]===_0xab94('0x1f')&&typeof _0x49779e[_0xab94('0x20')]===_0xab94('0x1f');var _0x212fd1=_0x953bc6[_0xab94('0x21')];var _0x3bdc3c=_0x248aab?0x0:_0x49779e[_0xab94('0x1e')];var _0x36ee54=_0x248aab?_0x953bc6[_0xab94('0x21')]:_0x49779e[_0xab94('0x1e')]+_0x49779e[_0xab94('0x20')];var _0x3a6bc6;if(_0x36ee54>=_0x212fd1){_0x36ee54=_0x212fd1;_0x3a6bc6=0xc8;}else{_0x3a6bc6=0xce;}_0x20b81e[_0xab94('0x1c')](_0x3a6bc6);return _0x20b81e[_0xab94('0x22')](_0xab94('0x23'),_0x3bdc3c+'-'+_0x36ee54+'/'+_0x212fd1)[_0xab94('0x1d')](_0x953bc6);}return null;};}function saveUpdates(_0x2e9ae2){return function(_0x134a45){if(_0x134a45){return _0x134a45['update'](_0x2e9ae2)[_0xab94('0x12')](function(_0xfc95c7){return _0xfc95c7;});}return null;};}function removeEntity(_0x8524b0){return function(_0x1ba65e){if(_0x1ba65e){return _0x1ba65e[_0xab94('0x24')]()[_0xab94('0x12')](function(){_0x8524b0[_0xab94('0x1c')](0xcc)[_0xab94('0x25')]();});}};}function handleEntityNotFound(_0x224832){return function(_0x48acf9){if(!_0x48acf9){_0x224832['sendStatus'](0x194);}return _0x48acf9;};}function handleError(_0x276200,_0x5507ab){_0x5507ab=_0x5507ab||0x1f4;return function(_0x120a00){logger[_0xab94('0x19')](_0x120a00[_0xab94('0x26')]);if(_0x120a00['name']){delete _0x120a00['name'];}_0x276200[_0xab94('0x1c')](_0x5507ab)[_0xab94('0x27')](_0x120a00);};}exports[_0xab94('0x28')]=function(_0x4e8102,_0x283429){var _0x45f029={},_0x52dfee={},_0x4b9a56={'count':0x0,'rows':[]};var _0x402702=_[_0xab94('0x29')](db[_0xab94('0x2a')][_0xab94('0x2b')],function(_0x31d143){return{'name':_0x31d143['fieldName'],'type':_0x31d143['type'][_0xab94('0x2c')]};});_0x52dfee[_0xab94('0x2d')]=_[_0xab94('0x29')](_0x402702,_0xab94('0x2e'));_0x52dfee[_0xab94('0x2f')]=_[_0xab94('0x30')](_0x4e8102['query']);_0x52dfee['filters']=_[_0xab94('0x31')](_0x52dfee['model'],_0x52dfee[_0xab94('0x2f')]);_0x45f029[_0xab94('0x32')]=_[_0xab94('0x31')](_0x52dfee[_0xab94('0x2d')],qs[_0xab94('0x33')](_0x4e8102[_0xab94('0x2f')][_0xab94('0x33')]));_0x45f029[_0xab94('0x32')]=_0x45f029[_0xab94('0x32')][_0xab94('0x34')]?_0x45f029[_0xab94('0x32')]:_0x52dfee['model'];if(!_0x4e8102[_0xab94('0x2f')][_0xab94('0x35')](_0xab94('0x36'))){_0x45f029[_0xab94('0x20')]=qs[_0xab94('0x20')](_0x4e8102[_0xab94('0x2f')][_0xab94('0x20')]);_0x45f029[_0xab94('0x1e')]=qs[_0xab94('0x1e')](_0x4e8102[_0xab94('0x2f')][_0xab94('0x1e')]);}_0x45f029['order']=qs[_0xab94('0x37')](_0x4e8102[_0xab94('0x2f')][_0xab94('0x37')]);_0x45f029[_0xab94('0x38')]=qs['filters'](_[_0xab94('0x39')](_0x4e8102['query'],_0x52dfee[_0xab94('0x3a')]),_0x402702);if(_0x4e8102[_0xab94('0x2f')][_0xab94('0x3b')]){_0x45f029[_0xab94('0x38')]=_[_0xab94('0x3c')](_0x45f029[_0xab94('0x38')],{'$or':_[_0xab94('0x29')](_0x402702,function(_0x253c05){if(_0x253c05[_0xab94('0x3d')]!==_0xab94('0x3e')){var _0x538b83={};_0x538b83[_0x253c05[_0xab94('0x2e')]]={'$like':'%'+_0x4e8102[_0xab94('0x2f')][_0xab94('0x3b')]+'%'};return _0x538b83;}})});}_0x45f029=_[_0xab94('0x3c')]({},_0x45f029,_0x4e8102['options']);var _0x4a92da={'where':_0x45f029[_0xab94('0x38')]};return db[_0xab94('0x2a')][_0xab94('0x21')](_0x4a92da)[_0xab94('0x12')](function(_0x18b955){_0x4b9a56[_0xab94('0x21')]=_0x18b955;if(_0x4e8102[_0xab94('0x2f')][_0xab94('0x3f')]){_0x45f029[_0xab94('0x40')]=[{'all':!![]}];}return db['MailMessage'][_0xab94('0x41')](_0x45f029);})['then'](function(_0x7ab5e0){_0x4b9a56[_0xab94('0x42')]=_0x7ab5e0;return _0x4b9a56;})['then'](respondWithFilteredResult(_0x283429,_0x45f029))['catch'](handleError(_0x283429,null));};exports[_0xab94('0x43')]=function(_0x2ff66a,_0x1e2273){var _0x2c86e8={'raw':!![],'where':{'id':_0x2ff66a[_0xab94('0x44')]['id']}},_0x302b90={};_0x302b90[_0xab94('0x2d')]=_[_0xab94('0x30')](db[_0xab94('0x2a')]['rawAttributes']);_0x302b90[_0xab94('0x2f')]=_['keys'](_0x2ff66a[_0xab94('0x2f')]);_0x302b90[_0xab94('0x3a')]=_[_0xab94('0x31')](_0x302b90[_0xab94('0x2d')],_0x302b90[_0xab94('0x2f')]);_0x2c86e8['attributes']=_['intersection'](_0x302b90['model'],qs[_0xab94('0x33')](_0x2ff66a['query'][_0xab94('0x33')]));_0x2c86e8['attributes']=_0x2c86e8[_0xab94('0x32')][_0xab94('0x34')]?_0x2c86e8['attributes']:_0x302b90[_0xab94('0x2d')];if(_0x2ff66a[_0xab94('0x2f')][_0xab94('0x3f')]){_0x2c86e8['include']=[{'all':!![]}];}_0x2c86e8=_['merge']({},_0x2c86e8,_0x2ff66a[_0xab94('0x45')]);return db['MailMessage']['find'](_0x2c86e8)[_0xab94('0x12')](handleEntityNotFound(_0x1e2273,null))[_0xab94('0x12')](respondWithResult(_0x1e2273,null))[_0xab94('0x46')](handleError(_0x1e2273,null));};exports[_0xab94('0x47')]=function(_0x2eec05,_0x2148a2){if(_0x2eec05['body']['id']){delete _0x2eec05[_0xab94('0x48')]['id'];}return db[_0xab94('0x2a')][_0xab94('0x49')]({'where':{'id':_0x2eec05[_0xab94('0x44')]['id']}})[_0xab94('0x12')](handleEntityNotFound(_0x2148a2,null))[_0xab94('0x12')](saveUpdates(_0x2eec05[_0xab94('0x48')],null))[_0xab94('0x12')](respondWithResult(_0x2148a2,null))['catch'](handleError(_0x2148a2,null));};exports[_0xab94('0x24')]=function(_0x333a47,_0x548611){return db[_0xab94('0x2a')][_0xab94('0x49')]({'where':{'id':_0x333a47[_0xab94('0x44')]['id']}})[_0xab94('0x12')](handleEntityNotFound(_0x548611,null))[_0xab94('0x12')](removeEntity(_0x548611,null))['catch'](handleError(_0x548611,null));};exports[_0xab94('0x4a')]=function(_0x4e38ba,_0x46f886){return db[_0xab94('0x2a')]['describe']()[_0xab94('0x12')](respondWithResult(_0x46f886,null))['catch'](handleError(_0x46f886,null));};exports[_0xab94('0x4b')]=function(_0x3e6490,_0x19a2bc){return db[_0xab94('0x2a')][_0xab94('0x4b')](_0x3e6490[_0xab94('0x48')])[_0xab94('0x12')](function(_0x10e914){if(_0x10e914){if(_0x10e914[_0xab94('0x4c')]===_0xab94('0x4d')&&!_0x10e914[_0xab94('0x4e')]){var _0x941686,_0x794c80,_0x237434;if(_0x3e6490[_0xab94('0x48')]['to']){_0x794c80=_0x3e6490[_0xab94('0x48')]['to'][_0xab94('0x4f')](',')[0x0];}return db[_0xab94('0x50')]['findOne']({'where':{'id':_0x10e914[_0xab94('0x51')]},'include':[{'model':db[_0xab94('0x52')],'as':_0xab94('0x53'),'include':[{'model':db[_0xab94('0x54')],'as':'Contacts','where':{'email':_0x794c80},'limit':0x1,'order':[[_0xab94('0x55'),_0xab94('0x56')]]}]},{'model':db[_0xab94('0x57')],'as':_0xab94('0x58'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xab94('0x59'),'raw':!![]}]}]})['then'](function(_0x867c32){_0x941686=_0x867c32;if(!_0x941686||!_0x941686['Smtp'])return;var _0x527634=_0x941686[_0xab94('0x5a')]();if(_0x3e6490[_0xab94('0x48')][_0xab94('0x5b')]&&_0x3e6490[_0xab94('0x48')][_0xab94('0x5b')][_0xab94('0x34')]){for(var _0x594a78=0x0;_0x594a78<_0x3e6490[_0xab94('0x48')]['attachments']['length'];_0x594a78+=0x1){_0x3e6490['body'][_0xab94('0x5b')][_0x594a78]={'filename':_0x3e6490['body'][_0xab94('0x5b')][_0x594a78]['name'],'path':path[_0xab94('0x5c')](config['root'],_0xab94('0x5d'),_0x3e6490[_0xab94('0x48')][_0xab94('0x5b')][_0x594a78]['basename'])};}}_0x237434={'account':_0x527634,'message':_0x3e6490[_0xab94('0x48')]};return;})[_0xab94('0x12')](function(){if(_0x941686[_0xab94('0x53')]){if(_0x941686[_0xab94('0x53')]['Contacts'][_0xab94('0x34')]){return _0x941686[_0xab94('0x53')][_0xab94('0x5e')][0x0];}else{return db[_0xab94('0x54')][_0xab94('0x4b')](_[_0xab94('0x5f')](_0x3e6490[_0xab94('0x48')],{'firstName':_0x3e6490[_0xab94('0x48')]['to'],'email':_0x3e6490[_0xab94('0x48')]['to'],'phone':_0x3e6490['body']['to'],'ListId':_0x941686[_0xab94('0x60')]}));}}else{throw new Error('List\x20not\x20found');}})[_0xab94('0x12')](function(){if(_0x237434){return respondWithRpcPromise(_0xab94('0x61'),_0xab94('0x62'),_0x237434,client9003)['then'](function(_0x419848){return _0x10e914[_0xab94('0x47')]({'read':!![],'messageId':_0x419848[_0xab94('0x63')],'sentAt':moment()[_0xab94('0x64')](_0xab94('0x65'))});})[_0xab94('0x46')](function(_0x58e3f4){logger['error']('%s',JSON[_0xab94('0x18')](_0x58e3f4));return _0x10e914;});}return _0x10e914;});}return _0x10e914;}})[_0xab94('0x12')](respondWithResult(_0x19a2bc,0xc9))['catch'](handleError(_0x19a2bc,null));};exports[_0xab94('0x66')]=function(_0x4d4dc9,_0x3866ac){var _0x244ac5={'agent':{},'channel':'mail'};if(_0x4d4dc9[_0xab94('0x48')]['id']){delete _0x4d4dc9[_0xab94('0x48')]['id'];}_0x4d4dc9[_0xab94('0x48')]['read']=!![];_0x4d4dc9[_0xab94('0x48')]['readAt']=moment()[_0xab94('0x64')](_0xab94('0x65'));_0x4d4dc9[_0xab94('0x48')][_0xab94('0x67')]=_0x4d4dc9[_0xab94('0x48')]['UserId']||_0x4d4dc9[_0xab94('0x68')]['id'];_0x244ac5[_0xab94('0x69')]['id']=_0x4d4dc9[_0xab94('0x48')][_0xab94('0x67')];return db[_0xab94('0x2a')][_0xab94('0x49')]({'where':{'id':_0x4d4dc9['params']['id'],'UserId':null}})[_0xab94('0x12')](handleEntityNotFound(_0x3866ac,null))['then'](saveUpdates(_0x4d4dc9[_0xab94('0x48')],null))[_0xab94('0x12')](function(_0x14745f){if(_0x14745f){_0x244ac5[_0xab94('0x1a')]=_0x14745f[_0xab94('0x6a')]({'plain':!![]});return db[_0xab94('0x6b')][_0xab94('0x49')]({'where':{'id':_0x14745f[_0xab94('0x6c')]}});}return null;})[_0xab94('0x12')](handleEntityNotFound(_0x3866ac,null))[_0xab94('0x12')](function(_0x37e7db){if(_0x37e7db){return _0x37e7db[_0xab94('0x47')]({'UserId':_0x4d4dc9[_0xab94('0x48')][_0xab94('0x67')],'read1stAt':_[_0xab94('0x6d')](_0x37e7db['read1stAt'])?moment()[_0xab94('0x64')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})['then'](function(_0x386b65){if(_0x386b65){_0x244ac5[_0xab94('0x6e')]=_0x386b65['get']({'plain':!![]});interaction_log[_0xab94('0x13')](_0xab94('0x6f'),_0x4d4dc9[_0xab94('0x68')]['id'],_0x4d4dc9['user'][_0xab94('0x2e')],_0x4d4dc9[_0xab94('0x68')][_0xab94('0x70')],_0x244ac5[_0xab94('0x6e')]['id'],_0x4d4dc9[_0xab94('0x48')]?JSON[_0xab94('0x18')](_0x4d4dc9[_0xab94('0x48')]):'null');return respondWithRpcPromise(_0xab94('0x71'),'acceptMessage',_0x244ac5);}return null;})[_0xab94('0x12')](function(_0x24ca7f){var _0x3eee13=_0xab94('0x72')+_0x24ca7f[_0xab94('0x1a')][_0xab94('0x73')];return db[_0xab94('0x74')][_0xab94('0x2f')](_0x3eee13,{'type':db[_0xab94('0x75')][_0xab94('0x76')][_0xab94('0x77')],'raw':!![]})[_0xab94('0x12')](function(_0x3746a5){return _0x3746a5;});})[_0xab94('0x12')](function(_0x483919){if(_0x483919){_0x244ac5[_0xab94('0x1a')][_0xab94('0x78')]=_0x483919[0x0];if(!_0x4d4dc9[_0xab94('0x48')]['UserId'])return;return db['User'][_0xab94('0x49')]({'where':{'id':_0x4d4dc9[_0xab94('0x48')][_0xab94('0x67')],'role':_0xab94('0x69')},'attributes':['id',_0xab94('0x2e'),_0xab94('0x79'),_0xab94('0x7a'),_0xab94('0x7b')],'raw':!![]});}return null;})[_0xab94('0x12')](function(_0x437c18){if(!_0x437c18)return null;_0x244ac5[_0xab94('0x1a')][_0xab94('0x69')]=_0x437c18;return _0x244ac5;})[_0xab94('0x12')](function(_0x51fd21){if(_0x51fd21){if(_0x4d4dc9[_0xab94('0x48')][_0xab94('0x7c')]){_0x244ac5['message'][_0xab94('0x7d')]=util[_0xab94('0x64')](_0xab94('0x7e'),_0x4d4dc9[_0xab94('0x68')][_0xab94('0x2e')]);_0x244ac5[_0xab94('0x1a')][_0xab94('0x7f')]=_0x244ac5['channel'];_0x244ac5[_0xab94('0x1a')][_0xab94('0x80')]=_0x244ac5[_0xab94('0x7f')];_0x244ac5[_0xab94('0x1a')][_0xab94('0x81')]='accept';_0x244ac5['message'][_0xab94('0x48')]=htmlToText['fromString'](_0x244ac5[_0xab94('0x1a')]['body']);return respondWithRpcPromise(_0xab94('0x82'),_0xab94('0x82'),{'event':_0xab94('0x83'),'message':_0x244ac5['message']},client9002)[_0xab94('0x12')](function(){return _0x244ac5;});}return _0x244ac5;}return null;})['then'](respondWithResult(_0x3866ac,null))[_0xab94('0x46')](handleError(_0x3866ac,null));};exports['reject']=function(_0xbdf856,_0xcdb813){var _0x5c7cf5={'agent':{},'channel':_0xab94('0x84')};if(_0xbdf856[_0xab94('0x48')]['id']){delete _0xbdf856[_0xab94('0x48')]['id'];}_0xbdf856['body'][_0xab94('0x67')]=_0xbdf856[_0xab94('0x48')][_0xab94('0x67')]||_0xbdf856[_0xab94('0x68')]['id'];_0x5c7cf5[_0xab94('0x69')]['id']=_0xbdf856['body']['UserId'];return db[_0xab94('0x2a')][_0xab94('0x49')]({'where':{'id':_0xbdf856[_0xab94('0x44')]['id'],'UserId':null}})[_0xab94('0x12')](handleEntityNotFound(_0xcdb813,null))['then'](function(_0x21e0f0){if(_0x21e0f0){_0x5c7cf5[_0xab94('0x1a')]=_0x21e0f0[_0xab94('0x6a')]({'plain':!![]});return db[_0xab94('0x6b')][_0xab94('0x49')]({'where':{'id':_0x21e0f0[_0xab94('0x6c')]}});}return null;})[_0xab94('0x12')](handleEntityNotFound(_0xcdb813,null))[_0xab94('0x12')](function(_0x16b7ad){if(_0x16b7ad){_0x5c7cf5['interaction']=_0x16b7ad[_0xab94('0x6a')]({'plain':!![]});interaction_log[_0xab94('0x13')](_0xab94('0x85'),_0xbdf856[_0xab94('0x68')]['id'],_0xbdf856['user'][_0xab94('0x2e')],_0xbdf856['user'][_0xab94('0x70')],_0x5c7cf5['interaction']['id'],_0xbdf856[_0xab94('0x48')]?JSON['stringify'](_0xbdf856[_0xab94('0x48')]):'null');return respondWithRpcPromise(_0xab94('0x86'),_0xab94('0x87'),_0x5c7cf5);}return null;})['then'](function(_0x4df8f8){var _0x37f22a='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x4df8f8['message'][_0xab94('0x73')];return db['sequelize'][_0xab94('0x2f')](_0x37f22a,{'type':db[_0xab94('0x75')]['QueryTypes'][_0xab94('0x77')],'raw':!![]})[_0xab94('0x12')](function(_0xacba40){return _0xacba40;});})['then'](function(_0x20562c){if(_0x20562c){_0x5c7cf5[_0xab94('0x1a')][_0xab94('0x78')]=_0x20562c[0x0];if(!_0xbdf856[_0xab94('0x48')][_0xab94('0x67')])return;return db[_0xab94('0x88')]['find']({'where':{'id':_0xbdf856[_0xab94('0x48')][_0xab94('0x67')],'role':'agent'},'attributes':['id',_0xab94('0x2e'),_0xab94('0x79'),_0xab94('0x7a'),_0xab94('0x7b')],'raw':!![]});}return null;})[_0xab94('0x12')](function(_0x334572){if(!_0x334572)return null;_0x5c7cf5[_0xab94('0x1a')][_0xab94('0x69')]=_0x334572;return _0x5c7cf5;})[_0xab94('0x12')](function(_0x19fbd7){if(_0x19fbd7){_0x19fbd7[_0xab94('0x1a')][_0xab94('0x7d')]=util['format']('SIP/%s',_0xbdf856[_0xab94('0x68')][_0xab94('0x2e')]);_0x19fbd7['message'][_0xab94('0x7f')]=_0x5c7cf5['channel'];_0x19fbd7[_0xab94('0x1a')][_0xab94('0x80')]=_0x5c7cf5[_0xab94('0x7f')];_0x19fbd7[_0xab94('0x1a')]['event']=_0xab94('0x89');_0x19fbd7[_0xab94('0x1a')][_0xab94('0x48')]=htmlToText['fromString'](_0x5c7cf5[_0xab94('0x1a')][_0xab94('0x48')]);respondWithRpcPromise('EventManager',_0xab94('0x82'),{'event':_0xab94('0x8a'),'message':_0x19fbd7[_0xab94('0x1a')]},client9002);return _0x5c7cf5;}return null;})[_0xab94('0x12')](respondWithResult(_0xcdb813,null))[_0xab94('0x46')](handleError(_0xcdb813,null));};exports[_0xab94('0x8b')]=function(_0x53c185,_0x206f1e){var _0x1f7f85=moment()['unix']()[_0xab94('0x8c')]();var _0x35636c=path[_0xab94('0x5c')](config[_0xab94('0x8d')],_0xab94('0x8e'),'files',_0xab94('0x8f'));var _0x274ca9=path['join'](config[_0xab94('0x8d')],_0xab94('0x8e'),'files',_0xab94('0x5b'));var _0x42a680=util[_0xab94('0x64')](_0xab94('0x90'),_0x1f7f85);return db[_0xab94('0x2a')]['find']({'where':{'id':_0x53c185[_0xab94('0x44')]['id']},'attributes':['id','body',_0xab94('0x91'),'to','cc',_0xab94('0x92'),_0xab94('0x93'),_0xab94('0x94')],'include':_0x53c185['query'][_0xab94('0x5b')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0xab94('0x12')](handleEntityNotFound(_0x206f1e,null))[_0xab94('0x12')](function(_0x51fa61){if(_0x51fa61){var _0x1ab2a7=_0x51fa61;var _0x5741b0={'from':_0x1ab2a7[_0xab94('0x91')],'to':_0x1ab2a7['to'],'subject':_0x1ab2a7['subject'],'html':htmlEntities[_0xab94('0x95')](_0x1ab2a7[_0xab94('0x48')]),'headers':{'Date':moment(_0x1ab2a7['createdAt'])['format']('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x51fa61['cc']){_0x5741b0[_0xab94('0x96')]['Cc']=_0x51fa61['cc'];}if(_0x51fa61[_0xab94('0x92')]){_0x5741b0[_0xab94('0x96')][_0xab94('0x97')]=_0x51fa61['bcc'];}return new BPromise(function(_0x14cb58,_0x4e1070){if(_0x51fa61[_0xab94('0x98')]){for(var _0x385e15=0x0;_0x385e15<_0x51fa61[_0xab94('0x98')][_0xab94('0x34')];_0x385e15++){var _0x22ef25=_0x51fa61['Attachments'][_0x385e15];var _0x1b4011=path[_0xab94('0x5c')](_0x274ca9,_0x22ef25[_0xab94('0x99')]);if(fs['existsSync'](_0x1b4011)){_0x5741b0['attachments']['push']({'name':_0x22ef25[_0xab94('0x2e')],'contentType':_0x22ef25[_0xab94('0x3d')],'data':fs[_0xab94('0x9a')](_0x1b4011)});}}}emlformat[_0xab94('0x9b')](_0x5741b0,function(_0x25e509,_0x3ec578){if(_0x25e509)return _0x4e1070(_0x25e509);fs['writeFileSync'](path['join'](_0x35636c,_0x42a680),_0x3ec578);return _0x14cb58(_0x3ec578);});});}})[_0xab94('0x12')](function(_0x4f3027){if(_0x4f3027){return _0x206f1e[_0xab94('0x8b')](path[_0xab94('0x5c')](_0x35636c,_0x42a680),_0x42a680,function(_0xf0a4ec){if(!_0xf0a4ec)fs[_0xab94('0x9c')](path['join'](_0x35636c,_0x42a680));});}})[_0xab94('0x46')](handleError(_0x206f1e,null));};