2fbc0f2799ce9048742f7bf92bf19dfd79cd46f3
[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 _0xa734=['register','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','MailMessage','includeAll','include','findAll','show','params','find','body','describe','create','direction','out','secret','split','MailAccount','MailAccountId','CmList','CmContact','Contacts','DESC','MailServerOut','Smtp','isNil','service','host','port','secure','authentication','user','pass','attachments','server/files/attachments','basename','List','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','read','readAt','UserId','Contact','get','MailInteraction','MailInteractionId','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','interface','SIP/%s','channel','event','EventManager','acceptmessage','mail','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','rejectmessage','download','unix','toString','root','server','files','tmp','join','message-%s.eml','bcc','subject','createdAt','Attachment','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','push','readFileSync','build','log','err','unlinkSync','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./mailMessage.socket'];(function(_0x502feb,_0x48ce4a){var _0x1b995d=function(_0x1e1ddb){while(--_0x1e1ddb){_0x502feb['push'](_0x502feb['shift']());}};_0x1b995d(++_0x48ce4a);}(_0xa734,0x1ee));var _0x4a73=function(_0x40eb74,_0x3d9d63){_0x40eb74=_0x40eb74-0x0;var _0x58fe14=_0xa734[_0x40eb74];return _0x58fe14;};'use strict';var pdf=require(_0x4a73('0x0'));var emlformat=require(_0x4a73('0x1'));var rimraf=require(_0x4a73('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4a73('0x3'));var rp=require('request-promise');var moment=require(_0x4a73('0x4'));var BPromise=require(_0x4a73('0x5'));var Mustache=require(_0x4a73('0x6'));var util=require('util');var path=require('path');var sox=require(_0x4a73('0x7'));var csv=require('to-csv');var ejs=require(_0x4a73('0x8'));var fs=require('fs');var _=require(_0x4a73('0x9'));var squel=require('squel');var crypto=require(_0x4a73('0xa'));var jsforce=require(_0x4a73('0xb'));var deskjs=require(_0x4a73('0xc'));var toCsv=require(_0x4a73('0xd'));var querystring=require(_0x4a73('0xe'));var Papa=require(_0x4a73('0xf'));var Redis=require('ioredis');var authService=require(_0x4a73('0x10'));var qs=require(_0x4a73('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4a73('0x12'));var logger=require(_0x4a73('0x13'))('api');var utils=require(_0x4a73('0x14'));var config=require(_0x4a73('0x15'));var licenseUtil=require(_0x4a73('0x16'));var db=require(_0x4a73('0x17'))['db'];config[_0x4a73('0x18')]=_['defaults'](config[_0x4a73('0x18')],{'host':_0x4a73('0x19'),'port':0x18eb});var socket=require(_0x4a73('0x1a'))(new Redis(config[_0x4a73('0x18')]));require(_0x4a73('0x1b'))[_0x4a73('0x1c')](socket);var jayson=require(_0x4a73('0x1d'));var client=jayson[_0x4a73('0x1e')][_0x4a73('0x1f')]({'port':0x232c});var client9003=jayson[_0x4a73('0x1e')][_0x4a73('0x1f')]({'port':0x232b});var client9002=jayson['client'][_0x4a73('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x5dade6,_0x6a9919,_0x5e1683,_0x1095ee){return new BPromise(function(_0xe97885,_0x48ec04){var _0x5e8893=_0x1095ee||client;return _0x5e8893[_0x4a73('0x20')](_0x5dade6,_0x5e1683)[_0x4a73('0x21')](function(_0x2cfea1){logger[_0x4a73('0x22')](_0x4a73('0x23'),_0x6a9919,_0x4a73('0x24'));logger[_0x4a73('0x25')](_0x4a73('0x26'),_0x6a9919,_0x4a73('0x24'),JSON[_0x4a73('0x27')](_0x2cfea1));if(_0x2cfea1[_0x4a73('0x28')]){if(_0x2cfea1[_0x4a73('0x28')]['code']===0x1f4){logger['error'](_0x4a73('0x23'),_0x6a9919,_0x2cfea1[_0x4a73('0x28')][_0x4a73('0x29')]);return _0x48ec04(_0x2cfea1[_0x4a73('0x28')][_0x4a73('0x29')]);}logger[_0x4a73('0x28')](_0x4a73('0x23'),_0x6a9919,_0x2cfea1[_0x4a73('0x28')][_0x4a73('0x29')]);return _0xe97885(_0x2cfea1[_0x4a73('0x28')]['message']);}else{logger['info'](_0x4a73('0x23'),_0x6a9919,_0x4a73('0x24'));_0xe97885(_0x2cfea1[_0x4a73('0x2a')][_0x4a73('0x29')]);}})[_0x4a73('0x2b')](function(_0x149a9b){logger[_0x4a73('0x28')](_0x4a73('0x23'),_0x6a9919,_0x149a9b);_0x48ec04(_0x149a9b);});});}function respondWithStatusCode(_0x47ce64,_0xfa34b7){_0xfa34b7=_0xfa34b7||0xcc;return function(_0x5c0b25){if(_0x5c0b25){return _0x47ce64['sendStatus'](_0xfa34b7);}return _0x47ce64[_0x4a73('0x2c')](_0xfa34b7)[_0x4a73('0x2d')]();};}function respondWithResult(_0x4ce815,_0x5bb375){_0x5bb375=_0x5bb375||0xc8;return function(_0x146456){if(_0x146456){return _0x4ce815[_0x4a73('0x2c')](_0x5bb375)[_0x4a73('0x2e')](_0x146456);}};}function respondWithFilteredResult(_0x5a5533,_0x1a032f){return function(_0x1252b9){if(_0x1252b9){var _0x19b5d7=_0x1252b9[_0x4a73('0x2f')],_0x31da0b=_0x1a032f[_0x4a73('0x30')],_0x4b6a02=_0x1a032f[_0x4a73('0x30')]+_0x1a032f[_0x4a73('0x31')],_0x477f30;if(_0x4b6a02>=_0x19b5d7){_0x4b6a02=_0x19b5d7;_0x477f30=0xc8;}else{_0x477f30=0xce;}_0x5a5533[_0x4a73('0x2c')](_0x477f30);return _0x5a5533[_0x4a73('0x32')](_0x4a73('0x33'),_0x31da0b+'-'+_0x4b6a02+'/'+_0x19b5d7)[_0x4a73('0x2e')](_0x1252b9);}return null;};}function patchUpdates(_0xe30ab0){return function(_0x10e2d1){try{jsonpatch[_0x4a73('0x34')](_0x10e2d1,_0xe30ab0,!![]);}catch(_0x5616f4){return BPromise[_0x4a73('0x35')](_0x5616f4);}return _0x10e2d1[_0x4a73('0x36')]();};}function saveUpdates(_0x20221f,_0xf940c2){return function(_0x40b1f3){if(_0x40b1f3){return _0x40b1f3[_0x4a73('0x37')](_0x20221f)['then'](function(_0x17778d){return _0x17778d;});}return null;};}function removeEntity(_0x334c17,_0x2d9eaf){return function(_0x3f3af9){if(_0x3f3af9){return _0x3f3af9[_0x4a73('0x38')]()[_0x4a73('0x21')](function(){_0x334c17[_0x4a73('0x2c')](0xcc)[_0x4a73('0x2d')]();});}};}function handleEntityNotFound(_0x2b11bb,_0x184dbf){return function(_0x491621){if(!_0x491621){_0x2b11bb['sendStatus'](0x194);}return _0x491621;};}function handleError(_0xd4902e,_0x58c54d){_0x58c54d=_0x58c54d||0x1f4;return function(_0x326b64){logger[_0x4a73('0x28')](_0x326b64['stack']);if(_0x326b64[_0x4a73('0x39')]){delete _0x326b64[_0x4a73('0x39')];}_0xd4902e[_0x4a73('0x2c')](_0x58c54d)['send'](_0x326b64);};}exports[_0x4a73('0x3a')]=function(_0x4b645d,_0x28182e){var _0x1512bd={},_0x5b8dd6={},_0x1d7d6f={'count':0x0,'rows':[]};var _0x2fdb11=_[_0x4a73('0x3b')](db['MailMessage'][_0x4a73('0x3c')],function(_0xb1f435){return{'name':_0xb1f435[_0x4a73('0x3d')],'type':_0xb1f435[_0x4a73('0x3e')][_0x4a73('0x3f')]};});_0x5b8dd6[_0x4a73('0x40')]=_[_0x4a73('0x3b')](_0x2fdb11,'name');_0x5b8dd6['query']=_[_0x4a73('0x41')](_0x4b645d[_0x4a73('0x42')]);_0x5b8dd6[_0x4a73('0x43')]=_[_0x4a73('0x44')](_0x5b8dd6[_0x4a73('0x40')],_0x5b8dd6[_0x4a73('0x42')]);_0x1512bd['attributes']=_[_0x4a73('0x44')](_0x5b8dd6[_0x4a73('0x40')],qs[_0x4a73('0x45')](_0x4b645d[_0x4a73('0x42')][_0x4a73('0x45')]));_0x1512bd[_0x4a73('0x46')]=_0x1512bd[_0x4a73('0x46')][_0x4a73('0x47')]?_0x1512bd[_0x4a73('0x46')]:_0x5b8dd6[_0x4a73('0x40')];if(!_0x4b645d[_0x4a73('0x42')][_0x4a73('0x48')](_0x4a73('0x49'))){_0x1512bd[_0x4a73('0x31')]=qs[_0x4a73('0x31')](_0x4b645d[_0x4a73('0x42')][_0x4a73('0x31')]);_0x1512bd['offset']=qs[_0x4a73('0x30')](_0x4b645d['query']['offset']);}_0x1512bd[_0x4a73('0x4a')]=qs[_0x4a73('0x4b')](_0x4b645d[_0x4a73('0x42')]['sort']);_0x1512bd[_0x4a73('0x4c')]=qs['filters'](_[_0x4a73('0x4d')](_0x4b645d[_0x4a73('0x42')],_0x5b8dd6['filters']),_0x2fdb11);if(_0x4b645d['query'][_0x4a73('0x4e')]){_0x1512bd[_0x4a73('0x4c')]=_[_0x4a73('0x4f')](_0x1512bd[_0x4a73('0x4c')],{'$or':_[_0x4a73('0x3b')](_0x2fdb11,function(_0x33e498){if(_0x33e498[_0x4a73('0x3e')]!==_0x4a73('0x50')){var _0x5760e7={};_0x5760e7[_0x33e498['name']]={'$like':'%'+_0x4b645d[_0x4a73('0x42')]['filter']+'%'};return _0x5760e7;}})});}_0x1512bd=_[_0x4a73('0x4f')]({},_0x1512bd,_0x4b645d[_0x4a73('0x51')]);var _0x3ea35f={'where':_0x1512bd[_0x4a73('0x4c')]};return db[_0x4a73('0x52')][_0x4a73('0x2f')](_0x3ea35f)[_0x4a73('0x21')](function(_0x1db27a){_0x1d7d6f[_0x4a73('0x2f')]=_0x1db27a;if(_0x4b645d[_0x4a73('0x42')][_0x4a73('0x53')]){_0x1512bd[_0x4a73('0x54')]=[{'all':!![]}];}return db[_0x4a73('0x52')][_0x4a73('0x55')](_0x1512bd);})[_0x4a73('0x21')](function(_0x2159bc){_0x1d7d6f['rows']=_0x2159bc;return _0x1d7d6f;})[_0x4a73('0x21')](respondWithFilteredResult(_0x28182e,_0x1512bd))[_0x4a73('0x2b')](handleError(_0x28182e,null));};exports[_0x4a73('0x56')]=function(_0x2ec7d1,_0x5f0e4f){var _0xe6a0c6={'raw':!![],'where':{'id':_0x2ec7d1[_0x4a73('0x57')]['id']}},_0xdb28eb={};_0xdb28eb[_0x4a73('0x40')]=_[_0x4a73('0x41')](db[_0x4a73('0x52')][_0x4a73('0x3c')]);_0xdb28eb[_0x4a73('0x42')]=_[_0x4a73('0x41')](_0x2ec7d1[_0x4a73('0x42')]);_0xdb28eb[_0x4a73('0x43')]=_[_0x4a73('0x44')](_0xdb28eb[_0x4a73('0x40')],_0xdb28eb[_0x4a73('0x42')]);_0xe6a0c6[_0x4a73('0x46')]=_[_0x4a73('0x44')](_0xdb28eb[_0x4a73('0x40')],qs['fields'](_0x2ec7d1[_0x4a73('0x42')][_0x4a73('0x45')]));_0xe6a0c6[_0x4a73('0x46')]=_0xe6a0c6[_0x4a73('0x46')]['length']?_0xe6a0c6[_0x4a73('0x46')]:_0xdb28eb[_0x4a73('0x40')];if(_0x2ec7d1[_0x4a73('0x42')]['includeAll']){_0xe6a0c6['include']=[{'all':!![]}];}_0xe6a0c6=_[_0x4a73('0x4f')]({},_0xe6a0c6,_0x2ec7d1[_0x4a73('0x51')]);return db[_0x4a73('0x52')][_0x4a73('0x58')](_0xe6a0c6)[_0x4a73('0x21')](handleEntityNotFound(_0x5f0e4f,null))[_0x4a73('0x21')](respondWithResult(_0x5f0e4f,null))[_0x4a73('0x2b')](handleError(_0x5f0e4f,null));};exports[_0x4a73('0x37')]=function(_0x151274,_0x1e66ff){if(_0x151274[_0x4a73('0x59')]['id']){delete _0x151274['body']['id'];}return db[_0x4a73('0x52')]['find']({'where':{'id':_0x151274[_0x4a73('0x57')]['id']}})['then'](handleEntityNotFound(_0x1e66ff,null))[_0x4a73('0x21')](saveUpdates(_0x151274[_0x4a73('0x59')],null))[_0x4a73('0x21')](respondWithResult(_0x1e66ff,null))[_0x4a73('0x2b')](handleError(_0x1e66ff,null));};exports[_0x4a73('0x38')]=function(_0x1912f4,_0x4de782){return db[_0x4a73('0x52')][_0x4a73('0x58')]({'where':{'id':_0x1912f4['params']['id']}})[_0x4a73('0x21')](handleEntityNotFound(_0x4de782,null))[_0x4a73('0x21')](removeEntity(_0x4de782,null))[_0x4a73('0x2b')](handleError(_0x4de782,null));};exports[_0x4a73('0x5a')]=function(_0x1a70fe,_0x3014dc){return db[_0x4a73('0x52')][_0x4a73('0x5a')]()['then'](respondWithResult(_0x3014dc,null))[_0x4a73('0x2b')](handleError(_0x3014dc,null));};exports[_0x4a73('0x5b')]=function(_0x436df2,_0x302711){return db[_0x4a73('0x52')]['create'](_0x436df2[_0x4a73('0x59')])[_0x4a73('0x21')](function(_0xc03783){if(_0xc03783){if(_0xc03783[_0x4a73('0x5c')]===_0x4a73('0x5d')&&!_0xc03783[_0x4a73('0x5e')]){var _0xe7f5ce,_0x405fd3,_0x2bc32e;if(_0x436df2['body']['to']){_0x405fd3=_0x436df2['body']['to'][_0x4a73('0x5f')](',')[0x0];}return db[_0x4a73('0x60')]['findOne']({'where':{'id':_0xc03783[_0x4a73('0x61')]},'include':[{'model':db[_0x4a73('0x62')],'as':'List','include':[{'model':db[_0x4a73('0x63')],'as':_0x4a73('0x64'),'where':{'email':_0x405fd3},'limit':0x1,'order':[['updatedAt',_0x4a73('0x65')]]}]},{'model':db[_0x4a73('0x66')],'as':_0x4a73('0x67'),'raw':!![]}]})[_0x4a73('0x21')](function(_0x36c105){_0xe7f5ce=_0x36c105;if(_0xe7f5ce&&_0xe7f5ce[_0x4a73('0x67')]){var _0x56089d={'tls':{'rejectUnauthorized':![]}};if(_[_0x4a73('0x68')](_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x69')])){_0x56089d[_0x4a73('0x6a')]=_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6a')];_0x56089d[_0x4a73('0x6b')]=_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6b')];_0x56089d[_0x4a73('0x6c')]=_0xe7f5ce[_0x4a73('0x67')]['secure'];if(_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6d')]){_0x56089d['auth']={'user':_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6e')],'pass':_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6f')]};}}else{_0x56089d[_0x4a73('0x69')]=_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x69')];_0x56089d['auth']={'user':_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6e')],'pass':_0xe7f5ce['Smtp']['pass']};_0x56089d[_0x4a73('0x6c')]=_0xe7f5ce[_0x4a73('0x67')][_0x4a73('0x6c')];}if(_0x436df2[_0x4a73('0x59')][_0x4a73('0x70')]&&_0x436df2['body'][_0x4a73('0x70')][_0x4a73('0x47')]){for(var _0x2ea599=0x0;_0x2ea599<_0x436df2[_0x4a73('0x59')]['attachments'][_0x4a73('0x47')];_0x2ea599+=0x1){_0x436df2[_0x4a73('0x59')]['attachments'][_0x2ea599]={'filename':_0x436df2[_0x4a73('0x59')][_0x4a73('0x70')][_0x2ea599][_0x4a73('0x39')],'path':path['join'](config['root'],_0x4a73('0x71'),_0x436df2[_0x4a73('0x59')][_0x4a73('0x70')][_0x2ea599][_0x4a73('0x72')])};}}_0x2bc32e={'account':_0x56089d,'message':_0x436df2['body']};return;}})[_0x4a73('0x21')](function(){if(_0xe7f5ce[_0x4a73('0x73')]){if(_0xe7f5ce[_0x4a73('0x73')][_0x4a73('0x64')]['length']){return _0xe7f5ce['List'][_0x4a73('0x64')][0x0];}else{return db[_0x4a73('0x63')][_0x4a73('0x5b')](_['defaults'](_0x436df2['body'],{'firstName':_0x436df2[_0x4a73('0x59')]['to'],'email':_0x436df2[_0x4a73('0x59')]['to'],'phone':_0x436df2['body']['to'],'ListId':_0xe7f5ce[_0x4a73('0x74')]}));}}else{throw new Error(_0x4a73('0x75'));}})[_0x4a73('0x21')](function(){if(_0x2bc32e){return respondWithRpcPromise(_0x4a73('0x76'),_0x4a73('0x77'),_0x2bc32e,client9003)[_0x4a73('0x21')](function(_0x1a7416){return _0xc03783[_0x4a73('0x37')]({'read':!![],'messageId':_0x1a7416[_0x4a73('0x78')],'sentAt':moment()[_0x4a73('0x79')](_0x4a73('0x7a'))});})[_0x4a73('0x2b')](function(_0x45a179){logger[_0x4a73('0x28')]('%s',JSON[_0x4a73('0x27')](_0x45a179));return _0xc03783;});}return _0xc03783;});}return _0xc03783;}})[_0x4a73('0x21')](respondWithResult(_0x302711,0xc9))['catch'](handleError(_0x302711,null));};var interaction_log=require('../../config/logger')(_0x4a73('0x7b'));exports[_0x4a73('0x7c')]=function(_0x324103,_0x1bb2f1,_0xc61ba8){var _0x50a6c0={'channel':'mail'};if(_0x324103[_0x4a73('0x59')]['id']){delete _0x324103['body']['id'];}_0x324103[_0x4a73('0x59')][_0x4a73('0x7d')]=!![];_0x324103['body'][_0x4a73('0x7e')]=moment()[_0x4a73('0x79')]('YYYY-MM-DD\x20HH:mm:ss');_0x324103['body'][_0x4a73('0x7f')]=_0x324103[_0x4a73('0x59')][_0x4a73('0x7f')]||_0x324103[_0x4a73('0x6e')]['id'];return db[_0x4a73('0x52')][_0x4a73('0x58')]({'where':{'id':_0x324103[_0x4a73('0x57')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0x4a73('0x80')}]})[_0x4a73('0x21')](handleEntityNotFound(_0x1bb2f1,null))[_0x4a73('0x21')](saveUpdates(_0x324103['body'],null))[_0x4a73('0x21')](function(_0x10b66b){if(_0x10b66b){_0x50a6c0[_0x4a73('0x29')]=_0x10b66b[_0x4a73('0x81')]({'plain':!![]});return db[_0x4a73('0x82')][_0x4a73('0x58')]({'where':{'id':_0x10b66b[_0x4a73('0x83')]}});}return null;})[_0x4a73('0x21')](handleEntityNotFound(_0x1bb2f1,null))[_0x4a73('0x21')](function(_0x52e68e){if(_0x52e68e){return _0x52e68e[_0x4a73('0x37')]({'UserId':_0x324103[_0x4a73('0x59')][_0x4a73('0x7f')],'read1stAt':_[_0x4a73('0x68')](_0x52e68e['read1stAt'])?moment()[_0x4a73('0x79')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})['then'](function(_0x371438){if(_0x371438){_0x50a6c0[_0x4a73('0x84')]=_0x371438[_0x4a73('0x81')]({'plain':!![]});interaction_log[_0x4a73('0x22')](_0x4a73('0x85'),_0x324103[_0x4a73('0x6e')]['id'],_0x324103[_0x4a73('0x6e')]['name'],_0x324103['user'][_0x4a73('0x86')],_0x50a6c0[_0x4a73('0x84')]['id'],_0x324103['body']?JSON[_0x4a73('0x27')](_0x324103['body']):_0x4a73('0x87'));return respondWithRpcPromise(_0x4a73('0x88'),'acceptMessage',_0x50a6c0);}return null;})['then'](function(_0x5f43fc){if(_0x5f43fc){if(_0x324103[_0x4a73('0x59')]['manual']){_0x50a6c0['message'][_0x4a73('0x89')]=util['format'](_0x4a73('0x8a'),_0x324103[_0x4a73('0x6e')][_0x4a73('0x39')]);_0x50a6c0['message'][_0x4a73('0x8b')]=_0x50a6c0[_0x4a73('0x8b')];_0x50a6c0[_0x4a73('0x29')][_0x4a73('0x8c')]=_0x4a73('0x7c');return respondWithRpcPromise('EventManager',_0x4a73('0x8d'),{'event':_0x4a73('0x8e'),'message':_0x50a6c0[_0x4a73('0x29')]},client9002)['then'](function(){return _0x50a6c0;});}return _0x50a6c0;}return null;})[_0x4a73('0x21')](respondWithResult(_0x1bb2f1,null))[_0x4a73('0x2b')](handleError(_0x1bb2f1,null));};var interaction_log=require(_0x4a73('0x13'))(_0x4a73('0x7b'));exports['reject']=function(_0x1e6846,_0x468bcb,_0x42e181){var _0xdbb169={'agent':{},'channel':_0x4a73('0x8f')};if(_0x1e6846[_0x4a73('0x59')]['id']){delete _0x1e6846[_0x4a73('0x59')]['id'];}_0x1e6846['body'][_0x4a73('0x7f')]=_0x1e6846[_0x4a73('0x59')]['UserId']||_0x1e6846[_0x4a73('0x6e')]['id'];_0xdbb169[_0x4a73('0x90')]['id']=_0x1e6846[_0x4a73('0x59')][_0x4a73('0x7f')];return db[_0x4a73('0x52')]['find']({'where':{'id':_0x1e6846['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x468bcb,null))['then'](function(_0x2f3e06){if(_0x2f3e06){_0xdbb169[_0x4a73('0x29')]=_0x2f3e06[_0x4a73('0x81')]({'plain':!![]});return db[_0x4a73('0x82')][_0x4a73('0x58')]({'where':{'id':_0x2f3e06[_0x4a73('0x83')]}});}return null;})[_0x4a73('0x21')](handleEntityNotFound(_0x468bcb,null))['then'](function(_0x3bb82f){if(_0x3bb82f){_0xdbb169[_0x4a73('0x84')]=_0x3bb82f[_0x4a73('0x81')]({'plain':!![]});interaction_log[_0x4a73('0x22')](_0x4a73('0x91'),_0x1e6846['user']['id'],_0x1e6846[_0x4a73('0x6e')][_0x4a73('0x39')],_0x1e6846[_0x4a73('0x6e')][_0x4a73('0x86')],_0xdbb169[_0x4a73('0x84')]['id'],_0x1e6846[_0x4a73('0x59')]?JSON[_0x4a73('0x27')](_0x1e6846['body']):_0x4a73('0x87'));return respondWithRpcPromise(_0x4a73('0x92'),_0x4a73('0x93'),_0xdbb169);}return null;})['then'](function(_0x261f09){if(_0x261f09){_0x261f09[_0x4a73('0x29')][_0x4a73('0x89')]=util[_0x4a73('0x79')](_0x4a73('0x8a'),_0x1e6846[_0x4a73('0x6e')][_0x4a73('0x39')]);_0x261f09[_0x4a73('0x29')]['channel']=_0xdbb169['channel'];_0x261f09[_0x4a73('0x29')][_0x4a73('0x8c')]='reject';respondWithRpcPromise('EventManager',_0x4a73('0x8d'),{'event':_0x4a73('0x94'),'message':_0x261f09[_0x4a73('0x29')]},client9002);return _0xdbb169;}return null;})['then'](respondWithResult(_0x468bcb,null))[_0x4a73('0x2b')](handleError(_0x468bcb,null));};exports[_0x4a73('0x95')]=function(_0x4b2955,_0x32c4cf){var _0x51708c=moment()[_0x4a73('0x96')]()[_0x4a73('0x97')]();var _0x585dd3=path['join'](config[_0x4a73('0x98')],_0x4a73('0x99'),_0x4a73('0x9a'),_0x4a73('0x9b'));var _0x70d597=path[_0x4a73('0x9c')](config['root'],_0x4a73('0x99'),_0x4a73('0x9a'),_0x4a73('0x70'));var _0x14c272=util[_0x4a73('0x79')](_0x4a73('0x9d'),_0x51708c);return db[_0x4a73('0x52')]['find']({'where':{'id':_0x4b2955[_0x4a73('0x57')]['id']},'attributes':['id','body','from','to','cc',_0x4a73('0x9e'),_0x4a73('0x9f'),_0x4a73('0xa0')],'include':_0x4b2955[_0x4a73('0x42')][_0x4a73('0x70')]?[{'model':db[_0x4a73('0xa1')],'as':'Attachments'}]:undefined})[_0x4a73('0x21')](handleEntityNotFound(_0x32c4cf,null))[_0x4a73('0x21')](function(_0x247974){if(_0x247974){var _0x36b78a=_0x247974;var _0x3a4d98={'from':_0x36b78a[_0x4a73('0xa2')],'to':_0x36b78a['to'],'subject':_0x36b78a[_0x4a73('0x9f')],'html':_0x36b78a[_0x4a73('0x59')],'headers':{'Date':moment(_0x36b78a[_0x4a73('0xa0')])[_0x4a73('0x79')](_0x4a73('0xa3'))},'attachments':[]};if(_0x247974['cc']){_0x3a4d98[_0x4a73('0xa4')]['Cc']=_0x247974['cc'];}if(_0x247974[_0x4a73('0x9e')]){_0x3a4d98[_0x4a73('0xa4')][_0x4a73('0xa5')]=_0x247974[_0x4a73('0x9e')];}return new BPromise(function(_0x727ec4,_0x30e628){if(_0x247974[_0x4a73('0xa6')]){for(var _0x148840=0x0;_0x148840<_0x247974['Attachments'][_0x4a73('0x47')];_0x148840++){var _0x419651=_0x247974[_0x4a73('0xa6')][_0x148840];var _0x5ddce4=path[_0x4a73('0x9c')](_0x70d597,_0x419651['basename']);if(fs[_0x4a73('0xa7')](_0x5ddce4)){_0x3a4d98['attachments'][_0x4a73('0xa8')]({'name':_0x419651[_0x4a73('0x39')],'contentType':_0x419651['type'],'data':fs[_0x4a73('0xa9')](_0x5ddce4)});}}}emlformat[_0x4a73('0xaa')](_0x3a4d98,function(_0x1a634d,_0x3d1110){if(_0x1a634d)return _0x30e628(_0x1a634d);fs['writeFileSync'](path[_0x4a73('0x9c')](_0x585dd3,_0x14c272),_0x3d1110);return _0x727ec4(_0x3d1110);});});}})[_0x4a73('0x21')](function(_0x3f6270){if(_0x3f6270){return _0x32c4cf[_0x4a73('0x95')](path[_0x4a73('0x9c')](_0x585dd3,_0x14c272),_0x14c272,function(_0x400e1e){if(_0x400e1e){console[_0x4a73('0xab')](_0x4a73('0xac'),_0x400e1e);}else{fs[_0x4a73('0xad')](path[_0x4a73('0x9c')](_0x585dd3,_0x14c272));}});}})[_0x4a73('0x2b')](handleError(_0x32c4cf,null));};