fbd66bb59f7ab403296c18003e01f902409f99f7
[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 _0x5302=['info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','json','offset','undefined','limit','count','Content-Range','destroy','status','end','sendStatus','name','send','index','MailMessage','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','params','length','body','find','describe','create','direction','out','secret','split','MailAccount','findOne','MailAccountId','CmList','List','Contacts','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','root','basename','CmContact','sendMail','update','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','readAt','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','fromString','EventManager','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','sequelize','rejectmessage','download','unix','server','files','tmp','from','bcc','subject','createdAt','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','push','readFileSync','build','writeFileSync','unlinkSync','bluebird','util','lodash','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../mysqldb','redis','localhost','html-entities','./mailMessage.socket','jayson/promise','client','http','request','then'];(function(_0x309448,_0x5e1674){var _0x30e792=function(_0x58251d){while(--_0x58251d){_0x309448['push'](_0x309448['shift']());}};_0x30e792(++_0x5e1674);}(_0x5302,0x8c));var _0x2530=function(_0x582f8b,_0x27e0d6){_0x582f8b=_0x582f8b-0x0;var _0x46cfcc=_0x5302[_0x582f8b];return _0x46cfcc;};'use strict';var emlformat=require('eml-format');var moment=require('moment');var BPromise=require(_0x2530('0x0'));var util=require(_0x2530('0x1'));var path=require('path');var fs=require('fs');var _=require(_0x2530('0x2'));var Redis=require('ioredis');var htmlToText=require(_0x2530('0x3'));var qs=require(_0x2530('0x4'));var logger=require(_0x2530('0x5'))(_0x2530('0x6'));var interaction_log=require(_0x2530('0x5'))(_0x2530('0x7'));var config=require('../../config/environment');var db=require(_0x2530('0x8'))['db'];config[_0x2530('0x9')]=_['defaults'](config[_0x2530('0x9')],{'host':_0x2530('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2530('0x9')]));var htmlEntities=require(_0x2530('0xb'));require(_0x2530('0xc'))['register'](socket);var jayson=require(_0x2530('0xd'));var client=jayson[_0x2530('0xe')][_0x2530('0xf')]({'port':0x232c});var client9003=jayson[_0x2530('0xe')][_0x2530('0xf')]({'port':0x232b});var client9002=jayson[_0x2530('0xe')][_0x2530('0xf')]({'port':0x232a});function respondWithRpcPromise(_0x1c3b14,_0x53bd86,_0x33eeb9,_0x496fd2){return new BPromise(function(_0x1984c1,_0x17e1d2){var _0x539d70=_0x496fd2||client;return _0x539d70[_0x2530('0x10')](_0x1c3b14,_0x33eeb9)[_0x2530('0x11')](function(_0x2b2645){logger[_0x2530('0x12')](_0x2530('0x13'),_0x53bd86,_0x2530('0x14'));logger[_0x2530('0x15')](_0x2530('0x16'),_0x53bd86,_0x2530('0x14'),JSON[_0x2530('0x17')](_0x2b2645));if(_0x2b2645['error']){if(_0x2b2645['error'][_0x2530('0x18')]===0x1f4){logger[_0x2530('0x19')](_0x2530('0x13'),_0x53bd86,_0x2b2645[_0x2530('0x19')][_0x2530('0x1a')]);return _0x17e1d2(_0x2b2645[_0x2530('0x19')]['message']);}logger[_0x2530('0x19')](_0x2530('0x13'),_0x53bd86,_0x2b2645[_0x2530('0x19')][_0x2530('0x1a')]);return _0x1984c1(_0x2b2645[_0x2530('0x19')][_0x2530('0x1a')]);}else{logger[_0x2530('0x12')](_0x2530('0x13'),_0x53bd86,_0x2530('0x14'));_0x1984c1(_0x2b2645[_0x2530('0x1b')][_0x2530('0x1a')]);}})[_0x2530('0x1c')](function(_0x3b6da2){logger[_0x2530('0x19')]('MailMessage,\x20%s,\x20%s',_0x53bd86,_0x3b6da2);_0x17e1d2(_0x3b6da2);});});}function respondWithResult(_0x2ec0f8,_0x117ca2){_0x117ca2=_0x117ca2||0xc8;return function(_0x115676){if(_0x115676){return _0x2ec0f8['status'](_0x117ca2)[_0x2530('0x1d')](_0x115676);}};}function respondWithFilteredResult(_0xb81e71,_0x28340e){return function(_0x483237){if(_0x483237){var _0x44f068=typeof _0x28340e[_0x2530('0x1e')]===_0x2530('0x1f')&&typeof _0x28340e[_0x2530('0x20')]===_0x2530('0x1f');var _0x31d81c=_0x483237[_0x2530('0x21')];var _0x3f2452=_0x44f068?0x0:_0x28340e[_0x2530('0x1e')];var _0x1b91c5=_0x44f068?_0x483237[_0x2530('0x21')]:_0x28340e[_0x2530('0x1e')]+_0x28340e['limit'];var _0x20e4b1;if(_0x1b91c5>=_0x31d81c){_0x1b91c5=_0x31d81c;_0x20e4b1=0xc8;}else{_0x20e4b1=0xce;}_0xb81e71['status'](_0x20e4b1);return _0xb81e71['set'](_0x2530('0x22'),_0x3f2452+'-'+_0x1b91c5+'/'+_0x31d81c)[_0x2530('0x1d')](_0x483237);}return null;};}function saveUpdates(_0x5b3742){return function(_0xd8e552){if(_0xd8e552){return _0xd8e552['update'](_0x5b3742)[_0x2530('0x11')](function(_0x13bb18){return _0x13bb18;});}return null;};}function removeEntity(_0xc2a138){return function(_0x395679){if(_0x395679){return _0x395679[_0x2530('0x23')]()[_0x2530('0x11')](function(){_0xc2a138[_0x2530('0x24')](0xcc)[_0x2530('0x25')]();});}};}function handleEntityNotFound(_0x30c41c){return function(_0x24912c){if(!_0x24912c){_0x30c41c[_0x2530('0x26')](0x194);}return _0x24912c;};}function handleError(_0x290200,_0x5a4d3c){_0x5a4d3c=_0x5a4d3c||0x1f4;return function(_0x35b8a2){logger['error'](_0x35b8a2['stack']);if(_0x35b8a2[_0x2530('0x27')]){delete _0x35b8a2[_0x2530('0x27')];}_0x290200['status'](_0x5a4d3c)[_0x2530('0x28')](_0x35b8a2);};}exports[_0x2530('0x29')]=function(_0xe15b10,_0x5d1538){var _0xd4fdf8={},_0x49832c={},_0x479a8b={'count':0x0,'rows':[]};var _0x596a80=_['map'](db[_0x2530('0x2a')][_0x2530('0x2b')],function(_0x48c677){return{'name':_0x48c677[_0x2530('0x2c')],'type':_0x48c677[_0x2530('0x2d')]['key']};});_0x49832c[_0x2530('0x2e')]=_['map'](_0x596a80,_0x2530('0x27'));_0x49832c[_0x2530('0x2f')]=_[_0x2530('0x30')](_0xe15b10[_0x2530('0x2f')]);_0x49832c['filters']=_['intersection'](_0x49832c[_0x2530('0x2e')],_0x49832c[_0x2530('0x2f')]);_0xd4fdf8[_0x2530('0x31')]=_[_0x2530('0x32')](_0x49832c[_0x2530('0x2e')],qs['fields'](_0xe15b10[_0x2530('0x2f')][_0x2530('0x33')]));_0xd4fdf8[_0x2530('0x31')]=_0xd4fdf8['attributes']['length']?_0xd4fdf8[_0x2530('0x31')]:_0x49832c[_0x2530('0x2e')];if(!_0xe15b10[_0x2530('0x2f')][_0x2530('0x34')](_0x2530('0x35'))){_0xd4fdf8[_0x2530('0x20')]=qs[_0x2530('0x20')](_0xe15b10[_0x2530('0x2f')][_0x2530('0x20')]);_0xd4fdf8['offset']=qs[_0x2530('0x1e')](_0xe15b10[_0x2530('0x2f')]['offset']);}_0xd4fdf8[_0x2530('0x36')]=qs[_0x2530('0x37')](_0xe15b10[_0x2530('0x2f')][_0x2530('0x37')]);_0xd4fdf8['where']=qs[_0x2530('0x38')](_[_0x2530('0x39')](_0xe15b10[_0x2530('0x2f')],_0x49832c[_0x2530('0x38')]),_0x596a80);if(_0xe15b10[_0x2530('0x2f')][_0x2530('0x3a')]){_0xd4fdf8['where']=_['merge'](_0xd4fdf8[_0x2530('0x3b')],{'$or':_['map'](_0x596a80,function(_0x1890b9){if(_0x1890b9[_0x2530('0x2d')]!==_0x2530('0x3c')){var _0x319c64={};_0x319c64[_0x1890b9[_0x2530('0x27')]]={'$like':'%'+_0xe15b10[_0x2530('0x2f')][_0x2530('0x3a')]+'%'};return _0x319c64;}})});}_0xd4fdf8=_[_0x2530('0x3d')]({},_0xd4fdf8,_0xe15b10[_0x2530('0x3e')]);var _0xbfc6c3={'where':_0xd4fdf8[_0x2530('0x3b')]};return db[_0x2530('0x2a')][_0x2530('0x21')](_0xbfc6c3)[_0x2530('0x11')](function(_0x4e4372){_0x479a8b[_0x2530('0x21')]=_0x4e4372;if(_0xe15b10[_0x2530('0x2f')][_0x2530('0x3f')]){_0xd4fdf8[_0x2530('0x40')]=[{'all':!![]}];}return db['MailMessage'][_0x2530('0x41')](_0xd4fdf8);})['then'](function(_0x3ccc55){_0x479a8b[_0x2530('0x42')]=_0x3ccc55;return _0x479a8b;})[_0x2530('0x11')](respondWithFilteredResult(_0x5d1538,_0xd4fdf8))[_0x2530('0x1c')](handleError(_0x5d1538,null));};exports['show']=function(_0x4d8e10,_0xc06afb){var _0x4d04e2={'raw':!![],'where':{'id':_0x4d8e10[_0x2530('0x43')]['id']}},_0x44c0d0={};_0x44c0d0[_0x2530('0x2e')]=_[_0x2530('0x30')](db[_0x2530('0x2a')][_0x2530('0x2b')]);_0x44c0d0[_0x2530('0x2f')]=_[_0x2530('0x30')](_0x4d8e10[_0x2530('0x2f')]);_0x44c0d0[_0x2530('0x38')]=_[_0x2530('0x32')](_0x44c0d0[_0x2530('0x2e')],_0x44c0d0[_0x2530('0x2f')]);_0x4d04e2[_0x2530('0x31')]=_[_0x2530('0x32')](_0x44c0d0['model'],qs[_0x2530('0x33')](_0x4d8e10[_0x2530('0x2f')][_0x2530('0x33')]));_0x4d04e2[_0x2530('0x31')]=_0x4d04e2['attributes'][_0x2530('0x44')]?_0x4d04e2[_0x2530('0x31')]:_0x44c0d0[_0x2530('0x2e')];if(_0x4d8e10['query'][_0x2530('0x3f')]){_0x4d04e2[_0x2530('0x40')]=[{'all':!![]}];}_0x4d04e2=_[_0x2530('0x3d')]({},_0x4d04e2,_0x4d8e10[_0x2530('0x3e')]);return db[_0x2530('0x2a')]['find'](_0x4d04e2)['then'](handleEntityNotFound(_0xc06afb,null))[_0x2530('0x11')](respondWithResult(_0xc06afb,null))['catch'](handleError(_0xc06afb,null));};exports['update']=function(_0x270015,_0x76df75){if(_0x270015['body']['id']){delete _0x270015[_0x2530('0x45')]['id'];}return db['MailMessage'][_0x2530('0x46')]({'where':{'id':_0x270015[_0x2530('0x43')]['id']}})[_0x2530('0x11')](handleEntityNotFound(_0x76df75,null))[_0x2530('0x11')](saveUpdates(_0x270015[_0x2530('0x45')],null))[_0x2530('0x11')](respondWithResult(_0x76df75,null))[_0x2530('0x1c')](handleError(_0x76df75,null));};exports[_0x2530('0x23')]=function(_0x3ed171,_0x2f14e8){return db[_0x2530('0x2a')][_0x2530('0x46')]({'where':{'id':_0x3ed171['params']['id']}})[_0x2530('0x11')](handleEntityNotFound(_0x2f14e8,null))['then'](removeEntity(_0x2f14e8,null))[_0x2530('0x1c')](handleError(_0x2f14e8,null));};exports[_0x2530('0x47')]=function(_0x324c96,_0x521901){return db['MailMessage'][_0x2530('0x47')]()['then'](respondWithResult(_0x521901,null))[_0x2530('0x1c')](handleError(_0x521901,null));};exports[_0x2530('0x48')]=function(_0x4ebc44,_0x278efe){return db[_0x2530('0x2a')][_0x2530('0x48')](_0x4ebc44['body'])[_0x2530('0x11')](function(_0x360c53){if(_0x360c53){if(_0x360c53[_0x2530('0x49')]===_0x2530('0x4a')&&!_0x360c53[_0x2530('0x4b')]){var _0x52d8c8,_0x25994e,_0x4b3b7c;if(_0x4ebc44[_0x2530('0x45')]['to']){_0x25994e=_0x4ebc44[_0x2530('0x45')]['to'][_0x2530('0x4c')](',')[0x0];}return db[_0x2530('0x4d')][_0x2530('0x4e')]({'where':{'id':_0x360c53[_0x2530('0x4f')]},'include':[{'model':db[_0x2530('0x50')],'as':_0x2530('0x51'),'include':[{'model':db['CmContact'],'as':_0x2530('0x52'),'where':{'email':_0x25994e},'limit':0x1,'order':[['updatedAt',_0x2530('0x53')]]}]},{'model':db[_0x2530('0x54')],'as':_0x2530('0x55'),'raw':!![],'include':[{'model':db[_0x2530('0x56')],'as':_0x2530('0x56'),'raw':!![]}]}]})[_0x2530('0x11')](function(_0x14e59b){_0x52d8c8=_0x14e59b;if(!_0x52d8c8||!_0x52d8c8[_0x2530('0x55')])return;var _0x2b4ed3=_0x52d8c8[_0x2530('0x57')]();if(_0x4ebc44[_0x2530('0x45')][_0x2530('0x58')]&&_0x4ebc44[_0x2530('0x45')][_0x2530('0x58')][_0x2530('0x44')]){for(var _0x5ec3d4=0x0;_0x5ec3d4<_0x4ebc44['body'][_0x2530('0x58')]['length'];_0x5ec3d4+=0x1){_0x4ebc44[_0x2530('0x45')][_0x2530('0x58')][_0x5ec3d4]={'filename':_0x4ebc44[_0x2530('0x45')][_0x2530('0x58')][_0x5ec3d4][_0x2530('0x27')],'path':path[_0x2530('0x59')](config[_0x2530('0x5a')],'server/files/attachments',_0x4ebc44[_0x2530('0x45')][_0x2530('0x58')][_0x5ec3d4][_0x2530('0x5b')])};}}_0x4b3b7c={'account':_0x2b4ed3,'message':_0x4ebc44['body']};return;})[_0x2530('0x11')](function(){if(_0x52d8c8['List']){if(_0x52d8c8[_0x2530('0x51')]['Contacts'][_0x2530('0x44')]){return _0x52d8c8[_0x2530('0x51')][_0x2530('0x52')][0x0];}else{return db[_0x2530('0x5c')][_0x2530('0x48')](_['defaults'](_0x4ebc44[_0x2530('0x45')],{'firstName':_0x4ebc44[_0x2530('0x45')]['to'],'email':_0x4ebc44['body']['to'],'phone':_0x4ebc44[_0x2530('0x45')]['to'],'ListId':_0x52d8c8['ListId']}));}}else{throw new Error('List\x20not\x20found');}})[_0x2530('0x11')](function(){if(_0x4b3b7c){return respondWithRpcPromise('SendMail',_0x2530('0x5d'),_0x4b3b7c,client9003)[_0x2530('0x11')](function(_0x5997aa){return _0x360c53[_0x2530('0x5e')]({'read':!![],'messageId':_0x5997aa[_0x2530('0x5f')],'sentAt':moment()[_0x2530('0x60')](_0x2530('0x61'))});})[_0x2530('0x1c')](function(_0x53131b){logger[_0x2530('0x19')]('%s',JSON[_0x2530('0x17')](_0x53131b));return _0x360c53;});}return _0x360c53;});}return _0x360c53;}})[_0x2530('0x11')](respondWithResult(_0x278efe,0xc9))[_0x2530('0x1c')](handleError(_0x278efe,null));};exports[_0x2530('0x62')]=function(_0x3d82ec,_0x289396){var _0x343b95={'agent':{},'channel':_0x2530('0x63')};if(_0x3d82ec[_0x2530('0x45')]['id']){delete _0x3d82ec[_0x2530('0x45')]['id'];}_0x3d82ec[_0x2530('0x45')]['read']=!![];_0x3d82ec['body'][_0x2530('0x64')]=moment()[_0x2530('0x60')]('YYYY-MM-DD\x20HH:mm:ss');_0x3d82ec[_0x2530('0x45')][_0x2530('0x65')]=_0x3d82ec[_0x2530('0x45')]['UserId']||_0x3d82ec[_0x2530('0x66')]['id'];_0x343b95[_0x2530('0x67')]['id']=_0x3d82ec[_0x2530('0x45')][_0x2530('0x65')];return db[_0x2530('0x2a')][_0x2530('0x46')]({'where':{'id':_0x3d82ec[_0x2530('0x43')]['id'],'UserId':null}})[_0x2530('0x11')](handleEntityNotFound(_0x289396,null))[_0x2530('0x11')](saveUpdates(_0x3d82ec['body'],null))[_0x2530('0x11')](function(_0x3c9cd7){if(_0x3c9cd7){_0x343b95[_0x2530('0x1a')]=_0x3c9cd7[_0x2530('0x68')]({'plain':!![]});return db[_0x2530('0x69')][_0x2530('0x46')]({'where':{'id':_0x3c9cd7[_0x2530('0x6a')]}});}return null;})[_0x2530('0x11')](handleEntityNotFound(_0x289396,null))['then'](function(_0x248f46){if(_0x248f46){return _0x248f46[_0x2530('0x5e')]({'UserId':_0x3d82ec['body'][_0x2530('0x65')],'read1stAt':_[_0x2530('0x6b')](_0x248f46['read1stAt'])?moment()[_0x2530('0x60')](_0x2530('0x61')):undefined});}return null;})[_0x2530('0x11')](function(_0x4ec6c2){if(_0x4ec6c2){_0x343b95[_0x2530('0x6c')]=_0x4ec6c2[_0x2530('0x68')]({'plain':!![]});interaction_log['info'](_0x2530('0x6d'),_0x3d82ec['user']['id'],_0x3d82ec[_0x2530('0x66')][_0x2530('0x27')],_0x3d82ec[_0x2530('0x66')][_0x2530('0x6e')],_0x343b95[_0x2530('0x6c')]['id'],_0x3d82ec['body']?JSON['stringify'](_0x3d82ec[_0x2530('0x45')]):_0x2530('0x6f'));return respondWithRpcPromise('AcceptMessage',_0x2530('0x70'),_0x343b95);}return null;})[_0x2530('0x11')](function(_0x50e134){var _0x1c638d=_0x2530('0x71')+_0x50e134['message'][_0x2530('0x72')];return db['sequelize'][_0x2530('0x2f')](_0x1c638d,{'type':db[_0x2530('0x73')][_0x2530('0x74')][_0x2530('0x75')],'raw':!![]})[_0x2530('0x11')](function(_0x1933d5){return _0x1933d5;});})[_0x2530('0x11')](function(_0x2a1ab7){if(_0x2a1ab7){_0x343b95[_0x2530('0x1a')][_0x2530('0x76')]=_0x2a1ab7[0x0];if(!_0x3d82ec[_0x2530('0x45')][_0x2530('0x65')])return;return db[_0x2530('0x77')]['find']({'where':{'id':_0x3d82ec[_0x2530('0x45')]['UserId'],'role':'agent'},'attributes':['id',_0x2530('0x27'),_0x2530('0x78'),_0x2530('0x79'),_0x2530('0x7a')],'raw':!![]});}return null;})[_0x2530('0x11')](function(_0x150f4f){if(!_0x150f4f)return null;_0x343b95[_0x2530('0x1a')][_0x2530('0x67')]=_0x150f4f;return _0x343b95;})[_0x2530('0x11')](function(_0x4cb406){if(_0x4cb406){if(_0x3d82ec[_0x2530('0x45')][_0x2530('0x7b')]){_0x343b95[_0x2530('0x1a')][_0x2530('0x7c')]=util[_0x2530('0x60')](_0x2530('0x7d'),_0x3d82ec[_0x2530('0x66')][_0x2530('0x27')]);_0x343b95[_0x2530('0x1a')]['channel']=_0x343b95[_0x2530('0x7e')];_0x343b95[_0x2530('0x1a')][_0x2530('0x7f')]=_0x343b95[_0x2530('0x7e')];_0x343b95[_0x2530('0x1a')][_0x2530('0x80')]=_0x2530('0x62');_0x343b95[_0x2530('0x1a')][_0x2530('0x45')]=htmlToText[_0x2530('0x81')](_0x343b95[_0x2530('0x1a')][_0x2530('0x45')]);return respondWithRpcPromise(_0x2530('0x82'),'EventManager',{'event':'acceptmessage','message':_0x343b95[_0x2530('0x1a')]},client9002)['then'](function(){return _0x343b95;});}return _0x343b95;}return null;})[_0x2530('0x11')](respondWithResult(_0x289396,null))[_0x2530('0x1c')](handleError(_0x289396,null));};exports[_0x2530('0x83')]=function(_0x207cf7,_0x51f139){var _0x1903c8={'agent':{},'channel':'mail'};if(_0x207cf7[_0x2530('0x45')]['id']){delete _0x207cf7[_0x2530('0x45')]['id'];}_0x207cf7[_0x2530('0x45')][_0x2530('0x65')]=_0x207cf7['body'][_0x2530('0x65')]||_0x207cf7[_0x2530('0x66')]['id'];_0x1903c8[_0x2530('0x67')]['id']=_0x207cf7[_0x2530('0x45')][_0x2530('0x65')];return db[_0x2530('0x2a')][_0x2530('0x46')]({'where':{'id':_0x207cf7[_0x2530('0x43')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x51f139,null))[_0x2530('0x11')](function(_0x1e85ac){if(_0x1e85ac){_0x1903c8[_0x2530('0x1a')]=_0x1e85ac[_0x2530('0x68')]({'plain':!![]});return db[_0x2530('0x69')]['find']({'where':{'id':_0x1e85ac[_0x2530('0x6a')]}});}return null;})[_0x2530('0x11')](handleEntityNotFound(_0x51f139,null))['then'](function(_0x3cbf2f){if(_0x3cbf2f){_0x1903c8[_0x2530('0x6c')]=_0x3cbf2f[_0x2530('0x68')]({'plain':!![]});interaction_log[_0x2530('0x12')](_0x2530('0x84'),_0x207cf7[_0x2530('0x66')]['id'],_0x207cf7[_0x2530('0x66')]['name'],_0x207cf7['user'][_0x2530('0x6e')],_0x1903c8[_0x2530('0x6c')]['id'],_0x207cf7[_0x2530('0x45')]?JSON['stringify'](_0x207cf7[_0x2530('0x45')]):'null');return respondWithRpcPromise(_0x2530('0x85'),_0x2530('0x86'),_0x1903c8);}return null;})['then'](function(_0x20fa35){var _0x1eb7aa=_0x2530('0x71')+_0x20fa35[_0x2530('0x1a')][_0x2530('0x72')];return db[_0x2530('0x87')][_0x2530('0x2f')](_0x1eb7aa,{'type':db[_0x2530('0x73')][_0x2530('0x74')][_0x2530('0x75')],'raw':!![]})[_0x2530('0x11')](function(_0x169f14){return _0x169f14;});})[_0x2530('0x11')](function(_0x9303a4){if(_0x9303a4){_0x1903c8[_0x2530('0x1a')][_0x2530('0x76')]=_0x9303a4[0x0];if(!_0x207cf7[_0x2530('0x45')][_0x2530('0x65')])return;return db['User'][_0x2530('0x46')]({'where':{'id':_0x207cf7[_0x2530('0x45')][_0x2530('0x65')],'role':'agent'},'attributes':['id',_0x2530('0x27'),'fullname','email',_0x2530('0x7a')],'raw':!![]});}return null;})[_0x2530('0x11')](function(_0x1fd09e){if(!_0x1fd09e)return null;_0x1903c8[_0x2530('0x1a')][_0x2530('0x67')]=_0x1fd09e;return _0x1903c8;})[_0x2530('0x11')](function(_0xfc6892){if(_0xfc6892){_0xfc6892['message'][_0x2530('0x7c')]=util['format']('SIP/%s',_0x207cf7[_0x2530('0x66')][_0x2530('0x27')]);_0xfc6892[_0x2530('0x1a')][_0x2530('0x7e')]=_0x1903c8['channel'];_0xfc6892[_0x2530('0x1a')]['motionChannel']=_0x1903c8['channel'];_0xfc6892['message'][_0x2530('0x80')]=_0x2530('0x83');_0xfc6892['message'][_0x2530('0x45')]=htmlToText['fromString'](_0x1903c8['message'][_0x2530('0x45')]);respondWithRpcPromise(_0x2530('0x82'),_0x2530('0x82'),{'event':_0x2530('0x88'),'message':_0xfc6892['message']},client9002);return _0x1903c8;}return null;})['then'](respondWithResult(_0x51f139,null))[_0x2530('0x1c')](handleError(_0x51f139,null));};exports[_0x2530('0x89')]=function(_0x84c84c,_0x438e53){var _0x4782c0=moment()[_0x2530('0x8a')]()['toString']();var _0x24cd4a=path[_0x2530('0x59')](config[_0x2530('0x5a')],_0x2530('0x8b'),_0x2530('0x8c'),_0x2530('0x8d'));var _0x3c73f1=path[_0x2530('0x59')](config['root'],_0x2530('0x8b'),_0x2530('0x8c'),_0x2530('0x58'));var _0xbbfcfa=util[_0x2530('0x60')]('message-%s.eml',_0x4782c0);return db[_0x2530('0x2a')][_0x2530('0x46')]({'where':{'id':_0x84c84c[_0x2530('0x43')]['id']},'attributes':['id',_0x2530('0x45'),_0x2530('0x8e'),'to','cc',_0x2530('0x8f'),_0x2530('0x90'),_0x2530('0x91')],'include':_0x84c84c[_0x2530('0x2f')][_0x2530('0x58')]?[{'model':db[_0x2530('0x92')],'as':_0x2530('0x93')}]:undefined})[_0x2530('0x11')](handleEntityNotFound(_0x438e53,null))[_0x2530('0x11')](function(_0x1454e4){if(_0x1454e4){var _0x2af3c6=_0x1454e4;var _0x157d2c={'from':_0x2af3c6[_0x2530('0x8e')],'to':_0x2af3c6['to'],'subject':_0x2af3c6[_0x2530('0x90')],'html':htmlEntities[_0x2530('0x94')](_0x2af3c6[_0x2530('0x45')]),'headers':{'Date':moment(_0x2af3c6[_0x2530('0x91')])[_0x2530('0x60')](_0x2530('0x95'))},'attachments':[]};if(_0x1454e4['cc']){_0x157d2c[_0x2530('0x96')]['Cc']=_0x1454e4['cc'];}if(_0x1454e4[_0x2530('0x8f')]){_0x157d2c[_0x2530('0x96')][_0x2530('0x97')]=_0x1454e4['bcc'];}return new BPromise(function(_0x41c282,_0x5bc562){if(_0x1454e4[_0x2530('0x93')]){for(var _0x3fa225=0x0;_0x3fa225<_0x1454e4[_0x2530('0x93')][_0x2530('0x44')];_0x3fa225++){var _0x1d6a5f=_0x1454e4['Attachments'][_0x3fa225];var _0x344f87=path['join'](_0x3c73f1,_0x1d6a5f[_0x2530('0x5b')]);if(fs[_0x2530('0x98')](_0x344f87)){_0x157d2c['attachments'][_0x2530('0x99')]({'name':_0x1d6a5f['name'],'contentType':_0x1d6a5f[_0x2530('0x2d')],'data':fs[_0x2530('0x9a')](_0x344f87)});}}}emlformat[_0x2530('0x9b')](_0x157d2c,function(_0x62d5e2,_0x871bf){if(_0x62d5e2)return _0x5bc562(_0x62d5e2);fs[_0x2530('0x9c')](path['join'](_0x24cd4a,_0xbbfcfa),_0x871bf);return _0x41c282(_0x871bf);});});}})[_0x2530('0x11')](function(_0x48d947){if(_0x48d947){return _0x438e53['download'](path['join'](_0x24cd4a,_0xbbfcfa),_0xbbfcfa,function(_0x4b0d95){if(!_0x4b0d95)fs[_0x2530('0x9d')](path[_0x2530('0x59')](_0x24cd4a,_0xbbfcfa));});}})['catch'](handleError(_0x438e53,null));};