Built motion from commit 0c5f406c.|2.6.29
[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 _0x4185=['pick','filter','merge','VIRTUAL','options','includeAll','include','MailMessage','findAll','catch','params','keys','intersection','find','body','describe','create','out','secret','split','MailAccount','findOne','MailAccountId','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp','attachments','root','server/files/attachments','basename','CmContact','ListId','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','readAt','UserId','get','MailInteractionId','isNil','read1stAt','interaction','user','role','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','QueryTypes','SELECT','contact','User','agent','fullname','internal','interface','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','Sequelize','email','reject','rejectmessage','download','unix','toString','join','server','files','tmp','message-%s.eml','from','subject','Attachment','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Attachments','existsSync','push','readFileSync','unlinkSync','eml-format','moment','bluebird','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','html-entities','./mailMessage.socket','register','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','status','undefined','limit','count','offset','json','update','destroy','end','sendStatus','name','index','map','rawAttributes','fieldName','type','model','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where'];(function(_0x1ac595,_0x5d2081){var _0x455fff=function(_0x3043ee){while(--_0x3043ee){_0x1ac595['push'](_0x1ac595['shift']());}};_0x455fff(++_0x5d2081);}(_0x4185,0xf8));var _0x5418=function(_0x4fa337,_0x2c4e4b){_0x4fa337=_0x4fa337-0x0;var _0x58987a=_0x4185[_0x4fa337];return _0x58987a;};'use strict';var emlformat=require(_0x5418('0x0'));var moment=require(_0x5418('0x1'));var BPromise=require(_0x5418('0x2'));var util=require('util');var path=require('path');var fs=require('fs');var _=require('lodash');var Redis=require('ioredis');var htmlToText=require('html-to-text');var qs=require(_0x5418('0x3'));var logger=require(_0x5418('0x4'))(_0x5418('0x5'));var interaction_log=require(_0x5418('0x4'))('mail-interactions');var config=require(_0x5418('0x6'));var db=require(_0x5418('0x7'))['db'];config['redis']=_[_0x5418('0x8')](config[_0x5418('0x9')],{'host':_0x5418('0xa'),'port':0x18eb});var socket=require(_0x5418('0xb'))(new Redis(config[_0x5418('0x9')]));var htmlEntities=require(_0x5418('0xc'));require(_0x5418('0xd'))[_0x5418('0xe')](socket);var jayson=require(_0x5418('0xf'));var client=jayson[_0x5418('0x10')][_0x5418('0x11')]({'port':0x232c});var client9003=jayson[_0x5418('0x10')][_0x5418('0x11')]({'port':0x232b});var client9002=jayson['client'][_0x5418('0x11')]({'port':0x232a});function respondWithRpcPromise(_0xa1a273,_0x58dd84,_0x4a4cdd,_0x503c2f){return new BPromise(function(_0x1074b3,_0x19be49){var _0x1809a3=_0x503c2f||client;return _0x1809a3[_0x5418('0x12')](_0xa1a273,_0x4a4cdd)[_0x5418('0x13')](function(_0x4fd166){logger[_0x5418('0x14')](_0x5418('0x15'),_0x58dd84,_0x5418('0x16'));logger['debug']('MailMessage,\x20%s,\x20%s,\x20%s',_0x58dd84,_0x5418('0x16'),JSON[_0x5418('0x17')](_0x4fd166));if(_0x4fd166[_0x5418('0x18')]){if(_0x4fd166['error'][_0x5418('0x19')]===0x1f4){logger[_0x5418('0x18')]('MailMessage,\x20%s,\x20%s',_0x58dd84,_0x4fd166[_0x5418('0x18')][_0x5418('0x1a')]);return _0x19be49(_0x4fd166['error']['message']);}logger[_0x5418('0x18')]('MailMessage,\x20%s,\x20%s',_0x58dd84,_0x4fd166[_0x5418('0x18')][_0x5418('0x1a')]);return _0x1074b3(_0x4fd166[_0x5418('0x18')][_0x5418('0x1a')]);}else{logger[_0x5418('0x14')]('MailMessage,\x20%s,\x20%s',_0x58dd84,_0x5418('0x16'));_0x1074b3(_0x4fd166[_0x5418('0x1b')][_0x5418('0x1a')]);}})['catch'](function(_0x31fb95){logger[_0x5418('0x18')](_0x5418('0x15'),_0x58dd84,_0x31fb95);_0x19be49(_0x31fb95);});});}function respondWithResult(_0x144e68,_0x518251){_0x518251=_0x518251||0xc8;return function(_0x4d2ca9){if(_0x4d2ca9){return _0x144e68[_0x5418('0x1c')](_0x518251)['json'](_0x4d2ca9);}};}function respondWithFilteredResult(_0x195a11,_0x5c2955){return function(_0x626a3f){if(_0x626a3f){var _0xb97976=typeof _0x5c2955['offset']===_0x5418('0x1d')&&typeof _0x5c2955[_0x5418('0x1e')]===_0x5418('0x1d');var _0x3fe16d=_0x626a3f[_0x5418('0x1f')];var _0x88d75b=_0xb97976?0x0:_0x5c2955[_0x5418('0x20')];var _0xd0c7c8=_0xb97976?_0x626a3f[_0x5418('0x1f')]:_0x5c2955['offset']+_0x5c2955[_0x5418('0x1e')];var _0x489fca;if(_0xd0c7c8>=_0x3fe16d){_0xd0c7c8=_0x3fe16d;_0x489fca=0xc8;}else{_0x489fca=0xce;}_0x195a11[_0x5418('0x1c')](_0x489fca);return _0x195a11['set']('Content-Range',_0x88d75b+'-'+_0xd0c7c8+'/'+_0x3fe16d)[_0x5418('0x21')](_0x626a3f);}return null;};}function saveUpdates(_0x41bdfb){return function(_0x312c66){if(_0x312c66){return _0x312c66[_0x5418('0x22')](_0x41bdfb)[_0x5418('0x13')](function(_0xeea04a){return _0xeea04a;});}return null;};}function removeEntity(_0x5d3acd){return function(_0x38e4de){if(_0x38e4de){return _0x38e4de[_0x5418('0x23')]()[_0x5418('0x13')](function(){_0x5d3acd[_0x5418('0x1c')](0xcc)[_0x5418('0x24')]();});}};}function handleEntityNotFound(_0x58593c){return function(_0x569af2){if(!_0x569af2){_0x58593c[_0x5418('0x25')](0x194);}return _0x569af2;};}function handleError(_0x427012,_0x19f559){_0x19f559=_0x19f559||0x1f4;return function(_0x5607a4){logger[_0x5418('0x18')](_0x5607a4['stack']);if(_0x5607a4[_0x5418('0x26')]){delete _0x5607a4[_0x5418('0x26')];}_0x427012[_0x5418('0x1c')](_0x19f559)['send'](_0x5607a4);};}exports[_0x5418('0x27')]=function(_0x1781d6,_0x43826d){var _0x14b03b={},_0x221782={},_0x2db7a8={'count':0x0,'rows':[]};var _0xb692cf=_[_0x5418('0x28')](db['MailMessage'][_0x5418('0x29')],function(_0x5c7d02){return{'name':_0x5c7d02[_0x5418('0x2a')],'type':_0x5c7d02[_0x5418('0x2b')]['key']};});_0x221782[_0x5418('0x2c')]=_[_0x5418('0x28')](_0xb692cf,_0x5418('0x26'));_0x221782['query']=_['keys'](_0x1781d6[_0x5418('0x2d')]);_0x221782[_0x5418('0x2e')]=_['intersection'](_0x221782[_0x5418('0x2c')],_0x221782[_0x5418('0x2d')]);_0x14b03b[_0x5418('0x2f')]=_['intersection'](_0x221782['model'],qs[_0x5418('0x30')](_0x1781d6[_0x5418('0x2d')][_0x5418('0x30')]));_0x14b03b[_0x5418('0x2f')]=_0x14b03b[_0x5418('0x2f')][_0x5418('0x31')]?_0x14b03b[_0x5418('0x2f')]:_0x221782['model'];if(!_0x1781d6[_0x5418('0x2d')][_0x5418('0x32')](_0x5418('0x33'))){_0x14b03b[_0x5418('0x1e')]=qs[_0x5418('0x1e')](_0x1781d6[_0x5418('0x2d')]['limit']);_0x14b03b[_0x5418('0x20')]=qs[_0x5418('0x20')](_0x1781d6[_0x5418('0x2d')][_0x5418('0x20')]);}_0x14b03b['order']=qs['sort'](_0x1781d6[_0x5418('0x2d')][_0x5418('0x34')]);_0x14b03b[_0x5418('0x35')]=qs[_0x5418('0x2e')](_[_0x5418('0x36')](_0x1781d6[_0x5418('0x2d')],_0x221782[_0x5418('0x2e')]),_0xb692cf);if(_0x1781d6[_0x5418('0x2d')][_0x5418('0x37')]){_0x14b03b[_0x5418('0x35')]=_[_0x5418('0x38')](_0x14b03b[_0x5418('0x35')],{'$or':_[_0x5418('0x28')](_0xb692cf,function(_0x2c2d7c){if(_0x2c2d7c[_0x5418('0x2b')]!==_0x5418('0x39')){var _0x188403={};_0x188403[_0x2c2d7c[_0x5418('0x26')]]={'$like':'%'+_0x1781d6[_0x5418('0x2d')][_0x5418('0x37')]+'%'};return _0x188403;}})});}_0x14b03b=_['merge']({},_0x14b03b,_0x1781d6[_0x5418('0x3a')]);var _0x163483={'where':_0x14b03b['where']};return db['MailMessage'][_0x5418('0x1f')](_0x163483)[_0x5418('0x13')](function(_0x2e004e){_0x2db7a8['count']=_0x2e004e;if(_0x1781d6[_0x5418('0x2d')][_0x5418('0x3b')]){_0x14b03b[_0x5418('0x3c')]=[{'all':!![]}];}return db[_0x5418('0x3d')][_0x5418('0x3e')](_0x14b03b);})[_0x5418('0x13')](function(_0x37f852){_0x2db7a8['rows']=_0x37f852;return _0x2db7a8;})[_0x5418('0x13')](respondWithFilteredResult(_0x43826d,_0x14b03b))[_0x5418('0x3f')](handleError(_0x43826d,null));};exports['show']=function(_0x3ade20,_0x58e46f){var _0xdf99ad={'raw':!![],'where':{'id':_0x3ade20[_0x5418('0x40')]['id']}},_0x34c0ee={};_0x34c0ee[_0x5418('0x2c')]=_[_0x5418('0x41')](db['MailMessage']['rawAttributes']);_0x34c0ee[_0x5418('0x2d')]=_[_0x5418('0x41')](_0x3ade20[_0x5418('0x2d')]);_0x34c0ee[_0x5418('0x2e')]=_[_0x5418('0x42')](_0x34c0ee[_0x5418('0x2c')],_0x34c0ee[_0x5418('0x2d')]);_0xdf99ad[_0x5418('0x2f')]=_[_0x5418('0x42')](_0x34c0ee[_0x5418('0x2c')],qs[_0x5418('0x30')](_0x3ade20[_0x5418('0x2d')][_0x5418('0x30')]));_0xdf99ad[_0x5418('0x2f')]=_0xdf99ad[_0x5418('0x2f')][_0x5418('0x31')]?_0xdf99ad[_0x5418('0x2f')]:_0x34c0ee[_0x5418('0x2c')];if(_0x3ade20[_0x5418('0x2d')]['includeAll']){_0xdf99ad[_0x5418('0x3c')]=[{'all':!![]}];}_0xdf99ad=_[_0x5418('0x38')]({},_0xdf99ad,_0x3ade20['options']);return db[_0x5418('0x3d')][_0x5418('0x43')](_0xdf99ad)[_0x5418('0x13')](handleEntityNotFound(_0x58e46f,null))[_0x5418('0x13')](respondWithResult(_0x58e46f,null))[_0x5418('0x3f')](handleError(_0x58e46f,null));};exports[_0x5418('0x22')]=function(_0x337d1b,_0x1b4dbc){if(_0x337d1b[_0x5418('0x44')]['id']){delete _0x337d1b['body']['id'];}return db[_0x5418('0x3d')][_0x5418('0x43')]({'where':{'id':_0x337d1b[_0x5418('0x40')]['id']}})[_0x5418('0x13')](handleEntityNotFound(_0x1b4dbc,null))[_0x5418('0x13')](saveUpdates(_0x337d1b[_0x5418('0x44')],null))['then'](respondWithResult(_0x1b4dbc,null))[_0x5418('0x3f')](handleError(_0x1b4dbc,null));};exports[_0x5418('0x23')]=function(_0x5c77e1,_0x48f5bb){return db[_0x5418('0x3d')][_0x5418('0x43')]({'where':{'id':_0x5c77e1['params']['id']}})[_0x5418('0x13')](handleEntityNotFound(_0x48f5bb,null))[_0x5418('0x13')](removeEntity(_0x48f5bb,null))['catch'](handleError(_0x48f5bb,null));};exports[_0x5418('0x45')]=function(_0x3ef3fd,_0x47c70a){return db[_0x5418('0x3d')][_0x5418('0x45')]()[_0x5418('0x13')](respondWithResult(_0x47c70a,null))['catch'](handleError(_0x47c70a,null));};exports['create']=function(_0x5e42e1,_0x25b223){return db[_0x5418('0x3d')][_0x5418('0x46')](_0x5e42e1[_0x5418('0x44')])[_0x5418('0x13')](function(_0x3f8121){if(_0x3f8121){if(_0x3f8121['direction']===_0x5418('0x47')&&!_0x3f8121[_0x5418('0x48')]){var _0x434d04,_0x5dbc47,_0x6137e7;if(_0x5e42e1[_0x5418('0x44')]['to']){_0x5dbc47=_0x5e42e1[_0x5418('0x44')]['to'][_0x5418('0x49')](',')[0x0];}return db[_0x5418('0x4a')][_0x5418('0x4b')]({'where':{'id':_0x3f8121[_0x5418('0x4c')]},'include':[{'model':db[_0x5418('0x4d')],'as':_0x5418('0x4e'),'include':[{'model':db['CmContact'],'as':_0x5418('0x4f'),'where':{'email':_0x5dbc47},'limit':0x1,'order':[[_0x5418('0x50'),_0x5418('0x51')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x5418('0x52')],'as':'CloudProvider','raw':!![]}]}]})[_0x5418('0x13')](function(_0xd53fbd){_0x434d04=_0xd53fbd;if(!_0x434d04||!_0x434d04[_0x5418('0x53')])return;var _0x4af6d6=_0x434d04['getSmtpOptions']();if(_0x5e42e1[_0x5418('0x44')]['attachments']&&_0x5e42e1['body'][_0x5418('0x54')][_0x5418('0x31')]){for(var _0x307ec7=0x0;_0x307ec7<_0x5e42e1[_0x5418('0x44')]['attachments'][_0x5418('0x31')];_0x307ec7+=0x1){_0x5e42e1[_0x5418('0x44')][_0x5418('0x54')][_0x307ec7]={'filename':_0x5e42e1[_0x5418('0x44')][_0x5418('0x54')][_0x307ec7]['name'],'path':path['join'](config[_0x5418('0x55')],_0x5418('0x56'),_0x5e42e1[_0x5418('0x44')][_0x5418('0x54')][_0x307ec7][_0x5418('0x57')])};}}_0x6137e7={'account':_0x4af6d6,'message':_0x5e42e1['body']};return;})[_0x5418('0x13')](function(){if(_0x434d04[_0x5418('0x4e')]){if(_0x434d04[_0x5418('0x4e')]['Contacts']['length']){return _0x434d04[_0x5418('0x4e')][_0x5418('0x4f')][0x0];}else{return db[_0x5418('0x58')]['create'](_[_0x5418('0x8')](_0x5e42e1[_0x5418('0x44')],{'firstName':_0x5e42e1['body']['to'],'email':_0x5e42e1['body']['to'],'phone':_0x5e42e1[_0x5418('0x44')]['to'],'ListId':_0x434d04[_0x5418('0x59')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x5418('0x13')](function(){if(_0x6137e7){return respondWithRpcPromise('SendMail',_0x5418('0x5a'),_0x6137e7,client9003)[_0x5418('0x13')](function(_0x28a83b){return _0x3f8121[_0x5418('0x22')]({'read':!![],'messageId':_0x28a83b[_0x5418('0x5b')],'sentAt':moment()[_0x5418('0x5c')](_0x5418('0x5d'))});})['catch'](function(_0x1c149a){logger[_0x5418('0x18')]('%s',JSON['stringify'](_0x1c149a));return _0x3f8121;});}return _0x3f8121;});}return _0x3f8121;}})[_0x5418('0x13')](respondWithResult(_0x25b223,0xc9))[_0x5418('0x3f')](handleError(_0x25b223,null));};exports[_0x5418('0x5e')]=function(_0x2e8fc9,_0x4d74c0){var _0x463f11={'agent':{},'channel':_0x5418('0x5f')};if(_0x2e8fc9[_0x5418('0x44')]['id']){delete _0x2e8fc9[_0x5418('0x44')]['id'];}_0x2e8fc9['body']['read']=!![];_0x2e8fc9[_0x5418('0x44')][_0x5418('0x60')]=moment()[_0x5418('0x5c')](_0x5418('0x5d'));_0x2e8fc9[_0x5418('0x44')]['UserId']=_0x2e8fc9[_0x5418('0x44')][_0x5418('0x61')]||_0x2e8fc9['user']['id'];_0x463f11['agent']['id']=_0x2e8fc9['body']['UserId'];return db['MailMessage'][_0x5418('0x43')]({'where':{'id':_0x2e8fc9['params']['id'],'UserId':null}})[_0x5418('0x13')](handleEntityNotFound(_0x4d74c0,null))[_0x5418('0x13')](saveUpdates(_0x2e8fc9['body'],null))[_0x5418('0x13')](function(_0x14756c){if(_0x14756c){_0x463f11[_0x5418('0x1a')]=_0x14756c[_0x5418('0x62')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x14756c[_0x5418('0x63')]}});}return null;})[_0x5418('0x13')](handleEntityNotFound(_0x4d74c0,null))[_0x5418('0x13')](function(_0x331727){if(_0x331727){return _0x331727[_0x5418('0x22')]({'UserId':_0x2e8fc9[_0x5418('0x44')][_0x5418('0x61')],'read1stAt':_[_0x5418('0x64')](_0x331727[_0x5418('0x65')])?moment()[_0x5418('0x5c')](_0x5418('0x5d')):undefined});}return null;})[_0x5418('0x13')](function(_0x1a50c8){if(_0x1a50c8){_0x463f11[_0x5418('0x66')]=_0x1a50c8['get']({'plain':!![]});interaction_log[_0x5418('0x14')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2e8fc9[_0x5418('0x67')]['id'],_0x2e8fc9['user'][_0x5418('0x26')],_0x2e8fc9['user'][_0x5418('0x68')],_0x463f11[_0x5418('0x66')]['id'],_0x2e8fc9['body']?JSON[_0x5418('0x17')](_0x2e8fc9[_0x5418('0x44')]):_0x5418('0x69'));return respondWithRpcPromise(_0x5418('0x6a'),_0x5418('0x6b'),_0x463f11);}return null;})[_0x5418('0x13')](function(_0x4e2d08){var _0x714aa4=_0x5418('0x6c')+_0x4e2d08[_0x5418('0x1a')][_0x5418('0x6d')];return db[_0x5418('0x6e')][_0x5418('0x2d')](_0x714aa4,{'type':db['Sequelize'][_0x5418('0x6f')][_0x5418('0x70')],'raw':!![]})[_0x5418('0x13')](function(_0xaaca82){return _0xaaca82;});})[_0x5418('0x13')](function(_0x369fa9){if(_0x369fa9){_0x463f11[_0x5418('0x1a')][_0x5418('0x71')]=_0x369fa9[0x0];if(!_0x2e8fc9[_0x5418('0x44')]['UserId'])return;return db[_0x5418('0x72')][_0x5418('0x43')]({'where':{'id':_0x2e8fc9[_0x5418('0x44')][_0x5418('0x61')],'role':_0x5418('0x73')},'attributes':['id','name',_0x5418('0x74'),'email',_0x5418('0x75')],'raw':!![]});}return null;})[_0x5418('0x13')](function(_0xbede07){if(!_0xbede07)return null;_0x463f11[_0x5418('0x1a')][_0x5418('0x73')]=_0xbede07;return _0x463f11;})[_0x5418('0x13')](function(_0x560ccf){if(_0x560ccf){if(_0x2e8fc9[_0x5418('0x44')]['manual']){_0x463f11[_0x5418('0x1a')][_0x5418('0x76')]=util[_0x5418('0x5c')](_0x5418('0x77'),_0x2e8fc9[_0x5418('0x67')][_0x5418('0x26')]);_0x463f11[_0x5418('0x1a')][_0x5418('0x78')]=_0x463f11['channel'];_0x463f11[_0x5418('0x1a')][_0x5418('0x79')]=_0x463f11[_0x5418('0x78')];_0x463f11[_0x5418('0x1a')][_0x5418('0x7a')]=_0x5418('0x5e');_0x463f11[_0x5418('0x1a')]['body']=htmlToText[_0x5418('0x7b')](_0x463f11[_0x5418('0x1a')]['body']);return respondWithRpcPromise(_0x5418('0x7c'),_0x5418('0x7c'),{'event':_0x5418('0x7d'),'message':_0x463f11[_0x5418('0x1a')]},client9002)['then'](function(){return _0x463f11;});}return _0x463f11;}return null;})[_0x5418('0x13')](respondWithResult(_0x4d74c0,null))['catch'](handleError(_0x4d74c0,null));};exports['reject']=function(_0x330f4,_0x411afb){var _0x47766b={'agent':{},'channel':_0x5418('0x5f')};if(_0x330f4[_0x5418('0x44')]['id']){delete _0x330f4[_0x5418('0x44')]['id'];}_0x330f4[_0x5418('0x44')]['UserId']=_0x330f4['body']['UserId']||_0x330f4[_0x5418('0x67')]['id'];_0x47766b['agent']['id']=_0x330f4[_0x5418('0x44')][_0x5418('0x61')];return db[_0x5418('0x3d')][_0x5418('0x43')]({'where':{'id':_0x330f4[_0x5418('0x40')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x411afb,null))[_0x5418('0x13')](function(_0x36ef4d){if(_0x36ef4d){_0x47766b[_0x5418('0x1a')]=_0x36ef4d['get']({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x36ef4d[_0x5418('0x63')]}});}return null;})[_0x5418('0x13')](handleEntityNotFound(_0x411afb,null))[_0x5418('0x13')](function(_0x1da9e9){if(_0x1da9e9){_0x47766b[_0x5418('0x66')]=_0x1da9e9[_0x5418('0x62')]({'plain':!![]});interaction_log[_0x5418('0x14')](_0x5418('0x7e'),_0x330f4[_0x5418('0x67')]['id'],_0x330f4[_0x5418('0x67')][_0x5418('0x26')],_0x330f4['user'][_0x5418('0x68')],_0x47766b[_0x5418('0x66')]['id'],_0x330f4[_0x5418('0x44')]?JSON[_0x5418('0x17')](_0x330f4[_0x5418('0x44')]):_0x5418('0x69'));return respondWithRpcPromise('RejectMessage',_0x5418('0x7f'),_0x47766b);}return null;})[_0x5418('0x13')](function(_0x3bc632){var _0x4b755c=_0x5418('0x6c')+_0x3bc632[_0x5418('0x1a')][_0x5418('0x6d')];return db['sequelize']['query'](_0x4b755c,{'type':db[_0x5418('0x80')][_0x5418('0x6f')][_0x5418('0x70')],'raw':!![]})['then'](function(_0x4c1c4a){return _0x4c1c4a;});})[_0x5418('0x13')](function(_0x702410){if(_0x702410){_0x47766b[_0x5418('0x1a')][_0x5418('0x71')]=_0x702410[0x0];if(!_0x330f4[_0x5418('0x44')]['UserId'])return;return db[_0x5418('0x72')][_0x5418('0x43')]({'where':{'id':_0x330f4[_0x5418('0x44')]['UserId'],'role':_0x5418('0x73')},'attributes':['id',_0x5418('0x26'),_0x5418('0x74'),_0x5418('0x81'),_0x5418('0x75')],'raw':!![]});}return null;})[_0x5418('0x13')](function(_0x4b2baf){if(!_0x4b2baf)return null;_0x47766b['message'][_0x5418('0x73')]=_0x4b2baf;return _0x47766b;})[_0x5418('0x13')](function(_0x31e7b2){if(_0x31e7b2){_0x31e7b2['message'][_0x5418('0x76')]=util['format']('SIP/%s',_0x330f4[_0x5418('0x67')][_0x5418('0x26')]);_0x31e7b2['message'][_0x5418('0x78')]=_0x47766b[_0x5418('0x78')];_0x31e7b2[_0x5418('0x1a')][_0x5418('0x79')]=_0x47766b[_0x5418('0x78')];_0x31e7b2[_0x5418('0x1a')]['event']=_0x5418('0x82');_0x31e7b2[_0x5418('0x1a')][_0x5418('0x44')]=htmlToText['fromString'](_0x47766b[_0x5418('0x1a')]['body']);respondWithRpcPromise('EventManager',_0x5418('0x7c'),{'event':_0x5418('0x83'),'message':_0x31e7b2[_0x5418('0x1a')]},client9002);return _0x47766b;}return null;})['then'](respondWithResult(_0x411afb,null))['catch'](handleError(_0x411afb,null));};exports[_0x5418('0x84')]=function(_0x172127,_0x1f5658){var _0x4280fb=moment()[_0x5418('0x85')]()[_0x5418('0x86')]();var _0x242a95=path[_0x5418('0x87')](config['root'],_0x5418('0x88'),_0x5418('0x89'),_0x5418('0x8a'));var _0x24ad0d=path[_0x5418('0x87')](config[_0x5418('0x55')],_0x5418('0x88'),_0x5418('0x89'),'attachments');var _0x51508f=util[_0x5418('0x5c')](_0x5418('0x8b'),_0x4280fb);return db[_0x5418('0x3d')][_0x5418('0x43')]({'where':{'id':_0x172127[_0x5418('0x40')]['id']},'attributes':['id',_0x5418('0x44'),_0x5418('0x8c'),'to','cc','bcc',_0x5418('0x8d'),'createdAt'],'include':_0x172127[_0x5418('0x2d')][_0x5418('0x54')]?[{'model':db[_0x5418('0x8e')],'as':'Attachments'}]:undefined})[_0x5418('0x13')](handleEntityNotFound(_0x1f5658,null))[_0x5418('0x13')](function(_0x2b465e){if(_0x2b465e){var _0x1935e0=_0x2b465e;var _0x522636={'from':_0x1935e0[_0x5418('0x8c')],'to':_0x1935e0['to'],'subject':_0x1935e0[_0x5418('0x8d')],'html':htmlEntities['decode'](_0x1935e0[_0x5418('0x44')]),'headers':{'Date':moment(_0x1935e0['createdAt'])[_0x5418('0x5c')](_0x5418('0x8f'))},'attachments':[]};if(_0x2b465e['cc']){_0x522636[_0x5418('0x90')]['Cc']=_0x2b465e['cc'];}if(_0x2b465e[_0x5418('0x91')]){_0x522636[_0x5418('0x90')]['Bcc']=_0x2b465e[_0x5418('0x91')];}return new BPromise(function(_0x5a2293,_0x53d418){if(_0x2b465e[_0x5418('0x92')]){for(var _0x29e2ca=0x0;_0x29e2ca<_0x2b465e[_0x5418('0x92')][_0x5418('0x31')];_0x29e2ca++){var _0x29d8d1=_0x2b465e[_0x5418('0x92')][_0x29e2ca];var _0x2fb1e6=path[_0x5418('0x87')](_0x24ad0d,_0x29d8d1[_0x5418('0x57')]);if(fs[_0x5418('0x93')](_0x2fb1e6)){_0x522636[_0x5418('0x54')][_0x5418('0x94')]({'name':_0x29d8d1[_0x5418('0x26')],'contentType':_0x29d8d1['type'],'data':fs[_0x5418('0x95')](_0x2fb1e6)});}}}emlformat['build'](_0x522636,function(_0x496b24,_0x28579a){if(_0x496b24)return _0x53d418(_0x496b24);fs['writeFileSync'](path[_0x5418('0x87')](_0x242a95,_0x51508f),_0x28579a);return _0x5a2293(_0x28579a);});});}})[_0x5418('0x13')](function(_0x3c9d55){if(_0x3c9d55){return _0x1f5658[_0x5418('0x84')](path['join'](_0x242a95,_0x51508f),_0x51508f,function(_0x20dbb9){if(!_0x20dbb9)fs[_0x5418('0x96')](path[_0x5418('0x87')](_0x242a95,_0x51508f));});}})['catch'](handleError(_0x1f5658,null));};