5edd901b5fdc615443ec2074b1b2700c614b0255
[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 _0x0a16=['hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','count','includeAll','include','MailMessage','rows','show','params','keys','find','body','describe','direction','out','secret','split','MailAccount','findOne','CmList','List','CmContact','updatedAt','DESC','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','user','attachments','join','root','server/files/attachments','basename','Contacts','create','ListId','List\x20not\x20found','SendMail','sendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','readAt','format','UserId','Contact','get','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','manual','SIP/%s','event','EventManager','acceptmessage','agent','stringify','RejectMessage','rejectMessage','rejectmessage','download','toString','server','files','message-%s.eml','bcc','subject','createdAt','Attachments','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','push','readFileSync','writeFileSync','log','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','test','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','error','code','MailMessage,\x20%s,\x20%s','message','catch','sendStatus','status','end','offset','limit','set','Content-Range','reject','save','update','destroy','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length'];(function(_0x28c263,_0x498dfc){var _0x2e0a6d=function(_0x37c09d){while(--_0x37c09d){_0x28c263['push'](_0x28c263['shift']());}};_0x2e0a6d(++_0x498dfc);}(_0x0a16,0x10e));var _0x60a1=function(_0x5980c5,_0x2119ce){_0x5980c5=_0x5980c5-0x0;var _0x2eac91=_0x0a16[_0x5980c5];return _0x2eac91;};'use strict';var pdf=require(_0x60a1('0x0'));var emlformat=require(_0x60a1('0x1'));var rimraf=require(_0x60a1('0x2'));var zipdir=require(_0x60a1('0x3'));var jsonpatch=require(_0x60a1('0x4'));var rp=require('request-promise');var moment=require(_0x60a1('0x5'));var BPromise=require(_0x60a1('0x6'));var Mustache=require(_0x60a1('0x7'));var util=require(_0x60a1('0x8'));var path=require(_0x60a1('0x9'));var sox=require(_0x60a1('0xa'));var csv=require(_0x60a1('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x60a1('0xc'));var crypto=require(_0x60a1('0xd'));var jsforce=require(_0x60a1('0xe'));var deskjs=require(_0x60a1('0xf'));var toCsv=require(_0x60a1('0xb'));var querystring=require(_0x60a1('0x10'));var Papa=require('papaparse');var Redis=require(_0x60a1('0x11'));var authService=require(_0x60a1('0x12'));var qs=require(_0x60a1('0x13'));var as=require(_0x60a1('0x14'));var hardwareService=require(_0x60a1('0x15'));var logger=require(_0x60a1('0x16'))(_0x60a1('0x17'));var utils=require(_0x60a1('0x18'));var config=require('../../config/environment');var db=require(_0x60a1('0x19'))['db'];config[_0x60a1('0x1a')]=_[_0x60a1('0x1b')](config[_0x60a1('0x1a')],{'host':_0x60a1('0x1c'),'port':0x18eb});var socket=require(_0x60a1('0x1d'))(new Redis(config[_0x60a1('0x1a')]));require(_0x60a1('0x1e'))[_0x60a1('0x1f')](socket);var jayson=require(_0x60a1('0x20'));var client=jayson[_0x60a1('0x21')][_0x60a1('0x22')]({'port':0x232c});var client9003=jayson[_0x60a1('0x21')][_0x60a1('0x22')]({'port':0x232b});var client9002=jayson[_0x60a1('0x21')][_0x60a1('0x22')]({'port':0x232a});function checkPasswordPattern(_0x17bc20,_0xeee5f0,_0x16026f){if(_0x16026f){var _0x111e9d=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x111e9d[_0x60a1('0x23')](_0xeee5f0)){return _0x17bc20;}else{throw new db['Sequelize']['ValidationError'](_0x60a1('0x24'));}}else{return _0x17bc20;}}function respondWithRpcPromise(_0x5b0b0f,_0x4d6037,_0x17e41d,_0x3f1a12){return new BPromise(function(_0x1796a5,_0x2ed61a){var _0x4fd2a8=_0x3f1a12||client;return _0x4fd2a8[_0x60a1('0x25')](_0x5b0b0f,_0x17e41d)[_0x60a1('0x26')](function(_0x3f3d42){logger[_0x60a1('0x27')]('MailMessage,\x20%s,\x20%s',_0x4d6037,_0x60a1('0x28'));logger[_0x60a1('0x29')](_0x60a1('0x2a'),_0x4d6037,_0x60a1('0x28'),JSON['stringify'](_0x3f3d42));if(_0x3f3d42[_0x60a1('0x2b')]){if(_0x3f3d42['error'][_0x60a1('0x2c')]===0x1f4){logger[_0x60a1('0x2b')](_0x60a1('0x2d'),_0x4d6037,_0x3f3d42['error']['message']);return _0x2ed61a(_0x3f3d42[_0x60a1('0x2b')][_0x60a1('0x2e')]);}logger[_0x60a1('0x2b')](_0x60a1('0x2d'),_0x4d6037,_0x3f3d42[_0x60a1('0x2b')]['message']);return _0x1796a5(_0x3f3d42[_0x60a1('0x2b')]['message']);}else{logger['info'](_0x60a1('0x2d'),_0x4d6037,_0x60a1('0x28'));_0x1796a5(_0x3f3d42['result'][_0x60a1('0x2e')]);}})[_0x60a1('0x2f')](function(_0x5623cf){logger['error']('MailMessage,\x20%s,\x20%s',_0x4d6037,_0x5623cf);_0x2ed61a(_0x5623cf);});});}function respondWithStatusCode(_0x5ca5ee,_0x468ba4){_0x468ba4=_0x468ba4||0xcc;return function(_0x580109){if(_0x580109){return _0x5ca5ee[_0x60a1('0x30')](_0x468ba4);}return _0x5ca5ee[_0x60a1('0x31')](_0x468ba4)[_0x60a1('0x32')]();};}function respondWithResult(_0x539ff5,_0xd4c357){_0xd4c357=_0xd4c357||0xc8;return function(_0x3a4477){if(_0x3a4477){return _0x539ff5[_0x60a1('0x31')](_0xd4c357)['json'](_0x3a4477);}};}function respondWithFilteredResult(_0x56af12,_0x393081){return function(_0x30280c){if(_0x30280c){var _0x3901b0=_0x30280c['count'],_0x149851=_0x393081[_0x60a1('0x33')],_0x41d332=_0x393081[_0x60a1('0x33')]+_0x393081[_0x60a1('0x34')],_0x449f20;if(_0x41d332>=_0x3901b0){_0x41d332=_0x3901b0;_0x449f20=0xc8;}else{_0x449f20=0xce;}_0x56af12['status'](_0x449f20);return _0x56af12[_0x60a1('0x35')](_0x60a1('0x36'),_0x149851+'-'+_0x41d332+'/'+_0x3901b0)['json'](_0x30280c);}return null;};}function patchUpdates(_0xeba554){return function(_0x157897){try{jsonpatch['apply'](_0x157897,_0xeba554,!![]);}catch(_0x38eef5){return BPromise[_0x60a1('0x37')](_0x38eef5);}return _0x157897[_0x60a1('0x38')]();};}function saveUpdates(_0x40dc3c,_0x5187d0){return function(_0x5a0548){if(_0x5a0548){return _0x5a0548[_0x60a1('0x39')](_0x40dc3c)[_0x60a1('0x26')](function(_0x3d6d17){return _0x3d6d17;});}return null;};}function removeEntity(_0x2191f0,_0x25a42d){return function(_0x42ae37){if(_0x42ae37){return _0x42ae37[_0x60a1('0x3a')]()[_0x60a1('0x26')](function(){_0x2191f0[_0x60a1('0x31')](0xcc)[_0x60a1('0x32')]();});}};}function handleEntityNotFound(_0xbb141d,_0x39d8f4){return function(_0x24b1ee){if(!_0x24b1ee){_0xbb141d[_0x60a1('0x30')](0x194);}return _0x24b1ee;};}function handleError(_0x4980a2,_0x1eb411){_0x1eb411=_0x1eb411||0x1f4;return function(_0x124b95){logger[_0x60a1('0x2b')](_0x124b95['stack']);if(_0x124b95[_0x60a1('0x3b')]){delete _0x124b95[_0x60a1('0x3b')];}_0x4980a2['status'](_0x1eb411)[_0x60a1('0x3c')](_0x124b95);};}exports[_0x60a1('0x3d')]=function(_0x40d6c4,_0x291ce3){var _0x7bd724={},_0x54abcc={},_0x5bebb1={'count':0x0,'rows':[]};var _0x296ec4=_[_0x60a1('0x3e')](db['MailMessage'][_0x60a1('0x3f')],function(_0x4bb08e){return{'name':_0x4bb08e[_0x60a1('0x40')],'type':_0x4bb08e[_0x60a1('0x41')][_0x60a1('0x42')]};});_0x54abcc[_0x60a1('0x43')]=_[_0x60a1('0x3e')](_0x296ec4,_0x60a1('0x3b'));_0x54abcc[_0x60a1('0x44')]=_['keys'](_0x40d6c4[_0x60a1('0x44')]);_0x54abcc[_0x60a1('0x45')]=_[_0x60a1('0x46')](_0x54abcc['model'],_0x54abcc[_0x60a1('0x44')]);_0x7bd724[_0x60a1('0x47')]=_[_0x60a1('0x46')](_0x54abcc[_0x60a1('0x43')],qs[_0x60a1('0x48')](_0x40d6c4[_0x60a1('0x44')][_0x60a1('0x48')]));_0x7bd724[_0x60a1('0x47')]=_0x7bd724['attributes'][_0x60a1('0x49')]?_0x7bd724[_0x60a1('0x47')]:_0x54abcc[_0x60a1('0x43')];if(!_0x40d6c4['query'][_0x60a1('0x4a')](_0x60a1('0x4b'))){_0x7bd724['limit']=qs[_0x60a1('0x34')](_0x40d6c4[_0x60a1('0x44')]['limit']);_0x7bd724[_0x60a1('0x33')]=qs[_0x60a1('0x33')](_0x40d6c4['query'][_0x60a1('0x33')]);}_0x7bd724[_0x60a1('0x4c')]=qs[_0x60a1('0x4d')](_0x40d6c4[_0x60a1('0x44')]['sort']);_0x7bd724['where']=qs[_0x60a1('0x45')](_[_0x60a1('0x4e')](_0x40d6c4[_0x60a1('0x44')],_0x54abcc['filters']),_0x296ec4);if(_0x40d6c4[_0x60a1('0x44')][_0x60a1('0x4f')]){_0x7bd724[_0x60a1('0x50')]=_[_0x60a1('0x51')](_0x7bd724[_0x60a1('0x50')],{'$or':_[_0x60a1('0x3e')](_0x296ec4,function(_0x39a689){if(_0x39a689[_0x60a1('0x41')]!==_0x60a1('0x52')){var _0x3d6d45={};_0x3d6d45[_0x39a689[_0x60a1('0x3b')]]={'$like':'%'+_0x40d6c4[_0x60a1('0x44')][_0x60a1('0x4f')]+'%'};return _0x3d6d45;}})});}_0x7bd724=_[_0x60a1('0x51')]({},_0x7bd724,_0x40d6c4[_0x60a1('0x53')]);var _0x369a90={'where':_0x7bd724[_0x60a1('0x50')]};return db['MailMessage'][_0x60a1('0x54')](_0x369a90)['then'](function(_0x141074){_0x5bebb1[_0x60a1('0x54')]=_0x141074;if(_0x40d6c4['query'][_0x60a1('0x55')]){_0x7bd724[_0x60a1('0x56')]=[{'all':!![]}];}return db[_0x60a1('0x57')]['findAll'](_0x7bd724);})[_0x60a1('0x26')](function(_0x55c032){_0x5bebb1[_0x60a1('0x58')]=_0x55c032;return _0x5bebb1;})['then'](respondWithFilteredResult(_0x291ce3,_0x7bd724))[_0x60a1('0x2f')](handleError(_0x291ce3,null));};exports[_0x60a1('0x59')]=function(_0x334581,_0x4a2999){var _0x3a74ee={'raw':!![],'where':{'id':_0x334581[_0x60a1('0x5a')]['id']}},_0x569328={};_0x569328[_0x60a1('0x43')]=_['keys'](db['MailMessage'][_0x60a1('0x3f')]);_0x569328[_0x60a1('0x44')]=_[_0x60a1('0x5b')](_0x334581['query']);_0x569328[_0x60a1('0x45')]=_['intersection'](_0x569328[_0x60a1('0x43')],_0x569328[_0x60a1('0x44')]);_0x3a74ee[_0x60a1('0x47')]=_['intersection'](_0x569328[_0x60a1('0x43')],qs[_0x60a1('0x48')](_0x334581[_0x60a1('0x44')]['fields']));_0x3a74ee[_0x60a1('0x47')]=_0x3a74ee[_0x60a1('0x47')][_0x60a1('0x49')]?_0x3a74ee['attributes']:_0x569328[_0x60a1('0x43')];if(_0x334581['query'][_0x60a1('0x55')]){_0x3a74ee['include']=[{'all':!![]}];}_0x3a74ee=_['merge']({},_0x3a74ee,_0x334581[_0x60a1('0x53')]);return db[_0x60a1('0x57')][_0x60a1('0x5c')](_0x3a74ee)[_0x60a1('0x26')](handleEntityNotFound(_0x4a2999,null))[_0x60a1('0x26')](respondWithResult(_0x4a2999,null))[_0x60a1('0x2f')](handleError(_0x4a2999,null));};exports['update']=function(_0x3618fa,_0x187968){if(_0x3618fa[_0x60a1('0x5d')]['id']){delete _0x3618fa[_0x60a1('0x5d')]['id'];}return db[_0x60a1('0x57')][_0x60a1('0x5c')]({'where':{'id':_0x3618fa['params']['id']}})[_0x60a1('0x26')](handleEntityNotFound(_0x187968,null))[_0x60a1('0x26')](saveUpdates(_0x3618fa[_0x60a1('0x5d')],null))[_0x60a1('0x26')](respondWithResult(_0x187968,null))[_0x60a1('0x2f')](handleError(_0x187968,null));};exports[_0x60a1('0x3a')]=function(_0x2ff676,_0x438946){return db[_0x60a1('0x57')][_0x60a1('0x5c')]({'where':{'id':_0x2ff676[_0x60a1('0x5a')]['id']}})[_0x60a1('0x26')](handleEntityNotFound(_0x438946,null))[_0x60a1('0x26')](removeEntity(_0x438946,null))[_0x60a1('0x2f')](handleError(_0x438946,null));};exports[_0x60a1('0x5e')]=function(_0x4fdda6,_0x4f62f0){return db[_0x60a1('0x57')]['describe']()[_0x60a1('0x26')](respondWithResult(_0x4f62f0,null))[_0x60a1('0x2f')](handleError(_0x4f62f0,null));};exports['create']=function(_0x1cc9fb,_0x40aba4){return db[_0x60a1('0x57')]['create'](_0x1cc9fb[_0x60a1('0x5d')])[_0x60a1('0x26')](function(_0x265cc5){if(_0x265cc5){if(_0x265cc5[_0x60a1('0x5f')]===_0x60a1('0x60')&&!_0x265cc5[_0x60a1('0x61')]){var _0x5d49c8,_0x2de6d9,_0x395680;if(_0x1cc9fb[_0x60a1('0x5d')]['to']){_0x2de6d9=_0x1cc9fb[_0x60a1('0x5d')]['to'][_0x60a1('0x62')](',')[0x0];}return db[_0x60a1('0x63')][_0x60a1('0x64')]({'where':{'id':_0x265cc5['MailAccountId']},'include':[{'model':db[_0x60a1('0x65')],'as':_0x60a1('0x66'),'include':[{'model':db[_0x60a1('0x67')],'as':'Contacts','where':{'email':_0x2de6d9},'limit':0x1,'order':[[_0x60a1('0x68'),_0x60a1('0x69')]]}]},{'model':db[_0x60a1('0x6a')],'as':_0x60a1('0x6b'),'raw':!![]}]})[_0x60a1('0x26')](function(_0x54a2fb){_0x5d49c8=_0x54a2fb;if(_0x5d49c8&&_0x5d49c8[_0x60a1('0x6b')]){var _0x1f8627={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x6c')])){_0x1f8627[_0x60a1('0x6d')]=_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x6d')];_0x1f8627[_0x60a1('0x6e')]=_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x6e')];_0x1f8627['secure']=_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x6f')];if(_0x5d49c8['Smtp'][_0x60a1('0x70')]){_0x1f8627[_0x60a1('0x71')]={'user':_0x5d49c8[_0x60a1('0x6b')]['user'],'pass':_0x5d49c8['Smtp'][_0x60a1('0x72')]};}}else{_0x1f8627[_0x60a1('0x6c')]=_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x6c')];_0x1f8627['auth']={'user':_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x73')],'pass':_0x5d49c8[_0x60a1('0x6b')][_0x60a1('0x72')]};_0x1f8627[_0x60a1('0x6f')]=_0x5d49c8['Smtp'][_0x60a1('0x6f')];}if(_0x1cc9fb[_0x60a1('0x5d')][_0x60a1('0x74')]&&_0x1cc9fb[_0x60a1('0x5d')][_0x60a1('0x74')][_0x60a1('0x49')]){for(var _0xfabf69=0x0;_0xfabf69<_0x1cc9fb['body'][_0x60a1('0x74')]['length'];_0xfabf69+=0x1){_0x1cc9fb[_0x60a1('0x5d')]['attachments'][_0xfabf69]={'filename':_0x1cc9fb[_0x60a1('0x5d')][_0x60a1('0x74')][_0xfabf69][_0x60a1('0x3b')],'path':path[_0x60a1('0x75')](config[_0x60a1('0x76')],_0x60a1('0x77'),_0x1cc9fb[_0x60a1('0x5d')]['attachments'][_0xfabf69][_0x60a1('0x78')])};}}_0x395680={'account':_0x1f8627,'message':_0x1cc9fb['body']};return;}})['then'](function(){if(_0x5d49c8[_0x60a1('0x66')]){if(_0x5d49c8[_0x60a1('0x66')][_0x60a1('0x79')]['length']){return _0x5d49c8[_0x60a1('0x66')][_0x60a1('0x79')][0x0];}else{return db[_0x60a1('0x67')][_0x60a1('0x7a')](_['defaults'](_0x1cc9fb['body'],{'firstName':_0x1cc9fb[_0x60a1('0x5d')]['to'],'email':_0x1cc9fb['body']['to'],'phone':_0x1cc9fb[_0x60a1('0x5d')]['to'],'ListId':_0x5d49c8[_0x60a1('0x7b')]}));}}else{throw new Error(_0x60a1('0x7c'));}})[_0x60a1('0x26')](function(){if(_0x395680){return respondWithRpcPromise(_0x60a1('0x7d'),_0x60a1('0x7e'),_0x395680,client9003)[_0x60a1('0x26')](function(_0x1da8e7){return _0x265cc5[_0x60a1('0x39')]({'read':!![],'messageId':_0x1da8e7[_0x60a1('0x7f')],'sentAt':moment()['format'](_0x60a1('0x80'))});})[_0x60a1('0x2f')](function(_0x2c0141){logger['error']('%s',JSON['stringify'](_0x2c0141));return _0x265cc5;});}return _0x265cc5;});}return _0x265cc5;}})['then'](respondWithResult(_0x40aba4,0xc9))['catch'](handleError(_0x40aba4,null));};var interaction_log=require(_0x60a1('0x16'))(_0x60a1('0x81'));exports[_0x60a1('0x82')]=function(_0x20d333,_0x58b90b,_0x998ff6){var _0x4a8a52={'channel':_0x60a1('0x83')};if(_0x20d333[_0x60a1('0x5d')]['id']){delete _0x20d333[_0x60a1('0x5d')]['id'];}_0x20d333[_0x60a1('0x5d')][_0x60a1('0x84')]=!![];_0x20d333[_0x60a1('0x5d')][_0x60a1('0x85')]=moment()[_0x60a1('0x86')]('YYYY-MM-DD\x20HH:mm:ss');_0x20d333['body'][_0x60a1('0x87')]=_0x20d333[_0x60a1('0x5d')]['UserId']||_0x20d333[_0x60a1('0x73')]['id'];return db[_0x60a1('0x57')][_0x60a1('0x5c')]({'where':{'id':_0x20d333[_0x60a1('0x5a')]['id'],'UserId':null},'include':[{'model':db[_0x60a1('0x67')],'as':_0x60a1('0x88')}]})[_0x60a1('0x26')](handleEntityNotFound(_0x58b90b,null))[_0x60a1('0x26')](saveUpdates(_0x20d333[_0x60a1('0x5d')],null))[_0x60a1('0x26')](function(_0x53db44){if(_0x53db44){_0x4a8a52[_0x60a1('0x2e')]=_0x53db44[_0x60a1('0x89')]({'plain':!![]});return db[_0x60a1('0x8a')]['find']({'where':{'id':_0x53db44[_0x60a1('0x8b')]}});}return null;})[_0x60a1('0x26')](handleEntityNotFound(_0x58b90b,null))[_0x60a1('0x26')](function(_0x340ac0){if(_0x340ac0){return _0x340ac0[_0x60a1('0x39')]({'UserId':_0x20d333[_0x60a1('0x5d')][_0x60a1('0x87')],'read1stAt':_[_0x60a1('0x8c')](_0x340ac0[_0x60a1('0x8d')])?moment()[_0x60a1('0x86')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x60a1('0x26')](function(_0xeb0a4f){if(_0xeb0a4f){_0x4a8a52[_0x60a1('0x8e')]=_0xeb0a4f[_0x60a1('0x89')]({'plain':!![]});interaction_log[_0x60a1('0x27')](_0x60a1('0x8f'),_0x20d333['user']['id'],_0x20d333[_0x60a1('0x73')][_0x60a1('0x3b')],_0x20d333[_0x60a1('0x73')]['role'],_0x4a8a52[_0x60a1('0x8e')]['id'],_0x20d333[_0x60a1('0x5d')]?JSON['stringify'](_0x20d333[_0x60a1('0x5d')]):_0x60a1('0x90'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x4a8a52);}return null;})['then'](function(_0x32c219){if(_0x32c219){if(_0x20d333['body'][_0x60a1('0x91')]){_0x4a8a52[_0x60a1('0x2e')]['interface']=util[_0x60a1('0x86')](_0x60a1('0x92'),_0x20d333[_0x60a1('0x73')]['name']);_0x4a8a52[_0x60a1('0x2e')]['channel']=_0x4a8a52['channel'];_0x4a8a52[_0x60a1('0x2e')][_0x60a1('0x93')]='accept';return respondWithRpcPromise(_0x60a1('0x94'),_0x60a1('0x94'),{'event':_0x60a1('0x95'),'message':_0x4a8a52['message']},client9002)['then'](function(){return _0x4a8a52;});}return _0x4a8a52;}return null;})[_0x60a1('0x26')](respondWithResult(_0x58b90b,null))['catch'](handleError(_0x58b90b,null));};var interaction_log=require(_0x60a1('0x16'))(_0x60a1('0x81'));exports[_0x60a1('0x37')]=function(_0x5978d1,_0x3599af,_0x39a2de){var _0x46b2da={'agent':{},'channel':_0x60a1('0x83')};if(_0x5978d1[_0x60a1('0x5d')]['id']){delete _0x5978d1['body']['id'];}_0x5978d1[_0x60a1('0x5d')][_0x60a1('0x87')]=_0x5978d1[_0x60a1('0x5d')][_0x60a1('0x87')]||_0x5978d1[_0x60a1('0x73')]['id'];_0x46b2da[_0x60a1('0x96')]['id']=_0x5978d1['body'][_0x60a1('0x87')];return db['MailMessage']['find']({'where':{'id':_0x5978d1[_0x60a1('0x5a')]['id'],'UserId':null}})[_0x60a1('0x26')](handleEntityNotFound(_0x3599af,null))[_0x60a1('0x26')](function(_0x190c23){if(_0x190c23){_0x46b2da[_0x60a1('0x2e')]=_0x190c23[_0x60a1('0x89')]({'plain':!![]});return db[_0x60a1('0x8a')][_0x60a1('0x5c')]({'where':{'id':_0x190c23['MailInteractionId']}});}return null;})[_0x60a1('0x26')](handleEntityNotFound(_0x3599af,null))[_0x60a1('0x26')](function(_0x2a7a4e){if(_0x2a7a4e){_0x46b2da[_0x60a1('0x8e')]=_0x2a7a4e[_0x60a1('0x89')]({'plain':!![]});interaction_log[_0x60a1('0x27')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x5978d1[_0x60a1('0x73')]['id'],_0x5978d1[_0x60a1('0x73')][_0x60a1('0x3b')],_0x5978d1[_0x60a1('0x73')]['role'],_0x46b2da[_0x60a1('0x8e')]['id'],_0x5978d1[_0x60a1('0x5d')]?JSON[_0x60a1('0x97')](_0x5978d1[_0x60a1('0x5d')]):_0x60a1('0x90'));return respondWithRpcPromise(_0x60a1('0x98'),_0x60a1('0x99'),_0x46b2da);}return null;})['then'](function(_0x26420a){if(_0x26420a){_0x26420a[_0x60a1('0x2e')]['interface']=util['format'](_0x60a1('0x92'),_0x5978d1[_0x60a1('0x73')][_0x60a1('0x3b')]);_0x26420a[_0x60a1('0x2e')]['channel']=_0x46b2da['channel'];_0x26420a[_0x60a1('0x2e')][_0x60a1('0x93')]=_0x60a1('0x37');respondWithRpcPromise(_0x60a1('0x94'),'EventManager',{'event':_0x60a1('0x9a'),'message':_0x26420a[_0x60a1('0x2e')]},client9002);return _0x46b2da;}return null;})['then'](respondWithResult(_0x3599af,null))['catch'](handleError(_0x3599af,null));};exports[_0x60a1('0x9b')]=function(_0x401bcb,_0x1be101){var _0xd5ff3d=moment()['unix']()[_0x60a1('0x9c')]();var _0x2ad282=path[_0x60a1('0x75')](config[_0x60a1('0x76')],_0x60a1('0x9d'),_0x60a1('0x9e'),'tmp');var _0x2d005c=path[_0x60a1('0x75')](config[_0x60a1('0x76')],_0x60a1('0x9d'),_0x60a1('0x9e'),'attachments');var _0x26b356=util['format'](_0x60a1('0x9f'),_0xd5ff3d);return db['MailMessage'][_0x60a1('0x5c')]({'where':{'id':_0x401bcb[_0x60a1('0x5a')]['id']},'attributes':['id',_0x60a1('0x5d'),'from','to','cc',_0x60a1('0xa0'),_0x60a1('0xa1'),_0x60a1('0xa2')],'include':_0x401bcb[_0x60a1('0x44')]['attachments']?[{'model':db['Attachment'],'as':_0x60a1('0xa3')}]:undefined})[_0x60a1('0x26')](handleEntityNotFound(_0x1be101,null))[_0x60a1('0x26')](function(_0x3d59fa){if(_0x3d59fa){var _0x5d1328=_0x3d59fa;var _0x36cbae={'from':_0x5d1328[_0x60a1('0xa4')],'to':_0x5d1328['to'],'subject':_0x5d1328[_0x60a1('0xa1')],'html':_0x5d1328['body'],'headers':{'Date':moment(_0x5d1328[_0x60a1('0xa2')])['format'](_0x60a1('0xa5'))},'attachments':[]};if(_0x3d59fa['cc']){_0x36cbae['headers']['Cc']=_0x3d59fa['cc'];}if(_0x3d59fa['bcc']){_0x36cbae[_0x60a1('0xa6')][_0x60a1('0xa7')]=_0x3d59fa['bcc'];}return new BPromise(function(_0x237b6a,_0x16383c){if(_0x3d59fa[_0x60a1('0xa3')]){for(var _0x596caf=0x0;_0x596caf<_0x3d59fa[_0x60a1('0xa3')][_0x60a1('0x49')];_0x596caf++){var _0x3f84ae=_0x3d59fa[_0x60a1('0xa3')][_0x596caf];var _0x620af5=path[_0x60a1('0x75')](_0x2d005c,_0x3f84ae[_0x60a1('0x78')]);if(fs['existsSync'](_0x620af5)){_0x36cbae[_0x60a1('0x74')][_0x60a1('0xa8')]({'name':_0x3f84ae[_0x60a1('0x3b')],'contentType':_0x3f84ae['type'],'data':fs[_0x60a1('0xa9')](_0x620af5)});}}}emlformat['build'](_0x36cbae,function(_0x23a351,_0x29cb5b){if(_0x23a351)return _0x16383c(_0x23a351);fs[_0x60a1('0xaa')](path[_0x60a1('0x75')](_0x2ad282,_0x26b356),_0x29cb5b);return _0x237b6a(_0x29cb5b);});});}})[_0x60a1('0x26')](function(_0x47d6c2){if(_0x47d6c2){return _0x1be101[_0x60a1('0x9b')](path[_0x60a1('0x75')](_0x2ad282,_0x26b356),_0x26b356,function(_0xb7a6de){if(_0xb7a6de){console[_0x60a1('0xab')]('err',_0xb7a6de);}else{fs['unlinkSync'](path['join'](_0x2ad282,_0x26b356));}});}})[_0x60a1('0x2f')](handleError(_0x1be101,null));};