Built motion from commit 616d3211.|2.6.4
[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 _0xcf04=['send','map','MailMessage','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','type','VIRTUAL','options','rows','show','params','includeAll','find','body','create','direction','secret','split','List','CmContact','Contacts','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','root','server/files/attachments','basename','ListId','List\x20not\x20found','SendMail','update','messageId','format','accept','mail','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','SELECT','contact','fullname','email','internal','manual','interface','channel','motionChannel','event','fromString','EventManager','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','Sequelize','QueryTypes','User','SIP/%s','reject','download','unix','join','server','tmp','files','message-%s.eml','bcc','subject','createdAt','Attachment','Attachments','from','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','push','readFileSync','build','eml-format','moment','util','path','lodash','ioredis','html-to-text','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','register','jayson/promise','http','client','request','then','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','status','json','offset','undefined','count','limit','destroy','end','name'];(function(_0x564144,_0x4273ed){var _0x5a7ab4=function(_0x25a286){while(--_0x25a286){_0x564144['push'](_0x564144['shift']());}};_0x5a7ab4(++_0x4273ed);}(_0xcf04,0x104));var _0x4cf0=function(_0x35d8fe,_0x135dc0){_0x35d8fe=_0x35d8fe-0x0;var _0x258551=_0xcf04[_0x35d8fe];return _0x258551;};'use strict';var emlformat=require(_0x4cf0('0x0'));var moment=require(_0x4cf0('0x1'));var BPromise=require('bluebird');var util=require(_0x4cf0('0x2'));var path=require(_0x4cf0('0x3'));var fs=require('fs');var _=require(_0x4cf0('0x4'));var Redis=require(_0x4cf0('0x5'));var htmlToText=require(_0x4cf0('0x6'));var qs=require('../../components/parsers/qs');var logger=require(_0x4cf0('0x7'))(_0x4cf0('0x8'));var interaction_log=require(_0x4cf0('0x7'))(_0x4cf0('0x9'));var config=require(_0x4cf0('0xa'));var db=require(_0x4cf0('0xb'))['db'];config[_0x4cf0('0xc')]=_[_0x4cf0('0xd')](config[_0x4cf0('0xc')],{'host':_0x4cf0('0xe'),'port':0x18eb});var socket=require(_0x4cf0('0xf'))(new Redis(config[_0x4cf0('0xc')]));var htmlEntities=require(_0x4cf0('0x10'));require('./mailMessage.socket')[_0x4cf0('0x11')](socket);var jayson=require(_0x4cf0('0x12'));var client=jayson['client'][_0x4cf0('0x13')]({'port':0x232c});var client9003=jayson[_0x4cf0('0x14')][_0x4cf0('0x13')]({'port':0x232b});var client9002=jayson['client'][_0x4cf0('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x114b80,_0x74a356,_0x36dc30,_0x220539){return new BPromise(function(_0x3403e5,_0x678046){var _0x3930d9=_0x220539||client;return _0x3930d9[_0x4cf0('0x15')](_0x114b80,_0x36dc30)[_0x4cf0('0x16')](function(_0x408f17){logger['info'](_0x4cf0('0x17'),_0x74a356,_0x4cf0('0x18'));logger['debug'](_0x4cf0('0x19'),_0x74a356,'request\x20sent',JSON[_0x4cf0('0x1a')](_0x408f17));if(_0x408f17[_0x4cf0('0x1b')]){if(_0x408f17[_0x4cf0('0x1b')][_0x4cf0('0x1c')]===0x1f4){logger[_0x4cf0('0x1b')](_0x4cf0('0x17'),_0x74a356,_0x408f17[_0x4cf0('0x1b')][_0x4cf0('0x1d')]);return _0x678046(_0x408f17['error'][_0x4cf0('0x1d')]);}logger[_0x4cf0('0x1b')]('MailMessage,\x20%s,\x20%s',_0x74a356,_0x408f17[_0x4cf0('0x1b')][_0x4cf0('0x1d')]);return _0x3403e5(_0x408f17[_0x4cf0('0x1b')][_0x4cf0('0x1d')]);}else{logger[_0x4cf0('0x1e')](_0x4cf0('0x17'),_0x74a356,'request\x20sent');_0x3403e5(_0x408f17[_0x4cf0('0x1f')][_0x4cf0('0x1d')]);}})[_0x4cf0('0x20')](function(_0x2d9628){logger[_0x4cf0('0x1b')](_0x4cf0('0x17'),_0x74a356,_0x2d9628);_0x678046(_0x2d9628);});});}function respondWithResult(_0x4a08be,_0x480e0f){_0x480e0f=_0x480e0f||0xc8;return function(_0x476f6a){if(_0x476f6a){return _0x4a08be[_0x4cf0('0x21')](_0x480e0f)[_0x4cf0('0x22')](_0x476f6a);}};}function respondWithFilteredResult(_0x5f1b46,_0x3eca8e){return function(_0x402c64){if(_0x402c64){var _0x2b7150=typeof _0x3eca8e[_0x4cf0('0x23')]===_0x4cf0('0x24')&&typeof _0x3eca8e['limit']===_0x4cf0('0x24');var _0x4ab9e8=_0x402c64[_0x4cf0('0x25')];var _0x420fa5=_0x2b7150?0x0:_0x3eca8e[_0x4cf0('0x23')];var _0x471267=_0x2b7150?_0x402c64['count']:_0x3eca8e[_0x4cf0('0x23')]+_0x3eca8e[_0x4cf0('0x26')];var _0xf68d41;if(_0x471267>=_0x4ab9e8){_0x471267=_0x4ab9e8;_0xf68d41=0xc8;}else{_0xf68d41=0xce;}_0x5f1b46[_0x4cf0('0x21')](_0xf68d41);return _0x5f1b46['set']('Content-Range',_0x420fa5+'-'+_0x471267+'/'+_0x4ab9e8)[_0x4cf0('0x22')](_0x402c64);}return null;};}function saveUpdates(_0x5a021f){return function(_0x1d07e0){if(_0x1d07e0){return _0x1d07e0['update'](_0x5a021f)[_0x4cf0('0x16')](function(_0x2a99a8){return _0x2a99a8;});}return null;};}function removeEntity(_0x17c6e7){return function(_0x4ef193){if(_0x4ef193){return _0x4ef193[_0x4cf0('0x27')]()[_0x4cf0('0x16')](function(){_0x17c6e7[_0x4cf0('0x21')](0xcc)[_0x4cf0('0x28')]();});}};}function handleEntityNotFound(_0x10c032){return function(_0x54aa28){if(!_0x54aa28){_0x10c032['sendStatus'](0x194);}return _0x54aa28;};}function handleError(_0x493f2a,_0x406d5a){_0x406d5a=_0x406d5a||0x1f4;return function(_0x5b0c18){logger[_0x4cf0('0x1b')](_0x5b0c18['stack']);if(_0x5b0c18[_0x4cf0('0x29')]){delete _0x5b0c18[_0x4cf0('0x29')];}_0x493f2a[_0x4cf0('0x21')](_0x406d5a)[_0x4cf0('0x2a')](_0x5b0c18);};}exports['index']=function(_0x5cb74b,_0x4aad98){var _0x532ce3={},_0x5976ce={},_0x2f6116={'count':0x0,'rows':[]};var _0x3cb0d0=_[_0x4cf0('0x2b')](db[_0x4cf0('0x2c')][_0x4cf0('0x2d')],function(_0x3cf25f){return{'name':_0x3cf25f['fieldName'],'type':_0x3cf25f['type'][_0x4cf0('0x2e')]};});_0x5976ce[_0x4cf0('0x2f')]=_[_0x4cf0('0x2b')](_0x3cb0d0,_0x4cf0('0x29'));_0x5976ce[_0x4cf0('0x30')]=_[_0x4cf0('0x31')](_0x5cb74b['query']);_0x5976ce[_0x4cf0('0x32')]=_[_0x4cf0('0x33')](_0x5976ce['model'],_0x5976ce[_0x4cf0('0x30')]);_0x532ce3[_0x4cf0('0x34')]=_['intersection'](_0x5976ce[_0x4cf0('0x2f')],qs[_0x4cf0('0x35')](_0x5cb74b[_0x4cf0('0x30')]['fields']));_0x532ce3['attributes']=_0x532ce3[_0x4cf0('0x34')][_0x4cf0('0x36')]?_0x532ce3[_0x4cf0('0x34')]:_0x5976ce[_0x4cf0('0x2f')];if(!_0x5cb74b[_0x4cf0('0x30')][_0x4cf0('0x37')](_0x4cf0('0x38'))){_0x532ce3[_0x4cf0('0x26')]=qs[_0x4cf0('0x26')](_0x5cb74b[_0x4cf0('0x30')]['limit']);_0x532ce3[_0x4cf0('0x23')]=qs[_0x4cf0('0x23')](_0x5cb74b[_0x4cf0('0x30')][_0x4cf0('0x23')]);}_0x532ce3['order']=qs[_0x4cf0('0x39')](_0x5cb74b[_0x4cf0('0x30')][_0x4cf0('0x39')]);_0x532ce3[_0x4cf0('0x3a')]=qs[_0x4cf0('0x32')](_['pick'](_0x5cb74b[_0x4cf0('0x30')],_0x5976ce['filters']),_0x3cb0d0);if(_0x5cb74b[_0x4cf0('0x30')][_0x4cf0('0x3b')]){_0x532ce3[_0x4cf0('0x3a')]=_[_0x4cf0('0x3c')](_0x532ce3[_0x4cf0('0x3a')],{'$or':_[_0x4cf0('0x2b')](_0x3cb0d0,function(_0x2a8bef){if(_0x2a8bef[_0x4cf0('0x3d')]!==_0x4cf0('0x3e')){var _0x23cc18={};_0x23cc18[_0x2a8bef[_0x4cf0('0x29')]]={'$like':'%'+_0x5cb74b[_0x4cf0('0x30')][_0x4cf0('0x3b')]+'%'};return _0x23cc18;}})});}_0x532ce3=_[_0x4cf0('0x3c')]({},_0x532ce3,_0x5cb74b[_0x4cf0('0x3f')]);var _0x14bb63={'where':_0x532ce3[_0x4cf0('0x3a')]};return db[_0x4cf0('0x2c')]['count'](_0x14bb63)[_0x4cf0('0x16')](function(_0x4ed9df){_0x2f6116['count']=_0x4ed9df;if(_0x5cb74b[_0x4cf0('0x30')]['includeAll']){_0x532ce3['include']=[{'all':!![]}];}return db[_0x4cf0('0x2c')]['findAll'](_0x532ce3);})[_0x4cf0('0x16')](function(_0x569533){_0x2f6116[_0x4cf0('0x40')]=_0x569533;return _0x2f6116;})[_0x4cf0('0x16')](respondWithFilteredResult(_0x4aad98,_0x532ce3))['catch'](handleError(_0x4aad98,null));};exports[_0x4cf0('0x41')]=function(_0x5b737c,_0x50a8db){var _0x42018b={'raw':!![],'where':{'id':_0x5b737c[_0x4cf0('0x42')]['id']}},_0x823d6e={};_0x823d6e[_0x4cf0('0x2f')]=_[_0x4cf0('0x31')](db[_0x4cf0('0x2c')][_0x4cf0('0x2d')]);_0x823d6e[_0x4cf0('0x30')]=_[_0x4cf0('0x31')](_0x5b737c[_0x4cf0('0x30')]);_0x823d6e['filters']=_[_0x4cf0('0x33')](_0x823d6e[_0x4cf0('0x2f')],_0x823d6e[_0x4cf0('0x30')]);_0x42018b[_0x4cf0('0x34')]=_[_0x4cf0('0x33')](_0x823d6e[_0x4cf0('0x2f')],qs[_0x4cf0('0x35')](_0x5b737c[_0x4cf0('0x30')][_0x4cf0('0x35')]));_0x42018b[_0x4cf0('0x34')]=_0x42018b[_0x4cf0('0x34')][_0x4cf0('0x36')]?_0x42018b['attributes']:_0x823d6e[_0x4cf0('0x2f')];if(_0x5b737c[_0x4cf0('0x30')][_0x4cf0('0x43')]){_0x42018b['include']=[{'all':!![]}];}_0x42018b=_['merge']({},_0x42018b,_0x5b737c[_0x4cf0('0x3f')]);return db[_0x4cf0('0x2c')][_0x4cf0('0x44')](_0x42018b)[_0x4cf0('0x16')](handleEntityNotFound(_0x50a8db,null))[_0x4cf0('0x16')](respondWithResult(_0x50a8db,null))[_0x4cf0('0x20')](handleError(_0x50a8db,null));};exports['update']=function(_0x4eef08,_0x261503){if(_0x4eef08[_0x4cf0('0x45')]['id']){delete _0x4eef08['body']['id'];}return db['MailMessage'][_0x4cf0('0x44')]({'where':{'id':_0x4eef08[_0x4cf0('0x42')]['id']}})[_0x4cf0('0x16')](handleEntityNotFound(_0x261503,null))[_0x4cf0('0x16')](saveUpdates(_0x4eef08['body'],null))[_0x4cf0('0x16')](respondWithResult(_0x261503,null))[_0x4cf0('0x20')](handleError(_0x261503,null));};exports[_0x4cf0('0x27')]=function(_0x10b2d9,_0x3ca361){return db['MailMessage'][_0x4cf0('0x44')]({'where':{'id':_0x10b2d9[_0x4cf0('0x42')]['id']}})['then'](handleEntityNotFound(_0x3ca361,null))['then'](removeEntity(_0x3ca361,null))[_0x4cf0('0x20')](handleError(_0x3ca361,null));};exports['describe']=function(_0x342bd9,_0x1346c0){return db[_0x4cf0('0x2c')]['describe']()[_0x4cf0('0x16')](respondWithResult(_0x1346c0,null))[_0x4cf0('0x20')](handleError(_0x1346c0,null));};exports[_0x4cf0('0x46')]=function(_0x243a31,_0x51edc0){return db['MailMessage'][_0x4cf0('0x46')](_0x243a31['body'])[_0x4cf0('0x16')](function(_0x176741){if(_0x176741){if(_0x176741[_0x4cf0('0x47')]==='out'&&!_0x176741[_0x4cf0('0x48')]){var _0x1d3745,_0x544123,_0x50d141;if(_0x243a31[_0x4cf0('0x45')]['to']){_0x544123=_0x243a31[_0x4cf0('0x45')]['to'][_0x4cf0('0x49')](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x176741['MailAccountId']},'include':[{'model':db['CmList'],'as':_0x4cf0('0x4a'),'include':[{'model':db[_0x4cf0('0x4b')],'as':_0x4cf0('0x4c'),'where':{'email':_0x544123},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x4cf0('0x4d')],'as':_0x4cf0('0x4e'),'raw':!![],'include':[{'model':db[_0x4cf0('0x4f')],'as':_0x4cf0('0x4f'),'raw':!![]}]}]})[_0x4cf0('0x16')](function(_0x54283a){_0x1d3745=_0x54283a;if(!_0x1d3745||!_0x1d3745[_0x4cf0('0x4e')])return;var _0x3bed6c=_0x1d3745[_0x4cf0('0x50')]();if(_0x243a31[_0x4cf0('0x45')][_0x4cf0('0x51')]&&_0x243a31[_0x4cf0('0x45')]['attachments'][_0x4cf0('0x36')]){for(var _0x144b4f=0x0;_0x144b4f<_0x243a31['body']['attachments'][_0x4cf0('0x36')];_0x144b4f+=0x1){_0x243a31['body']['attachments'][_0x144b4f]={'filename':_0x243a31[_0x4cf0('0x45')][_0x4cf0('0x51')][_0x144b4f][_0x4cf0('0x29')],'path':path['join'](config[_0x4cf0('0x52')],_0x4cf0('0x53'),_0x243a31['body']['attachments'][_0x144b4f][_0x4cf0('0x54')])};}}_0x50d141={'account':_0x3bed6c,'message':_0x243a31[_0x4cf0('0x45')]};return;})[_0x4cf0('0x16')](function(){if(_0x1d3745['List']){if(_0x1d3745[_0x4cf0('0x4a')][_0x4cf0('0x4c')]['length']){return _0x1d3745[_0x4cf0('0x4a')][_0x4cf0('0x4c')][0x0];}else{return db[_0x4cf0('0x4b')][_0x4cf0('0x46')](_[_0x4cf0('0xd')](_0x243a31[_0x4cf0('0x45')],{'firstName':_0x243a31[_0x4cf0('0x45')]['to'],'email':_0x243a31[_0x4cf0('0x45')]['to'],'phone':_0x243a31[_0x4cf0('0x45')]['to'],'ListId':_0x1d3745[_0x4cf0('0x55')]}));}}else{throw new Error(_0x4cf0('0x56'));}})[_0x4cf0('0x16')](function(){if(_0x50d141){return respondWithRpcPromise(_0x4cf0('0x57'),'sendMail',_0x50d141,client9003)['then'](function(_0x4a0fa8){return _0x176741[_0x4cf0('0x58')]({'read':!![],'messageId':_0x4a0fa8[_0x4cf0('0x59')],'sentAt':moment()[_0x4cf0('0x5a')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x4cf0('0x20')](function(_0x3bdaef){logger[_0x4cf0('0x1b')]('%s',JSON[_0x4cf0('0x1a')](_0x3bdaef));return _0x176741;});}return _0x176741;});}return _0x176741;}})['then'](respondWithResult(_0x51edc0,0xc9))[_0x4cf0('0x20')](handleError(_0x51edc0,null));};exports[_0x4cf0('0x5b')]=function(_0x1dc907,_0x10b7c1){var _0x536b0c={'agent':{},'channel':_0x4cf0('0x5c')};if(_0x1dc907['body']['id']){delete _0x1dc907['body']['id'];}_0x1dc907[_0x4cf0('0x45')][_0x4cf0('0x5d')]=!![];_0x1dc907[_0x4cf0('0x45')][_0x4cf0('0x5e')]=moment()[_0x4cf0('0x5a')](_0x4cf0('0x5f'));_0x1dc907[_0x4cf0('0x45')][_0x4cf0('0x60')]=_0x1dc907[_0x4cf0('0x45')]['UserId']||_0x1dc907[_0x4cf0('0x61')]['id'];_0x536b0c[_0x4cf0('0x62')]['id']=_0x1dc907[_0x4cf0('0x45')]['UserId'];return db[_0x4cf0('0x2c')][_0x4cf0('0x44')]({'where':{'id':_0x1dc907['params']['id'],'UserId':null}})[_0x4cf0('0x16')](handleEntityNotFound(_0x10b7c1,null))[_0x4cf0('0x16')](saveUpdates(_0x1dc907[_0x4cf0('0x45')],null))[_0x4cf0('0x16')](function(_0xb99dcc){if(_0xb99dcc){_0x536b0c[_0x4cf0('0x1d')]=_0xb99dcc['get']({'plain':!![]});return db[_0x4cf0('0x63')]['find']({'where':{'id':_0xb99dcc[_0x4cf0('0x64')]}});}return null;})[_0x4cf0('0x16')](handleEntityNotFound(_0x10b7c1,null))[_0x4cf0('0x16')](function(_0xb4a3ca){if(_0xb4a3ca){return _0xb4a3ca[_0x4cf0('0x58')]({'UserId':_0x1dc907['body'][_0x4cf0('0x60')],'read1stAt':_[_0x4cf0('0x65')](_0xb4a3ca[_0x4cf0('0x66')])?moment()[_0x4cf0('0x5a')](_0x4cf0('0x5f')):undefined});}return null;})[_0x4cf0('0x16')](function(_0x2e12be){if(_0x2e12be){_0x536b0c[_0x4cf0('0x67')]=_0x2e12be[_0x4cf0('0x68')]({'plain':!![]});interaction_log[_0x4cf0('0x1e')](_0x4cf0('0x69'),_0x1dc907[_0x4cf0('0x61')]['id'],_0x1dc907[_0x4cf0('0x61')][_0x4cf0('0x29')],_0x1dc907['user']['role'],_0x536b0c['interaction']['id'],_0x1dc907[_0x4cf0('0x45')]?JSON[_0x4cf0('0x1a')](_0x1dc907[_0x4cf0('0x45')]):_0x4cf0('0x6a'));return respondWithRpcPromise('AcceptMessage',_0x4cf0('0x6b'),_0x536b0c);}return null;})[_0x4cf0('0x16')](function(_0x3bc200){var _0x43441a=_0x4cf0('0x6c')+_0x3bc200[_0x4cf0('0x1d')][_0x4cf0('0x6d')];return db['sequelize'][_0x4cf0('0x30')](_0x43441a,{'type':db['Sequelize']['QueryTypes'][_0x4cf0('0x6e')],'raw':!![]})[_0x4cf0('0x16')](function(_0x29a361){return _0x29a361;});})[_0x4cf0('0x16')](function(_0x1aaa85){if(_0x1aaa85){_0x536b0c[_0x4cf0('0x1d')][_0x4cf0('0x6f')]=_0x1aaa85[0x0];if(!_0x1dc907[_0x4cf0('0x45')]['UserId'])return;return db['User'][_0x4cf0('0x44')]({'where':{'id':_0x1dc907[_0x4cf0('0x45')][_0x4cf0('0x60')],'role':_0x4cf0('0x62')},'attributes':['id',_0x4cf0('0x29'),_0x4cf0('0x70'),_0x4cf0('0x71'),_0x4cf0('0x72')],'raw':!![]});}return null;})['then'](function(_0x46f8b6){if(!_0x46f8b6)return null;_0x536b0c[_0x4cf0('0x1d')]['agent']=_0x46f8b6;return _0x536b0c;})[_0x4cf0('0x16')](function(_0x349ffd){if(_0x349ffd){if(_0x1dc907[_0x4cf0('0x45')][_0x4cf0('0x73')]){_0x536b0c[_0x4cf0('0x1d')][_0x4cf0('0x74')]=util['format']('SIP/%s',_0x1dc907['user']['name']);_0x536b0c['message']['channel']=_0x536b0c[_0x4cf0('0x75')];_0x536b0c[_0x4cf0('0x1d')][_0x4cf0('0x76')]=_0x536b0c[_0x4cf0('0x75')];_0x536b0c[_0x4cf0('0x1d')][_0x4cf0('0x77')]=_0x4cf0('0x5b');_0x536b0c[_0x4cf0('0x1d')][_0x4cf0('0x45')]=htmlToText[_0x4cf0('0x78')](_0x536b0c[_0x4cf0('0x1d')]['body']);return respondWithRpcPromise(_0x4cf0('0x79'),_0x4cf0('0x79'),{'event':'acceptmessage','message':_0x536b0c[_0x4cf0('0x1d')]},client9002)[_0x4cf0('0x16')](function(){return _0x536b0c;});}return _0x536b0c;}return null;})['then'](respondWithResult(_0x10b7c1,null))[_0x4cf0('0x20')](handleError(_0x10b7c1,null));};exports['reject']=function(_0x578013,_0x24d2e7){var _0x2b75da={'agent':{},'channel':_0x4cf0('0x5c')};if(_0x578013[_0x4cf0('0x45')]['id']){delete _0x578013[_0x4cf0('0x45')]['id'];}_0x578013[_0x4cf0('0x45')][_0x4cf0('0x60')]=_0x578013['body']['UserId']||_0x578013[_0x4cf0('0x61')]['id'];_0x2b75da[_0x4cf0('0x62')]['id']=_0x578013[_0x4cf0('0x45')][_0x4cf0('0x60')];return db[_0x4cf0('0x2c')][_0x4cf0('0x44')]({'where':{'id':_0x578013[_0x4cf0('0x42')]['id'],'UserId':null}})[_0x4cf0('0x16')](handleEntityNotFound(_0x24d2e7,null))[_0x4cf0('0x16')](function(_0x2f9a18){if(_0x2f9a18){_0x2b75da['message']=_0x2f9a18[_0x4cf0('0x68')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x2f9a18[_0x4cf0('0x64')]}});}return null;})[_0x4cf0('0x16')](handleEntityNotFound(_0x24d2e7,null))[_0x4cf0('0x16')](function(_0x41b011){if(_0x41b011){_0x2b75da[_0x4cf0('0x67')]=_0x41b011[_0x4cf0('0x68')]({'plain':!![]});interaction_log[_0x4cf0('0x1e')](_0x4cf0('0x7a'),_0x578013[_0x4cf0('0x61')]['id'],_0x578013['user'][_0x4cf0('0x29')],_0x578013['user']['role'],_0x2b75da[_0x4cf0('0x67')]['id'],_0x578013['body']?JSON[_0x4cf0('0x1a')](_0x578013['body']):_0x4cf0('0x6a'));return respondWithRpcPromise(_0x4cf0('0x7b'),_0x4cf0('0x7c'),_0x2b75da);}return null;})[_0x4cf0('0x16')](function(_0x29b7ec){var _0x56250e=_0x4cf0('0x6c')+_0x29b7ec[_0x4cf0('0x1d')][_0x4cf0('0x6d')];return db['sequelize']['query'](_0x56250e,{'type':db[_0x4cf0('0x7d')][_0x4cf0('0x7e')]['SELECT'],'raw':!![]})[_0x4cf0('0x16')](function(_0x2809ad){return _0x2809ad;});})[_0x4cf0('0x16')](function(_0x14bef3){if(_0x14bef3){_0x2b75da[_0x4cf0('0x1d')][_0x4cf0('0x6f')]=_0x14bef3[0x0];if(!_0x578013[_0x4cf0('0x45')][_0x4cf0('0x60')])return;return db[_0x4cf0('0x7f')][_0x4cf0('0x44')]({'where':{'id':_0x578013[_0x4cf0('0x45')]['UserId'],'role':_0x4cf0('0x62')},'attributes':['id',_0x4cf0('0x29'),_0x4cf0('0x70'),_0x4cf0('0x71'),_0x4cf0('0x72')],'raw':!![]});}return null;})[_0x4cf0('0x16')](function(_0x4aca4b){if(!_0x4aca4b)return null;_0x2b75da[_0x4cf0('0x1d')][_0x4cf0('0x62')]=_0x4aca4b;return _0x2b75da;})[_0x4cf0('0x16')](function(_0x2dec05){if(_0x2dec05){_0x2dec05[_0x4cf0('0x1d')][_0x4cf0('0x74')]=util[_0x4cf0('0x5a')](_0x4cf0('0x80'),_0x578013['user'][_0x4cf0('0x29')]);_0x2dec05[_0x4cf0('0x1d')][_0x4cf0('0x75')]=_0x2b75da['channel'];_0x2dec05['message'][_0x4cf0('0x76')]=_0x2b75da[_0x4cf0('0x75')];_0x2dec05[_0x4cf0('0x1d')][_0x4cf0('0x77')]=_0x4cf0('0x81');_0x2dec05['message'][_0x4cf0('0x45')]=htmlToText[_0x4cf0('0x78')](_0x2b75da['message'][_0x4cf0('0x45')]);respondWithRpcPromise('EventManager',_0x4cf0('0x79'),{'event':'rejectmessage','message':_0x2dec05['message']},client9002);return _0x2b75da;}return null;})[_0x4cf0('0x16')](respondWithResult(_0x24d2e7,null))['catch'](handleError(_0x24d2e7,null));};exports[_0x4cf0('0x82')]=function(_0x15caf8,_0x514609){var _0x24c4f3=moment()[_0x4cf0('0x83')]()['toString']();var _0x32b3f8=path[_0x4cf0('0x84')](config[_0x4cf0('0x52')],_0x4cf0('0x85'),'files',_0x4cf0('0x86'));var _0x3166b1=path[_0x4cf0('0x84')](config[_0x4cf0('0x52')],_0x4cf0('0x85'),_0x4cf0('0x87'),_0x4cf0('0x51'));var _0x523428=util[_0x4cf0('0x5a')](_0x4cf0('0x88'),_0x24c4f3);return db[_0x4cf0('0x2c')][_0x4cf0('0x44')]({'where':{'id':_0x15caf8['params']['id']},'attributes':['id','body','from','to','cc',_0x4cf0('0x89'),_0x4cf0('0x8a'),_0x4cf0('0x8b')],'include':_0x15caf8[_0x4cf0('0x30')][_0x4cf0('0x51')]?[{'model':db[_0x4cf0('0x8c')],'as':_0x4cf0('0x8d')}]:undefined})[_0x4cf0('0x16')](handleEntityNotFound(_0x514609,null))['then'](function(_0x39a896){if(_0x39a896){var _0x24de8f=_0x39a896;var _0x5b23c3={'from':_0x24de8f[_0x4cf0('0x8e')],'to':_0x24de8f['to'],'subject':_0x24de8f[_0x4cf0('0x8a')],'html':htmlEntities[_0x4cf0('0x8f')](_0x24de8f[_0x4cf0('0x45')]),'headers':{'Date':moment(_0x24de8f[_0x4cf0('0x8b')])[_0x4cf0('0x5a')](_0x4cf0('0x90'))},'attachments':[]};if(_0x39a896['cc']){_0x5b23c3[_0x4cf0('0x91')]['Cc']=_0x39a896['cc'];}if(_0x39a896[_0x4cf0('0x89')]){_0x5b23c3[_0x4cf0('0x91')][_0x4cf0('0x92')]=_0x39a896[_0x4cf0('0x89')];}return new BPromise(function(_0x4efff3,_0x55e705){if(_0x39a896[_0x4cf0('0x8d')]){for(var _0x53bb1e=0x0;_0x53bb1e<_0x39a896[_0x4cf0('0x8d')][_0x4cf0('0x36')];_0x53bb1e++){var _0x384221=_0x39a896['Attachments'][_0x53bb1e];var _0x63216e=path[_0x4cf0('0x84')](_0x3166b1,_0x384221[_0x4cf0('0x54')]);if(fs[_0x4cf0('0x93')](_0x63216e)){_0x5b23c3[_0x4cf0('0x51')][_0x4cf0('0x94')]({'name':_0x384221[_0x4cf0('0x29')],'contentType':_0x384221[_0x4cf0('0x3d')],'data':fs[_0x4cf0('0x95')](_0x63216e)});}}}emlformat[_0x4cf0('0x96')](_0x5b23c3,function(_0x2790e0,_0x46fb27){if(_0x2790e0)return _0x55e705(_0x2790e0);fs['writeFileSync'](path[_0x4cf0('0x84')](_0x32b3f8,_0x523428),_0x46fb27);return _0x4efff3(_0x46fb27);});});}})[_0x4cf0('0x16')](function(_0x56c72b){if(_0x56c72b){return _0x514609[_0x4cf0('0x82')](path['join'](_0x32b3f8,_0x523428),_0x523428,function(_0x50cb02){if(!_0x50cb02)fs['unlinkSync'](path[_0x4cf0('0x84')](_0x32b3f8,_0x523428));});}})[_0x4cf0('0x20')](handleError(_0x514609,null));};