Built motion from commit 9d0783e6.|2.6.13
[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 _0x1705=['destroy','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','length','sort','pick','where','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','fields','find','update','body','describe','create','out','secret','MailAccount','CmList','List','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','root','server/files/attachments','basename','List\x20not\x20found','SendMail','sendMail','format','stringify','accept','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','MailInteractionId','isNil','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interaction','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','SELECT','User','agent','fullname','email','internal','manual','interface','channel','motionChannel','event','EventManager','reject','MailInteraction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','contact','SIP/%s','fromString','rejectmessage','unix','join','server','tmp','files','message-%s.eml','subject','createdAt','Attachment','Attachments','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','Bcc','existsSync','push','readFileSync','writeFileSync','download','unlinkSync','moment','bluebird','util','path','lodash','ioredis','html-to-text','../../config/logger','api','mail-interactions','redis','defaults','html-entities','client','http','then','info','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','error','code','MailMessage,\x20%s,\x20%s','message','result','status','json','offset','limit','undefined','count','set'];(function(_0x1f80f7,_0x47da0b){var _0x481cf9=function(_0x2e18e0){while(--_0x2e18e0){_0x1f80f7['push'](_0x1f80f7['shift']());}};_0x481cf9(++_0x47da0b);}(_0x1705,0x19d));var _0x5170=function(_0x2a1b33,_0x409f50){_0x2a1b33=_0x2a1b33-0x0;var _0x4c50e7=_0x1705[_0x2a1b33];return _0x4c50e7;};'use strict';var emlformat=require('eml-format');var moment=require(_0x5170('0x0'));var BPromise=require(_0x5170('0x1'));var util=require(_0x5170('0x2'));var path=require(_0x5170('0x3'));var fs=require('fs');var _=require(_0x5170('0x4'));var Redis=require(_0x5170('0x5'));var htmlToText=require(_0x5170('0x6'));var qs=require('../../components/parsers/qs');var logger=require(_0x5170('0x7'))(_0x5170('0x8'));var interaction_log=require(_0x5170('0x7'))(_0x5170('0x9'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0x5170('0xa')]=_[_0x5170('0xb')](config[_0x5170('0xa')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x5170('0xa')]));var htmlEntities=require(_0x5170('0xc'));require('./mailMessage.socket')['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x5170('0xd')][_0x5170('0xe')]({'port':0x232c});var client9003=jayson[_0x5170('0xd')][_0x5170('0xe')]({'port':0x232b});var client9002=jayson[_0x5170('0xd')][_0x5170('0xe')]({'port':0x232a});function respondWithRpcPromise(_0x3a7747,_0xf483cf,_0x2496e5,_0x5e3eed){return new BPromise(function(_0x2f5abe,_0x584686){var _0x13a42a=_0x5e3eed||client;return _0x13a42a['request'](_0x3a7747,_0x2496e5)[_0x5170('0xf')](function(_0x4a3721){logger[_0x5170('0x10')]('MailMessage,\x20%s,\x20%s',_0xf483cf,_0x5170('0x11'));logger['debug'](_0x5170('0x12'),_0xf483cf,_0x5170('0x11'),JSON['stringify'](_0x4a3721));if(_0x4a3721['error']){if(_0x4a3721[_0x5170('0x13')][_0x5170('0x14')]===0x1f4){logger['error'](_0x5170('0x15'),_0xf483cf,_0x4a3721['error'][_0x5170('0x16')]);return _0x584686(_0x4a3721[_0x5170('0x13')][_0x5170('0x16')]);}logger[_0x5170('0x13')]('MailMessage,\x20%s,\x20%s',_0xf483cf,_0x4a3721['error'][_0x5170('0x16')]);return _0x2f5abe(_0x4a3721[_0x5170('0x13')][_0x5170('0x16')]);}else{logger[_0x5170('0x10')]('MailMessage,\x20%s,\x20%s',_0xf483cf,_0x5170('0x11'));_0x2f5abe(_0x4a3721[_0x5170('0x17')][_0x5170('0x16')]);}})['catch'](function(_0x11b1d2){logger[_0x5170('0x13')](_0x5170('0x15'),_0xf483cf,_0x11b1d2);_0x584686(_0x11b1d2);});});}function respondWithResult(_0x26a232,_0x2d6b64){_0x2d6b64=_0x2d6b64||0xc8;return function(_0x463a86){if(_0x463a86){return _0x26a232[_0x5170('0x18')](_0x2d6b64)[_0x5170('0x19')](_0x463a86);}};}function respondWithFilteredResult(_0x4b1105,_0xa88532){return function(_0x140225){if(_0x140225){var _0x2f9e56=typeof _0xa88532[_0x5170('0x1a')]==='undefined'&&typeof _0xa88532[_0x5170('0x1b')]===_0x5170('0x1c');var _0x32928d=_0x140225['count'];var _0xbf1c9=_0x2f9e56?0x0:_0xa88532['offset'];var _0x4aa98b=_0x2f9e56?_0x140225[_0x5170('0x1d')]:_0xa88532['offset']+_0xa88532[_0x5170('0x1b')];var _0x2ce3e1;if(_0x4aa98b>=_0x32928d){_0x4aa98b=_0x32928d;_0x2ce3e1=0xc8;}else{_0x2ce3e1=0xce;}_0x4b1105[_0x5170('0x18')](_0x2ce3e1);return _0x4b1105[_0x5170('0x1e')]('Content-Range',_0xbf1c9+'-'+_0x4aa98b+'/'+_0x32928d)[_0x5170('0x19')](_0x140225);}return null;};}function saveUpdates(_0x442827){return function(_0x18f13c){if(_0x18f13c){return _0x18f13c['update'](_0x442827)[_0x5170('0xf')](function(_0xe181a2){return _0xe181a2;});}return null;};}function removeEntity(_0x3ba74e){return function(_0x2a4a96){if(_0x2a4a96){return _0x2a4a96[_0x5170('0x1f')]()[_0x5170('0xf')](function(){_0x3ba74e[_0x5170('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2fc337){return function(_0x3a18c2){if(!_0x3a18c2){_0x2fc337[_0x5170('0x20')](0x194);}return _0x3a18c2;};}function handleError(_0x481004,_0x4fc7af){_0x4fc7af=_0x4fc7af||0x1f4;return function(_0x1cd4b1){logger['error'](_0x1cd4b1[_0x5170('0x21')]);if(_0x1cd4b1[_0x5170('0x22')]){delete _0x1cd4b1[_0x5170('0x22')];}_0x481004[_0x5170('0x18')](_0x4fc7af)[_0x5170('0x23')](_0x1cd4b1);};}exports[_0x5170('0x24')]=function(_0x44bf1d,_0x2b660e){var _0x260abf={},_0x345178={},_0x5bf67e={'count':0x0,'rows':[]};var _0x5a52e1=_[_0x5170('0x25')](db[_0x5170('0x26')][_0x5170('0x27')],function(_0x2a37fb){return{'name':_0x2a37fb['fieldName'],'type':_0x2a37fb[_0x5170('0x28')][_0x5170('0x29')]};});_0x345178['model']=_['map'](_0x5a52e1,_0x5170('0x22'));_0x345178[_0x5170('0x2a')]=_[_0x5170('0x2b')](_0x44bf1d[_0x5170('0x2a')]);_0x345178[_0x5170('0x2c')]=_[_0x5170('0x2d')](_0x345178[_0x5170('0x2e')],_0x345178['query']);_0x260abf[_0x5170('0x2f')]=_[_0x5170('0x2d')](_0x345178['model'],qs['fields'](_0x44bf1d[_0x5170('0x2a')]['fields']));_0x260abf[_0x5170('0x2f')]=_0x260abf['attributes'][_0x5170('0x30')]?_0x260abf[_0x5170('0x2f')]:_0x345178[_0x5170('0x2e')];if(!_0x44bf1d['query']['hasOwnProperty']('nolimit')){_0x260abf[_0x5170('0x1b')]=qs['limit'](_0x44bf1d[_0x5170('0x2a')]['limit']);_0x260abf[_0x5170('0x1a')]=qs[_0x5170('0x1a')](_0x44bf1d[_0x5170('0x2a')]['offset']);}_0x260abf['order']=qs['sort'](_0x44bf1d['query'][_0x5170('0x31')]);_0x260abf['where']=qs[_0x5170('0x2c')](_[_0x5170('0x32')](_0x44bf1d[_0x5170('0x2a')],_0x345178[_0x5170('0x2c')]),_0x5a52e1);if(_0x44bf1d[_0x5170('0x2a')]['filter']){_0x260abf[_0x5170('0x33')]=_[_0x5170('0x34')](_0x260abf['where'],{'$or':_[_0x5170('0x25')](_0x5a52e1,function(_0x59bb16){if(_0x59bb16['type']!==_0x5170('0x35')){var _0x22c047={};_0x22c047[_0x59bb16[_0x5170('0x22')]]={'$like':'%'+_0x44bf1d['query'][_0x5170('0x36')]+'%'};return _0x22c047;}})});}_0x260abf=_['merge']({},_0x260abf,_0x44bf1d['options']);var _0x3f55ba={'where':_0x260abf[_0x5170('0x33')]};return db[_0x5170('0x26')]['count'](_0x3f55ba)[_0x5170('0xf')](function(_0x5e0706){_0x5bf67e[_0x5170('0x1d')]=_0x5e0706;if(_0x44bf1d[_0x5170('0x2a')][_0x5170('0x37')]){_0x260abf[_0x5170('0x38')]=[{'all':!![]}];}return db['MailMessage'][_0x5170('0x39')](_0x260abf);})['then'](function(_0x2592c9){_0x5bf67e[_0x5170('0x3a')]=_0x2592c9;return _0x5bf67e;})['then'](respondWithFilteredResult(_0x2b660e,_0x260abf))[_0x5170('0x3b')](handleError(_0x2b660e,null));};exports[_0x5170('0x3c')]=function(_0x472363,_0xf9e4fc){var _0x2b9580={'raw':!![],'where':{'id':_0x472363[_0x5170('0x3d')]['id']}},_0x27e080={};_0x27e080[_0x5170('0x2e')]=_[_0x5170('0x2b')](db[_0x5170('0x26')][_0x5170('0x27')]);_0x27e080['query']=_[_0x5170('0x2b')](_0x472363[_0x5170('0x2a')]);_0x27e080[_0x5170('0x2c')]=_[_0x5170('0x2d')](_0x27e080[_0x5170('0x2e')],_0x27e080[_0x5170('0x2a')]);_0x2b9580[_0x5170('0x2f')]=_[_0x5170('0x2d')](_0x27e080[_0x5170('0x2e')],qs[_0x5170('0x3e')](_0x472363[_0x5170('0x2a')][_0x5170('0x3e')]));_0x2b9580[_0x5170('0x2f')]=_0x2b9580[_0x5170('0x2f')][_0x5170('0x30')]?_0x2b9580['attributes']:_0x27e080[_0x5170('0x2e')];if(_0x472363[_0x5170('0x2a')][_0x5170('0x37')]){_0x2b9580['include']=[{'all':!![]}];}_0x2b9580=_['merge']({},_0x2b9580,_0x472363['options']);return db[_0x5170('0x26')][_0x5170('0x3f')](_0x2b9580)[_0x5170('0xf')](handleEntityNotFound(_0xf9e4fc,null))[_0x5170('0xf')](respondWithResult(_0xf9e4fc,null))[_0x5170('0x3b')](handleError(_0xf9e4fc,null));};exports[_0x5170('0x40')]=function(_0x31b4a8,_0x22309d){if(_0x31b4a8[_0x5170('0x41')]['id']){delete _0x31b4a8[_0x5170('0x41')]['id'];}return db[_0x5170('0x26')][_0x5170('0x3f')]({'where':{'id':_0x31b4a8[_0x5170('0x3d')]['id']}})[_0x5170('0xf')](handleEntityNotFound(_0x22309d,null))['then'](saveUpdates(_0x31b4a8[_0x5170('0x41')],null))[_0x5170('0xf')](respondWithResult(_0x22309d,null))['catch'](handleError(_0x22309d,null));};exports[_0x5170('0x1f')]=function(_0x303daa,_0x21573d){return db['MailMessage'][_0x5170('0x3f')]({'where':{'id':_0x303daa[_0x5170('0x3d')]['id']}})[_0x5170('0xf')](handleEntityNotFound(_0x21573d,null))[_0x5170('0xf')](removeEntity(_0x21573d,null))[_0x5170('0x3b')](handleError(_0x21573d,null));};exports['describe']=function(_0x45731a,_0x304dce){return db[_0x5170('0x26')][_0x5170('0x42')]()[_0x5170('0xf')](respondWithResult(_0x304dce,null))[_0x5170('0x3b')](handleError(_0x304dce,null));};exports[_0x5170('0x43')]=function(_0x34d363,_0x3ef8fd){return db[_0x5170('0x26')][_0x5170('0x43')](_0x34d363[_0x5170('0x41')])[_0x5170('0xf')](function(_0x19d4d0){if(_0x19d4d0){if(_0x19d4d0['direction']===_0x5170('0x44')&&!_0x19d4d0[_0x5170('0x45')]){var _0x388b9f,_0x3d31ee,_0x16b840;if(_0x34d363[_0x5170('0x41')]['to']){_0x3d31ee=_0x34d363[_0x5170('0x41')]['to']['split'](',')[0x0];}return db[_0x5170('0x46')]['findOne']({'where':{'id':_0x19d4d0['MailAccountId']},'include':[{'model':db[_0x5170('0x47')],'as':_0x5170('0x48'),'include':[{'model':db[_0x5170('0x49')],'as':_0x5170('0x4a'),'where':{'email':_0x3d31ee},'limit':0x1,'order':[[_0x5170('0x4b'),_0x5170('0x4c')]]}]},{'model':db[_0x5170('0x4d')],'as':_0x5170('0x4e'),'raw':!![],'include':[{'model':db[_0x5170('0x4f')],'as':'CloudProvider','raw':!![]}]}]})[_0x5170('0xf')](function(_0x5634b5){_0x388b9f=_0x5634b5;if(!_0x388b9f||!_0x388b9f[_0x5170('0x4e')])return;var _0x309961=_0x388b9f[_0x5170('0x50')]();if(_0x34d363['body'][_0x5170('0x51')]&&_0x34d363['body'][_0x5170('0x51')][_0x5170('0x30')]){for(var _0x51c3a3=0x0;_0x51c3a3<_0x34d363[_0x5170('0x41')]['attachments']['length'];_0x51c3a3+=0x1){_0x34d363['body']['attachments'][_0x51c3a3]={'filename':_0x34d363[_0x5170('0x41')][_0x5170('0x51')][_0x51c3a3][_0x5170('0x22')],'path':path['join'](config[_0x5170('0x52')],_0x5170('0x53'),_0x34d363[_0x5170('0x41')][_0x5170('0x51')][_0x51c3a3][_0x5170('0x54')])};}}_0x16b840={'account':_0x309961,'message':_0x34d363[_0x5170('0x41')]};return;})['then'](function(){if(_0x388b9f[_0x5170('0x48')]){if(_0x388b9f[_0x5170('0x48')][_0x5170('0x4a')][_0x5170('0x30')]){return _0x388b9f[_0x5170('0x48')][_0x5170('0x4a')][0x0];}else{return db[_0x5170('0x49')]['create'](_[_0x5170('0xb')](_0x34d363[_0x5170('0x41')],{'firstName':_0x34d363[_0x5170('0x41')]['to'],'email':_0x34d363['body']['to'],'phone':_0x34d363[_0x5170('0x41')]['to'],'ListId':_0x388b9f['ListId']}));}}else{throw new Error(_0x5170('0x55'));}})[_0x5170('0xf')](function(){if(_0x16b840){return respondWithRpcPromise(_0x5170('0x56'),_0x5170('0x57'),_0x16b840,client9003)['then'](function(_0x438e25){return _0x19d4d0[_0x5170('0x40')]({'read':!![],'messageId':_0x438e25['messageId'],'sentAt':moment()[_0x5170('0x58')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x5170('0x3b')](function(_0x254fc3){logger[_0x5170('0x13')]('%s',JSON[_0x5170('0x59')](_0x254fc3));return _0x19d4d0;});}return _0x19d4d0;});}return _0x19d4d0;}})[_0x5170('0xf')](respondWithResult(_0x3ef8fd,0xc9))[_0x5170('0x3b')](handleError(_0x3ef8fd,null));};exports[_0x5170('0x5a')]=function(_0x2bf714,_0x4fbf4a){var _0x83b293={'agent':{},'channel':'mail'};if(_0x2bf714['body']['id']){delete _0x2bf714[_0x5170('0x41')]['id'];}_0x2bf714[_0x5170('0x41')][_0x5170('0x5b')]=!![];_0x2bf714[_0x5170('0x41')][_0x5170('0x5c')]=moment()['format'](_0x5170('0x5d'));_0x2bf714[_0x5170('0x41')]['UserId']=_0x2bf714[_0x5170('0x41')][_0x5170('0x5e')]||_0x2bf714[_0x5170('0x5f')]['id'];_0x83b293['agent']['id']=_0x2bf714[_0x5170('0x41')][_0x5170('0x5e')];return db[_0x5170('0x26')][_0x5170('0x3f')]({'where':{'id':_0x2bf714['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x4fbf4a,null))[_0x5170('0xf')](saveUpdates(_0x2bf714[_0x5170('0x41')],null))[_0x5170('0xf')](function(_0xd2b8cc){if(_0xd2b8cc){_0x83b293[_0x5170('0x16')]=_0xd2b8cc['get']({'plain':!![]});return db['MailInteraction'][_0x5170('0x3f')]({'where':{'id':_0xd2b8cc[_0x5170('0x60')]}});}return null;})[_0x5170('0xf')](handleEntityNotFound(_0x4fbf4a,null))['then'](function(_0x3c539f){if(_0x3c539f){return _0x3c539f['update']({'UserId':_0x2bf714[_0x5170('0x41')][_0x5170('0x5e')],'read1stAt':_[_0x5170('0x61')](_0x3c539f['read1stAt'])?moment()[_0x5170('0x58')](_0x5170('0x5d')):undefined});}return null;})[_0x5170('0xf')](function(_0x3df92d){if(_0x3df92d){_0x83b293['interaction']=_0x3df92d[_0x5170('0x62')]({'plain':!![]});interaction_log[_0x5170('0x10')](_0x5170('0x63'),_0x2bf714['user']['id'],_0x2bf714[_0x5170('0x5f')]['name'],_0x2bf714['user']['role'],_0x83b293[_0x5170('0x64')]['id'],_0x2bf714['body']?JSON['stringify'](_0x2bf714[_0x5170('0x41')]):_0x5170('0x65'));return respondWithRpcPromise(_0x5170('0x66'),_0x5170('0x67'),_0x83b293);}return null;})[_0x5170('0xf')](function(_0x898c23){var _0x3f1c1d=_0x5170('0x68')+_0x898c23[_0x5170('0x16')][_0x5170('0x69')];return db['sequelize'][_0x5170('0x2a')](_0x3f1c1d,{'type':db[_0x5170('0x6a')][_0x5170('0x6b')][_0x5170('0x6c')],'raw':!![]})[_0x5170('0xf')](function(_0x5c836c){return _0x5c836c;});})[_0x5170('0xf')](function(_0x5583be){if(_0x5583be){_0x83b293[_0x5170('0x16')]['contact']=_0x5583be[0x0];if(!_0x2bf714[_0x5170('0x41')][_0x5170('0x5e')])return;return db[_0x5170('0x6d')]['find']({'where':{'id':_0x2bf714[_0x5170('0x41')][_0x5170('0x5e')],'role':_0x5170('0x6e')},'attributes':['id',_0x5170('0x22'),_0x5170('0x6f'),_0x5170('0x70'),_0x5170('0x71')],'raw':!![]});}return null;})['then'](function(_0xdf021c){if(!_0xdf021c)return null;_0x83b293[_0x5170('0x16')]['agent']=_0xdf021c;return _0x83b293;})[_0x5170('0xf')](function(_0x2cf3f1){if(_0x2cf3f1){if(_0x2bf714[_0x5170('0x41')][_0x5170('0x72')]){_0x83b293['message'][_0x5170('0x73')]=util['format']('SIP/%s',_0x2bf714[_0x5170('0x5f')][_0x5170('0x22')]);_0x83b293[_0x5170('0x16')][_0x5170('0x74')]=_0x83b293[_0x5170('0x74')];_0x83b293[_0x5170('0x16')][_0x5170('0x75')]=_0x83b293['channel'];_0x83b293[_0x5170('0x16')][_0x5170('0x76')]=_0x5170('0x5a');_0x83b293[_0x5170('0x16')][_0x5170('0x41')]=htmlToText['fromString'](_0x83b293[_0x5170('0x16')]['body']);return respondWithRpcPromise(_0x5170('0x77'),_0x5170('0x77'),{'event':'acceptmessage','message':_0x83b293[_0x5170('0x16')]},client9002)[_0x5170('0xf')](function(){return _0x83b293;});}return _0x83b293;}return null;})[_0x5170('0xf')](respondWithResult(_0x4fbf4a,null))[_0x5170('0x3b')](handleError(_0x4fbf4a,null));};exports[_0x5170('0x78')]=function(_0x512278,_0xbfceb3){var _0xab4abe={'agent':{},'channel':'mail'};if(_0x512278[_0x5170('0x41')]['id']){delete _0x512278[_0x5170('0x41')]['id'];}_0x512278['body'][_0x5170('0x5e')]=_0x512278[_0x5170('0x41')][_0x5170('0x5e')]||_0x512278[_0x5170('0x5f')]['id'];_0xab4abe[_0x5170('0x6e')]['id']=_0x512278[_0x5170('0x41')][_0x5170('0x5e')];return db[_0x5170('0x26')][_0x5170('0x3f')]({'where':{'id':_0x512278[_0x5170('0x3d')]['id'],'UserId':null}})[_0x5170('0xf')](handleEntityNotFound(_0xbfceb3,null))[_0x5170('0xf')](function(_0x2e9b5f){if(_0x2e9b5f){_0xab4abe[_0x5170('0x16')]=_0x2e9b5f[_0x5170('0x62')]({'plain':!![]});return db[_0x5170('0x79')]['find']({'where':{'id':_0x2e9b5f['MailInteractionId']}});}return null;})['then'](handleEntityNotFound(_0xbfceb3,null))['then'](function(_0x3a9f39){if(_0x3a9f39){_0xab4abe[_0x5170('0x64')]=_0x3a9f39[_0x5170('0x62')]({'plain':!![]});interaction_log[_0x5170('0x10')](_0x5170('0x7a'),_0x512278[_0x5170('0x5f')]['id'],_0x512278[_0x5170('0x5f')][_0x5170('0x22')],_0x512278[_0x5170('0x5f')][_0x5170('0x7b')],_0xab4abe['interaction']['id'],_0x512278[_0x5170('0x41')]?JSON[_0x5170('0x59')](_0x512278[_0x5170('0x41')]):'null');return respondWithRpcPromise(_0x5170('0x7c'),_0x5170('0x7d'),_0xab4abe);}return null;})[_0x5170('0xf')](function(_0x4b7d12){var _0x319bb5=_0x5170('0x68')+_0x4b7d12[_0x5170('0x16')][_0x5170('0x69')];return db['sequelize']['query'](_0x319bb5,{'type':db['Sequelize'][_0x5170('0x6b')][_0x5170('0x6c')],'raw':!![]})[_0x5170('0xf')](function(_0x536d81){return _0x536d81;});})[_0x5170('0xf')](function(_0x3993d9){if(_0x3993d9){_0xab4abe[_0x5170('0x16')][_0x5170('0x7e')]=_0x3993d9[0x0];if(!_0x512278[_0x5170('0x41')][_0x5170('0x5e')])return;return db[_0x5170('0x6d')]['find']({'where':{'id':_0x512278['body'][_0x5170('0x5e')],'role':_0x5170('0x6e')},'attributes':['id',_0x5170('0x22'),'fullname',_0x5170('0x70'),_0x5170('0x71')],'raw':!![]});}return null;})[_0x5170('0xf')](function(_0x1823ee){if(!_0x1823ee)return null;_0xab4abe[_0x5170('0x16')][_0x5170('0x6e')]=_0x1823ee;return _0xab4abe;})['then'](function(_0x418156){if(_0x418156){_0x418156[_0x5170('0x16')]['interface']=util[_0x5170('0x58')](_0x5170('0x7f'),_0x512278[_0x5170('0x5f')][_0x5170('0x22')]);_0x418156[_0x5170('0x16')]['channel']=_0xab4abe['channel'];_0x418156[_0x5170('0x16')][_0x5170('0x75')]=_0xab4abe[_0x5170('0x74')];_0x418156[_0x5170('0x16')][_0x5170('0x76')]=_0x5170('0x78');_0x418156[_0x5170('0x16')][_0x5170('0x41')]=htmlToText[_0x5170('0x80')](_0xab4abe[_0x5170('0x16')][_0x5170('0x41')]);respondWithRpcPromise(_0x5170('0x77'),'EventManager',{'event':_0x5170('0x81'),'message':_0x418156[_0x5170('0x16')]},client9002);return _0xab4abe;}return null;})['then'](respondWithResult(_0xbfceb3,null))[_0x5170('0x3b')](handleError(_0xbfceb3,null));};exports['download']=function(_0x3ece65,_0x461fdb){var _0x3ace3e=moment()[_0x5170('0x82')]()['toString']();var _0x40d796=path[_0x5170('0x83')](config[_0x5170('0x52')],_0x5170('0x84'),'files',_0x5170('0x85'));var _0xd699d8=path['join'](config[_0x5170('0x52')],'server',_0x5170('0x86'),_0x5170('0x51'));var _0x161185=util[_0x5170('0x58')](_0x5170('0x87'),_0x3ace3e);return db[_0x5170('0x26')][_0x5170('0x3f')]({'where':{'id':_0x3ece65[_0x5170('0x3d')]['id']},'attributes':['id',_0x5170('0x41'),'from','to','cc','bcc',_0x5170('0x88'),_0x5170('0x89')],'include':_0x3ece65[_0x5170('0x2a')][_0x5170('0x51')]?[{'model':db[_0x5170('0x8a')],'as':_0x5170('0x8b')}]:undefined})[_0x5170('0xf')](handleEntityNotFound(_0x461fdb,null))[_0x5170('0xf')](function(_0x2dc03e){if(_0x2dc03e){var _0x36fdb1=_0x2dc03e;var _0x195f22={'from':_0x36fdb1['from'],'to':_0x36fdb1['to'],'subject':_0x36fdb1[_0x5170('0x88')],'html':htmlEntities['decode'](_0x36fdb1[_0x5170('0x41')]),'headers':{'Date':moment(_0x36fdb1[_0x5170('0x89')])[_0x5170('0x58')](_0x5170('0x8c'))},'attachments':[]};if(_0x2dc03e['cc']){_0x195f22['headers']['Cc']=_0x2dc03e['cc'];}if(_0x2dc03e['bcc']){_0x195f22['headers'][_0x5170('0x8d')]=_0x2dc03e['bcc'];}return new BPromise(function(_0x23e7ba,_0x51642d){if(_0x2dc03e['Attachments']){for(var _0x2e03f2=0x0;_0x2e03f2<_0x2dc03e[_0x5170('0x8b')][_0x5170('0x30')];_0x2e03f2++){var _0x3e0995=_0x2dc03e['Attachments'][_0x2e03f2];var _0x15d1c8=path['join'](_0xd699d8,_0x3e0995[_0x5170('0x54')]);if(fs[_0x5170('0x8e')](_0x15d1c8)){_0x195f22[_0x5170('0x51')][_0x5170('0x8f')]({'name':_0x3e0995[_0x5170('0x22')],'contentType':_0x3e0995['type'],'data':fs[_0x5170('0x90')](_0x15d1c8)});}}}emlformat['build'](_0x195f22,function(_0xa84862,_0x2b5632){if(_0xa84862)return _0x51642d(_0xa84862);fs[_0x5170('0x91')](path[_0x5170('0x83')](_0x40d796,_0x161185),_0x2b5632);return _0x23e7ba(_0x2b5632);});});}})[_0x5170('0xf')](function(_0x318586){if(_0x318586){return _0x461fdb[_0x5170('0x92')](path[_0x5170('0x83')](_0x40d796,_0x161185),_0x161185,function(_0x58c959){if(!_0x58c959)fs[_0x5170('0x93')](path[_0x5170('0x83')](_0x40d796,_0x161185));});}})[_0x5170('0x3b')](handleError(_0x461fdb,null));};