7c4c7f412bfb00fdccb7a382cac1845c35e6ef77
[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 _0x4cd9=['request','then','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','error','message','info','catch','status','json','offset','undefined','count','limit','update','destroy','end','name','send','index','MailMessage','rawAttributes','fieldName','type','key','map','query','keys','intersection','model','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','show','params','find','body','describe','create','direction','out','secret','split','findOne','MailAccountId','List','CmContact','Contacts','DESC','Smtp','isNil','service','host','port','auth','user','attachments','join','root','server/files/attachments','basename','ListId','List\x20not\x20found','format','YYYY-MM-DD\x20HH:mm:ss','stringify','accept','mail','readAt','UserId','agent','get','MailInteractionId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','User','fullname','internal','interface','SIP/%s','channel','event','fromString','EventManager','acceptmessage','MailInteraction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','email','reject','rejectmessage','toString','server','files','message-%s.eml','from','bcc','Attachments','subject','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','push','readFileSync','build','writeFileSync','download','moment','bluebird','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','redis','defaults','localhost','./mailMessage.socket','jayson/promise','client','http'];(function(_0x24e23d,_0x26684a){var _0x14db43=function(_0x23ff5a){while(--_0x23ff5a){_0x24e23d['push'](_0x24e23d['shift']());}};_0x14db43(++_0x26684a);}(_0x4cd9,0x84));var _0x94cd=function(_0x248c76,_0x326ee2){_0x248c76=_0x248c76-0x0;var _0x4f1a01=_0x4cd9[_0x248c76];return _0x4f1a01;};'use strict';var emlformat=require('eml-format');var moment=require(_0x94cd('0x0'));var BPromise=require(_0x94cd('0x1'));var util=require(_0x94cd('0x2'));var path=require(_0x94cd('0x3'));var fs=require('fs');var _=require(_0x94cd('0x4'));var Redis=require(_0x94cd('0x5'));var htmlToText=require(_0x94cd('0x6'));var qs=require(_0x94cd('0x7'));var logger=require(_0x94cd('0x8'))(_0x94cd('0x9'));var interaction_log=require(_0x94cd('0x8'))(_0x94cd('0xa'));var config=require(_0x94cd('0xb'));var db=require('../../mysqldb')['db'];config[_0x94cd('0xc')]=_[_0x94cd('0xd')](config[_0x94cd('0xc')],{'host':_0x94cd('0xe'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x94cd('0xc')]));var htmlEntities=require('html-entities');require(_0x94cd('0xf'))['register'](socket);var jayson=require(_0x94cd('0x10'));var client=jayson[_0x94cd('0x11')][_0x94cd('0x12')]({'port':0x232c});var client9003=jayson[_0x94cd('0x11')][_0x94cd('0x12')]({'port':0x232b});var client9002=jayson['client'][_0x94cd('0x12')]({'port':0x232a});function respondWithRpcPromise(_0xbe4ae9,_0x44e1e0,_0x54adf3,_0x2d6abc){return new BPromise(function(_0x403f14,_0x83c407){var _0x286cb5=_0x2d6abc||client;return _0x286cb5[_0x94cd('0x13')](_0xbe4ae9,_0x54adf3)[_0x94cd('0x14')](function(_0x26cdf8){logger['info'](_0x94cd('0x15'),_0x44e1e0,_0x94cd('0x16'));logger[_0x94cd('0x17')](_0x94cd('0x18'),_0x44e1e0,_0x94cd('0x16'),JSON['stringify'](_0x26cdf8));if(_0x26cdf8[_0x94cd('0x19')]){if(_0x26cdf8[_0x94cd('0x19')]['code']===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x44e1e0,_0x26cdf8[_0x94cd('0x19')]['message']);return _0x83c407(_0x26cdf8['error'][_0x94cd('0x1a')]);}logger[_0x94cd('0x19')](_0x94cd('0x15'),_0x44e1e0,_0x26cdf8[_0x94cd('0x19')][_0x94cd('0x1a')]);return _0x403f14(_0x26cdf8['error'][_0x94cd('0x1a')]);}else{logger[_0x94cd('0x1b')](_0x94cd('0x15'),_0x44e1e0,_0x94cd('0x16'));_0x403f14(_0x26cdf8['result'][_0x94cd('0x1a')]);}})[_0x94cd('0x1c')](function(_0x508d70){logger[_0x94cd('0x19')](_0x94cd('0x15'),_0x44e1e0,_0x508d70);_0x83c407(_0x508d70);});});}function respondWithResult(_0x5b6bf4,_0x573e28){_0x573e28=_0x573e28||0xc8;return function(_0x8bf488){if(_0x8bf488){return _0x5b6bf4[_0x94cd('0x1d')](_0x573e28)[_0x94cd('0x1e')](_0x8bf488);}};}function respondWithFilteredResult(_0x290772,_0x5d17aa){return function(_0x21ed7a){if(_0x21ed7a){var _0x3a76b6=typeof _0x5d17aa[_0x94cd('0x1f')]===_0x94cd('0x20')&&typeof _0x5d17aa['limit']===_0x94cd('0x20');var _0x2f53ef=_0x21ed7a[_0x94cd('0x21')];var _0x569430=_0x3a76b6?0x0:_0x5d17aa[_0x94cd('0x1f')];var _0x1b0f47=_0x3a76b6?_0x21ed7a['count']:_0x5d17aa[_0x94cd('0x1f')]+_0x5d17aa[_0x94cd('0x22')];var _0x14da05;if(_0x1b0f47>=_0x2f53ef){_0x1b0f47=_0x2f53ef;_0x14da05=0xc8;}else{_0x14da05=0xce;}_0x290772[_0x94cd('0x1d')](_0x14da05);return _0x290772['set']('Content-Range',_0x569430+'-'+_0x1b0f47+'/'+_0x2f53ef)[_0x94cd('0x1e')](_0x21ed7a);}return null;};}function saveUpdates(_0x142975){return function(_0x2f43f4){if(_0x2f43f4){return _0x2f43f4[_0x94cd('0x23')](_0x142975)[_0x94cd('0x14')](function(_0x488789){return _0x488789;});}return null;};}function removeEntity(_0x59737b){return function(_0x3f21e4){if(_0x3f21e4){return _0x3f21e4[_0x94cd('0x24')]()[_0x94cd('0x14')](function(){_0x59737b[_0x94cd('0x1d')](0xcc)[_0x94cd('0x25')]();});}};}function handleEntityNotFound(_0x46c48c){return function(_0x92f964){if(!_0x92f964){_0x46c48c['sendStatus'](0x194);}return _0x92f964;};}function handleError(_0x2ddc82,_0x15751c){_0x15751c=_0x15751c||0x1f4;return function(_0x3ab5eb){logger[_0x94cd('0x19')](_0x3ab5eb['stack']);if(_0x3ab5eb[_0x94cd('0x26')]){delete _0x3ab5eb[_0x94cd('0x26')];}_0x2ddc82['status'](_0x15751c)[_0x94cd('0x27')](_0x3ab5eb);};}exports[_0x94cd('0x28')]=function(_0x314a8a,_0x5e254c){var _0x19599d={},_0x27af09={},_0x291c40={'count':0x0,'rows':[]};var _0x14f56a=_['map'](db[_0x94cd('0x29')][_0x94cd('0x2a')],function(_0x10cbc3){return{'name':_0x10cbc3[_0x94cd('0x2b')],'type':_0x10cbc3[_0x94cd('0x2c')][_0x94cd('0x2d')]};});_0x27af09['model']=_[_0x94cd('0x2e')](_0x14f56a,'name');_0x27af09[_0x94cd('0x2f')]=_[_0x94cd('0x30')](_0x314a8a[_0x94cd('0x2f')]);_0x27af09['filters']=_[_0x94cd('0x31')](_0x27af09['model'],_0x27af09[_0x94cd('0x2f')]);_0x19599d['attributes']=_[_0x94cd('0x31')](_0x27af09[_0x94cd('0x32')],qs[_0x94cd('0x33')](_0x314a8a['query']['fields']));_0x19599d['attributes']=_0x19599d[_0x94cd('0x34')][_0x94cd('0x35')]?_0x19599d[_0x94cd('0x34')]:_0x27af09[_0x94cd('0x32')];if(!_0x314a8a[_0x94cd('0x2f')]['hasOwnProperty'](_0x94cd('0x36'))){_0x19599d[_0x94cd('0x22')]=qs['limit'](_0x314a8a['query'][_0x94cd('0x22')]);_0x19599d[_0x94cd('0x1f')]=qs[_0x94cd('0x1f')](_0x314a8a[_0x94cd('0x2f')][_0x94cd('0x1f')]);}_0x19599d[_0x94cd('0x37')]=qs[_0x94cd('0x38')](_0x314a8a[_0x94cd('0x2f')]['sort']);_0x19599d[_0x94cd('0x39')]=qs[_0x94cd('0x3a')](_[_0x94cd('0x3b')](_0x314a8a[_0x94cd('0x2f')],_0x27af09['filters']),_0x14f56a);if(_0x314a8a['query'][_0x94cd('0x3c')]){_0x19599d['where']=_[_0x94cd('0x3d')](_0x19599d['where'],{'$or':_['map'](_0x14f56a,function(_0x590a84){if(_0x590a84[_0x94cd('0x2c')]!=='VIRTUAL'){var _0x5ab537={};_0x5ab537[_0x590a84['name']]={'$like':'%'+_0x314a8a[_0x94cd('0x2f')][_0x94cd('0x3c')]+'%'};return _0x5ab537;}})});}_0x19599d=_[_0x94cd('0x3d')]({},_0x19599d,_0x314a8a[_0x94cd('0x3e')]);var _0x1e611c={'where':_0x19599d[_0x94cd('0x39')]};return db[_0x94cd('0x29')][_0x94cd('0x21')](_0x1e611c)[_0x94cd('0x14')](function(_0x2e4ead){_0x291c40[_0x94cd('0x21')]=_0x2e4ead;if(_0x314a8a['query'][_0x94cd('0x3f')]){_0x19599d[_0x94cd('0x40')]=[{'all':!![]}];}return db[_0x94cd('0x29')][_0x94cd('0x41')](_0x19599d);})[_0x94cd('0x14')](function(_0x52cd43){_0x291c40['rows']=_0x52cd43;return _0x291c40;})[_0x94cd('0x14')](respondWithFilteredResult(_0x5e254c,_0x19599d))[_0x94cd('0x1c')](handleError(_0x5e254c,null));};exports[_0x94cd('0x42')]=function(_0x4097f1,_0x207d37){var _0x26babd={'raw':!![],'where':{'id':_0x4097f1[_0x94cd('0x43')]['id']}},_0x2b8b41={};_0x2b8b41[_0x94cd('0x32')]=_['keys'](db[_0x94cd('0x29')]['rawAttributes']);_0x2b8b41['query']=_[_0x94cd('0x30')](_0x4097f1[_0x94cd('0x2f')]);_0x2b8b41[_0x94cd('0x3a')]=_[_0x94cd('0x31')](_0x2b8b41['model'],_0x2b8b41['query']);_0x26babd[_0x94cd('0x34')]=_[_0x94cd('0x31')](_0x2b8b41[_0x94cd('0x32')],qs[_0x94cd('0x33')](_0x4097f1['query'][_0x94cd('0x33')]));_0x26babd['attributes']=_0x26babd['attributes'][_0x94cd('0x35')]?_0x26babd[_0x94cd('0x34')]:_0x2b8b41[_0x94cd('0x32')];if(_0x4097f1[_0x94cd('0x2f')][_0x94cd('0x3f')]){_0x26babd[_0x94cd('0x40')]=[{'all':!![]}];}_0x26babd=_['merge']({},_0x26babd,_0x4097f1[_0x94cd('0x3e')]);return db[_0x94cd('0x29')][_0x94cd('0x44')](_0x26babd)[_0x94cd('0x14')](handleEntityNotFound(_0x207d37,null))[_0x94cd('0x14')](respondWithResult(_0x207d37,null))['catch'](handleError(_0x207d37,null));};exports[_0x94cd('0x23')]=function(_0x2213e9,_0x56a219){if(_0x2213e9['body']['id']){delete _0x2213e9[_0x94cd('0x45')]['id'];}return db[_0x94cd('0x29')][_0x94cd('0x44')]({'where':{'id':_0x2213e9[_0x94cd('0x43')]['id']}})['then'](handleEntityNotFound(_0x56a219,null))['then'](saveUpdates(_0x2213e9[_0x94cd('0x45')],null))[_0x94cd('0x14')](respondWithResult(_0x56a219,null))[_0x94cd('0x1c')](handleError(_0x56a219,null));};exports[_0x94cd('0x24')]=function(_0x42107d,_0x1fa09e){return db['MailMessage']['find']({'where':{'id':_0x42107d[_0x94cd('0x43')]['id']}})[_0x94cd('0x14')](handleEntityNotFound(_0x1fa09e,null))[_0x94cd('0x14')](removeEntity(_0x1fa09e,null))[_0x94cd('0x1c')](handleError(_0x1fa09e,null));};exports['describe']=function(_0x23cbb7,_0x1aaf92){return db[_0x94cd('0x29')][_0x94cd('0x46')]()['then'](respondWithResult(_0x1aaf92,null))[_0x94cd('0x1c')](handleError(_0x1aaf92,null));};exports[_0x94cd('0x47')]=function(_0x13db94,_0x3fcfac){return db['MailMessage'][_0x94cd('0x47')](_0x13db94[_0x94cd('0x45')])[_0x94cd('0x14')](function(_0x4f4c44){if(_0x4f4c44){if(_0x4f4c44[_0x94cd('0x48')]===_0x94cd('0x49')&&!_0x4f4c44[_0x94cd('0x4a')]){var _0x542f8f,_0x41fc21,_0x201afd;if(_0x13db94[_0x94cd('0x45')]['to']){_0x41fc21=_0x13db94['body']['to'][_0x94cd('0x4b')](',')[0x0];}return db['MailAccount'][_0x94cd('0x4c')]({'where':{'id':_0x4f4c44[_0x94cd('0x4d')]},'include':[{'model':db['CmList'],'as':_0x94cd('0x4e'),'include':[{'model':db[_0x94cd('0x4f')],'as':_0x94cd('0x50'),'where':{'email':_0x41fc21},'limit':0x1,'order':[['updatedAt',_0x94cd('0x51')]]}]},{'model':db['MailServerOut'],'as':_0x94cd('0x52'),'raw':!![]}]})[_0x94cd('0x14')](function(_0x5d2f7d){_0x542f8f=_0x5d2f7d;if(_0x542f8f&&_0x542f8f['Smtp']){var _0x55213a={'tls':{'rejectUnauthorized':![]}};if(_[_0x94cd('0x53')](_0x542f8f[_0x94cd('0x52')][_0x94cd('0x54')])){_0x55213a[_0x94cd('0x55')]=_0x542f8f[_0x94cd('0x52')][_0x94cd('0x55')];_0x55213a[_0x94cd('0x56')]=_0x542f8f[_0x94cd('0x52')][_0x94cd('0x56')];_0x55213a['secure']=_0x542f8f[_0x94cd('0x52')]['secure'];if(_0x542f8f[_0x94cd('0x52')]['authentication']){_0x55213a[_0x94cd('0x57')]={'user':_0x542f8f[_0x94cd('0x52')]['user'],'pass':_0x542f8f[_0x94cd('0x52')]['pass']};}}else{_0x55213a[_0x94cd('0x54')]=_0x542f8f[_0x94cd('0x52')][_0x94cd('0x54')];_0x55213a[_0x94cd('0x57')]={'user':_0x542f8f[_0x94cd('0x52')][_0x94cd('0x58')],'pass':_0x542f8f['Smtp']['pass']};_0x55213a['secure']=_0x542f8f[_0x94cd('0x52')]['secure'];}if(_0x13db94[_0x94cd('0x45')][_0x94cd('0x59')]&&_0x13db94[_0x94cd('0x45')][_0x94cd('0x59')]['length']){for(var _0x21533a=0x0;_0x21533a<_0x13db94['body']['attachments'][_0x94cd('0x35')];_0x21533a+=0x1){_0x13db94[_0x94cd('0x45')][_0x94cd('0x59')][_0x21533a]={'filename':_0x13db94[_0x94cd('0x45')][_0x94cd('0x59')][_0x21533a][_0x94cd('0x26')],'path':path[_0x94cd('0x5a')](config[_0x94cd('0x5b')],_0x94cd('0x5c'),_0x13db94[_0x94cd('0x45')]['attachments'][_0x21533a][_0x94cd('0x5d')])};}}_0x201afd={'account':_0x55213a,'message':_0x13db94[_0x94cd('0x45')]};return;}})[_0x94cd('0x14')](function(){if(_0x542f8f[_0x94cd('0x4e')]){if(_0x542f8f[_0x94cd('0x4e')]['Contacts'][_0x94cd('0x35')]){return _0x542f8f['List'][_0x94cd('0x50')][0x0];}else{return db[_0x94cd('0x4f')][_0x94cd('0x47')](_[_0x94cd('0xd')](_0x13db94[_0x94cd('0x45')],{'firstName':_0x13db94[_0x94cd('0x45')]['to'],'email':_0x13db94['body']['to'],'phone':_0x13db94['body']['to'],'ListId':_0x542f8f[_0x94cd('0x5e')]}));}}else{throw new Error(_0x94cd('0x5f'));}})[_0x94cd('0x14')](function(){if(_0x201afd){return respondWithRpcPromise('SendMail','sendMail',_0x201afd,client9003)[_0x94cd('0x14')](function(_0x2a2889){return _0x4f4c44['update']({'read':!![],'messageId':_0x2a2889['messageId'],'sentAt':moment()[_0x94cd('0x60')](_0x94cd('0x61'))});})[_0x94cd('0x1c')](function(_0xea5db8){logger[_0x94cd('0x19')]('%s',JSON[_0x94cd('0x62')](_0xea5db8));return _0x4f4c44;});}return _0x4f4c44;});}return _0x4f4c44;}})[_0x94cd('0x14')](respondWithResult(_0x3fcfac,0xc9))[_0x94cd('0x1c')](handleError(_0x3fcfac,null));};exports[_0x94cd('0x63')]=function(_0x400158,_0x42e9b7){var _0x5e8346={'agent':{},'channel':_0x94cd('0x64')};if(_0x400158[_0x94cd('0x45')]['id']){delete _0x400158['body']['id'];}_0x400158[_0x94cd('0x45')]['read']=!![];_0x400158[_0x94cd('0x45')][_0x94cd('0x65')]=moment()[_0x94cd('0x60')]('YYYY-MM-DD\x20HH:mm:ss');_0x400158[_0x94cd('0x45')]['UserId']=_0x400158['body'][_0x94cd('0x66')]||_0x400158[_0x94cd('0x58')]['id'];_0x5e8346[_0x94cd('0x67')]['id']=_0x400158[_0x94cd('0x45')]['UserId'];return db[_0x94cd('0x29')]['find']({'where':{'id':_0x400158[_0x94cd('0x43')]['id'],'UserId':null}})[_0x94cd('0x14')](handleEntityNotFound(_0x42e9b7,null))[_0x94cd('0x14')](saveUpdates(_0x400158['body'],null))[_0x94cd('0x14')](function(_0x2316ae){if(_0x2316ae){_0x5e8346['message']=_0x2316ae[_0x94cd('0x68')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x2316ae[_0x94cd('0x69')]}});}return null;})[_0x94cd('0x14')](handleEntityNotFound(_0x42e9b7,null))[_0x94cd('0x14')](function(_0x403292){if(_0x403292){return _0x403292[_0x94cd('0x23')]({'UserId':_0x400158[_0x94cd('0x45')][_0x94cd('0x66')],'read1stAt':_[_0x94cd('0x53')](_0x403292[_0x94cd('0x6a')])?moment()[_0x94cd('0x60')](_0x94cd('0x61')):undefined});}return null;})[_0x94cd('0x14')](function(_0x3a074){if(_0x3a074){_0x5e8346[_0x94cd('0x6b')]=_0x3a074[_0x94cd('0x68')]({'plain':!![]});interaction_log[_0x94cd('0x1b')](_0x94cd('0x6c'),_0x400158['user']['id'],_0x400158[_0x94cd('0x58')][_0x94cd('0x26')],_0x400158[_0x94cd('0x58')][_0x94cd('0x6d')],_0x5e8346[_0x94cd('0x6b')]['id'],_0x400158[_0x94cd('0x45')]?JSON[_0x94cd('0x62')](_0x400158[_0x94cd('0x45')]):_0x94cd('0x6e'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x5e8346);}return null;})['then'](function(_0x65abdc){var _0x2d7a01=_0x94cd('0x6f')+_0x65abdc[_0x94cd('0x1a')][_0x94cd('0x70')];return db[_0x94cd('0x71')]['query'](_0x2d7a01,{'type':db[_0x94cd('0x72')][_0x94cd('0x73')][_0x94cd('0x74')],'raw':!![]})[_0x94cd('0x14')](function(_0x544f0c){return _0x544f0c;});})[_0x94cd('0x14')](function(_0x2ac39c){if(_0x2ac39c){_0x5e8346[_0x94cd('0x1a')]['contact']=_0x2ac39c[0x0];if(!_0x400158[_0x94cd('0x45')][_0x94cd('0x66')])return;return db[_0x94cd('0x75')]['find']({'where':{'id':_0x400158[_0x94cd('0x45')][_0x94cd('0x66')],'role':_0x94cd('0x67')},'attributes':['id','name',_0x94cd('0x76'),'email',_0x94cd('0x77')],'raw':!![]});}return null;})[_0x94cd('0x14')](function(_0x5ea2a9){if(!_0x5ea2a9)return null;_0x5e8346[_0x94cd('0x1a')][_0x94cd('0x67')]=_0x5ea2a9;return _0x5e8346;})[_0x94cd('0x14')](function(_0x1e453c){if(_0x1e453c){if(_0x400158[_0x94cd('0x45')]['manual']){_0x5e8346[_0x94cd('0x1a')][_0x94cd('0x78')]=util['format'](_0x94cd('0x79'),_0x400158[_0x94cd('0x58')][_0x94cd('0x26')]);_0x5e8346[_0x94cd('0x1a')][_0x94cd('0x7a')]=_0x5e8346[_0x94cd('0x7a')];_0x5e8346[_0x94cd('0x1a')]['motionChannel']=_0x5e8346[_0x94cd('0x7a')];_0x5e8346['message'][_0x94cd('0x7b')]=_0x94cd('0x63');_0x5e8346[_0x94cd('0x1a')][_0x94cd('0x45')]=htmlToText[_0x94cd('0x7c')](_0x5e8346[_0x94cd('0x1a')][_0x94cd('0x45')]);return respondWithRpcPromise('EventManager',_0x94cd('0x7d'),{'event':_0x94cd('0x7e'),'message':_0x5e8346['message']},client9002)[_0x94cd('0x14')](function(){return _0x5e8346;});}return _0x5e8346;}return null;})[_0x94cd('0x14')](respondWithResult(_0x42e9b7,null))[_0x94cd('0x1c')](handleError(_0x42e9b7,null));};exports['reject']=function(_0x1b8b4f,_0x3f9a0c){var _0x3fef63={'agent':{},'channel':'mail'};if(_0x1b8b4f['body']['id']){delete _0x1b8b4f[_0x94cd('0x45')]['id'];}_0x1b8b4f[_0x94cd('0x45')][_0x94cd('0x66')]=_0x1b8b4f[_0x94cd('0x45')][_0x94cd('0x66')]||_0x1b8b4f['user']['id'];_0x3fef63['agent']['id']=_0x1b8b4f[_0x94cd('0x45')][_0x94cd('0x66')];return db[_0x94cd('0x29')][_0x94cd('0x44')]({'where':{'id':_0x1b8b4f[_0x94cd('0x43')]['id'],'UserId':null}})[_0x94cd('0x14')](handleEntityNotFound(_0x3f9a0c,null))[_0x94cd('0x14')](function(_0x597030){if(_0x597030){_0x3fef63[_0x94cd('0x1a')]=_0x597030[_0x94cd('0x68')]({'plain':!![]});return db[_0x94cd('0x7f')]['find']({'where':{'id':_0x597030[_0x94cd('0x69')]}});}return null;})[_0x94cd('0x14')](handleEntityNotFound(_0x3f9a0c,null))[_0x94cd('0x14')](function(_0x42908e){if(_0x42908e){_0x3fef63[_0x94cd('0x6b')]=_0x42908e[_0x94cd('0x68')]({'plain':!![]});interaction_log[_0x94cd('0x1b')](_0x94cd('0x80'),_0x1b8b4f[_0x94cd('0x58')]['id'],_0x1b8b4f['user'][_0x94cd('0x26')],_0x1b8b4f[_0x94cd('0x58')][_0x94cd('0x6d')],_0x3fef63[_0x94cd('0x6b')]['id'],_0x1b8b4f[_0x94cd('0x45')]?JSON[_0x94cd('0x62')](_0x1b8b4f[_0x94cd('0x45')]):'null');return respondWithRpcPromise(_0x94cd('0x81'),_0x94cd('0x82'),_0x3fef63);}return null;})[_0x94cd('0x14')](function(_0x510008){var _0x384187='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x510008[_0x94cd('0x1a')]['ContactId'];return db['sequelize'][_0x94cd('0x2f')](_0x384187,{'type':db[_0x94cd('0x72')][_0x94cd('0x73')][_0x94cd('0x74')],'raw':!![]})[_0x94cd('0x14')](function(_0x569b2e){return _0x569b2e;});})['then'](function(_0x5a3a8b){if(_0x5a3a8b){_0x3fef63['message']['contact']=_0x5a3a8b[0x0];if(!_0x1b8b4f['body'][_0x94cd('0x66')])return;return db[_0x94cd('0x75')][_0x94cd('0x44')]({'where':{'id':_0x1b8b4f[_0x94cd('0x45')][_0x94cd('0x66')],'role':_0x94cd('0x67')},'attributes':['id',_0x94cd('0x26'),_0x94cd('0x76'),_0x94cd('0x83'),'internal'],'raw':!![]});}return null;})['then'](function(_0x3e3810){if(!_0x3e3810)return null;_0x3fef63[_0x94cd('0x1a')][_0x94cd('0x67')]=_0x3e3810;return _0x3fef63;})[_0x94cd('0x14')](function(_0x16333a){if(_0x16333a){_0x16333a[_0x94cd('0x1a')][_0x94cd('0x78')]=util['format']('SIP/%s',_0x1b8b4f['user']['name']);_0x16333a[_0x94cd('0x1a')]['channel']=_0x3fef63[_0x94cd('0x7a')];_0x16333a['message']['motionChannel']=_0x3fef63[_0x94cd('0x7a')];_0x16333a[_0x94cd('0x1a')][_0x94cd('0x7b')]=_0x94cd('0x84');_0x16333a[_0x94cd('0x1a')][_0x94cd('0x45')]=htmlToText['fromString'](_0x3fef63[_0x94cd('0x1a')][_0x94cd('0x45')]);respondWithRpcPromise(_0x94cd('0x7d'),'EventManager',{'event':_0x94cd('0x85'),'message':_0x16333a[_0x94cd('0x1a')]},client9002);return _0x3fef63;}return null;})[_0x94cd('0x14')](respondWithResult(_0x3f9a0c,null))[_0x94cd('0x1c')](handleError(_0x3f9a0c,null));};exports['download']=function(_0x4e69f9,_0x436fbc){var _0xe1cc91=moment()['unix']()[_0x94cd('0x86')]();var _0x227541=path[_0x94cd('0x5a')](config['root'],_0x94cd('0x87'),'files','tmp');var _0x23f1db=path[_0x94cd('0x5a')](config['root'],_0x94cd('0x87'),_0x94cd('0x88'),_0x94cd('0x59'));var _0x302f81=util['format'](_0x94cd('0x89'),_0xe1cc91);return db['MailMessage'][_0x94cd('0x44')]({'where':{'id':_0x4e69f9[_0x94cd('0x43')]['id']},'attributes':['id',_0x94cd('0x45'),_0x94cd('0x8a'),'to','cc',_0x94cd('0x8b'),'subject','createdAt'],'include':_0x4e69f9[_0x94cd('0x2f')][_0x94cd('0x59')]?[{'model':db['Attachment'],'as':_0x94cd('0x8c')}]:undefined})['then'](handleEntityNotFound(_0x436fbc,null))[_0x94cd('0x14')](function(_0x2c7cee){if(_0x2c7cee){var _0x4c5edb=_0x2c7cee;var _0x5a88b3={'from':_0x4c5edb['from'],'to':_0x4c5edb['to'],'subject':_0x4c5edb[_0x94cd('0x8d')],'html':htmlEntities[_0x94cd('0x8e')](_0x4c5edb[_0x94cd('0x45')]),'headers':{'Date':moment(_0x4c5edb[_0x94cd('0x8f')])[_0x94cd('0x60')](_0x94cd('0x90'))},'attachments':[]};if(_0x2c7cee['cc']){_0x5a88b3[_0x94cd('0x91')]['Cc']=_0x2c7cee['cc'];}if(_0x2c7cee[_0x94cd('0x8b')]){_0x5a88b3[_0x94cd('0x91')]['Bcc']=_0x2c7cee[_0x94cd('0x8b')];}return new BPromise(function(_0x203c6c,_0x4cfde9){if(_0x2c7cee[_0x94cd('0x8c')]){for(var _0x580008=0x0;_0x580008<_0x2c7cee['Attachments'][_0x94cd('0x35')];_0x580008++){var _0x54214c=_0x2c7cee[_0x94cd('0x8c')][_0x580008];var _0x57620a=path[_0x94cd('0x5a')](_0x23f1db,_0x54214c['basename']);if(fs['existsSync'](_0x57620a)){_0x5a88b3[_0x94cd('0x59')][_0x94cd('0x92')]({'name':_0x54214c[_0x94cd('0x26')],'contentType':_0x54214c[_0x94cd('0x2c')],'data':fs[_0x94cd('0x93')](_0x57620a)});}}}emlformat[_0x94cd('0x94')](_0x5a88b3,function(_0x102f7f,_0x442afa){if(_0x102f7f)return _0x4cfde9(_0x102f7f);fs[_0x94cd('0x95')](path[_0x94cd('0x5a')](_0x227541,_0x302f81),_0x442afa);return _0x203c6c(_0x442afa);});});}})[_0x94cd('0x14')](function(_0x4dbac1){if(_0x4dbac1){return _0x436fbc[_0x94cd('0x96')](path[_0x94cd('0x5a')](_0x227541,_0x302f81),_0x302f81,function(_0x56b168){if(!_0x56b168)fs['unlinkSync'](path['join'](_0x227541,_0x302f81));});}})[_0x94cd('0x1c')](handleError(_0x436fbc,null));};