Built motion from commit a61a4a20.|2.5.46
[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 _0xc416=['undefined','count','limit','set','Content-Range','update','then','destroy','sendStatus','stack','name','send','map','MailMessage','rawAttributes','type','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','catch','show','params','includeAll','find','body','describe','create','direction','out','split','findOne','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','service','host','port','authentication','auth','user','pass','secure','attachments','join','server/files/attachments','defaults','ListId','SendMail','sendMail','format','accept','mail','read','readAt','UserId','agent','get','MailInteraction','MailInteractionId','isNil','YYYY-MM-DD\x20HH:mm:ss','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interaction','null','AcceptMessage','acceptMessage','ContactId','sequelize','SELECT','contact','User','fullname','email','manual','interface','SIP/%s','channel','motionChannel','fromString','EventManager','acceptmessage','reject','RejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','Sequelize','QueryTypes','internal','rejectmessage','download','toString','root','server','files','tmp','message-%s.eml','bcc','subject','createdAt','Attachment','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','basename','push','build','eml-format','moment','bluebird','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./mailMessage.socket','jayson/promise','client','http','request','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','status','json','offset'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xc416,0x81));var _0x6c41=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc416[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x6c41('0x0'));var moment=require(_0x6c41('0x1'));var BPromise=require(_0x6c41('0x2'));var util=require(_0x6c41('0x3'));var path=require(_0x6c41('0x4'));var fs=require('fs');var _=require(_0x6c41('0x5'));var Redis=require(_0x6c41('0x6'));var htmlToText=require(_0x6c41('0x7'));var qs=require(_0x6c41('0x8'));var logger=require(_0x6c41('0x9'))(_0x6c41('0xa'));var interaction_log=require(_0x6c41('0x9'))(_0x6c41('0xb'));var config=require(_0x6c41('0xc'));var db=require(_0x6c41('0xd'))['db'];config[_0x6c41('0xe')]=_['defaults'](config[_0x6c41('0xe')],{'host':_0x6c41('0xf'),'port':0x18eb});var socket=require(_0x6c41('0x10'))(new Redis(config['redis']));var htmlEntities=require('html-entities');require(_0x6c41('0x11'))['register'](socket);var jayson=require(_0x6c41('0x12'));var client=jayson['client']['http']({'port':0x232c});var client9003=jayson[_0x6c41('0x13')][_0x6c41('0x14')]({'port':0x232b});var client9002=jayson[_0x6c41('0x13')][_0x6c41('0x14')]({'port':0x232a});function respondWithRpcPromise(_0x5ebf6b,_0x7f820f,_0x4fa5e2,_0xb27c11){return new BPromise(function(_0x32216e,_0x3e8d33){var _0x3e75e9=_0xb27c11||client;return _0x3e75e9[_0x6c41('0x15')](_0x5ebf6b,_0x4fa5e2)['then'](function(_0x4033e4){logger[_0x6c41('0x16')](_0x6c41('0x17'),_0x7f820f,_0x6c41('0x18'));logger['debug'](_0x6c41('0x19'),_0x7f820f,_0x6c41('0x18'),JSON[_0x6c41('0x1a')](_0x4033e4));if(_0x4033e4[_0x6c41('0x1b')]){if(_0x4033e4[_0x6c41('0x1b')][_0x6c41('0x1c')]===0x1f4){logger[_0x6c41('0x1b')](_0x6c41('0x17'),_0x7f820f,_0x4033e4[_0x6c41('0x1b')][_0x6c41('0x1d')]);return _0x3e8d33(_0x4033e4[_0x6c41('0x1b')][_0x6c41('0x1d')]);}logger[_0x6c41('0x1b')](_0x6c41('0x17'),_0x7f820f,_0x4033e4['error']['message']);return _0x32216e(_0x4033e4[_0x6c41('0x1b')][_0x6c41('0x1d')]);}else{logger[_0x6c41('0x16')](_0x6c41('0x17'),_0x7f820f,'request\x20sent');_0x32216e(_0x4033e4['result'][_0x6c41('0x1d')]);}})['catch'](function(_0x4b7dc6){logger[_0x6c41('0x1b')]('MailMessage,\x20%s,\x20%s',_0x7f820f,_0x4b7dc6);_0x3e8d33(_0x4b7dc6);});});}function respondWithResult(_0x87ea18,_0x1f9b9a){_0x1f9b9a=_0x1f9b9a||0xc8;return function(_0x349f7f){if(_0x349f7f){return _0x87ea18[_0x6c41('0x1e')](_0x1f9b9a)[_0x6c41('0x1f')](_0x349f7f);}};}function respondWithFilteredResult(_0x58ace8,_0x2b139a){return function(_0x2952e3){if(_0x2952e3){var _0x4f032f=typeof _0x2b139a[_0x6c41('0x20')]===_0x6c41('0x21')&&typeof _0x2b139a['limit']==='undefined';var _0x287b13=_0x2952e3[_0x6c41('0x22')];var _0x1d3614=_0x4f032f?0x0:_0x2b139a[_0x6c41('0x20')];var _0x35cb57=_0x4f032f?_0x2952e3[_0x6c41('0x22')]:_0x2b139a['offset']+_0x2b139a[_0x6c41('0x23')];var _0x157d44;if(_0x35cb57>=_0x287b13){_0x35cb57=_0x287b13;_0x157d44=0xc8;}else{_0x157d44=0xce;}_0x58ace8[_0x6c41('0x1e')](_0x157d44);return _0x58ace8[_0x6c41('0x24')](_0x6c41('0x25'),_0x1d3614+'-'+_0x35cb57+'/'+_0x287b13)[_0x6c41('0x1f')](_0x2952e3);}return null;};}function saveUpdates(_0x422e3a){return function(_0x194a85){if(_0x194a85){return _0x194a85[_0x6c41('0x26')](_0x422e3a)[_0x6c41('0x27')](function(_0x350fee){return _0x350fee;});}return null;};}function removeEntity(_0x3f18aa){return function(_0x5b5dd9){if(_0x5b5dd9){return _0x5b5dd9[_0x6c41('0x28')]()['then'](function(){_0x3f18aa['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x227246){return function(_0x71681b){if(!_0x71681b){_0x227246[_0x6c41('0x29')](0x194);}return _0x71681b;};}function handleError(_0x34f7ce,_0x1253c4){_0x1253c4=_0x1253c4||0x1f4;return function(_0x280189){logger[_0x6c41('0x1b')](_0x280189[_0x6c41('0x2a')]);if(_0x280189[_0x6c41('0x2b')]){delete _0x280189[_0x6c41('0x2b')];}_0x34f7ce[_0x6c41('0x1e')](_0x1253c4)[_0x6c41('0x2c')](_0x280189);};}exports['index']=function(_0x5028a6,_0x2ff96e){var _0x104df5={},_0x4a0e39={},_0x2b32ba={'count':0x0,'rows':[]};var _0x44f40e=_[_0x6c41('0x2d')](db[_0x6c41('0x2e')][_0x6c41('0x2f')],function(_0x3f3784){return{'name':_0x3f3784['fieldName'],'type':_0x3f3784[_0x6c41('0x30')]['key']};});_0x4a0e39[_0x6c41('0x31')]=_['map'](_0x44f40e,_0x6c41('0x2b'));_0x4a0e39['query']=_[_0x6c41('0x32')](_0x5028a6[_0x6c41('0x33')]);_0x4a0e39[_0x6c41('0x34')]=_['intersection'](_0x4a0e39[_0x6c41('0x31')],_0x4a0e39[_0x6c41('0x33')]);_0x104df5[_0x6c41('0x35')]=_[_0x6c41('0x36')](_0x4a0e39[_0x6c41('0x31')],qs[_0x6c41('0x37')](_0x5028a6[_0x6c41('0x33')][_0x6c41('0x37')]));_0x104df5['attributes']=_0x104df5[_0x6c41('0x35')][_0x6c41('0x38')]?_0x104df5[_0x6c41('0x35')]:_0x4a0e39[_0x6c41('0x31')];if(!_0x5028a6['query'][_0x6c41('0x39')]('nolimit')){_0x104df5[_0x6c41('0x23')]=qs['limit'](_0x5028a6[_0x6c41('0x33')][_0x6c41('0x23')]);_0x104df5['offset']=qs['offset'](_0x5028a6['query'][_0x6c41('0x20')]);}_0x104df5[_0x6c41('0x3a')]=qs[_0x6c41('0x3b')](_0x5028a6[_0x6c41('0x33')][_0x6c41('0x3b')]);_0x104df5[_0x6c41('0x3c')]=qs['filters'](_[_0x6c41('0x3d')](_0x5028a6[_0x6c41('0x33')],_0x4a0e39['filters']),_0x44f40e);if(_0x5028a6[_0x6c41('0x33')][_0x6c41('0x3e')]){_0x104df5[_0x6c41('0x3c')]=_[_0x6c41('0x3f')](_0x104df5[_0x6c41('0x3c')],{'$or':_[_0x6c41('0x2d')](_0x44f40e,function(_0x5eccc9){if(_0x5eccc9['type']!==_0x6c41('0x40')){var _0x3c34ba={};_0x3c34ba[_0x5eccc9[_0x6c41('0x2b')]]={'$like':'%'+_0x5028a6[_0x6c41('0x33')]['filter']+'%'};return _0x3c34ba;}})});}_0x104df5=_[_0x6c41('0x3f')]({},_0x104df5,_0x5028a6[_0x6c41('0x41')]);var _0x17ac0e={'where':_0x104df5[_0x6c41('0x3c')]};return db[_0x6c41('0x2e')]['count'](_0x17ac0e)[_0x6c41('0x27')](function(_0x515338){_0x2b32ba[_0x6c41('0x22')]=_0x515338;if(_0x5028a6['query']['includeAll']){_0x104df5[_0x6c41('0x42')]=[{'all':!![]}];}return db['MailMessage'][_0x6c41('0x43')](_0x104df5);})[_0x6c41('0x27')](function(_0x400a2d){_0x2b32ba['rows']=_0x400a2d;return _0x2b32ba;})[_0x6c41('0x27')](respondWithFilteredResult(_0x2ff96e,_0x104df5))[_0x6c41('0x44')](handleError(_0x2ff96e,null));};exports[_0x6c41('0x45')]=function(_0x4eec0f,_0x347812){var _0x1546c3={'raw':!![],'where':{'id':_0x4eec0f[_0x6c41('0x46')]['id']}},_0x6adbac={};_0x6adbac[_0x6c41('0x31')]=_['keys'](db[_0x6c41('0x2e')][_0x6c41('0x2f')]);_0x6adbac[_0x6c41('0x33')]=_[_0x6c41('0x32')](_0x4eec0f[_0x6c41('0x33')]);_0x6adbac[_0x6c41('0x34')]=_['intersection'](_0x6adbac[_0x6c41('0x31')],_0x6adbac[_0x6c41('0x33')]);_0x1546c3[_0x6c41('0x35')]=_[_0x6c41('0x36')](_0x6adbac[_0x6c41('0x31')],qs['fields'](_0x4eec0f[_0x6c41('0x33')][_0x6c41('0x37')]));_0x1546c3[_0x6c41('0x35')]=_0x1546c3['attributes']['length']?_0x1546c3['attributes']:_0x6adbac[_0x6c41('0x31')];if(_0x4eec0f['query'][_0x6c41('0x47')]){_0x1546c3[_0x6c41('0x42')]=[{'all':!![]}];}_0x1546c3=_[_0x6c41('0x3f')]({},_0x1546c3,_0x4eec0f[_0x6c41('0x41')]);return db[_0x6c41('0x2e')][_0x6c41('0x48')](_0x1546c3)[_0x6c41('0x27')](handleEntityNotFound(_0x347812,null))['then'](respondWithResult(_0x347812,null))['catch'](handleError(_0x347812,null));};exports[_0x6c41('0x26')]=function(_0x1dd465,_0x5ae667){if(_0x1dd465['body']['id']){delete _0x1dd465[_0x6c41('0x49')]['id'];}return db[_0x6c41('0x2e')][_0x6c41('0x48')]({'where':{'id':_0x1dd465[_0x6c41('0x46')]['id']}})['then'](handleEntityNotFound(_0x5ae667,null))[_0x6c41('0x27')](saveUpdates(_0x1dd465[_0x6c41('0x49')],null))[_0x6c41('0x27')](respondWithResult(_0x5ae667,null))[_0x6c41('0x44')](handleError(_0x5ae667,null));};exports[_0x6c41('0x28')]=function(_0x36862c,_0x2abcbb){return db[_0x6c41('0x2e')][_0x6c41('0x48')]({'where':{'id':_0x36862c[_0x6c41('0x46')]['id']}})['then'](handleEntityNotFound(_0x2abcbb,null))[_0x6c41('0x27')](removeEntity(_0x2abcbb,null))[_0x6c41('0x44')](handleError(_0x2abcbb,null));};exports[_0x6c41('0x4a')]=function(_0x1fcee0,_0x5c2f79){return db['MailMessage'][_0x6c41('0x4a')]()[_0x6c41('0x27')](respondWithResult(_0x5c2f79,null))[_0x6c41('0x44')](handleError(_0x5c2f79,null));};exports['create']=function(_0x30fa66,_0x37565c){return db[_0x6c41('0x2e')][_0x6c41('0x4b')](_0x30fa66['body'])[_0x6c41('0x27')](function(_0x36e9cd){if(_0x36e9cd){if(_0x36e9cd[_0x6c41('0x4c')]===_0x6c41('0x4d')&&!_0x36e9cd['secret']){var _0x556ca9,_0x11aea8,_0x3c9a76;if(_0x30fa66[_0x6c41('0x49')]['to']){_0x11aea8=_0x30fa66['body']['to'][_0x6c41('0x4e')](',')[0x0];}return db['MailAccount'][_0x6c41('0x4f')]({'where':{'id':_0x36e9cd[_0x6c41('0x50')]},'include':[{'model':db[_0x6c41('0x51')],'as':_0x6c41('0x52'),'include':[{'model':db[_0x6c41('0x53')],'as':_0x6c41('0x54'),'where':{'email':_0x11aea8},'limit':0x1,'order':[[_0x6c41('0x55'),_0x6c41('0x56')]]}]},{'model':db[_0x6c41('0x57')],'as':_0x6c41('0x58'),'raw':!![]}]})[_0x6c41('0x27')](function(_0x26d3ac){_0x556ca9=_0x26d3ac;if(_0x556ca9&&_0x556ca9['Smtp']){var _0x555ddf={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x556ca9[_0x6c41('0x58')][_0x6c41('0x59')])){_0x555ddf['host']=_0x556ca9['Smtp'][_0x6c41('0x5a')];_0x555ddf[_0x6c41('0x5b')]=_0x556ca9[_0x6c41('0x58')]['port'];_0x555ddf['secure']=_0x556ca9[_0x6c41('0x58')]['secure'];if(_0x556ca9[_0x6c41('0x58')][_0x6c41('0x5c')]){_0x555ddf[_0x6c41('0x5d')]={'user':_0x556ca9['Smtp'][_0x6c41('0x5e')],'pass':_0x556ca9[_0x6c41('0x58')][_0x6c41('0x5f')]};}}else{_0x555ddf[_0x6c41('0x59')]=_0x556ca9[_0x6c41('0x58')][_0x6c41('0x59')];_0x555ddf['auth']={'user':_0x556ca9['Smtp'][_0x6c41('0x5e')],'pass':_0x556ca9['Smtp']['pass']};_0x555ddf['secure']=_0x556ca9['Smtp'][_0x6c41('0x60')];}if(_0x30fa66[_0x6c41('0x49')][_0x6c41('0x61')]&&_0x30fa66[_0x6c41('0x49')]['attachments'][_0x6c41('0x38')]){for(var _0x41e386=0x0;_0x41e386<_0x30fa66[_0x6c41('0x49')][_0x6c41('0x61')]['length'];_0x41e386+=0x1){_0x30fa66[_0x6c41('0x49')]['attachments'][_0x41e386]={'filename':_0x30fa66[_0x6c41('0x49')][_0x6c41('0x61')][_0x41e386][_0x6c41('0x2b')],'path':path[_0x6c41('0x62')](config['root'],_0x6c41('0x63'),_0x30fa66[_0x6c41('0x49')][_0x6c41('0x61')][_0x41e386]['basename'])};}}_0x3c9a76={'account':_0x555ddf,'message':_0x30fa66['body']};return;}})[_0x6c41('0x27')](function(){if(_0x556ca9[_0x6c41('0x52')]){if(_0x556ca9[_0x6c41('0x52')][_0x6c41('0x54')][_0x6c41('0x38')]){return _0x556ca9['List']['Contacts'][0x0];}else{return db[_0x6c41('0x53')][_0x6c41('0x4b')](_[_0x6c41('0x64')](_0x30fa66[_0x6c41('0x49')],{'firstName':_0x30fa66[_0x6c41('0x49')]['to'],'email':_0x30fa66['body']['to'],'phone':_0x30fa66[_0x6c41('0x49')]['to'],'ListId':_0x556ca9[_0x6c41('0x65')]}));}}else{throw new Error('List\x20not\x20found');}})['then'](function(){if(_0x3c9a76){return respondWithRpcPromise(_0x6c41('0x66'),_0x6c41('0x67'),_0x3c9a76,client9003)[_0x6c41('0x27')](function(_0x5a13dc){return _0x36e9cd[_0x6c41('0x26')]({'read':!![],'messageId':_0x5a13dc['messageId'],'sentAt':moment()[_0x6c41('0x68')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x6c41('0x44')](function(_0x2e2d9b){logger[_0x6c41('0x1b')]('%s',JSON[_0x6c41('0x1a')](_0x2e2d9b));return _0x36e9cd;});}return _0x36e9cd;});}return _0x36e9cd;}})[_0x6c41('0x27')](respondWithResult(_0x37565c,0xc9))[_0x6c41('0x44')](handleError(_0x37565c,null));};exports[_0x6c41('0x69')]=function(_0x3b570c,_0x1de4a2){var _0x3c9aa7={'agent':{},'channel':_0x6c41('0x6a')};if(_0x3b570c['body']['id']){delete _0x3b570c['body']['id'];}_0x3b570c[_0x6c41('0x49')][_0x6c41('0x6b')]=!![];_0x3b570c['body'][_0x6c41('0x6c')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x3b570c['body'][_0x6c41('0x6d')]=_0x3b570c['body'][_0x6c41('0x6d')]||_0x3b570c[_0x6c41('0x5e')]['id'];_0x3c9aa7[_0x6c41('0x6e')]['id']=_0x3b570c['body'][_0x6c41('0x6d')];return db[_0x6c41('0x2e')]['find']({'where':{'id':_0x3b570c[_0x6c41('0x46')]['id'],'UserId':null}})[_0x6c41('0x27')](handleEntityNotFound(_0x1de4a2,null))[_0x6c41('0x27')](saveUpdates(_0x3b570c[_0x6c41('0x49')],null))[_0x6c41('0x27')](function(_0x372173){if(_0x372173){_0x3c9aa7['message']=_0x372173[_0x6c41('0x6f')]({'plain':!![]});return db[_0x6c41('0x70')][_0x6c41('0x48')]({'where':{'id':_0x372173[_0x6c41('0x71')]}});}return null;})[_0x6c41('0x27')](handleEntityNotFound(_0x1de4a2,null))[_0x6c41('0x27')](function(_0x1ba289){if(_0x1ba289){return _0x1ba289[_0x6c41('0x26')]({'UserId':_0x3b570c['body'][_0x6c41('0x6d')],'read1stAt':_[_0x6c41('0x72')](_0x1ba289['read1stAt'])?moment()[_0x6c41('0x68')](_0x6c41('0x73')):undefined});}return null;})['then'](function(_0x735161){if(_0x735161){_0x3c9aa7['interaction']=_0x735161[_0x6c41('0x6f')]({'plain':!![]});interaction_log[_0x6c41('0x16')](_0x6c41('0x74'),_0x3b570c['user']['id'],_0x3b570c[_0x6c41('0x5e')]['name'],_0x3b570c[_0x6c41('0x5e')]['role'],_0x3c9aa7[_0x6c41('0x75')]['id'],_0x3b570c['body']?JSON[_0x6c41('0x1a')](_0x3b570c[_0x6c41('0x49')]):_0x6c41('0x76'));return respondWithRpcPromise(_0x6c41('0x77'),_0x6c41('0x78'),_0x3c9aa7);}return null;})[_0x6c41('0x27')](function(_0x2c0e30){var _0x9b4c03='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x2c0e30[_0x6c41('0x1d')][_0x6c41('0x79')];return db[_0x6c41('0x7a')][_0x6c41('0x33')](_0x9b4c03,{'type':db['Sequelize']['QueryTypes'][_0x6c41('0x7b')],'raw':!![]})[_0x6c41('0x27')](function(_0x3354be){return _0x3354be;});})[_0x6c41('0x27')](function(_0x2126b6){if(_0x2126b6){_0x3c9aa7[_0x6c41('0x1d')][_0x6c41('0x7c')]=_0x2126b6[0x0];if(!_0x3b570c['body'][_0x6c41('0x6d')])return;return db[_0x6c41('0x7d')]['find']({'where':{'id':_0x3b570c[_0x6c41('0x49')][_0x6c41('0x6d')],'role':_0x6c41('0x6e')},'attributes':['id','name',_0x6c41('0x7e'),_0x6c41('0x7f'),'internal'],'raw':!![]});}return null;})[_0x6c41('0x27')](function(_0x2d87ee){if(!_0x2d87ee)return null;_0x3c9aa7[_0x6c41('0x1d')]['agent']=_0x2d87ee;return _0x3c9aa7;})[_0x6c41('0x27')](function(_0x42de9e){if(_0x42de9e){if(_0x3b570c[_0x6c41('0x49')][_0x6c41('0x80')]){_0x3c9aa7[_0x6c41('0x1d')][_0x6c41('0x81')]=util[_0x6c41('0x68')](_0x6c41('0x82'),_0x3b570c[_0x6c41('0x5e')][_0x6c41('0x2b')]);_0x3c9aa7[_0x6c41('0x1d')]['channel']=_0x3c9aa7[_0x6c41('0x83')];_0x3c9aa7['message'][_0x6c41('0x84')]=_0x3c9aa7['channel'];_0x3c9aa7[_0x6c41('0x1d')]['event']='accept';_0x3c9aa7[_0x6c41('0x1d')]['body']=htmlToText[_0x6c41('0x85')](_0x3c9aa7['message'][_0x6c41('0x49')]);return respondWithRpcPromise(_0x6c41('0x86'),_0x6c41('0x86'),{'event':_0x6c41('0x87'),'message':_0x3c9aa7['message']},client9002)[_0x6c41('0x27')](function(){return _0x3c9aa7;});}return _0x3c9aa7;}return null;})[_0x6c41('0x27')](respondWithResult(_0x1de4a2,null))[_0x6c41('0x44')](handleError(_0x1de4a2,null));};exports[_0x6c41('0x88')]=function(_0x1652f2,_0x17acf5){var _0x689f4f={'agent':{},'channel':_0x6c41('0x6a')};if(_0x1652f2[_0x6c41('0x49')]['id']){delete _0x1652f2[_0x6c41('0x49')]['id'];}_0x1652f2['body'][_0x6c41('0x6d')]=_0x1652f2[_0x6c41('0x49')]['UserId']||_0x1652f2['user']['id'];_0x689f4f[_0x6c41('0x6e')]['id']=_0x1652f2[_0x6c41('0x49')]['UserId'];return db[_0x6c41('0x2e')][_0x6c41('0x48')]({'where':{'id':_0x1652f2[_0x6c41('0x46')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x17acf5,null))[_0x6c41('0x27')](function(_0xba18c7){if(_0xba18c7){_0x689f4f[_0x6c41('0x1d')]=_0xba18c7[_0x6c41('0x6f')]({'plain':!![]});return db[_0x6c41('0x70')]['find']({'where':{'id':_0xba18c7[_0x6c41('0x71')]}});}return null;})[_0x6c41('0x27')](handleEntityNotFound(_0x17acf5,null))[_0x6c41('0x27')](function(_0x51f2f3){if(_0x51f2f3){_0x689f4f[_0x6c41('0x75')]=_0x51f2f3[_0x6c41('0x6f')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x1652f2[_0x6c41('0x5e')]['id'],_0x1652f2[_0x6c41('0x5e')][_0x6c41('0x2b')],_0x1652f2[_0x6c41('0x5e')]['role'],_0x689f4f[_0x6c41('0x75')]['id'],_0x1652f2[_0x6c41('0x49')]?JSON[_0x6c41('0x1a')](_0x1652f2[_0x6c41('0x49')]):'null');return respondWithRpcPromise(_0x6c41('0x89'),'rejectMessage',_0x689f4f);}return null;})['then'](function(_0x1bf5f6){var _0x2c330b=_0x6c41('0x8a')+_0x1bf5f6[_0x6c41('0x1d')][_0x6c41('0x79')];return db['sequelize'][_0x6c41('0x33')](_0x2c330b,{'type':db[_0x6c41('0x8b')][_0x6c41('0x8c')][_0x6c41('0x7b')],'raw':!![]})[_0x6c41('0x27')](function(_0x31a924){return _0x31a924;});})[_0x6c41('0x27')](function(_0x9ea9b){if(_0x9ea9b){_0x689f4f['message'][_0x6c41('0x7c')]=_0x9ea9b[0x0];if(!_0x1652f2['body'][_0x6c41('0x6d')])return;return db['User'][_0x6c41('0x48')]({'where':{'id':_0x1652f2[_0x6c41('0x49')][_0x6c41('0x6d')],'role':_0x6c41('0x6e')},'attributes':['id',_0x6c41('0x2b'),_0x6c41('0x7e'),_0x6c41('0x7f'),_0x6c41('0x8d')],'raw':!![]});}return null;})['then'](function(_0xd958f){if(!_0xd958f)return null;_0x689f4f[_0x6c41('0x1d')][_0x6c41('0x6e')]=_0xd958f;return _0x689f4f;})[_0x6c41('0x27')](function(_0x2189f1){if(_0x2189f1){_0x2189f1['message'][_0x6c41('0x81')]=util[_0x6c41('0x68')]('SIP/%s',_0x1652f2[_0x6c41('0x5e')][_0x6c41('0x2b')]);_0x2189f1[_0x6c41('0x1d')]['channel']=_0x689f4f[_0x6c41('0x83')];_0x2189f1[_0x6c41('0x1d')][_0x6c41('0x84')]=_0x689f4f['channel'];_0x2189f1[_0x6c41('0x1d')]['event']=_0x6c41('0x88');_0x2189f1[_0x6c41('0x1d')][_0x6c41('0x49')]=htmlToText[_0x6c41('0x85')](_0x689f4f['message'][_0x6c41('0x49')]);respondWithRpcPromise(_0x6c41('0x86'),_0x6c41('0x86'),{'event':_0x6c41('0x8e'),'message':_0x2189f1[_0x6c41('0x1d')]},client9002);return _0x689f4f;}return null;})[_0x6c41('0x27')](respondWithResult(_0x17acf5,null))[_0x6c41('0x44')](handleError(_0x17acf5,null));};exports[_0x6c41('0x8f')]=function(_0x16a9bc,_0x5eceec){var _0x42e18a=moment()['unix']()[_0x6c41('0x90')]();var _0x3dda24=path[_0x6c41('0x62')](config[_0x6c41('0x91')],_0x6c41('0x92'),_0x6c41('0x93'),_0x6c41('0x94'));var _0x53387a=path[_0x6c41('0x62')](config[_0x6c41('0x91')],_0x6c41('0x92'),'files','attachments');var _0x5d9e85=util[_0x6c41('0x68')](_0x6c41('0x95'),_0x42e18a);return db[_0x6c41('0x2e')][_0x6c41('0x48')]({'where':{'id':_0x16a9bc[_0x6c41('0x46')]['id']},'attributes':['id',_0x6c41('0x49'),'from','to','cc',_0x6c41('0x96'),_0x6c41('0x97'),_0x6c41('0x98')],'include':_0x16a9bc[_0x6c41('0x33')]['attachments']?[{'model':db[_0x6c41('0x99')],'as':'Attachments'}]:undefined})[_0x6c41('0x27')](handleEntityNotFound(_0x5eceec,null))[_0x6c41('0x27')](function(_0x206166){if(_0x206166){var _0x4d827c=_0x206166;var _0x1a931b={'from':_0x4d827c[_0x6c41('0x9a')],'to':_0x4d827c['to'],'subject':_0x4d827c[_0x6c41('0x97')],'html':htmlEntities['decode'](_0x4d827c[_0x6c41('0x49')]),'headers':{'Date':moment(_0x4d827c['createdAt'])['format'](_0x6c41('0x9b'))},'attachments':[]};if(_0x206166['cc']){_0x1a931b[_0x6c41('0x9c')]['Cc']=_0x206166['cc'];}if(_0x206166[_0x6c41('0x96')]){_0x1a931b[_0x6c41('0x9c')][_0x6c41('0x9d')]=_0x206166[_0x6c41('0x96')];}return new BPromise(function(_0x50a11a,_0x195d53){if(_0x206166[_0x6c41('0x9e')]){for(var _0x3ae62c=0x0;_0x3ae62c<_0x206166['Attachments'][_0x6c41('0x38')];_0x3ae62c++){var _0x4cd5fd=_0x206166[_0x6c41('0x9e')][_0x3ae62c];var _0x52b317=path['join'](_0x53387a,_0x4cd5fd[_0x6c41('0x9f')]);if(fs['existsSync'](_0x52b317)){_0x1a931b[_0x6c41('0x61')][_0x6c41('0xa0')]({'name':_0x4cd5fd[_0x6c41('0x2b')],'contentType':_0x4cd5fd[_0x6c41('0x30')],'data':fs['readFileSync'](_0x52b317)});}}}emlformat[_0x6c41('0xa1')](_0x1a931b,function(_0x343f6f,_0x40f6fe){if(_0x343f6f)return _0x195d53(_0x343f6f);fs['writeFileSync'](path[_0x6c41('0x62')](_0x3dda24,_0x5d9e85),_0x40f6fe);return _0x50a11a(_0x40f6fe);});});}})[_0x6c41('0x27')](function(_0x24da72){if(_0x24da72){return _0x5eceec['download'](path[_0x6c41('0x62')](_0x3dda24,_0x5d9e85),_0x5d9e85,function(_0x366a04){if(!_0x366a04)fs['unlinkSync'](path[_0x6c41('0x62')](_0x3dda24,_0x5d9e85));});}})[_0x6c41('0x44')](handleError(_0x5eceec,null));};