Built motion from commit (unavailable).|2.5.14
[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 _0xc9a8=['service','host','port','secure','authentication','auth','user','pass','attachments','join','root','server/files/attachments','basename','CmContact','ListId','List\x20not\x20found','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','mail','read','UserId','Contact','MailInteraction','MailInteractionId','isNil','read1stAt','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interaction','null','interface','SIP/%s','channel','event','accept','EventManager','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','rejectmessage','download','unix','server','tmp','files','message-%s.eml','bcc','subject','createdAt','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','push','readFileSync','build','log','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','then','info','MailMessage,\x20%s,\x20%s','debug','stringify','error','message','request\x20sent','result','sendStatus','end','status','json','count','offset','limit','set','reject','save','stack','name','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','filter','map','merge','options','MailMessage','includeAll','catch','show','params','include','find','update','body','describe','create','direction','out','secret','split','findOne','MailAccountId','CmList','List','Contacts','DESC','MailServerOut','Smtp'];(function(_0x42245d,_0x51758f){var _0x4b211a=function(_0x2634e){while(--_0x2634e){_0x42245d['push'](_0x42245d['shift']());}};_0x4b211a(++_0x51758f);}(_0xc9a8,0xe5));var _0x8c9a=function(_0x364cf8,_0x146b9b){_0x364cf8=_0x364cf8-0x0;var _0x6a59ee=_0xc9a8[_0x364cf8];return _0x6a59ee;};'use strict';var pdf=require(_0x8c9a('0x0'));var emlformat=require(_0x8c9a('0x1'));var rimraf=require(_0x8c9a('0x2'));var zipdir=require(_0x8c9a('0x3'));var jsonpatch=require(_0x8c9a('0x4'));var rp=require(_0x8c9a('0x5'));var moment=require(_0x8c9a('0x6'));var BPromise=require(_0x8c9a('0x7'));var Mustache=require(_0x8c9a('0x8'));var util=require(_0x8c9a('0x9'));var path=require(_0x8c9a('0xa'));var sox=require(_0x8c9a('0xb'));var csv=require(_0x8c9a('0xc'));var ejs=require(_0x8c9a('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0x8c9a('0xe'));var crypto=require(_0x8c9a('0xf'));var jsforce=require(_0x8c9a('0x10'));var deskjs=require(_0x8c9a('0x11'));var toCsv=require(_0x8c9a('0xc'));var querystring=require(_0x8c9a('0x12'));var Papa=require(_0x8c9a('0x13'));var Redis=require(_0x8c9a('0x14'));var authService=require(_0x8c9a('0x15'));var qs=require(_0x8c9a('0x16'));var as=require(_0x8c9a('0x17'));var hardwareService=require(_0x8c9a('0x18'));var logger=require(_0x8c9a('0x19'))(_0x8c9a('0x1a'));var utils=require(_0x8c9a('0x1b'));var config=require(_0x8c9a('0x1c'));var licenseUtil=require(_0x8c9a('0x1d'));var db=require(_0x8c9a('0x1e'))['db'];config['redis']=_[_0x8c9a('0x1f')](config[_0x8c9a('0x20')],{'host':_0x8c9a('0x21'),'port':0x18eb});var socket=require(_0x8c9a('0x22'))(new Redis(config[_0x8c9a('0x20')]));require(_0x8c9a('0x23'))[_0x8c9a('0x24')](socket);var jayson=require(_0x8c9a('0x25'));var client=jayson[_0x8c9a('0x26')][_0x8c9a('0x27')]({'port':0x232c});var client9003=jayson['client'][_0x8c9a('0x27')]({'port':0x232b});var client9002=jayson[_0x8c9a('0x26')][_0x8c9a('0x27')]({'port':0x232a});function respondWithRpcPromise(_0x12f3a0,_0x5237a7,_0x2e09e3,_0x3e40c5){return new BPromise(function(_0x1aed5b,_0xecb186){var _0x11a2d2=_0x3e40c5||client;return _0x11a2d2['request'](_0x12f3a0,_0x2e09e3)[_0x8c9a('0x28')](function(_0x53dd93){logger[_0x8c9a('0x29')](_0x8c9a('0x2a'),_0x5237a7,'request\x20sent');logger[_0x8c9a('0x2b')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x5237a7,'request\x20sent',JSON[_0x8c9a('0x2c')](_0x53dd93));if(_0x53dd93[_0x8c9a('0x2d')]){if(_0x53dd93['error']['code']===0x1f4){logger[_0x8c9a('0x2d')](_0x8c9a('0x2a'),_0x5237a7,_0x53dd93[_0x8c9a('0x2d')][_0x8c9a('0x2e')]);return _0xecb186(_0x53dd93[_0x8c9a('0x2d')][_0x8c9a('0x2e')]);}logger['error'](_0x8c9a('0x2a'),_0x5237a7,_0x53dd93['error'][_0x8c9a('0x2e')]);return _0x1aed5b(_0x53dd93['error'][_0x8c9a('0x2e')]);}else{logger[_0x8c9a('0x29')](_0x8c9a('0x2a'),_0x5237a7,_0x8c9a('0x2f'));_0x1aed5b(_0x53dd93[_0x8c9a('0x30')][_0x8c9a('0x2e')]);}})['catch'](function(_0x376ab1){logger[_0x8c9a('0x2d')](_0x8c9a('0x2a'),_0x5237a7,_0x376ab1);_0xecb186(_0x376ab1);});});}function respondWithStatusCode(_0x2efd24,_0x1baa26){_0x1baa26=_0x1baa26||0xcc;return function(_0x13a792){if(_0x13a792){return _0x2efd24[_0x8c9a('0x31')](_0x1baa26);}return _0x2efd24['status'](_0x1baa26)[_0x8c9a('0x32')]();};}function respondWithResult(_0x4e8677,_0x5c4254){_0x5c4254=_0x5c4254||0xc8;return function(_0x3ca6da){if(_0x3ca6da){return _0x4e8677[_0x8c9a('0x33')](_0x5c4254)[_0x8c9a('0x34')](_0x3ca6da);}};}function respondWithFilteredResult(_0xcd10da,_0x4b1a07){return function(_0x61bf79){if(_0x61bf79){var _0x1af252=_0x61bf79[_0x8c9a('0x35')],_0x368856=_0x4b1a07[_0x8c9a('0x36')],_0x16faca=_0x4b1a07[_0x8c9a('0x36')]+_0x4b1a07[_0x8c9a('0x37')],_0x40002b;if(_0x16faca>=_0x1af252){_0x16faca=_0x1af252;_0x40002b=0xc8;}else{_0x40002b=0xce;}_0xcd10da[_0x8c9a('0x33')](_0x40002b);return _0xcd10da[_0x8c9a('0x38')]('Content-Range',_0x368856+'-'+_0x16faca+'/'+_0x1af252)['json'](_0x61bf79);}return null;};}function patchUpdates(_0x485820){return function(_0x162afa){try{jsonpatch['apply'](_0x162afa,_0x485820,!![]);}catch(_0x3ca7bf){return BPromise[_0x8c9a('0x39')](_0x3ca7bf);}return _0x162afa[_0x8c9a('0x3a')]();};}function saveUpdates(_0x5620bc,_0x54d96e){return function(_0x5ad6e3){if(_0x5ad6e3){return _0x5ad6e3['update'](_0x5620bc)[_0x8c9a('0x28')](function(_0x446391){return _0x446391;});}return null;};}function removeEntity(_0x14f3d2,_0x11ebd1){return function(_0x11a528){if(_0x11a528){return _0x11a528['destroy']()[_0x8c9a('0x28')](function(){_0x14f3d2[_0x8c9a('0x33')](0xcc)['end']();});}};}function handleEntityNotFound(_0x25c8e1,_0x942c8c){return function(_0x4443c5){if(!_0x4443c5){_0x25c8e1['sendStatus'](0x194);}return _0x4443c5;};}function handleError(_0x1aff00,_0x1d4cc8){_0x1d4cc8=_0x1d4cc8||0x1f4;return function(_0x4ebc08){logger[_0x8c9a('0x2d')](_0x4ebc08[_0x8c9a('0x3b')]);if(_0x4ebc08[_0x8c9a('0x3c')]){delete _0x4ebc08['name'];}_0x1aff00[_0x8c9a('0x33')](_0x1d4cc8)['send'](_0x4ebc08);};}exports['index']=function(_0x4046ca,_0x334708){var _0x57cbfd={},_0x54c27b={},_0x3b2b6b={'count':0x0,'rows':[]};var _0x53f01f=_['map'](db['MailMessage'][_0x8c9a('0x3d')],function(_0x1c5ccc){return{'name':_0x1c5ccc['fieldName'],'type':_0x1c5ccc[_0x8c9a('0x3e')]['key']};});_0x54c27b[_0x8c9a('0x3f')]=_['map'](_0x53f01f,_0x8c9a('0x3c'));_0x54c27b[_0x8c9a('0x40')]=_[_0x8c9a('0x41')](_0x4046ca['query']);_0x54c27b[_0x8c9a('0x42')]=_[_0x8c9a('0x43')](_0x54c27b[_0x8c9a('0x3f')],_0x54c27b[_0x8c9a('0x40')]);_0x57cbfd[_0x8c9a('0x44')]=_[_0x8c9a('0x43')](_0x54c27b[_0x8c9a('0x3f')],qs['fields'](_0x4046ca[_0x8c9a('0x40')][_0x8c9a('0x45')]));_0x57cbfd[_0x8c9a('0x44')]=_0x57cbfd[_0x8c9a('0x44')][_0x8c9a('0x46')]?_0x57cbfd[_0x8c9a('0x44')]:_0x54c27b[_0x8c9a('0x3f')];if(!_0x4046ca[_0x8c9a('0x40')]['hasOwnProperty']('nolimit')){_0x57cbfd[_0x8c9a('0x37')]=qs['limit'](_0x4046ca[_0x8c9a('0x40')][_0x8c9a('0x37')]);_0x57cbfd[_0x8c9a('0x36')]=qs[_0x8c9a('0x36')](_0x4046ca['query']['offset']);}_0x57cbfd[_0x8c9a('0x47')]=qs[_0x8c9a('0x48')](_0x4046ca[_0x8c9a('0x40')][_0x8c9a('0x48')]);_0x57cbfd[_0x8c9a('0x49')]=qs[_0x8c9a('0x42')](_['pick'](_0x4046ca['query'],_0x54c27b[_0x8c9a('0x42')]),_0x53f01f);if(_0x4046ca[_0x8c9a('0x40')][_0x8c9a('0x4a')]){_0x57cbfd['where']=_['merge'](_0x57cbfd[_0x8c9a('0x49')],{'$or':_[_0x8c9a('0x4b')](_0x53f01f,function(_0xe4c229){if(_0xe4c229[_0x8c9a('0x3e')]!=='VIRTUAL'){var _0x19103e={};_0x19103e[_0xe4c229[_0x8c9a('0x3c')]]={'$like':'%'+_0x4046ca[_0x8c9a('0x40')][_0x8c9a('0x4a')]+'%'};return _0x19103e;}})});}_0x57cbfd=_[_0x8c9a('0x4c')]({},_0x57cbfd,_0x4046ca[_0x8c9a('0x4d')]);var _0xb9cc84={'where':_0x57cbfd[_0x8c9a('0x49')]};return db[_0x8c9a('0x4e')][_0x8c9a('0x35')](_0xb9cc84)['then'](function(_0xc8912a){_0x3b2b6b[_0x8c9a('0x35')]=_0xc8912a;if(_0x4046ca['query'][_0x8c9a('0x4f')]){_0x57cbfd['include']=[{'all':!![]}];}return db[_0x8c9a('0x4e')]['findAll'](_0x57cbfd);})['then'](function(_0x53efe6){_0x3b2b6b['rows']=_0x53efe6;return _0x3b2b6b;})[_0x8c9a('0x28')](respondWithFilteredResult(_0x334708,_0x57cbfd))[_0x8c9a('0x50')](handleError(_0x334708,null));};exports[_0x8c9a('0x51')]=function(_0x37b324,_0x5bfc31){var _0xedce1={'raw':!![],'where':{'id':_0x37b324[_0x8c9a('0x52')]['id']}},_0x4e6422={};_0x4e6422[_0x8c9a('0x3f')]=_[_0x8c9a('0x41')](db[_0x8c9a('0x4e')]['rawAttributes']);_0x4e6422['query']=_[_0x8c9a('0x41')](_0x37b324[_0x8c9a('0x40')]);_0x4e6422[_0x8c9a('0x42')]=_[_0x8c9a('0x43')](_0x4e6422[_0x8c9a('0x3f')],_0x4e6422[_0x8c9a('0x40')]);_0xedce1['attributes']=_[_0x8c9a('0x43')](_0x4e6422['model'],qs[_0x8c9a('0x45')](_0x37b324[_0x8c9a('0x40')]['fields']));_0xedce1[_0x8c9a('0x44')]=_0xedce1[_0x8c9a('0x44')]['length']?_0xedce1[_0x8c9a('0x44')]:_0x4e6422['model'];if(_0x37b324[_0x8c9a('0x40')]['includeAll']){_0xedce1[_0x8c9a('0x53')]=[{'all':!![]}];}_0xedce1=_[_0x8c9a('0x4c')]({},_0xedce1,_0x37b324[_0x8c9a('0x4d')]);return db[_0x8c9a('0x4e')][_0x8c9a('0x54')](_0xedce1)[_0x8c9a('0x28')](handleEntityNotFound(_0x5bfc31,null))[_0x8c9a('0x28')](respondWithResult(_0x5bfc31,null))[_0x8c9a('0x50')](handleError(_0x5bfc31,null));};exports[_0x8c9a('0x55')]=function(_0x528a68,_0x413966){if(_0x528a68[_0x8c9a('0x56')]['id']){delete _0x528a68[_0x8c9a('0x56')]['id'];}return db[_0x8c9a('0x4e')][_0x8c9a('0x54')]({'where':{'id':_0x528a68[_0x8c9a('0x52')]['id']}})[_0x8c9a('0x28')](handleEntityNotFound(_0x413966,null))[_0x8c9a('0x28')](saveUpdates(_0x528a68[_0x8c9a('0x56')],null))['then'](respondWithResult(_0x413966,null))[_0x8c9a('0x50')](handleError(_0x413966,null));};exports['destroy']=function(_0x581764,_0x2f4cdc){return db[_0x8c9a('0x4e')][_0x8c9a('0x54')]({'where':{'id':_0x581764[_0x8c9a('0x52')]['id']}})[_0x8c9a('0x28')](handleEntityNotFound(_0x2f4cdc,null))[_0x8c9a('0x28')](removeEntity(_0x2f4cdc,null))['catch'](handleError(_0x2f4cdc,null));};exports[_0x8c9a('0x57')]=function(_0x57ba6e,_0x4e751e){return db[_0x8c9a('0x4e')][_0x8c9a('0x57')]()[_0x8c9a('0x28')](respondWithResult(_0x4e751e,null))[_0x8c9a('0x50')](handleError(_0x4e751e,null));};exports['create']=function(_0x57a136,_0x2dce53){return db[_0x8c9a('0x4e')][_0x8c9a('0x58')](_0x57a136[_0x8c9a('0x56')])[_0x8c9a('0x28')](function(_0x453dcb){if(_0x453dcb){if(_0x453dcb[_0x8c9a('0x59')]===_0x8c9a('0x5a')&&!_0x453dcb[_0x8c9a('0x5b')]){var _0x4988f2,_0x5ebfe9,_0x31cf11;if(_0x57a136[_0x8c9a('0x56')]['to']){_0x5ebfe9=_0x57a136[_0x8c9a('0x56')]['to'][_0x8c9a('0x5c')](',')[0x0];}return db['MailAccount'][_0x8c9a('0x5d')]({'where':{'id':_0x453dcb[_0x8c9a('0x5e')]},'include':[{'model':db[_0x8c9a('0x5f')],'as':_0x8c9a('0x60'),'include':[{'model':db['CmContact'],'as':_0x8c9a('0x61'),'where':{'email':_0x5ebfe9},'limit':0x1,'order':[['updatedAt',_0x8c9a('0x62')]]}]},{'model':db[_0x8c9a('0x63')],'as':_0x8c9a('0x64'),'raw':!![]}]})['then'](function(_0x35af29){_0x4988f2=_0x35af29;if(_0x4988f2&&_0x4988f2['Smtp']){var _0x104d5a={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x65')])){_0x104d5a[_0x8c9a('0x66')]=_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x66')];_0x104d5a['port']=_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x67')];_0x104d5a[_0x8c9a('0x68')]=_0x4988f2[_0x8c9a('0x64')]['secure'];if(_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x69')]){_0x104d5a[_0x8c9a('0x6a')]={'user':_0x4988f2['Smtp'][_0x8c9a('0x6b')],'pass':_0x4988f2['Smtp'][_0x8c9a('0x6c')]};}}else{_0x104d5a[_0x8c9a('0x65')]=_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x65')];_0x104d5a[_0x8c9a('0x6a')]={'user':_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x6b')],'pass':_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x6c')]};_0x104d5a[_0x8c9a('0x68')]=_0x4988f2[_0x8c9a('0x64')][_0x8c9a('0x68')];}if(_0x57a136[_0x8c9a('0x56')][_0x8c9a('0x6d')]&&_0x57a136[_0x8c9a('0x56')][_0x8c9a('0x6d')]['length']){for(var _0x1dc78f=0x0;_0x1dc78f<_0x57a136[_0x8c9a('0x56')][_0x8c9a('0x6d')][_0x8c9a('0x46')];_0x1dc78f+=0x1){_0x57a136[_0x8c9a('0x56')]['attachments'][_0x1dc78f]={'filename':_0x57a136[_0x8c9a('0x56')][_0x8c9a('0x6d')][_0x1dc78f][_0x8c9a('0x3c')],'path':path[_0x8c9a('0x6e')](config[_0x8c9a('0x6f')],_0x8c9a('0x70'),_0x57a136[_0x8c9a('0x56')][_0x8c9a('0x6d')][_0x1dc78f][_0x8c9a('0x71')])};}}_0x31cf11={'account':_0x104d5a,'message':_0x57a136[_0x8c9a('0x56')]};return;}})[_0x8c9a('0x28')](function(){if(_0x4988f2[_0x8c9a('0x60')]){if(_0x4988f2[_0x8c9a('0x60')]['Contacts'][_0x8c9a('0x46')]){return _0x4988f2[_0x8c9a('0x60')][_0x8c9a('0x61')][0x0];}else{return db[_0x8c9a('0x72')][_0x8c9a('0x58')](_['defaults'](_0x57a136[_0x8c9a('0x56')],{'firstName':_0x57a136[_0x8c9a('0x56')]['to'],'email':_0x57a136[_0x8c9a('0x56')]['to'],'phone':_0x57a136[_0x8c9a('0x56')]['to'],'ListId':_0x4988f2[_0x8c9a('0x73')]}));}}else{throw new Error(_0x8c9a('0x74'));}})[_0x8c9a('0x28')](function(){if(_0x31cf11){return respondWithRpcPromise('SendMail',_0x8c9a('0x75'),_0x31cf11,client9003)['then'](function(_0x5cac06){return _0x453dcb[_0x8c9a('0x55')]({'read':!![],'messageId':_0x5cac06[_0x8c9a('0x76')],'sentAt':moment()[_0x8c9a('0x77')](_0x8c9a('0x78'))});})[_0x8c9a('0x50')](function(_0x357134){logger[_0x8c9a('0x2d')]('%s',JSON[_0x8c9a('0x2c')](_0x357134));return _0x453dcb;});}return _0x453dcb;});}return _0x453dcb;}})[_0x8c9a('0x28')](respondWithResult(_0x2dce53,0xc9))[_0x8c9a('0x50')](handleError(_0x2dce53,null));};var interaction_log=require(_0x8c9a('0x19'))(_0x8c9a('0x79'));exports['accept']=function(_0xdd9ba7,_0x4a7cfd,_0x37ef81){var _0x11fc05={'channel':_0x8c9a('0x7a')};if(_0xdd9ba7[_0x8c9a('0x56')]['id']){delete _0xdd9ba7[_0x8c9a('0x56')]['id'];}_0xdd9ba7[_0x8c9a('0x56')][_0x8c9a('0x7b')]=!![];_0xdd9ba7[_0x8c9a('0x56')]['readAt']=moment()['format'](_0x8c9a('0x78'));_0xdd9ba7[_0x8c9a('0x56')][_0x8c9a('0x7c')]=_0xdd9ba7[_0x8c9a('0x56')][_0x8c9a('0x7c')]||_0xdd9ba7[_0x8c9a('0x6b')]['id'];return db['MailMessage'][_0x8c9a('0x54')]({'where':{'id':_0xdd9ba7[_0x8c9a('0x52')]['id'],'UserId':null},'include':[{'model':db[_0x8c9a('0x72')],'as':_0x8c9a('0x7d')}]})[_0x8c9a('0x28')](handleEntityNotFound(_0x4a7cfd,null))['then'](saveUpdates(_0xdd9ba7[_0x8c9a('0x56')],null))[_0x8c9a('0x28')](function(_0x855a60){if(_0x855a60){_0x11fc05[_0x8c9a('0x2e')]=_0x855a60['get']({'plain':!![]});return db[_0x8c9a('0x7e')][_0x8c9a('0x54')]({'where':{'id':_0x855a60[_0x8c9a('0x7f')]}});}return null;})['then'](handleEntityNotFound(_0x4a7cfd,null))[_0x8c9a('0x28')](function(_0x2e8252){if(_0x2e8252){return _0x2e8252['update']({'UserId':_0xdd9ba7['body'][_0x8c9a('0x7c')],'read1stAt':_[_0x8c9a('0x80')](_0x2e8252[_0x8c9a('0x81')])?moment()[_0x8c9a('0x77')](_0x8c9a('0x78')):undefined});}return null;})[_0x8c9a('0x28')](function(_0x437905){if(_0x437905){_0x11fc05['interaction']=_0x437905[_0x8c9a('0x82')]({'plain':!![]});interaction_log['info'](_0x8c9a('0x83'),_0xdd9ba7['user']['id'],_0xdd9ba7[_0x8c9a('0x6b')][_0x8c9a('0x3c')],_0xdd9ba7[_0x8c9a('0x6b')]['role'],_0x11fc05[_0x8c9a('0x84')]['id'],_0xdd9ba7[_0x8c9a('0x56')]?JSON[_0x8c9a('0x2c')](_0xdd9ba7[_0x8c9a('0x56')]):_0x8c9a('0x85'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x11fc05);}return null;})['then'](function(_0x296446){if(_0x296446){if(_0xdd9ba7[_0x8c9a('0x56')]['manual']){_0x11fc05[_0x8c9a('0x2e')][_0x8c9a('0x86')]=util[_0x8c9a('0x77')](_0x8c9a('0x87'),_0xdd9ba7['user'][_0x8c9a('0x3c')]);_0x11fc05[_0x8c9a('0x2e')][_0x8c9a('0x88')]=_0x11fc05[_0x8c9a('0x88')];_0x11fc05['message'][_0x8c9a('0x89')]=_0x8c9a('0x8a');return respondWithRpcPromise('EventManager',_0x8c9a('0x8b'),{'event':'acceptmessage','message':_0x11fc05[_0x8c9a('0x2e')]},client9002)[_0x8c9a('0x28')](function(){return _0x11fc05;});}return _0x11fc05;}return null;})[_0x8c9a('0x28')](respondWithResult(_0x4a7cfd,null))[_0x8c9a('0x50')](handleError(_0x4a7cfd,null));};var interaction_log=require('../../config/logger')('mail-interactions');exports[_0x8c9a('0x39')]=function(_0x1e5341,_0x409a77,_0x391f09){var _0x2284bc={'agent':{},'channel':_0x8c9a('0x7a')};if(_0x1e5341[_0x8c9a('0x56')]['id']){delete _0x1e5341[_0x8c9a('0x56')]['id'];}_0x1e5341[_0x8c9a('0x56')][_0x8c9a('0x7c')]=_0x1e5341['body'][_0x8c9a('0x7c')]||_0x1e5341[_0x8c9a('0x6b')]['id'];_0x2284bc[_0x8c9a('0x8c')]['id']=_0x1e5341['body']['UserId'];return db[_0x8c9a('0x4e')]['find']({'where':{'id':_0x1e5341[_0x8c9a('0x52')]['id'],'UserId':null}})[_0x8c9a('0x28')](handleEntityNotFound(_0x409a77,null))[_0x8c9a('0x28')](function(_0x57fdae){if(_0x57fdae){_0x2284bc[_0x8c9a('0x2e')]=_0x57fdae[_0x8c9a('0x82')]({'plain':!![]});return db[_0x8c9a('0x7e')][_0x8c9a('0x54')]({'where':{'id':_0x57fdae['MailInteractionId']}});}return null;})[_0x8c9a('0x28')](handleEntityNotFound(_0x409a77,null))[_0x8c9a('0x28')](function(_0xa7894d){if(_0xa7894d){_0x2284bc['interaction']=_0xa7894d[_0x8c9a('0x82')]({'plain':!![]});interaction_log[_0x8c9a('0x29')](_0x8c9a('0x8d'),_0x1e5341[_0x8c9a('0x6b')]['id'],_0x1e5341[_0x8c9a('0x6b')]['name'],_0x1e5341[_0x8c9a('0x6b')]['role'],_0x2284bc['interaction']['id'],_0x1e5341[_0x8c9a('0x56')]?JSON['stringify'](_0x1e5341['body']):_0x8c9a('0x85'));return respondWithRpcPromise(_0x8c9a('0x8e'),_0x8c9a('0x8f'),_0x2284bc);}return null;})[_0x8c9a('0x28')](function(_0xbe03e6){if(_0xbe03e6){_0xbe03e6[_0x8c9a('0x2e')]['interface']=util[_0x8c9a('0x77')](_0x8c9a('0x87'),_0x1e5341[_0x8c9a('0x6b')][_0x8c9a('0x3c')]);_0xbe03e6[_0x8c9a('0x2e')][_0x8c9a('0x88')]=_0x2284bc['channel'];_0xbe03e6['message']['event']='reject';respondWithRpcPromise(_0x8c9a('0x8b'),_0x8c9a('0x8b'),{'event':_0x8c9a('0x90'),'message':_0xbe03e6[_0x8c9a('0x2e')]},client9002);return _0x2284bc;}return null;})[_0x8c9a('0x28')](respondWithResult(_0x409a77,null))[_0x8c9a('0x50')](handleError(_0x409a77,null));};exports[_0x8c9a('0x91')]=function(_0x371ffa,_0x13f3d1){var _0x486031=moment()[_0x8c9a('0x92')]()['toString']();var _0x277b0f=path[_0x8c9a('0x6e')](config['root'],_0x8c9a('0x93'),'files',_0x8c9a('0x94'));var _0x306dd5=path[_0x8c9a('0x6e')](config['root'],'server',_0x8c9a('0x95'),_0x8c9a('0x6d'));var _0x381266=util[_0x8c9a('0x77')](_0x8c9a('0x96'),_0x486031);return db['MailMessage'][_0x8c9a('0x54')]({'where':{'id':_0x371ffa[_0x8c9a('0x52')]['id']},'attributes':['id',_0x8c9a('0x56'),'from','to','cc',_0x8c9a('0x97'),_0x8c9a('0x98'),_0x8c9a('0x99')],'include':_0x371ffa[_0x8c9a('0x40')][_0x8c9a('0x6d')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0x8c9a('0x28')](handleEntityNotFound(_0x13f3d1,null))[_0x8c9a('0x28')](function(_0x4cacde){if(_0x4cacde){var _0x5cd5a3=_0x4cacde;var _0x44c69d={'from':_0x5cd5a3[_0x8c9a('0x9a')],'to':_0x5cd5a3['to'],'subject':_0x5cd5a3[_0x8c9a('0x98')],'html':_0x5cd5a3[_0x8c9a('0x56')],'headers':{'Date':moment(_0x5cd5a3[_0x8c9a('0x99')])[_0x8c9a('0x77')](_0x8c9a('0x9b'))},'attachments':[]};if(_0x4cacde['cc']){_0x44c69d[_0x8c9a('0x9c')]['Cc']=_0x4cacde['cc'];}if(_0x4cacde[_0x8c9a('0x97')]){_0x44c69d[_0x8c9a('0x9c')][_0x8c9a('0x9d')]=_0x4cacde['bcc'];}return new BPromise(function(_0x59ff2b,_0x8cd94d){if(_0x4cacde[_0x8c9a('0x9e')]){for(var _0x131a31=0x0;_0x131a31<_0x4cacde[_0x8c9a('0x9e')][_0x8c9a('0x46')];_0x131a31++){var _0x32bd47=_0x4cacde[_0x8c9a('0x9e')][_0x131a31];var _0x4af18c=path[_0x8c9a('0x6e')](_0x306dd5,_0x32bd47[_0x8c9a('0x71')]);if(fs[_0x8c9a('0x9f')](_0x4af18c)){_0x44c69d[_0x8c9a('0x6d')][_0x8c9a('0xa0')]({'name':_0x32bd47[_0x8c9a('0x3c')],'contentType':_0x32bd47['type'],'data':fs[_0x8c9a('0xa1')](_0x4af18c)});}}}emlformat[_0x8c9a('0xa2')](_0x44c69d,function(_0x88329c,_0x1caefb){if(_0x88329c)return _0x8cd94d(_0x88329c);fs['writeFileSync'](path[_0x8c9a('0x6e')](_0x277b0f,_0x381266),_0x1caefb);return _0x59ff2b(_0x1caefb);});});}})[_0x8c9a('0x28')](function(_0x4b8094){if(_0x4b8094){return _0x13f3d1[_0x8c9a('0x91')](path[_0x8c9a('0x6e')](_0x277b0f,_0x381266),_0x381266,function(_0x2ccecf){if(_0x2ccecf){console[_0x8c9a('0xa3')]('err',_0x2ccecf);}else{fs[_0x8c9a('0xa4')](path[_0x8c9a('0x6e')](_0x277b0f,_0x381266));}});}})[_0x8c9a('0x50')](handleError(_0x13f3d1,null));};