Built motion from commit (unavailable).|2.5.31
[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 _0xa3c4=['rejectmessage','join','root','server','files','tmp','message-%s.eml','from','bcc','subject','Attachment','Attachments','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','push','readFileSync','build','writeFileSync','download','log','unlinkSync','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','http','client','request','info','request\x20sent','debug','stringify','error','code','MailMessage,\x20%s,\x20%s','message','catch','end','status','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','then','sendStatus','stack','name','merge','body','contact','agent','interaction','account','index','map','fieldName','type','intersection','model','fields','query','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','options','MailMessage','includeAll','include','rows','show','keys','length','find','destroy','describe','create','direction','out','split','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','host','port','secure','auth','pass','user','attachments','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','UserId','params','Contact','get','MailInteraction','MailInteractionId','read1stAt','null','AcceptMessage','acceptMessage','interface','SIP/%s','channel','event','EventManager','acceptmessage','../../config/logger','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage'];(function(_0x55440c,_0x50302e){var _0x50409c=function(_0x29de05){while(--_0x29de05){_0x55440c['push'](_0x55440c['shift']());}};_0x50409c(++_0x50302e);}(_0xa3c4,0xbd));var _0x4a3c=function(_0x38ccb6,_0x22e5ee){_0x38ccb6=_0x38ccb6-0x0;var _0xee5059=_0xa3c4[_0x38ccb6];return _0xee5059;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x4a3c('0x0'));var jsonpatch=require(_0x4a3c('0x1'));var rp=require(_0x4a3c('0x2'));var moment=require(_0x4a3c('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4a3c('0x4'));var util=require('util');var path=require('path');var sox=require(_0x4a3c('0x5'));var csv=require(_0x4a3c('0x6'));var ejs=require(_0x4a3c('0x7'));var fs=require('fs');var fs_extra=require(_0x4a3c('0x8'));var _=require('lodash');var squel=require(_0x4a3c('0x9'));var crypto=require(_0x4a3c('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x4a3c('0xb'));var toCsv=require(_0x4a3c('0x6'));var querystring=require(_0x4a3c('0xc'));var Papa=require(_0x4a3c('0xd'));var Redis=require(_0x4a3c('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4a3c('0xf'));var logger=require('../../config/logger')(_0x4a3c('0x10'));var utils=require(_0x4a3c('0x11'));var config=require(_0x4a3c('0x12'));var licenseUtil=require(_0x4a3c('0x13'));var db=require(_0x4a3c('0x14'))['db'];config[_0x4a3c('0x15')]=_[_0x4a3c('0x16')](config[_0x4a3c('0x15')],{'host':_0x4a3c('0x17'),'port':0x18eb});var socket=require(_0x4a3c('0x18'))(new Redis(config[_0x4a3c('0x15')]));require(_0x4a3c('0x19'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x4a3c('0x1a')]({'port':0x232c});var client9003=jayson[_0x4a3c('0x1b')][_0x4a3c('0x1a')]({'port':0x232b});var client9002=jayson[_0x4a3c('0x1b')]['http']({'port':0x232a});function respondWithRpcPromise(_0x224a13,_0x332c1f,_0x5eb423,_0x131de6){return new BPromise(function(_0x45c65c,_0x5e73d0){var _0x54f251=_0x131de6||client;return _0x54f251[_0x4a3c('0x1c')](_0x224a13,_0x5eb423)['then'](function(_0x4da0af){logger[_0x4a3c('0x1d')]('MailMessage,\x20%s,\x20%s',_0x332c1f,_0x4a3c('0x1e'));logger[_0x4a3c('0x1f')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x332c1f,_0x4a3c('0x1e'),JSON[_0x4a3c('0x20')](_0x4da0af));if(_0x4da0af['error']){if(_0x4da0af[_0x4a3c('0x21')][_0x4a3c('0x22')]===0x1f4){logger[_0x4a3c('0x21')](_0x4a3c('0x23'),_0x332c1f,_0x4da0af[_0x4a3c('0x21')][_0x4a3c('0x24')]);return _0x5e73d0(_0x4da0af[_0x4a3c('0x21')]['message']);}logger[_0x4a3c('0x21')](_0x4a3c('0x23'),_0x332c1f,_0x4da0af[_0x4a3c('0x21')]['message']);return _0x45c65c(_0x4da0af[_0x4a3c('0x21')][_0x4a3c('0x24')]);}else{logger[_0x4a3c('0x1d')](_0x4a3c('0x23'),_0x332c1f,_0x4a3c('0x1e'));_0x45c65c(_0x4da0af['result'][_0x4a3c('0x24')]);}})[_0x4a3c('0x25')](function(_0x28f3d8){logger[_0x4a3c('0x21')](_0x4a3c('0x23'),_0x332c1f,_0x28f3d8);_0x5e73d0(_0x28f3d8);});});}function respondWithStatusCode(_0x196811,_0x259e91){_0x259e91=_0x259e91||0xcc;return function(_0xd6ff27){if(_0xd6ff27){return _0x196811['sendStatus'](_0x259e91);}return _0x196811['status'](_0x259e91)[_0x4a3c('0x26')]();};}function respondWithResult(_0x214337,_0x10c132){_0x10c132=_0x10c132||0xc8;return function(_0x4e442e){if(_0x4e442e){return _0x214337[_0x4a3c('0x27')](_0x10c132)[_0x4a3c('0x28')](_0x4e442e);}};}function respondWithFilteredResult(_0x96183a,_0x385943){return function(_0x57085e){if(_0x57085e){var _0x5c9766=typeof _0x385943['offset']==='undefined'&&typeof _0x385943[_0x4a3c('0x29')]===_0x4a3c('0x2a');var _0x1cc617=_0x57085e[_0x4a3c('0x2b')];var _0x1ed786=_0x5c9766?0x0:_0x385943[_0x4a3c('0x2c')];var _0x3b9ac4=_0x5c9766?_0x57085e[_0x4a3c('0x2b')]:_0x385943[_0x4a3c('0x2c')]+_0x385943[_0x4a3c('0x29')];var _0x497bb8;if(_0x3b9ac4>=_0x1cc617){_0x3b9ac4=_0x1cc617;_0x497bb8=0xc8;}else{_0x497bb8=0xce;}_0x96183a[_0x4a3c('0x27')](_0x497bb8);return _0x96183a[_0x4a3c('0x2d')](_0x4a3c('0x2e'),_0x1ed786+'-'+_0x3b9ac4+'/'+_0x1cc617)['json'](_0x57085e);}return null;};}function patchUpdates(_0x5775e4){return function(_0x5b49c6){try{jsonpatch[_0x4a3c('0x2f')](_0x5b49c6,_0x5775e4,!![]);}catch(_0x434c61){return BPromise[_0x4a3c('0x30')](_0x434c61);}return _0x5b49c6[_0x4a3c('0x31')]();};}function saveUpdates(_0x339f02,_0xe51730){return function(_0x525879){if(_0x525879){return _0x525879[_0x4a3c('0x32')](_0x339f02)[_0x4a3c('0x33')](function(_0x24266c){return _0x24266c;});}return null;};}function removeEntity(_0x47f0cb,_0x2e1498){return function(_0x78c9d4){if(_0x78c9d4){return _0x78c9d4['destroy']()['then'](function(){_0x47f0cb[_0x4a3c('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x15e4e1,_0xff7330){return function(_0x183561){if(!_0x183561){_0x15e4e1[_0x4a3c('0x34')](0x194);}return _0x183561;};}function handleError(_0xa7aacd,_0x19c790){_0x19c790=_0x19c790||0x1f4;return function(_0x123f72){logger[_0x4a3c('0x21')](_0x123f72[_0x4a3c('0x35')]);if(_0x123f72[_0x4a3c('0x36')]){delete _0x123f72['name'];}_0xa7aacd[_0x4a3c('0x27')](_0x19c790)['send'](_0x123f72);};}function getMustacheRender(_0x38abfe,_0x70f22d){return Mustache['render'](_0x38abfe,_[_0x4a3c('0x37')](_0x70f22d[_0x4a3c('0x38')],{'contact':_0x70f22d[_0x4a3c('0x39')],'message':_0x70f22d[_0x4a3c('0x24')],'agent':_0x70f22d[_0x4a3c('0x3a')],'interaction':_0x70f22d[_0x4a3c('0x3b')],'account':_0x70f22d[_0x4a3c('0x3c')]}))||'';}exports[_0x4a3c('0x3d')]=function(_0x35e684,_0x442ce7){var _0x2ee2ae={},_0x1238ea={},_0x56b514={'count':0x0,'rows':[]};var _0x1330e5=_[_0x4a3c('0x3e')](db['MailMessage']['rawAttributes'],function(_0x5eeae4){return{'name':_0x5eeae4[_0x4a3c('0x3f')],'type':_0x5eeae4[_0x4a3c('0x40')]['key']};});_0x1238ea['model']=_[_0x4a3c('0x3e')](_0x1330e5,_0x4a3c('0x36'));_0x1238ea['query']=_['keys'](_0x35e684['query']);_0x1238ea['filters']=_[_0x4a3c('0x41')](_0x1238ea['model'],_0x1238ea['query']);_0x2ee2ae['attributes']=_[_0x4a3c('0x41')](_0x1238ea[_0x4a3c('0x42')],qs[_0x4a3c('0x43')](_0x35e684[_0x4a3c('0x44')]['fields']));_0x2ee2ae[_0x4a3c('0x45')]=_0x2ee2ae[_0x4a3c('0x45')]['length']?_0x2ee2ae['attributes']:_0x1238ea[_0x4a3c('0x42')];if(!_0x35e684[_0x4a3c('0x44')][_0x4a3c('0x46')](_0x4a3c('0x47'))){_0x2ee2ae[_0x4a3c('0x29')]=qs[_0x4a3c('0x29')](_0x35e684[_0x4a3c('0x44')]['limit']);_0x2ee2ae[_0x4a3c('0x2c')]=qs[_0x4a3c('0x2c')](_0x35e684['query'][_0x4a3c('0x2c')]);}_0x2ee2ae[_0x4a3c('0x48')]=qs[_0x4a3c('0x49')](_0x35e684['query'][_0x4a3c('0x49')]);_0x2ee2ae[_0x4a3c('0x4a')]=qs[_0x4a3c('0x4b')](_[_0x4a3c('0x4c')](_0x35e684[_0x4a3c('0x44')],_0x1238ea[_0x4a3c('0x4b')]),_0x1330e5);if(_0x35e684[_0x4a3c('0x44')][_0x4a3c('0x4d')]){_0x2ee2ae[_0x4a3c('0x4a')]=_[_0x4a3c('0x37')](_0x2ee2ae[_0x4a3c('0x4a')],{'$or':_[_0x4a3c('0x3e')](_0x1330e5,function(_0x583f02){if(_0x583f02[_0x4a3c('0x40')]!==_0x4a3c('0x4e')){var _0x242298={};_0x242298[_0x583f02['name']]={'$like':'%'+_0x35e684[_0x4a3c('0x44')][_0x4a3c('0x4d')]+'%'};return _0x242298;}})});}_0x2ee2ae=_[_0x4a3c('0x37')]({},_0x2ee2ae,_0x35e684[_0x4a3c('0x4f')]);var _0x5cf9df={'where':_0x2ee2ae[_0x4a3c('0x4a')]};return db[_0x4a3c('0x50')][_0x4a3c('0x2b')](_0x5cf9df)['then'](function(_0x5ac896){_0x56b514[_0x4a3c('0x2b')]=_0x5ac896;if(_0x35e684[_0x4a3c('0x44')][_0x4a3c('0x51')]){_0x2ee2ae[_0x4a3c('0x52')]=[{'all':!![]}];}return db[_0x4a3c('0x50')]['findAll'](_0x2ee2ae);})[_0x4a3c('0x33')](function(_0x1808a6){_0x56b514[_0x4a3c('0x53')]=_0x1808a6;return _0x56b514;})[_0x4a3c('0x33')](respondWithFilteredResult(_0x442ce7,_0x2ee2ae))[_0x4a3c('0x25')](handleError(_0x442ce7,null));};exports[_0x4a3c('0x54')]=function(_0x28c2e8,_0x3ee4a8){var _0x3b2061={'raw':!![],'where':{'id':_0x28c2e8['params']['id']}},_0x498c29={};_0x498c29[_0x4a3c('0x42')]=_[_0x4a3c('0x55')](db[_0x4a3c('0x50')]['rawAttributes']);_0x498c29[_0x4a3c('0x44')]=_[_0x4a3c('0x55')](_0x28c2e8[_0x4a3c('0x44')]);_0x498c29['filters']=_[_0x4a3c('0x41')](_0x498c29[_0x4a3c('0x42')],_0x498c29[_0x4a3c('0x44')]);_0x3b2061[_0x4a3c('0x45')]=_[_0x4a3c('0x41')](_0x498c29[_0x4a3c('0x42')],qs[_0x4a3c('0x43')](_0x28c2e8[_0x4a3c('0x44')][_0x4a3c('0x43')]));_0x3b2061[_0x4a3c('0x45')]=_0x3b2061[_0x4a3c('0x45')][_0x4a3c('0x56')]?_0x3b2061[_0x4a3c('0x45')]:_0x498c29[_0x4a3c('0x42')];if(_0x28c2e8[_0x4a3c('0x44')][_0x4a3c('0x51')]){_0x3b2061[_0x4a3c('0x52')]=[{'all':!![]}];}_0x3b2061=_[_0x4a3c('0x37')]({},_0x3b2061,_0x28c2e8[_0x4a3c('0x4f')]);return db[_0x4a3c('0x50')][_0x4a3c('0x57')](_0x3b2061)[_0x4a3c('0x33')](handleEntityNotFound(_0x3ee4a8,null))[_0x4a3c('0x33')](respondWithResult(_0x3ee4a8,null))[_0x4a3c('0x25')](handleError(_0x3ee4a8,null));};exports[_0x4a3c('0x32')]=function(_0x1f3d46,_0x557174){if(_0x1f3d46[_0x4a3c('0x38')]['id']){delete _0x1f3d46['body']['id'];}return db[_0x4a3c('0x50')][_0x4a3c('0x57')]({'where':{'id':_0x1f3d46['params']['id']}})[_0x4a3c('0x33')](handleEntityNotFound(_0x557174,null))[_0x4a3c('0x33')](saveUpdates(_0x1f3d46['body'],null))['then'](respondWithResult(_0x557174,null))[_0x4a3c('0x25')](handleError(_0x557174,null));};exports[_0x4a3c('0x58')]=function(_0x288ef7,_0x4b90af){return db[_0x4a3c('0x50')]['find']({'where':{'id':_0x288ef7['params']['id']}})['then'](handleEntityNotFound(_0x4b90af,null))[_0x4a3c('0x33')](removeEntity(_0x4b90af,null))['catch'](handleError(_0x4b90af,null));};exports[_0x4a3c('0x59')]=function(_0x45d446,_0x59090e){return db[_0x4a3c('0x50')][_0x4a3c('0x59')]()['then'](respondWithResult(_0x59090e,null))[_0x4a3c('0x25')](handleError(_0x59090e,null));};exports['create']=function(_0x2a9acc,_0x39c2de){return db[_0x4a3c('0x50')][_0x4a3c('0x5a')](_0x2a9acc[_0x4a3c('0x38')])[_0x4a3c('0x33')](function(_0x530412){if(_0x530412){if(_0x530412[_0x4a3c('0x5b')]===_0x4a3c('0x5c')&&!_0x530412['secret']){var _0x1b1fdb,_0x37b3bc,_0x531e9d;if(_0x2a9acc[_0x4a3c('0x38')]['to']){_0x37b3bc=_0x2a9acc[_0x4a3c('0x38')]['to'][_0x4a3c('0x5d')](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x530412[_0x4a3c('0x5e')]},'include':[{'model':db[_0x4a3c('0x5f')],'as':_0x4a3c('0x60'),'include':[{'model':db[_0x4a3c('0x61')],'as':_0x4a3c('0x62'),'where':{'email':_0x37b3bc},'limit':0x1,'order':[[_0x4a3c('0x63'),_0x4a3c('0x64')]]}]},{'model':db[_0x4a3c('0x65')],'as':_0x4a3c('0x66'),'raw':!![]}]})[_0x4a3c('0x33')](function(_0x134574){_0x1b1fdb=_0x134574;if(_0x1b1fdb&&_0x1b1fdb['Smtp']){var _0x3dc228={'tls':{'rejectUnauthorized':![]}};if(_[_0x4a3c('0x67')](_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x68')])){_0x3dc228[_0x4a3c('0x69')]=_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x69')];_0x3dc228[_0x4a3c('0x6a')]=_0x1b1fdb[_0x4a3c('0x66')]['port'];_0x3dc228['secure']=_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x6b')];if(_0x1b1fdb[_0x4a3c('0x66')]['authentication']){_0x3dc228[_0x4a3c('0x6c')]={'user':_0x1b1fdb[_0x4a3c('0x66')]['user'],'pass':_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x6d')]};}}else{_0x3dc228[_0x4a3c('0x68')]=_0x1b1fdb['Smtp'][_0x4a3c('0x68')];_0x3dc228[_0x4a3c('0x6c')]={'user':_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x6e')],'pass':_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x6d')]};_0x3dc228['secure']=_0x1b1fdb[_0x4a3c('0x66')][_0x4a3c('0x6b')];}if(_0x2a9acc[_0x4a3c('0x38')][_0x4a3c('0x6f')]&&_0x2a9acc[_0x4a3c('0x38')][_0x4a3c('0x6f')][_0x4a3c('0x56')]){for(var _0x1a624a=0x0;_0x1a624a<_0x2a9acc[_0x4a3c('0x38')][_0x4a3c('0x6f')][_0x4a3c('0x56')];_0x1a624a+=0x1){_0x2a9acc[_0x4a3c('0x38')][_0x4a3c('0x6f')][_0x1a624a]={'filename':_0x2a9acc['body'][_0x4a3c('0x6f')][_0x1a624a][_0x4a3c('0x36')],'path':path['join'](config['root'],'server/files/attachments',_0x2a9acc[_0x4a3c('0x38')]['attachments'][_0x1a624a]['basename'])};}}_0x531e9d={'account':_0x3dc228,'message':_0x2a9acc['body']};return;}})['then'](function(){if(_0x1b1fdb[_0x4a3c('0x60')]){if(_0x1b1fdb[_0x4a3c('0x60')]['Contacts'][_0x4a3c('0x56')]){return _0x1b1fdb[_0x4a3c('0x60')]['Contacts'][0x0];}else{return db[_0x4a3c('0x61')][_0x4a3c('0x5a')](_[_0x4a3c('0x16')](_0x2a9acc[_0x4a3c('0x38')],{'firstName':_0x2a9acc[_0x4a3c('0x38')]['to'],'email':_0x2a9acc['body']['to'],'phone':_0x2a9acc[_0x4a3c('0x38')]['to'],'ListId':_0x1b1fdb[_0x4a3c('0x70')]}));}}else{throw new Error(_0x4a3c('0x71'));}})[_0x4a3c('0x33')](function(){if(_0x531e9d){return respondWithRpcPromise(_0x4a3c('0x72'),_0x4a3c('0x73'),_0x531e9d,client9003)['then'](function(_0x244663){return _0x530412[_0x4a3c('0x32')]({'read':!![],'messageId':_0x244663[_0x4a3c('0x74')],'sentAt':moment()[_0x4a3c('0x75')](_0x4a3c('0x76'))});})[_0x4a3c('0x25')](function(_0x5ddd51){logger[_0x4a3c('0x21')]('%s',JSON[_0x4a3c('0x20')](_0x5ddd51));return _0x530412;});}return _0x530412;});}return _0x530412;}})['then'](respondWithResult(_0x39c2de,0xc9))[_0x4a3c('0x25')](handleError(_0x39c2de,null));};var interaction_log=require('../../config/logger')(_0x4a3c('0x77'));exports[_0x4a3c('0x78')]=function(_0x265a02,_0x2b677f,_0x3c29b9){var _0x5b1b3f={'agent':{},'channel':_0x4a3c('0x79')};if(_0x265a02[_0x4a3c('0x38')]['id']){delete _0x265a02[_0x4a3c('0x38')]['id'];}_0x265a02[_0x4a3c('0x38')]['read']=!![];_0x265a02[_0x4a3c('0x38')]['readAt']=moment()['format'](_0x4a3c('0x76'));_0x265a02['body']['UserId']=_0x265a02[_0x4a3c('0x38')][_0x4a3c('0x7a')]||_0x265a02[_0x4a3c('0x6e')]['id'];_0x5b1b3f[_0x4a3c('0x3a')]['id']=_0x265a02[_0x4a3c('0x38')][_0x4a3c('0x7a')];return db['MailMessage']['find']({'where':{'id':_0x265a02[_0x4a3c('0x7b')]['id'],'UserId':null},'include':[{'model':db[_0x4a3c('0x61')],'as':_0x4a3c('0x7c')}]})[_0x4a3c('0x33')](handleEntityNotFound(_0x2b677f,null))['then'](saveUpdates(_0x265a02[_0x4a3c('0x38')],null))[_0x4a3c('0x33')](function(_0x55fb2d){if(_0x55fb2d){_0x5b1b3f[_0x4a3c('0x24')]=_0x55fb2d[_0x4a3c('0x7d')]({'plain':!![]});return db[_0x4a3c('0x7e')][_0x4a3c('0x57')]({'where':{'id':_0x55fb2d[_0x4a3c('0x7f')]}});}return null;})['then'](handleEntityNotFound(_0x2b677f,null))['then'](function(_0x1ae34e){if(_0x1ae34e){return _0x1ae34e[_0x4a3c('0x32')]({'UserId':_0x265a02[_0x4a3c('0x38')][_0x4a3c('0x7a')],'read1stAt':_[_0x4a3c('0x67')](_0x1ae34e[_0x4a3c('0x80')])?moment()['format'](_0x4a3c('0x76')):undefined});}return null;})['then'](function(_0xdb21b7){if(_0xdb21b7){_0x5b1b3f[_0x4a3c('0x3b')]=_0xdb21b7['get']({'plain':!![]});interaction_log[_0x4a3c('0x1d')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x265a02[_0x4a3c('0x6e')]['id'],_0x265a02[_0x4a3c('0x6e')][_0x4a3c('0x36')],_0x265a02[_0x4a3c('0x6e')]['role'],_0x5b1b3f[_0x4a3c('0x3b')]['id'],_0x265a02[_0x4a3c('0x38')]?JSON[_0x4a3c('0x20')](_0x265a02['body']):_0x4a3c('0x81'));return respondWithRpcPromise(_0x4a3c('0x82'),_0x4a3c('0x83'),_0x5b1b3f);}return null;})[_0x4a3c('0x33')](function(_0x26a8a6){if(_0x26a8a6){if(_0x265a02['body']['manual']){_0x5b1b3f[_0x4a3c('0x24')][_0x4a3c('0x84')]=util['format'](_0x4a3c('0x85'),_0x265a02[_0x4a3c('0x6e')][_0x4a3c('0x36')]);_0x5b1b3f[_0x4a3c('0x24')][_0x4a3c('0x86')]=_0x5b1b3f[_0x4a3c('0x86')];_0x5b1b3f[_0x4a3c('0x24')][_0x4a3c('0x87')]=_0x4a3c('0x78');return respondWithRpcPromise(_0x4a3c('0x88'),_0x4a3c('0x88'),{'event':_0x4a3c('0x89'),'message':_0x5b1b3f['message']},client9002)['then'](function(){return _0x5b1b3f;});}return _0x5b1b3f;}return null;})[_0x4a3c('0x33')](respondWithResult(_0x2b677f,null))['catch'](handleError(_0x2b677f,null));};var interaction_log=require(_0x4a3c('0x8a'))('mail-interactions');exports[_0x4a3c('0x30')]=function(_0x1727dd,_0x1b0a80,_0x5295bd){var _0xcd2193={'agent':{},'channel':_0x4a3c('0x79')};if(_0x1727dd[_0x4a3c('0x38')]['id']){delete _0x1727dd['body']['id'];}_0x1727dd[_0x4a3c('0x38')][_0x4a3c('0x7a')]=_0x1727dd[_0x4a3c('0x38')][_0x4a3c('0x7a')]||_0x1727dd[_0x4a3c('0x6e')]['id'];_0xcd2193[_0x4a3c('0x3a')]['id']=_0x1727dd[_0x4a3c('0x38')][_0x4a3c('0x7a')];return db[_0x4a3c('0x50')][_0x4a3c('0x57')]({'where':{'id':_0x1727dd[_0x4a3c('0x7b')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x1b0a80,null))[_0x4a3c('0x33')](function(_0x51bcaa){if(_0x51bcaa){_0xcd2193[_0x4a3c('0x24')]=_0x51bcaa[_0x4a3c('0x7d')]({'plain':!![]});return db['MailInteraction'][_0x4a3c('0x57')]({'where':{'id':_0x51bcaa[_0x4a3c('0x7f')]}});}return null;})[_0x4a3c('0x33')](handleEntityNotFound(_0x1b0a80,null))['then'](function(_0x4743be){if(_0x4743be){_0xcd2193['interaction']=_0x4743be[_0x4a3c('0x7d')]({'plain':!![]});interaction_log[_0x4a3c('0x1d')](_0x4a3c('0x8b'),_0x1727dd['user']['id'],_0x1727dd[_0x4a3c('0x6e')][_0x4a3c('0x36')],_0x1727dd[_0x4a3c('0x6e')]['role'],_0xcd2193['interaction']['id'],_0x1727dd[_0x4a3c('0x38')]?JSON['stringify'](_0x1727dd['body']):'null');return respondWithRpcPromise(_0x4a3c('0x8c'),'rejectMessage',_0xcd2193);}return null;})['then'](function(_0x30e452){if(_0x30e452){_0x30e452['message'][_0x4a3c('0x84')]=util['format']('SIP/%s',_0x1727dd[_0x4a3c('0x6e')]['name']);_0x30e452[_0x4a3c('0x24')][_0x4a3c('0x86')]=_0xcd2193[_0x4a3c('0x86')];_0x30e452['message'][_0x4a3c('0x87')]=_0x4a3c('0x30');respondWithRpcPromise(_0x4a3c('0x88'),'EventManager',{'event':_0x4a3c('0x8d'),'message':_0x30e452[_0x4a3c('0x24')]},client9002);return _0xcd2193;}return null;})['then'](respondWithResult(_0x1b0a80,null))['catch'](handleError(_0x1b0a80,null));};exports['download']=function(_0x2a79bd,_0x5e1550){var _0x3207e9=moment()['unix']()['toString']();var _0x17be1a=path[_0x4a3c('0x8e')](config[_0x4a3c('0x8f')],_0x4a3c('0x90'),_0x4a3c('0x91'),_0x4a3c('0x92'));var _0x282278=path[_0x4a3c('0x8e')](config[_0x4a3c('0x8f')],'server',_0x4a3c('0x91'),'attachments');var _0x4d3ab6=util[_0x4a3c('0x75')](_0x4a3c('0x93'),_0x3207e9);return db[_0x4a3c('0x50')][_0x4a3c('0x57')]({'where':{'id':_0x2a79bd[_0x4a3c('0x7b')]['id']},'attributes':['id',_0x4a3c('0x38'),_0x4a3c('0x94'),'to','cc',_0x4a3c('0x95'),_0x4a3c('0x96'),'createdAt'],'include':_0x2a79bd['query']['attachments']?[{'model':db[_0x4a3c('0x97')],'as':_0x4a3c('0x98')}]:undefined})[_0x4a3c('0x33')](handleEntityNotFound(_0x5e1550,null))[_0x4a3c('0x33')](function(_0x4537ee){if(_0x4537ee){var _0x356494=_0x4537ee;var _0x3eb5d2={'from':_0x356494[_0x4a3c('0x94')],'to':_0x356494['to'],'subject':_0x356494[_0x4a3c('0x96')],'html':_0x356494[_0x4a3c('0x38')],'headers':{'Date':moment(_0x356494[_0x4a3c('0x99')])['format'](_0x4a3c('0x9a'))},'attachments':[]};if(_0x4537ee['cc']){_0x3eb5d2[_0x4a3c('0x9b')]['Cc']=_0x4537ee['cc'];}if(_0x4537ee[_0x4a3c('0x95')]){_0x3eb5d2[_0x4a3c('0x9b')][_0x4a3c('0x9c')]=_0x4537ee[_0x4a3c('0x95')];}return new BPromise(function(_0x390262,_0x4fa817){if(_0x4537ee[_0x4a3c('0x98')]){for(var _0x389e7e=0x0;_0x389e7e<_0x4537ee[_0x4a3c('0x98')][_0x4a3c('0x56')];_0x389e7e++){var _0x4eda3b=_0x4537ee[_0x4a3c('0x98')][_0x389e7e];var _0x13f0b5=path[_0x4a3c('0x8e')](_0x282278,_0x4eda3b[_0x4a3c('0x9d')]);if(fs['existsSync'](_0x13f0b5)){_0x3eb5d2['attachments'][_0x4a3c('0x9e')]({'name':_0x4eda3b[_0x4a3c('0x36')],'contentType':_0x4eda3b[_0x4a3c('0x40')],'data':fs[_0x4a3c('0x9f')](_0x13f0b5)});}}}emlformat[_0x4a3c('0xa0')](_0x3eb5d2,function(_0x317af2,_0xd2250c){if(_0x317af2)return _0x4fa817(_0x317af2);fs[_0x4a3c('0xa1')](path['join'](_0x17be1a,_0x4d3ab6),_0xd2250c);return _0x390262(_0xd2250c);});});}})[_0x4a3c('0x33')](function(_0x39a11b){if(_0x39a11b){return _0x5e1550[_0x4a3c('0xa2')](path[_0x4a3c('0x8e')](_0x17be1a,_0x4d3ab6),_0x4d3ab6,function(_0x37a874){if(_0x37a874){console[_0x4a3c('0xa3')]('err',_0x37a874);}else{fs[_0x4a3c('0xa4')](path[_0x4a3c('0x8e')](_0x17be1a,_0x4d3ab6));}});}})[_0x4a3c('0x25')](handleError(_0x5e1550,null));};