Built motion from commit efa66e19.|2.6.22
[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 _0x0dfd=['server','files','tmp','message-%s.eml','bcc','subject','createdAt','from','headers','Bcc','Attachments','existsSync','push','build','writeFileSync','unlinkSync','moment','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','socket.io-emitter','register','http','client','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','status','offset','undefined','count','set','json','destroy','name','send','index','map','MailMessage','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','rows','show','params','find','body','catch','describe','create','MailAccount','MailAccountId','CmList','List','Contacts','updatedAt','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','root','server/files/attachments','basename','CmContact','defaults','ListId','List\x20not\x20found','SendMail','update','YYYY-MM-DD\x20HH:mm:ss','accept','mail','format','UserId','user','agent','MailInteraction','MailInteractionId','read1stAt','interaction','get','[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','Sequelize','QueryTypes','SELECT','User','fullname','email','internal','manual','interface','motionChannel','channel','event','fromString','EventManager','acceptmessage','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','contact','download','unix','toString'];(function(_0xd1d19a,_0x1933f0){var _0x52a79d=function(_0x5199e2){while(--_0x5199e2){_0xd1d19a['push'](_0xd1d19a['shift']());}};_0x52a79d(++_0x1933f0);}(_0x0dfd,0x138));var _0xd0df=function(_0x842523,_0x10e275){_0x842523=_0x842523-0x0;var _0x1274a8=_0x0dfd[_0x842523];return _0x1274a8;};'use strict';var emlformat=require('eml-format');var moment=require(_0xd0df('0x0'));var BPromise=require('bluebird');var util=require(_0xd0df('0x1'));var path=require(_0xd0df('0x2'));var fs=require('fs');var _=require(_0xd0df('0x3'));var Redis=require(_0xd0df('0x4'));var htmlToText=require(_0xd0df('0x5'));var qs=require(_0xd0df('0x6'));var logger=require(_0xd0df('0x7'))(_0xd0df('0x8'));var interaction_log=require(_0xd0df('0x7'))('mail-interactions');var config=require('../../config/environment');var db=require(_0xd0df('0x9'))['db'];config[_0xd0df('0xa')]=_['defaults'](config[_0xd0df('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0xd0df('0xb'))(new Redis(config['redis']));var htmlEntities=require('html-entities');require('./mailMessage.socket')[_0xd0df('0xc')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xd0df('0xd')]({'port':0x232c});var client9003=jayson[_0xd0df('0xe')][_0xd0df('0xd')]({'port':0x232b});var client9002=jayson[_0xd0df('0xe')][_0xd0df('0xd')]({'port':0x232a});function respondWithRpcPromise(_0x5842dd,_0x241eec,_0x5575b2,_0x2b95b6){return new BPromise(function(_0x2ce60e,_0xe2acc8){var _0x2ffd1f=_0x2b95b6||client;return _0x2ffd1f['request'](_0x5842dd,_0x5575b2)[_0xd0df('0xf')](function(_0x556a29){logger[_0xd0df('0x10')](_0xd0df('0x11'),_0x241eec,_0xd0df('0x12'));logger[_0xd0df('0x13')](_0xd0df('0x14'),_0x241eec,'request\x20sent',JSON[_0xd0df('0x15')](_0x556a29));if(_0x556a29[_0xd0df('0x16')]){if(_0x556a29['error'][_0xd0df('0x17')]===0x1f4){logger[_0xd0df('0x16')](_0xd0df('0x11'),_0x241eec,_0x556a29['error'][_0xd0df('0x18')]);return _0xe2acc8(_0x556a29['error'][_0xd0df('0x18')]);}logger[_0xd0df('0x16')](_0xd0df('0x11'),_0x241eec,_0x556a29[_0xd0df('0x16')]['message']);return _0x2ce60e(_0x556a29[_0xd0df('0x16')][_0xd0df('0x18')]);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x241eec,_0xd0df('0x12'));_0x2ce60e(_0x556a29[_0xd0df('0x19')][_0xd0df('0x18')]);}})['catch'](function(_0xeabc80){logger['error'](_0xd0df('0x11'),_0x241eec,_0xeabc80);_0xe2acc8(_0xeabc80);});});}function respondWithResult(_0x16ab2b,_0x5d8816){_0x5d8816=_0x5d8816||0xc8;return function(_0xd637e8){if(_0xd637e8){return _0x16ab2b[_0xd0df('0x1a')](_0x5d8816)['json'](_0xd637e8);}};}function respondWithFilteredResult(_0x3fe789,_0x36320d){return function(_0x15469f){if(_0x15469f){var _0x26a977=typeof _0x36320d[_0xd0df('0x1b')]===_0xd0df('0x1c')&&typeof _0x36320d['limit']===_0xd0df('0x1c');var _0x4d8a36=_0x15469f[_0xd0df('0x1d')];var _0x5786f9=_0x26a977?0x0:_0x36320d[_0xd0df('0x1b')];var _0x2610b5=_0x26a977?_0x15469f[_0xd0df('0x1d')]:_0x36320d['offset']+_0x36320d['limit'];var _0x139db6;if(_0x2610b5>=_0x4d8a36){_0x2610b5=_0x4d8a36;_0x139db6=0xc8;}else{_0x139db6=0xce;}_0x3fe789[_0xd0df('0x1a')](_0x139db6);return _0x3fe789[_0xd0df('0x1e')]('Content-Range',_0x5786f9+'-'+_0x2610b5+'/'+_0x4d8a36)[_0xd0df('0x1f')](_0x15469f);}return null;};}function saveUpdates(_0x1a52f6){return function(_0x2a7d52){if(_0x2a7d52){return _0x2a7d52['update'](_0x1a52f6)[_0xd0df('0xf')](function(_0x3bb5d3){return _0x3bb5d3;});}return null;};}function removeEntity(_0x40a69){return function(_0x27f344){if(_0x27f344){return _0x27f344[_0xd0df('0x20')]()['then'](function(){_0x40a69[_0xd0df('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x152308){return function(_0x299a4b){if(!_0x299a4b){_0x152308['sendStatus'](0x194);}return _0x299a4b;};}function handleError(_0x17af55,_0x3078aa){_0x3078aa=_0x3078aa||0x1f4;return function(_0x427824){logger[_0xd0df('0x16')](_0x427824['stack']);if(_0x427824['name']){delete _0x427824[_0xd0df('0x21')];}_0x17af55[_0xd0df('0x1a')](_0x3078aa)[_0xd0df('0x22')](_0x427824);};}exports[_0xd0df('0x23')]=function(_0x470105,_0x2be239){var _0x3f83eb={},_0x55aed0={},_0x4958de={'count':0x0,'rows':[]};var _0x125343=_[_0xd0df('0x24')](db[_0xd0df('0x25')][_0xd0df('0x26')],function(_0x37aa3e){return{'name':_0x37aa3e[_0xd0df('0x27')],'type':_0x37aa3e[_0xd0df('0x28')][_0xd0df('0x29')]};});_0x55aed0[_0xd0df('0x2a')]=_[_0xd0df('0x24')](_0x125343,_0xd0df('0x21'));_0x55aed0[_0xd0df('0x2b')]=_[_0xd0df('0x2c')](_0x470105[_0xd0df('0x2b')]);_0x55aed0[_0xd0df('0x2d')]=_[_0xd0df('0x2e')](_0x55aed0[_0xd0df('0x2a')],_0x55aed0[_0xd0df('0x2b')]);_0x3f83eb[_0xd0df('0x2f')]=_[_0xd0df('0x2e')](_0x55aed0[_0xd0df('0x2a')],qs['fields'](_0x470105[_0xd0df('0x2b')][_0xd0df('0x30')]));_0x3f83eb[_0xd0df('0x2f')]=_0x3f83eb[_0xd0df('0x2f')][_0xd0df('0x31')]?_0x3f83eb['attributes']:_0x55aed0[_0xd0df('0x2a')];if(!_0x470105[_0xd0df('0x2b')][_0xd0df('0x32')](_0xd0df('0x33'))){_0x3f83eb['limit']=qs[_0xd0df('0x34')](_0x470105[_0xd0df('0x2b')]['limit']);_0x3f83eb[_0xd0df('0x1b')]=qs[_0xd0df('0x1b')](_0x470105[_0xd0df('0x2b')][_0xd0df('0x1b')]);}_0x3f83eb[_0xd0df('0x35')]=qs['sort'](_0x470105[_0xd0df('0x2b')][_0xd0df('0x36')]);_0x3f83eb[_0xd0df('0x37')]=qs[_0xd0df('0x2d')](_['pick'](_0x470105[_0xd0df('0x2b')],_0x55aed0[_0xd0df('0x2d')]),_0x125343);if(_0x470105['query']['filter']){_0x3f83eb[_0xd0df('0x37')]=_[_0xd0df('0x38')](_0x3f83eb[_0xd0df('0x37')],{'$or':_[_0xd0df('0x24')](_0x125343,function(_0x36c30a){if(_0x36c30a['type']!==_0xd0df('0x39')){var _0x15f24a={};_0x15f24a[_0x36c30a[_0xd0df('0x21')]]={'$like':'%'+_0x470105[_0xd0df('0x2b')][_0xd0df('0x3a')]+'%'};return _0x15f24a;}})});}_0x3f83eb=_['merge']({},_0x3f83eb,_0x470105[_0xd0df('0x3b')]);var _0x2013aa={'where':_0x3f83eb['where']};return db[_0xd0df('0x25')][_0xd0df('0x1d')](_0x2013aa)['then'](function(_0x1fa11a){_0x4958de[_0xd0df('0x1d')]=_0x1fa11a;if(_0x470105[_0xd0df('0x2b')][_0xd0df('0x3c')]){_0x3f83eb[_0xd0df('0x3d')]=[{'all':!![]}];}return db[_0xd0df('0x25')]['findAll'](_0x3f83eb);})['then'](function(_0x3ff2c5){_0x4958de[_0xd0df('0x3e')]=_0x3ff2c5;return _0x4958de;})[_0xd0df('0xf')](respondWithFilteredResult(_0x2be239,_0x3f83eb))['catch'](handleError(_0x2be239,null));};exports[_0xd0df('0x3f')]=function(_0x294630,_0x31d3cd){var _0x53742c={'raw':!![],'where':{'id':_0x294630[_0xd0df('0x40')]['id']}},_0x48dcb8={};_0x48dcb8[_0xd0df('0x2a')]=_['keys'](db[_0xd0df('0x25')]['rawAttributes']);_0x48dcb8['query']=_[_0xd0df('0x2c')](_0x294630[_0xd0df('0x2b')]);_0x48dcb8[_0xd0df('0x2d')]=_[_0xd0df('0x2e')](_0x48dcb8[_0xd0df('0x2a')],_0x48dcb8[_0xd0df('0x2b')]);_0x53742c[_0xd0df('0x2f')]=_[_0xd0df('0x2e')](_0x48dcb8['model'],qs[_0xd0df('0x30')](_0x294630[_0xd0df('0x2b')][_0xd0df('0x30')]));_0x53742c['attributes']=_0x53742c[_0xd0df('0x2f')][_0xd0df('0x31')]?_0x53742c[_0xd0df('0x2f')]:_0x48dcb8[_0xd0df('0x2a')];if(_0x294630[_0xd0df('0x2b')][_0xd0df('0x3c')]){_0x53742c['include']=[{'all':!![]}];}_0x53742c=_['merge']({},_0x53742c,_0x294630[_0xd0df('0x3b')]);return db[_0xd0df('0x25')][_0xd0df('0x41')](_0x53742c)['then'](handleEntityNotFound(_0x31d3cd,null))[_0xd0df('0xf')](respondWithResult(_0x31d3cd,null))['catch'](handleError(_0x31d3cd,null));};exports['update']=function(_0x52d78e,_0x11613c){if(_0x52d78e[_0xd0df('0x42')]['id']){delete _0x52d78e[_0xd0df('0x42')]['id'];}return db[_0xd0df('0x25')][_0xd0df('0x41')]({'where':{'id':_0x52d78e[_0xd0df('0x40')]['id']}})[_0xd0df('0xf')](handleEntityNotFound(_0x11613c,null))[_0xd0df('0xf')](saveUpdates(_0x52d78e['body'],null))[_0xd0df('0xf')](respondWithResult(_0x11613c,null))[_0xd0df('0x43')](handleError(_0x11613c,null));};exports[_0xd0df('0x20')]=function(_0x5aa2c1,_0x1b7bed){return db[_0xd0df('0x25')]['find']({'where':{'id':_0x5aa2c1['params']['id']}})['then'](handleEntityNotFound(_0x1b7bed,null))[_0xd0df('0xf')](removeEntity(_0x1b7bed,null))[_0xd0df('0x43')](handleError(_0x1b7bed,null));};exports[_0xd0df('0x44')]=function(_0x70a165,_0x35248a){return db[_0xd0df('0x25')][_0xd0df('0x44')]()['then'](respondWithResult(_0x35248a,null))['catch'](handleError(_0x35248a,null));};exports[_0xd0df('0x45')]=function(_0x4be966,_0x3c78cd){return db[_0xd0df('0x25')][_0xd0df('0x45')](_0x4be966[_0xd0df('0x42')])[_0xd0df('0xf')](function(_0x4165e1){if(_0x4165e1){if(_0x4165e1['direction']==='out'&&!_0x4165e1['secret']){var _0x478ab5,_0x2758b4,_0x5c4a1b;if(_0x4be966[_0xd0df('0x42')]['to']){_0x2758b4=_0x4be966[_0xd0df('0x42')]['to']['split'](',')[0x0];}return db[_0xd0df('0x46')]['findOne']({'where':{'id':_0x4165e1[_0xd0df('0x47')]},'include':[{'model':db[_0xd0df('0x48')],'as':_0xd0df('0x49'),'include':[{'model':db['CmContact'],'as':_0xd0df('0x4a'),'where':{'email':_0x2758b4},'limit':0x1,'order':[[_0xd0df('0x4b'),'DESC']]}]},{'model':db[_0xd0df('0x4c')],'as':_0xd0df('0x4d'),'raw':!![],'include':[{'model':db[_0xd0df('0x4e')],'as':_0xd0df('0x4e'),'raw':!![]}]}]})['then'](function(_0x5e90fc){_0x478ab5=_0x5e90fc;if(!_0x478ab5||!_0x478ab5[_0xd0df('0x4d')])return;var _0x230a80=_0x478ab5[_0xd0df('0x4f')]();if(_0x4be966[_0xd0df('0x42')][_0xd0df('0x50')]&&_0x4be966['body'][_0xd0df('0x50')][_0xd0df('0x31')]){for(var _0x29e025=0x0;_0x29e025<_0x4be966[_0xd0df('0x42')][_0xd0df('0x50')][_0xd0df('0x31')];_0x29e025+=0x1){_0x4be966[_0xd0df('0x42')][_0xd0df('0x50')][_0x29e025]={'filename':_0x4be966[_0xd0df('0x42')][_0xd0df('0x50')][_0x29e025][_0xd0df('0x21')],'path':path[_0xd0df('0x51')](config[_0xd0df('0x52')],_0xd0df('0x53'),_0x4be966['body'][_0xd0df('0x50')][_0x29e025][_0xd0df('0x54')])};}}_0x5c4a1b={'account':_0x230a80,'message':_0x4be966[_0xd0df('0x42')]};return;})[_0xd0df('0xf')](function(){if(_0x478ab5[_0xd0df('0x49')]){if(_0x478ab5[_0xd0df('0x49')]['Contacts'][_0xd0df('0x31')]){return _0x478ab5['List'][_0xd0df('0x4a')][0x0];}else{return db[_0xd0df('0x55')][_0xd0df('0x45')](_[_0xd0df('0x56')](_0x4be966[_0xd0df('0x42')],{'firstName':_0x4be966[_0xd0df('0x42')]['to'],'email':_0x4be966[_0xd0df('0x42')]['to'],'phone':_0x4be966['body']['to'],'ListId':_0x478ab5[_0xd0df('0x57')]}));}}else{throw new Error(_0xd0df('0x58'));}})[_0xd0df('0xf')](function(){if(_0x5c4a1b){return respondWithRpcPromise(_0xd0df('0x59'),'sendMail',_0x5c4a1b,client9003)[_0xd0df('0xf')](function(_0x3a038c){return _0x4165e1[_0xd0df('0x5a')]({'read':!![],'messageId':_0x3a038c['messageId'],'sentAt':moment()['format'](_0xd0df('0x5b'))});})['catch'](function(_0x4e4332){logger[_0xd0df('0x16')]('%s',JSON['stringify'](_0x4e4332));return _0x4165e1;});}return _0x4165e1;});}return _0x4165e1;}})[_0xd0df('0xf')](respondWithResult(_0x3c78cd,0xc9))['catch'](handleError(_0x3c78cd,null));};exports[_0xd0df('0x5c')]=function(_0x5c6d2a,_0x456ba4){var _0x17ac80={'agent':{},'channel':_0xd0df('0x5d')};if(_0x5c6d2a['body']['id']){delete _0x5c6d2a['body']['id'];}_0x5c6d2a[_0xd0df('0x42')]['read']=!![];_0x5c6d2a[_0xd0df('0x42')]['readAt']=moment()[_0xd0df('0x5e')](_0xd0df('0x5b'));_0x5c6d2a[_0xd0df('0x42')]['UserId']=_0x5c6d2a[_0xd0df('0x42')][_0xd0df('0x5f')]||_0x5c6d2a[_0xd0df('0x60')]['id'];_0x17ac80[_0xd0df('0x61')]['id']=_0x5c6d2a[_0xd0df('0x42')]['UserId'];return db[_0xd0df('0x25')][_0xd0df('0x41')]({'where':{'id':_0x5c6d2a['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x456ba4,null))['then'](saveUpdates(_0x5c6d2a['body'],null))[_0xd0df('0xf')](function(_0x5e9569){if(_0x5e9569){_0x17ac80[_0xd0df('0x18')]=_0x5e9569['get']({'plain':!![]});return db[_0xd0df('0x62')][_0xd0df('0x41')]({'where':{'id':_0x5e9569[_0xd0df('0x63')]}});}return null;})[_0xd0df('0xf')](handleEntityNotFound(_0x456ba4,null))[_0xd0df('0xf')](function(_0x4094f4){if(_0x4094f4){return _0x4094f4[_0xd0df('0x5a')]({'UserId':_0x5c6d2a[_0xd0df('0x42')][_0xd0df('0x5f')],'read1stAt':_['isNil'](_0x4094f4[_0xd0df('0x64')])?moment()[_0xd0df('0x5e')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0xd0df('0xf')](function(_0x46561b){if(_0x46561b){_0x17ac80[_0xd0df('0x65')]=_0x46561b[_0xd0df('0x66')]({'plain':!![]});interaction_log[_0xd0df('0x10')](_0xd0df('0x67'),_0x5c6d2a[_0xd0df('0x60')]['id'],_0x5c6d2a['user']['name'],_0x5c6d2a[_0xd0df('0x60')][_0xd0df('0x68')],_0x17ac80['interaction']['id'],_0x5c6d2a[_0xd0df('0x42')]?JSON[_0xd0df('0x15')](_0x5c6d2a['body']):_0xd0df('0x69'));return respondWithRpcPromise(_0xd0df('0x6a'),'acceptMessage',_0x17ac80);}return null;})[_0xd0df('0xf')](function(_0x163929){var _0x2ccdfb=_0xd0df('0x6b')+_0x163929[_0xd0df('0x18')][_0xd0df('0x6c')];return db[_0xd0df('0x6d')][_0xd0df('0x2b')](_0x2ccdfb,{'type':db[_0xd0df('0x6e')][_0xd0df('0x6f')][_0xd0df('0x70')],'raw':!![]})[_0xd0df('0xf')](function(_0x11e039){return _0x11e039;});})[_0xd0df('0xf')](function(_0x89f81d){if(_0x89f81d){_0x17ac80['message']['contact']=_0x89f81d[0x0];if(!_0x5c6d2a[_0xd0df('0x42')][_0xd0df('0x5f')])return;return db[_0xd0df('0x71')][_0xd0df('0x41')]({'where':{'id':_0x5c6d2a['body'][_0xd0df('0x5f')],'role':_0xd0df('0x61')},'attributes':['id','name',_0xd0df('0x72'),_0xd0df('0x73'),_0xd0df('0x74')],'raw':!![]});}return null;})[_0xd0df('0xf')](function(_0x488347){if(!_0x488347)return null;_0x17ac80[_0xd0df('0x18')]['agent']=_0x488347;return _0x17ac80;})['then'](function(_0x307f0b){if(_0x307f0b){if(_0x5c6d2a['body'][_0xd0df('0x75')]){_0x17ac80[_0xd0df('0x18')][_0xd0df('0x76')]=util[_0xd0df('0x5e')]('SIP/%s',_0x5c6d2a[_0xd0df('0x60')][_0xd0df('0x21')]);_0x17ac80[_0xd0df('0x18')]['channel']=_0x17ac80['channel'];_0x17ac80[_0xd0df('0x18')][_0xd0df('0x77')]=_0x17ac80[_0xd0df('0x78')];_0x17ac80[_0xd0df('0x18')][_0xd0df('0x79')]=_0xd0df('0x5c');_0x17ac80[_0xd0df('0x18')][_0xd0df('0x42')]=htmlToText[_0xd0df('0x7a')](_0x17ac80[_0xd0df('0x18')][_0xd0df('0x42')]);return respondWithRpcPromise(_0xd0df('0x7b'),'EventManager',{'event':_0xd0df('0x7c'),'message':_0x17ac80[_0xd0df('0x18')]},client9002)['then'](function(){return _0x17ac80;});}return _0x17ac80;}return null;})[_0xd0df('0xf')](respondWithResult(_0x456ba4,null))[_0xd0df('0x43')](handleError(_0x456ba4,null));};exports[_0xd0df('0x7d')]=function(_0x491a87,_0x4bec13){var _0x14f86e={'agent':{},'channel':_0xd0df('0x5d')};if(_0x491a87[_0xd0df('0x42')]['id']){delete _0x491a87['body']['id'];}_0x491a87[_0xd0df('0x42')][_0xd0df('0x5f')]=_0x491a87['body'][_0xd0df('0x5f')]||_0x491a87[_0xd0df('0x60')]['id'];_0x14f86e[_0xd0df('0x61')]['id']=_0x491a87[_0xd0df('0x42')]['UserId'];return db['MailMessage'][_0xd0df('0x41')]({'where':{'id':_0x491a87[_0xd0df('0x40')]['id'],'UserId':null}})[_0xd0df('0xf')](handleEntityNotFound(_0x4bec13,null))[_0xd0df('0xf')](function(_0x42437e){if(_0x42437e){_0x14f86e[_0xd0df('0x18')]=_0x42437e[_0xd0df('0x66')]({'plain':!![]});return db['MailInteraction'][_0xd0df('0x41')]({'where':{'id':_0x42437e[_0xd0df('0x63')]}});}return null;})[_0xd0df('0xf')](handleEntityNotFound(_0x4bec13,null))['then'](function(_0x2cad3b){if(_0x2cad3b){_0x14f86e[_0xd0df('0x65')]=_0x2cad3b[_0xd0df('0x66')]({'plain':!![]});interaction_log['info'](_0xd0df('0x7e'),_0x491a87[_0xd0df('0x60')]['id'],_0x491a87[_0xd0df('0x60')][_0xd0df('0x21')],_0x491a87[_0xd0df('0x60')][_0xd0df('0x68')],_0x14f86e[_0xd0df('0x65')]['id'],_0x491a87[_0xd0df('0x42')]?JSON[_0xd0df('0x15')](_0x491a87[_0xd0df('0x42')]):_0xd0df('0x69'));return respondWithRpcPromise('RejectMessage',_0xd0df('0x7f'),_0x14f86e);}return null;})[_0xd0df('0xf')](function(_0x19a2c1){var _0x470a40='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x19a2c1[_0xd0df('0x18')][_0xd0df('0x6c')];return db['sequelize'][_0xd0df('0x2b')](_0x470a40,{'type':db[_0xd0df('0x6e')][_0xd0df('0x6f')][_0xd0df('0x70')],'raw':!![]})[_0xd0df('0xf')](function(_0xe2d2a6){return _0xe2d2a6;});})[_0xd0df('0xf')](function(_0x54c7c8){if(_0x54c7c8){_0x14f86e['message'][_0xd0df('0x80')]=_0x54c7c8[0x0];if(!_0x491a87[_0xd0df('0x42')]['UserId'])return;return db['User'][_0xd0df('0x41')]({'where':{'id':_0x491a87[_0xd0df('0x42')][_0xd0df('0x5f')],'role':_0xd0df('0x61')},'attributes':['id',_0xd0df('0x21'),_0xd0df('0x72'),_0xd0df('0x73'),_0xd0df('0x74')],'raw':!![]});}return null;})[_0xd0df('0xf')](function(_0x2975cd){if(!_0x2975cd)return null;_0x14f86e[_0xd0df('0x18')]['agent']=_0x2975cd;return _0x14f86e;})[_0xd0df('0xf')](function(_0x589c53){if(_0x589c53){_0x589c53[_0xd0df('0x18')][_0xd0df('0x76')]=util[_0xd0df('0x5e')]('SIP/%s',_0x491a87[_0xd0df('0x60')][_0xd0df('0x21')]);_0x589c53[_0xd0df('0x18')][_0xd0df('0x78')]=_0x14f86e['channel'];_0x589c53['message'][_0xd0df('0x77')]=_0x14f86e[_0xd0df('0x78')];_0x589c53['message']['event']='reject';_0x589c53[_0xd0df('0x18')][_0xd0df('0x42')]=htmlToText[_0xd0df('0x7a')](_0x14f86e[_0xd0df('0x18')][_0xd0df('0x42')]);respondWithRpcPromise(_0xd0df('0x7b'),_0xd0df('0x7b'),{'event':'rejectmessage','message':_0x589c53[_0xd0df('0x18')]},client9002);return _0x14f86e;}return null;})['then'](respondWithResult(_0x4bec13,null))['catch'](handleError(_0x4bec13,null));};exports[_0xd0df('0x81')]=function(_0x5ba505,_0x3a2cdb){var _0x3af396=moment()[_0xd0df('0x82')]()[_0xd0df('0x83')]();var _0x40cd61=path['join'](config[_0xd0df('0x52')],_0xd0df('0x84'),_0xd0df('0x85'),_0xd0df('0x86'));var _0xc3e8a0=path[_0xd0df('0x51')](config[_0xd0df('0x52')],'server','files',_0xd0df('0x50'));var _0x136da6=util[_0xd0df('0x5e')](_0xd0df('0x87'),_0x3af396);return db[_0xd0df('0x25')][_0xd0df('0x41')]({'where':{'id':_0x5ba505[_0xd0df('0x40')]['id']},'attributes':['id',_0xd0df('0x42'),'from','to','cc',_0xd0df('0x88'),_0xd0df('0x89'),_0xd0df('0x8a')],'include':_0x5ba505[_0xd0df('0x2b')][_0xd0df('0x50')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0xd0df('0xf')](handleEntityNotFound(_0x3a2cdb,null))['then'](function(_0x1880bd){if(_0x1880bd){var _0x74536d=_0x1880bd;var _0x19c948={'from':_0x74536d[_0xd0df('0x8b')],'to':_0x74536d['to'],'subject':_0x74536d[_0xd0df('0x89')],'html':htmlEntities['decode'](_0x74536d[_0xd0df('0x42')]),'headers':{'Date':moment(_0x74536d[_0xd0df('0x8a')])[_0xd0df('0x5e')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x1880bd['cc']){_0x19c948[_0xd0df('0x8c')]['Cc']=_0x1880bd['cc'];}if(_0x1880bd['bcc']){_0x19c948[_0xd0df('0x8c')][_0xd0df('0x8d')]=_0x1880bd[_0xd0df('0x88')];}return new BPromise(function(_0x14458e,_0x42f64f){if(_0x1880bd[_0xd0df('0x8e')]){for(var _0x3f44d1=0x0;_0x3f44d1<_0x1880bd[_0xd0df('0x8e')][_0xd0df('0x31')];_0x3f44d1++){var _0xfde370=_0x1880bd['Attachments'][_0x3f44d1];var _0x35382a=path[_0xd0df('0x51')](_0xc3e8a0,_0xfde370[_0xd0df('0x54')]);if(fs[_0xd0df('0x8f')](_0x35382a)){_0x19c948[_0xd0df('0x50')][_0xd0df('0x90')]({'name':_0xfde370[_0xd0df('0x21')],'contentType':_0xfde370['type'],'data':fs['readFileSync'](_0x35382a)});}}}emlformat[_0xd0df('0x91')](_0x19c948,function(_0x16bbe8,_0x480a01){if(_0x16bbe8)return _0x42f64f(_0x16bbe8);fs[_0xd0df('0x92')](path[_0xd0df('0x51')](_0x40cd61,_0x136da6),_0x480a01);return _0x14458e(_0x480a01);});});}})['then'](function(_0x2e0716){if(_0x2e0716){return _0x3a2cdb[_0xd0df('0x81')](path[_0xd0df('0x51')](_0x40cd61,_0x136da6),_0x136da6,function(_0x47b3cf){if(!_0x47b3cf)fs[_0xd0df('0x93')](path[_0xd0df('0x51')](_0x40cd61,_0x136da6));});}})[_0xd0df('0x43')](handleError(_0x3a2cdb,null));};