e3bdadae788ba8b16f495f0a5d0bdd21da9bb476
[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 _0xdd38=['rejectmessage','download','unix','toString','server','files','tmp','message-%s.eml','from','subject','createdAt','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Bcc','push','build','unlinkSync','eml-format','moment','bluebird','util','path','lodash','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','defaults','localhost','socket.io-emitter','redis','./mailMessage.socket','jayson/promise','http','client','then','info','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','json','offset','undefined','limit','count','status','set','Content-Range','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','includeAll','include','findAll','rows','show','params','rawAttributes','options','update','body','find','describe','create','direction','out','secret','split','MailAccountId','CmList','List','updatedAt','CloudProvider','Smtp','getSmtpOptions','attachments','join','root','server/files/attachments','basename','Contacts','CmContact','List\x20not\x20found','SendMail','sendMail','format','accept','mail','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','get','MailInteraction','MailInteractionId','isNil','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','User','email','internal','agent','interface','SIP/%s','channel','motionChannel','EventManager','acceptmessage','reject','interaction','fullname','event'];(function(_0x5b089b,_0x575be6){var _0x56d66c=function(_0x438842){while(--_0x438842){_0x5b089b['push'](_0x5b089b['shift']());}};_0x56d66c(++_0x575be6);}(_0xdd38,0x14b));var _0x8dd3=function(_0x442a5d,_0x2a6745){_0x442a5d=_0x442a5d-0x0;var _0x51d134=_0xdd38[_0x442a5d];return _0x51d134;};'use strict';var emlformat=require(_0x8dd3('0x0'));var moment=require(_0x8dd3('0x1'));var BPromise=require(_0x8dd3('0x2'));var util=require(_0x8dd3('0x3'));var path=require(_0x8dd3('0x4'));var fs=require('fs');var _=require(_0x8dd3('0x5'));var Redis=require('ioredis');var htmlToText=require(_0x8dd3('0x6'));var qs=require(_0x8dd3('0x7'));var logger=require(_0x8dd3('0x8'))(_0x8dd3('0x9'));var interaction_log=require(_0x8dd3('0x8'))(_0x8dd3('0xa'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config['redis']=_[_0x8dd3('0xb')](config['redis'],{'host':_0x8dd3('0xc'),'port':0x18eb});var socket=require(_0x8dd3('0xd'))(new Redis(config[_0x8dd3('0xe')]));var htmlEntities=require('html-entities');require(_0x8dd3('0xf'))['register'](socket);var jayson=require(_0x8dd3('0x10'));var client=jayson['client'][_0x8dd3('0x11')]({'port':0x232c});var client9003=jayson['client'][_0x8dd3('0x11')]({'port':0x232b});var client9002=jayson[_0x8dd3('0x12')][_0x8dd3('0x11')]({'port':0x232a});function respondWithRpcPromise(_0x3a84d2,_0x579f93,_0x113787,_0x34acc5){return new BPromise(function(_0x192f08,_0x40bcc5){var _0x135165=_0x34acc5||client;return _0x135165['request'](_0x3a84d2,_0x113787)[_0x8dd3('0x13')](function(_0x1906b9){logger[_0x8dd3('0x14')](_0x8dd3('0x15'),_0x579f93,'request\x20sent');logger[_0x8dd3('0x16')](_0x8dd3('0x17'),_0x579f93,_0x8dd3('0x18'),JSON[_0x8dd3('0x19')](_0x1906b9));if(_0x1906b9[_0x8dd3('0x1a')]){if(_0x1906b9[_0x8dd3('0x1a')][_0x8dd3('0x1b')]===0x1f4){logger[_0x8dd3('0x1a')](_0x8dd3('0x15'),_0x579f93,_0x1906b9['error'][_0x8dd3('0x1c')]);return _0x40bcc5(_0x1906b9[_0x8dd3('0x1a')][_0x8dd3('0x1c')]);}logger[_0x8dd3('0x1a')]('MailMessage,\x20%s,\x20%s',_0x579f93,_0x1906b9[_0x8dd3('0x1a')]['message']);return _0x192f08(_0x1906b9[_0x8dd3('0x1a')][_0x8dd3('0x1c')]);}else{logger['info'](_0x8dd3('0x15'),_0x579f93,_0x8dd3('0x18'));_0x192f08(_0x1906b9[_0x8dd3('0x1d')][_0x8dd3('0x1c')]);}})[_0x8dd3('0x1e')](function(_0x4a6fbf){logger[_0x8dd3('0x1a')](_0x8dd3('0x15'),_0x579f93,_0x4a6fbf);_0x40bcc5(_0x4a6fbf);});});}function respondWithResult(_0xbf37d6,_0x151a1c){_0x151a1c=_0x151a1c||0xc8;return function(_0x1da3e6){if(_0x1da3e6){return _0xbf37d6['status'](_0x151a1c)[_0x8dd3('0x1f')](_0x1da3e6);}};}function respondWithFilteredResult(_0x262495,_0x54217e){return function(_0x1a0f62){if(_0x1a0f62){var _0x222491=typeof _0x54217e[_0x8dd3('0x20')]===_0x8dd3('0x21')&&typeof _0x54217e[_0x8dd3('0x22')]===_0x8dd3('0x21');var _0x55c234=_0x1a0f62[_0x8dd3('0x23')];var _0x2c6004=_0x222491?0x0:_0x54217e[_0x8dd3('0x20')];var _0x32ef34=_0x222491?_0x1a0f62[_0x8dd3('0x23')]:_0x54217e[_0x8dd3('0x20')]+_0x54217e[_0x8dd3('0x22')];var _0x1ba35c;if(_0x32ef34>=_0x55c234){_0x32ef34=_0x55c234;_0x1ba35c=0xc8;}else{_0x1ba35c=0xce;}_0x262495[_0x8dd3('0x24')](_0x1ba35c);return _0x262495[_0x8dd3('0x25')](_0x8dd3('0x26'),_0x2c6004+'-'+_0x32ef34+'/'+_0x55c234)['json'](_0x1a0f62);}return null;};}function saveUpdates(_0x5eea37){return function(_0xecf159){if(_0xecf159){return _0xecf159['update'](_0x5eea37)['then'](function(_0x31a90d){return _0x31a90d;});}return null;};}function removeEntity(_0x1e73fa){return function(_0xb91a1e){if(_0xb91a1e){return _0xb91a1e[_0x8dd3('0x27')]()[_0x8dd3('0x13')](function(){_0x1e73fa[_0x8dd3('0x24')](0xcc)[_0x8dd3('0x28')]();});}};}function handleEntityNotFound(_0x2aa3c2){return function(_0x1072df){if(!_0x1072df){_0x2aa3c2[_0x8dd3('0x29')](0x194);}return _0x1072df;};}function handleError(_0x158c55,_0x1d38f0){_0x1d38f0=_0x1d38f0||0x1f4;return function(_0x37fae3){logger[_0x8dd3('0x1a')](_0x37fae3[_0x8dd3('0x2a')]);if(_0x37fae3[_0x8dd3('0x2b')]){delete _0x37fae3[_0x8dd3('0x2b')];}_0x158c55['status'](_0x1d38f0)[_0x8dd3('0x2c')](_0x37fae3);};}exports[_0x8dd3('0x2d')]=function(_0x46c051,_0x157ace){var _0x721fd0={},_0x95ca0e={},_0x30cd61={'count':0x0,'rows':[]};var _0x332cf3=_[_0x8dd3('0x2e')](db[_0x8dd3('0x2f')]['rawAttributes'],function(_0x55ec5b){return{'name':_0x55ec5b[_0x8dd3('0x30')],'type':_0x55ec5b[_0x8dd3('0x31')]['key']};});_0x95ca0e[_0x8dd3('0x32')]=_['map'](_0x332cf3,_0x8dd3('0x2b'));_0x95ca0e[_0x8dd3('0x33')]=_[_0x8dd3('0x34')](_0x46c051[_0x8dd3('0x33')]);_0x95ca0e[_0x8dd3('0x35')]=_[_0x8dd3('0x36')](_0x95ca0e['model'],_0x95ca0e[_0x8dd3('0x33')]);_0x721fd0['attributes']=_[_0x8dd3('0x36')](_0x95ca0e[_0x8dd3('0x32')],qs[_0x8dd3('0x37')](_0x46c051[_0x8dd3('0x33')][_0x8dd3('0x37')]));_0x721fd0[_0x8dd3('0x38')]=_0x721fd0[_0x8dd3('0x38')][_0x8dd3('0x39')]?_0x721fd0[_0x8dd3('0x38')]:_0x95ca0e['model'];if(!_0x46c051['query']['hasOwnProperty'](_0x8dd3('0x3a'))){_0x721fd0['limit']=qs[_0x8dd3('0x22')](_0x46c051['query'][_0x8dd3('0x22')]);_0x721fd0[_0x8dd3('0x20')]=qs['offset'](_0x46c051[_0x8dd3('0x33')]['offset']);}_0x721fd0[_0x8dd3('0x3b')]=qs[_0x8dd3('0x3c')](_0x46c051[_0x8dd3('0x33')][_0x8dd3('0x3c')]);_0x721fd0[_0x8dd3('0x3d')]=qs[_0x8dd3('0x35')](_['pick'](_0x46c051[_0x8dd3('0x33')],_0x95ca0e[_0x8dd3('0x35')]),_0x332cf3);if(_0x46c051[_0x8dd3('0x33')][_0x8dd3('0x3e')]){_0x721fd0[_0x8dd3('0x3d')]=_['merge'](_0x721fd0[_0x8dd3('0x3d')],{'$or':_['map'](_0x332cf3,function(_0x2ade2c){if(_0x2ade2c[_0x8dd3('0x31')]!=='VIRTUAL'){var _0x58e86b={};_0x58e86b[_0x2ade2c[_0x8dd3('0x2b')]]={'$like':'%'+_0x46c051[_0x8dd3('0x33')][_0x8dd3('0x3e')]+'%'};return _0x58e86b;}})});}_0x721fd0=_['merge']({},_0x721fd0,_0x46c051['options']);var _0x57c7ef={'where':_0x721fd0[_0x8dd3('0x3d')]};return db[_0x8dd3('0x2f')][_0x8dd3('0x23')](_0x57c7ef)['then'](function(_0x3682a2){_0x30cd61[_0x8dd3('0x23')]=_0x3682a2;if(_0x46c051[_0x8dd3('0x33')][_0x8dd3('0x3f')]){_0x721fd0[_0x8dd3('0x40')]=[{'all':!![]}];}return db[_0x8dd3('0x2f')][_0x8dd3('0x41')](_0x721fd0);})['then'](function(_0x5c13d8){_0x30cd61[_0x8dd3('0x42')]=_0x5c13d8;return _0x30cd61;})['then'](respondWithFilteredResult(_0x157ace,_0x721fd0))['catch'](handleError(_0x157ace,null));};exports[_0x8dd3('0x43')]=function(_0x3034b9,_0x17e6a4){var _0x52e3eb={'raw':!![],'where':{'id':_0x3034b9[_0x8dd3('0x44')]['id']}},_0x50e1c9={};_0x50e1c9[_0x8dd3('0x32')]=_[_0x8dd3('0x34')](db[_0x8dd3('0x2f')][_0x8dd3('0x45')]);_0x50e1c9[_0x8dd3('0x33')]=_[_0x8dd3('0x34')](_0x3034b9[_0x8dd3('0x33')]);_0x50e1c9[_0x8dd3('0x35')]=_['intersection'](_0x50e1c9[_0x8dd3('0x32')],_0x50e1c9[_0x8dd3('0x33')]);_0x52e3eb[_0x8dd3('0x38')]=_[_0x8dd3('0x36')](_0x50e1c9['model'],qs['fields'](_0x3034b9['query'][_0x8dd3('0x37')]));_0x52e3eb[_0x8dd3('0x38')]=_0x52e3eb[_0x8dd3('0x38')]['length']?_0x52e3eb[_0x8dd3('0x38')]:_0x50e1c9['model'];if(_0x3034b9[_0x8dd3('0x33')][_0x8dd3('0x3f')]){_0x52e3eb[_0x8dd3('0x40')]=[{'all':!![]}];}_0x52e3eb=_['merge']({},_0x52e3eb,_0x3034b9[_0x8dd3('0x46')]);return db[_0x8dd3('0x2f')]['find'](_0x52e3eb)[_0x8dd3('0x13')](handleEntityNotFound(_0x17e6a4,null))[_0x8dd3('0x13')](respondWithResult(_0x17e6a4,null))['catch'](handleError(_0x17e6a4,null));};exports[_0x8dd3('0x47')]=function(_0x39500d,_0x434d4f){if(_0x39500d[_0x8dd3('0x48')]['id']){delete _0x39500d[_0x8dd3('0x48')]['id'];}return db[_0x8dd3('0x2f')][_0x8dd3('0x49')]({'where':{'id':_0x39500d['params']['id']}})[_0x8dd3('0x13')](handleEntityNotFound(_0x434d4f,null))[_0x8dd3('0x13')](saveUpdates(_0x39500d[_0x8dd3('0x48')],null))['then'](respondWithResult(_0x434d4f,null))['catch'](handleError(_0x434d4f,null));};exports[_0x8dd3('0x27')]=function(_0x36d560,_0x4107f0){return db['MailMessage'][_0x8dd3('0x49')]({'where':{'id':_0x36d560[_0x8dd3('0x44')]['id']}})[_0x8dd3('0x13')](handleEntityNotFound(_0x4107f0,null))['then'](removeEntity(_0x4107f0,null))[_0x8dd3('0x1e')](handleError(_0x4107f0,null));};exports[_0x8dd3('0x4a')]=function(_0x4c0c92,_0x4a55a2){return db['MailMessage'][_0x8dd3('0x4a')]()[_0x8dd3('0x13')](respondWithResult(_0x4a55a2,null))['catch'](handleError(_0x4a55a2,null));};exports[_0x8dd3('0x4b')]=function(_0x1c01ad,_0x149e65){return db[_0x8dd3('0x2f')][_0x8dd3('0x4b')](_0x1c01ad[_0x8dd3('0x48')])[_0x8dd3('0x13')](function(_0x515650){if(_0x515650){if(_0x515650[_0x8dd3('0x4c')]===_0x8dd3('0x4d')&&!_0x515650[_0x8dd3('0x4e')]){var _0x26207d,_0x2561e7,_0x585670;if(_0x1c01ad[_0x8dd3('0x48')]['to']){_0x2561e7=_0x1c01ad[_0x8dd3('0x48')]['to'][_0x8dd3('0x4f')](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x515650[_0x8dd3('0x50')]},'include':[{'model':db[_0x8dd3('0x51')],'as':_0x8dd3('0x52'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x2561e7},'limit':0x1,'order':[[_0x8dd3('0x53'),'DESC']]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x8dd3('0x54')],'as':_0x8dd3('0x54'),'raw':!![]}]}]})[_0x8dd3('0x13')](function(_0x534155){_0x26207d=_0x534155;if(!_0x26207d||!_0x26207d[_0x8dd3('0x55')])return;var _0x25248c=_0x26207d[_0x8dd3('0x56')]();if(_0x1c01ad[_0x8dd3('0x48')][_0x8dd3('0x57')]&&_0x1c01ad['body'][_0x8dd3('0x57')]['length']){for(var _0x2bd061=0x0;_0x2bd061<_0x1c01ad[_0x8dd3('0x48')][_0x8dd3('0x57')][_0x8dd3('0x39')];_0x2bd061+=0x1){_0x1c01ad['body'][_0x8dd3('0x57')][_0x2bd061]={'filename':_0x1c01ad[_0x8dd3('0x48')][_0x8dd3('0x57')][_0x2bd061][_0x8dd3('0x2b')],'path':path[_0x8dd3('0x58')](config[_0x8dd3('0x59')],_0x8dd3('0x5a'),_0x1c01ad[_0x8dd3('0x48')][_0x8dd3('0x57')][_0x2bd061][_0x8dd3('0x5b')])};}}_0x585670={'account':_0x25248c,'message':_0x1c01ad[_0x8dd3('0x48')]};return;})['then'](function(){if(_0x26207d[_0x8dd3('0x52')]){if(_0x26207d[_0x8dd3('0x52')][_0x8dd3('0x5c')][_0x8dd3('0x39')]){return _0x26207d['List'][_0x8dd3('0x5c')][0x0];}else{return db[_0x8dd3('0x5d')][_0x8dd3('0x4b')](_[_0x8dd3('0xb')](_0x1c01ad[_0x8dd3('0x48')],{'firstName':_0x1c01ad[_0x8dd3('0x48')]['to'],'email':_0x1c01ad[_0x8dd3('0x48')]['to'],'phone':_0x1c01ad['body']['to'],'ListId':_0x26207d['ListId']}));}}else{throw new Error(_0x8dd3('0x5e'));}})[_0x8dd3('0x13')](function(){if(_0x585670){return respondWithRpcPromise(_0x8dd3('0x5f'),_0x8dd3('0x60'),_0x585670,client9003)['then'](function(_0x57be28){return _0x515650[_0x8dd3('0x47')]({'read':!![],'messageId':_0x57be28['messageId'],'sentAt':moment()[_0x8dd3('0x61')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x8dd3('0x1e')](function(_0x3b35f2){logger['error']('%s',JSON['stringify'](_0x3b35f2));return _0x515650;});}return _0x515650;});}return _0x515650;}})[_0x8dd3('0x13')](respondWithResult(_0x149e65,0xc9))[_0x8dd3('0x1e')](handleError(_0x149e65,null));};exports[_0x8dd3('0x62')]=function(_0x64a837,_0x4a3fc2){var _0x25fced={'agent':{},'channel':_0x8dd3('0x63')};if(_0x64a837[_0x8dd3('0x48')]['id']){delete _0x64a837['body']['id'];}_0x64a837[_0x8dd3('0x48')][_0x8dd3('0x64')]=!![];_0x64a837[_0x8dd3('0x48')][_0x8dd3('0x65')]=moment()[_0x8dd3('0x61')](_0x8dd3('0x66'));_0x64a837[_0x8dd3('0x48')]['UserId']=_0x64a837['body'][_0x8dd3('0x67')]||_0x64a837['user']['id'];_0x25fced['agent']['id']=_0x64a837[_0x8dd3('0x48')]['UserId'];return db[_0x8dd3('0x2f')][_0x8dd3('0x49')]({'where':{'id':_0x64a837[_0x8dd3('0x44')]['id'],'UserId':null}})[_0x8dd3('0x13')](handleEntityNotFound(_0x4a3fc2,null))['then'](saveUpdates(_0x64a837[_0x8dd3('0x48')],null))['then'](function(_0x38f3af){if(_0x38f3af){_0x25fced[_0x8dd3('0x1c')]=_0x38f3af[_0x8dd3('0x68')]({'plain':!![]});return db[_0x8dd3('0x69')]['find']({'where':{'id':_0x38f3af[_0x8dd3('0x6a')]}});}return null;})['then'](handleEntityNotFound(_0x4a3fc2,null))[_0x8dd3('0x13')](function(_0x1a98c3){if(_0x1a98c3){return _0x1a98c3[_0x8dd3('0x47')]({'UserId':_0x64a837[_0x8dd3('0x48')]['UserId'],'read1stAt':_[_0x8dd3('0x6b')](_0x1a98c3['read1stAt'])?moment()[_0x8dd3('0x61')](_0x8dd3('0x66')):undefined});}return null;})[_0x8dd3('0x13')](function(_0x567841){if(_0x567841){_0x25fced['interaction']=_0x567841[_0x8dd3('0x68')]({'plain':!![]});interaction_log['info'](_0x8dd3('0x6c'),_0x64a837[_0x8dd3('0x6d')]['id'],_0x64a837['user'][_0x8dd3('0x2b')],_0x64a837['user'][_0x8dd3('0x6e')],_0x25fced['interaction']['id'],_0x64a837[_0x8dd3('0x48')]?JSON[_0x8dd3('0x19')](_0x64a837[_0x8dd3('0x48')]):_0x8dd3('0x6f'));return respondWithRpcPromise('AcceptMessage',_0x8dd3('0x70'),_0x25fced);}return null;})[_0x8dd3('0x13')](function(_0x1241a7){var _0xfb9be4=_0x8dd3('0x71')+_0x1241a7[_0x8dd3('0x1c')][_0x8dd3('0x72')];return db[_0x8dd3('0x73')][_0x8dd3('0x33')](_0xfb9be4,{'type':db[_0x8dd3('0x74')][_0x8dd3('0x75')][_0x8dd3('0x76')],'raw':!![]})[_0x8dd3('0x13')](function(_0x4d26c9){return _0x4d26c9;});})[_0x8dd3('0x13')](function(_0x4a10b8){if(_0x4a10b8){_0x25fced[_0x8dd3('0x1c')][_0x8dd3('0x77')]=_0x4a10b8[0x0];if(!_0x64a837[_0x8dd3('0x48')][_0x8dd3('0x67')])return;return db[_0x8dd3('0x78')][_0x8dd3('0x49')]({'where':{'id':_0x64a837['body'][_0x8dd3('0x67')],'role':'agent'},'attributes':['id','name','fullname',_0x8dd3('0x79'),_0x8dd3('0x7a')],'raw':!![]});}return null;})[_0x8dd3('0x13')](function(_0x2de897){if(!_0x2de897)return null;_0x25fced[_0x8dd3('0x1c')][_0x8dd3('0x7b')]=_0x2de897;return _0x25fced;})[_0x8dd3('0x13')](function(_0x37bb74){if(_0x37bb74){if(_0x64a837[_0x8dd3('0x48')]['manual']){_0x25fced[_0x8dd3('0x1c')][_0x8dd3('0x7c')]=util['format'](_0x8dd3('0x7d'),_0x64a837[_0x8dd3('0x6d')][_0x8dd3('0x2b')]);_0x25fced['message'][_0x8dd3('0x7e')]=_0x25fced['channel'];_0x25fced[_0x8dd3('0x1c')][_0x8dd3('0x7f')]=_0x25fced[_0x8dd3('0x7e')];_0x25fced[_0x8dd3('0x1c')]['event']=_0x8dd3('0x62');_0x25fced[_0x8dd3('0x1c')][_0x8dd3('0x48')]=htmlToText['fromString'](_0x25fced['message'][_0x8dd3('0x48')]);return respondWithRpcPromise(_0x8dd3('0x80'),_0x8dd3('0x80'),{'event':_0x8dd3('0x81'),'message':_0x25fced['message']},client9002)['then'](function(){return _0x25fced;});}return _0x25fced;}return null;})[_0x8dd3('0x13')](respondWithResult(_0x4a3fc2,null))['catch'](handleError(_0x4a3fc2,null));};exports[_0x8dd3('0x82')]=function(_0xe13262,_0x2acaa0){var _0x1794c6={'agent':{},'channel':'mail'};if(_0xe13262[_0x8dd3('0x48')]['id']){delete _0xe13262[_0x8dd3('0x48')]['id'];}_0xe13262[_0x8dd3('0x48')]['UserId']=_0xe13262[_0x8dd3('0x48')][_0x8dd3('0x67')]||_0xe13262['user']['id'];_0x1794c6['agent']['id']=_0xe13262[_0x8dd3('0x48')][_0x8dd3('0x67')];return db[_0x8dd3('0x2f')][_0x8dd3('0x49')]({'where':{'id':_0xe13262['params']['id'],'UserId':null}})[_0x8dd3('0x13')](handleEntityNotFound(_0x2acaa0,null))[_0x8dd3('0x13')](function(_0x570eaa){if(_0x570eaa){_0x1794c6[_0x8dd3('0x1c')]=_0x570eaa[_0x8dd3('0x68')]({'plain':!![]});return db[_0x8dd3('0x69')][_0x8dd3('0x49')]({'where':{'id':_0x570eaa['MailInteractionId']}});}return null;})[_0x8dd3('0x13')](handleEntityNotFound(_0x2acaa0,null))[_0x8dd3('0x13')](function(_0x3da548){if(_0x3da548){_0x1794c6[_0x8dd3('0x83')]=_0x3da548['get']({'plain':!![]});interaction_log[_0x8dd3('0x14')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xe13262[_0x8dd3('0x6d')]['id'],_0xe13262[_0x8dd3('0x6d')][_0x8dd3('0x2b')],_0xe13262[_0x8dd3('0x6d')][_0x8dd3('0x6e')],_0x1794c6[_0x8dd3('0x83')]['id'],_0xe13262['body']?JSON[_0x8dd3('0x19')](_0xe13262[_0x8dd3('0x48')]):'null');return respondWithRpcPromise('RejectMessage','rejectMessage',_0x1794c6);}return null;})[_0x8dd3('0x13')](function(_0x2fa5e7){var _0x2e773=_0x8dd3('0x71')+_0x2fa5e7['message'][_0x8dd3('0x72')];return db['sequelize']['query'](_0x2e773,{'type':db[_0x8dd3('0x74')][_0x8dd3('0x75')]['SELECT'],'raw':!![]})['then'](function(_0x2add34){return _0x2add34;});})[_0x8dd3('0x13')](function(_0x5507d1){if(_0x5507d1){_0x1794c6[_0x8dd3('0x1c')]['contact']=_0x5507d1[0x0];if(!_0xe13262['body'][_0x8dd3('0x67')])return;return db[_0x8dd3('0x78')]['find']({'where':{'id':_0xe13262[_0x8dd3('0x48')][_0x8dd3('0x67')],'role':_0x8dd3('0x7b')},'attributes':['id',_0x8dd3('0x2b'),_0x8dd3('0x84'),_0x8dd3('0x79'),'internal'],'raw':!![]});}return null;})['then'](function(_0x2cf271){if(!_0x2cf271)return null;_0x1794c6['message']['agent']=_0x2cf271;return _0x1794c6;})[_0x8dd3('0x13')](function(_0x1a770a){if(_0x1a770a){_0x1a770a[_0x8dd3('0x1c')][_0x8dd3('0x7c')]=util['format']('SIP/%s',_0xe13262[_0x8dd3('0x6d')][_0x8dd3('0x2b')]);_0x1a770a[_0x8dd3('0x1c')][_0x8dd3('0x7e')]=_0x1794c6['channel'];_0x1a770a[_0x8dd3('0x1c')][_0x8dd3('0x7f')]=_0x1794c6[_0x8dd3('0x7e')];_0x1a770a[_0x8dd3('0x1c')][_0x8dd3('0x85')]=_0x8dd3('0x82');_0x1a770a['message'][_0x8dd3('0x48')]=htmlToText['fromString'](_0x1794c6['message']['body']);respondWithRpcPromise('EventManager',_0x8dd3('0x80'),{'event':_0x8dd3('0x86'),'message':_0x1a770a['message']},client9002);return _0x1794c6;}return null;})['then'](respondWithResult(_0x2acaa0,null))['catch'](handleError(_0x2acaa0,null));};exports[_0x8dd3('0x87')]=function(_0x5d63d0,_0x16c954){var _0x1757ce=moment()[_0x8dd3('0x88')]()[_0x8dd3('0x89')]();var _0x709e19=path[_0x8dd3('0x58')](config[_0x8dd3('0x59')],_0x8dd3('0x8a'),_0x8dd3('0x8b'),_0x8dd3('0x8c'));var _0x17cc10=path[_0x8dd3('0x58')](config['root'],'server',_0x8dd3('0x8b'),_0x8dd3('0x57'));var _0x461cec=util['format'](_0x8dd3('0x8d'),_0x1757ce);return db[_0x8dd3('0x2f')][_0x8dd3('0x49')]({'where':{'id':_0x5d63d0[_0x8dd3('0x44')]['id']},'attributes':['id',_0x8dd3('0x48'),_0x8dd3('0x8e'),'to','cc','bcc',_0x8dd3('0x8f'),_0x8dd3('0x90')],'include':_0x5d63d0['query']['attachments']?[{'model':db[_0x8dd3('0x91')],'as':_0x8dd3('0x92')}]:undefined})[_0x8dd3('0x13')](handleEntityNotFound(_0x16c954,null))[_0x8dd3('0x13')](function(_0x32c2d4){if(_0x32c2d4){var _0x2260af=_0x32c2d4;var _0x4be074={'from':_0x2260af[_0x8dd3('0x8e')],'to':_0x2260af['to'],'subject':_0x2260af[_0x8dd3('0x8f')],'html':htmlEntities[_0x8dd3('0x93')](_0x2260af['body']),'headers':{'Date':moment(_0x2260af[_0x8dd3('0x90')])[_0x8dd3('0x61')](_0x8dd3('0x94'))},'attachments':[]};if(_0x32c2d4['cc']){_0x4be074[_0x8dd3('0x95')]['Cc']=_0x32c2d4['cc'];}if(_0x32c2d4[_0x8dd3('0x96')]){_0x4be074[_0x8dd3('0x95')][_0x8dd3('0x97')]=_0x32c2d4[_0x8dd3('0x96')];}return new BPromise(function(_0x805227,_0x3bd858){if(_0x32c2d4[_0x8dd3('0x92')]){for(var _0xfced46=0x0;_0xfced46<_0x32c2d4['Attachments'][_0x8dd3('0x39')];_0xfced46++){var _0x26ee54=_0x32c2d4['Attachments'][_0xfced46];var _0x2b6f0f=path['join'](_0x17cc10,_0x26ee54['basename']);if(fs['existsSync'](_0x2b6f0f)){_0x4be074['attachments'][_0x8dd3('0x98')]({'name':_0x26ee54['name'],'contentType':_0x26ee54[_0x8dd3('0x31')],'data':fs['readFileSync'](_0x2b6f0f)});}}}emlformat[_0x8dd3('0x99')](_0x4be074,function(_0x10283f,_0x1885d8){if(_0x10283f)return _0x3bd858(_0x10283f);fs['writeFileSync'](path['join'](_0x709e19,_0x461cec),_0x1885d8);return _0x805227(_0x1885d8);});});}})[_0x8dd3('0x13')](function(_0x51a00a){if(_0x51a00a){return _0x16c954['download'](path[_0x8dd3('0x58')](_0x709e19,_0x461cec),_0x461cec,function(_0x54dd74){if(!_0x54dd74)fs[_0x8dd3('0x9a')](path[_0x8dd3('0x58')](_0x709e19,_0x461cec));});}})[_0x8dd3('0x1e')](handleError(_0x16c954,null));};