f3a4f85317eec68c04a16e01ea2aa88e91053e76
[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 _0x63be=['MailInteraction','MailInteractionId','read1stAt','interaction','null','AcceptMessage','acceptMessage','manual','SIP/%s','channel','event','EventManager','acceptmessage','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','interface','reject','download','unix','toString','join','server','tmp','files','message-%s.eml','from','bcc','createdAt','Attachment','Attachments','subject','headers','Bcc','existsSync','readFileSync','build','writeFileSync','log','unlinkSync','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','test','Sequelize','ValidationError','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','info','request\x20sent','debug','stringify','error','code','MailMessage,\x20%s,\x20%s','message','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','save','update','destroy','then','stack','name','send','index','map','MailMessage','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','body','describe','create','out','secret','split','MailAccount','findOne','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','host','port','secure','authentication','auth','user','pass','attachments','root','server/files/attachments','basename','List','List\x20not\x20found','SendMail','sendMail','messageId','format','mail-interactions','accept','mail','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','Contact','get'];(function(_0x493cea,_0x144c6a){var _0x1c32ba=function(_0x47c0f9){while(--_0x47c0f9){_0x493cea['push'](_0x493cea['shift']());}};_0x1c32ba(++_0x144c6a);}(_0x63be,0xd7));var _0xe63b=function(_0x1117aa,_0x5e6cd6){_0x1117aa=_0x1117aa-0x0;var _0x23756d=_0x63be[_0x1117aa];return _0x23756d;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xe63b('0x0'));var zipdir=require(_0xe63b('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe63b('0x2'));var moment=require(_0xe63b('0x3'));var BPromise=require(_0xe63b('0x4'));var Mustache=require('mustache');var util=require(_0xe63b('0x5'));var path=require('path');var sox=require(_0xe63b('0x6'));var csv=require(_0xe63b('0x7'));var ejs=require(_0xe63b('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe63b('0x9'));var crypto=require(_0xe63b('0xa'));var jsforce=require(_0xe63b('0xb'));var deskjs=require(_0xe63b('0xc'));var toCsv=require(_0xe63b('0x7'));var querystring=require(_0xe63b('0xd'));var Papa=require(_0xe63b('0xe'));var Redis=require('ioredis');var authService=require(_0xe63b('0xf'));var qs=require(_0xe63b('0x10'));var as=require(_0xe63b('0x11'));var hardwareService=require(_0xe63b('0x12'));var logger=require(_0xe63b('0x13'))(_0xe63b('0x14'));var utils=require('../../config/utils');var config=require(_0xe63b('0x15'));var db=require(_0xe63b('0x16'))['db'];config[_0xe63b('0x17')]=_[_0xe63b('0x18')](config[_0xe63b('0x17')],{'host':_0xe63b('0x19'),'port':0x18eb});var socket=require(_0xe63b('0x1a'))(new Redis(config[_0xe63b('0x17')]));require(_0xe63b('0x1b'))[_0xe63b('0x1c')](socket);var jayson=require(_0xe63b('0x1d'));var client=jayson[_0xe63b('0x1e')][_0xe63b('0x1f')]({'port':0x232c});var client9003=jayson['client'][_0xe63b('0x1f')]({'port':0x232b});var client9002=jayson[_0xe63b('0x1e')][_0xe63b('0x1f')]({'port':0x232a});function checkPasswordPattern(_0x5a2877,_0xe01c07,_0xae0878){if(_0xae0878){var _0x2aa838=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2aa838[_0xe63b('0x20')](_0xe01c07)){return _0x5a2877;}else{throw new db[(_0xe63b('0x21'))][(_0xe63b('0x22'))](_0xe63b('0x23'));}}else{return _0x5a2877;}}function respondWithRpcPromise(_0x351346,_0x32040e,_0x128d5e,_0x4975e8){return new BPromise(function(_0x14199a,_0x28cb57){var _0x3c2d5e=_0x4975e8||client;return _0x3c2d5e[_0xe63b('0x24')](_0x351346,_0x128d5e)['then'](function(_0x7a5d18){logger[_0xe63b('0x25')]('MailMessage,\x20%s,\x20%s',_0x32040e,_0xe63b('0x26'));logger[_0xe63b('0x27')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x32040e,'request\x20sent',JSON[_0xe63b('0x28')](_0x7a5d18));if(_0x7a5d18['error']){if(_0x7a5d18[_0xe63b('0x29')][_0xe63b('0x2a')]===0x1f4){logger['error'](_0xe63b('0x2b'),_0x32040e,_0x7a5d18['error']['message']);return _0x28cb57(_0x7a5d18[_0xe63b('0x29')][_0xe63b('0x2c')]);}logger[_0xe63b('0x29')]('MailMessage,\x20%s,\x20%s',_0x32040e,_0x7a5d18[_0xe63b('0x29')][_0xe63b('0x2c')]);return _0x14199a(_0x7a5d18[_0xe63b('0x29')][_0xe63b('0x2c')]);}else{logger['info'](_0xe63b('0x2b'),_0x32040e,_0xe63b('0x26'));_0x14199a(_0x7a5d18['result'][_0xe63b('0x2c')]);}})['catch'](function(_0x4cf98e){logger[_0xe63b('0x29')](_0xe63b('0x2b'),_0x32040e,_0x4cf98e);_0x28cb57(_0x4cf98e);});});}function respondWithStatusCode(_0x3c0bff,_0x57ee22){_0x57ee22=_0x57ee22||0xcc;return function(_0xc9580c){if(_0xc9580c){return _0x3c0bff[_0xe63b('0x2d')](_0x57ee22);}return _0x3c0bff['status'](_0x57ee22)[_0xe63b('0x2e')]();};}function respondWithResult(_0xe98256,_0x5872d2){_0x5872d2=_0x5872d2||0xc8;return function(_0x4e665b){if(_0x4e665b){return _0xe98256[_0xe63b('0x2f')](_0x5872d2)['json'](_0x4e665b);}};}function respondWithFilteredResult(_0x7d4e1,_0x19b7f4){return function(_0x14f349){if(_0x14f349){var _0xf63894=_0x14f349[_0xe63b('0x30')],_0xcc9138=_0x19b7f4[_0xe63b('0x31')],_0x2a6fe3=_0x19b7f4['offset']+_0x19b7f4[_0xe63b('0x32')],_0x5220d6;if(_0x2a6fe3>=_0xf63894){_0x2a6fe3=_0xf63894;_0x5220d6=0xc8;}else{_0x5220d6=0xce;}_0x7d4e1['status'](_0x5220d6);return _0x7d4e1[_0xe63b('0x33')](_0xe63b('0x34'),_0xcc9138+'-'+_0x2a6fe3+'/'+_0xf63894)[_0xe63b('0x35')](_0x14f349);}return null;};}function patchUpdates(_0x463618){return function(_0x4369b5){try{jsonpatch[_0xe63b('0x36')](_0x4369b5,_0x463618,!![]);}catch(_0x33d320){return BPromise['reject'](_0x33d320);}return _0x4369b5[_0xe63b('0x37')]();};}function saveUpdates(_0x4cedd2,_0x2c6763){return function(_0x31a32b){if(_0x31a32b){return _0x31a32b[_0xe63b('0x38')](_0x4cedd2)['then'](function(_0x246aaa){return _0x246aaa;});}return null;};}function removeEntity(_0x3dcc88,_0x4a6ad5){return function(_0x4e2173){if(_0x4e2173){return _0x4e2173[_0xe63b('0x39')]()[_0xe63b('0x3a')](function(){_0x3dcc88[_0xe63b('0x2f')](0xcc)[_0xe63b('0x2e')]();});}};}function handleEntityNotFound(_0x16fac3,_0x27b9c1){return function(_0x2fa56f){if(!_0x2fa56f){_0x16fac3[_0xe63b('0x2d')](0x194);}return _0x2fa56f;};}function handleError(_0x11bd06,_0x36f24e){_0x36f24e=_0x36f24e||0x1f4;return function(_0x116c9c){logger[_0xe63b('0x29')](_0x116c9c[_0xe63b('0x3b')]);if(_0x116c9c[_0xe63b('0x3c')]){delete _0x116c9c[_0xe63b('0x3c')];}_0x11bd06[_0xe63b('0x2f')](_0x36f24e)[_0xe63b('0x3d')](_0x116c9c);};}exports[_0xe63b('0x3e')]=function(_0x44d46d,_0x4db96b){var _0x53961d={},_0x2887a4={},_0x3ebdda={'count':0x0,'rows':[]};var _0x1a49f9=_[_0xe63b('0x3f')](db[_0xe63b('0x40')][_0xe63b('0x41')],function(_0x153f65){return{'name':_0x153f65[_0xe63b('0x42')],'type':_0x153f65[_0xe63b('0x43')][_0xe63b('0x44')]};});_0x2887a4[_0xe63b('0x45')]=_[_0xe63b('0x3f')](_0x1a49f9,_0xe63b('0x3c'));_0x2887a4[_0xe63b('0x46')]=_['keys'](_0x44d46d[_0xe63b('0x46')]);_0x2887a4[_0xe63b('0x47')]=_[_0xe63b('0x48')](_0x2887a4[_0xe63b('0x45')],_0x2887a4['query']);_0x53961d[_0xe63b('0x49')]=_['intersection'](_0x2887a4['model'],qs['fields'](_0x44d46d[_0xe63b('0x46')][_0xe63b('0x4a')]));_0x53961d[_0xe63b('0x49')]=_0x53961d[_0xe63b('0x49')][_0xe63b('0x4b')]?_0x53961d[_0xe63b('0x49')]:_0x2887a4['model'];if(!_0x44d46d[_0xe63b('0x46')]['hasOwnProperty'](_0xe63b('0x4c'))){_0x53961d[_0xe63b('0x32')]=qs[_0xe63b('0x32')](_0x44d46d['query'][_0xe63b('0x32')]);_0x53961d[_0xe63b('0x31')]=qs[_0xe63b('0x31')](_0x44d46d[_0xe63b('0x46')]['offset']);}_0x53961d['order']=qs[_0xe63b('0x4d')](_0x44d46d[_0xe63b('0x46')]['sort']);_0x53961d[_0xe63b('0x4e')]=qs[_0xe63b('0x47')](_[_0xe63b('0x4f')](_0x44d46d[_0xe63b('0x46')],_0x2887a4[_0xe63b('0x47')]),_0x1a49f9);if(_0x44d46d['query'][_0xe63b('0x50')]){_0x53961d[_0xe63b('0x4e')]=_[_0xe63b('0x51')](_0x53961d[_0xe63b('0x4e')],{'$or':_['map'](_0x1a49f9,function(_0x122eb1){if(_0x122eb1[_0xe63b('0x43')]!==_0xe63b('0x52')){var _0x209edd={};_0x209edd[_0x122eb1[_0xe63b('0x3c')]]={'$like':'%'+_0x44d46d[_0xe63b('0x46')][_0xe63b('0x50')]+'%'};return _0x209edd;}})});}_0x53961d=_[_0xe63b('0x51')]({},_0x53961d,_0x44d46d[_0xe63b('0x53')]);var _0x4c3493={'where':_0x53961d[_0xe63b('0x4e')]};return db[_0xe63b('0x40')][_0xe63b('0x30')](_0x4c3493)['then'](function(_0x16c9ba){_0x3ebdda[_0xe63b('0x30')]=_0x16c9ba;if(_0x44d46d['query']['includeAll']){_0x53961d[_0xe63b('0x54')]=[{'all':!![]}];}return db[_0xe63b('0x40')][_0xe63b('0x55')](_0x53961d);})[_0xe63b('0x3a')](function(_0xe1fc9f){_0x3ebdda[_0xe63b('0x56')]=_0xe1fc9f;return _0x3ebdda;})[_0xe63b('0x3a')](respondWithFilteredResult(_0x4db96b,_0x53961d))[_0xe63b('0x57')](handleError(_0x4db96b,null));};exports[_0xe63b('0x58')]=function(_0x1c82b3,_0x18a70c){var _0xcb042f={'raw':!![],'where':{'id':_0x1c82b3[_0xe63b('0x59')]['id']}},_0x15382a={};_0x15382a[_0xe63b('0x45')]=_['keys'](db[_0xe63b('0x40')][_0xe63b('0x41')]);_0x15382a[_0xe63b('0x46')]=_['keys'](_0x1c82b3[_0xe63b('0x46')]);_0x15382a[_0xe63b('0x47')]=_['intersection'](_0x15382a[_0xe63b('0x45')],_0x15382a[_0xe63b('0x46')]);_0xcb042f[_0xe63b('0x49')]=_[_0xe63b('0x48')](_0x15382a['model'],qs[_0xe63b('0x4a')](_0x1c82b3[_0xe63b('0x46')][_0xe63b('0x4a')]));_0xcb042f['attributes']=_0xcb042f['attributes'][_0xe63b('0x4b')]?_0xcb042f[_0xe63b('0x49')]:_0x15382a[_0xe63b('0x45')];if(_0x1c82b3['query'][_0xe63b('0x5a')]){_0xcb042f['include']=[{'all':!![]}];}_0xcb042f=_['merge']({},_0xcb042f,_0x1c82b3['options']);return db[_0xe63b('0x40')]['find'](_0xcb042f)[_0xe63b('0x3a')](handleEntityNotFound(_0x18a70c,null))[_0xe63b('0x3a')](respondWithResult(_0x18a70c,null))[_0xe63b('0x57')](handleError(_0x18a70c,null));};exports[_0xe63b('0x38')]=function(_0x1abc9f,_0x15a510){if(_0x1abc9f['body']['id']){delete _0x1abc9f['body']['id'];}return db[_0xe63b('0x40')][_0xe63b('0x5b')]({'where':{'id':_0x1abc9f[_0xe63b('0x59')]['id']}})[_0xe63b('0x3a')](handleEntityNotFound(_0x15a510,null))[_0xe63b('0x3a')](saveUpdates(_0x1abc9f[_0xe63b('0x5c')],null))['then'](respondWithResult(_0x15a510,null))[_0xe63b('0x57')](handleError(_0x15a510,null));};exports['destroy']=function(_0x56baf3,_0x2e7cb4){return db[_0xe63b('0x40')][_0xe63b('0x5b')]({'where':{'id':_0x56baf3[_0xe63b('0x59')]['id']}})[_0xe63b('0x3a')](handleEntityNotFound(_0x2e7cb4,null))[_0xe63b('0x3a')](removeEntity(_0x2e7cb4,null))[_0xe63b('0x57')](handleError(_0x2e7cb4,null));};exports[_0xe63b('0x5d')]=function(_0x2f031e,_0xa8b64a){return db[_0xe63b('0x40')][_0xe63b('0x5d')]()[_0xe63b('0x3a')](respondWithResult(_0xa8b64a,null))[_0xe63b('0x57')](handleError(_0xa8b64a,null));};exports['create']=function(_0x27e240,_0x2be82f){return db[_0xe63b('0x40')][_0xe63b('0x5e')](_0x27e240[_0xe63b('0x5c')])['then'](function(_0x2c8440){if(_0x2c8440){if(_0x2c8440['direction']===_0xe63b('0x5f')&&!_0x2c8440[_0xe63b('0x60')]){var _0x23e188,_0x44b4bf,_0x31215f;if(_0x27e240['body']['to']){_0x44b4bf=_0x27e240[_0xe63b('0x5c')]['to'][_0xe63b('0x61')](',')[0x0];}return db[_0xe63b('0x62')][_0xe63b('0x63')]({'where':{'id':_0x2c8440['MailAccountId']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xe63b('0x64')],'as':_0xe63b('0x65'),'where':{'email':_0x44b4bf},'limit':0x1,'order':[[_0xe63b('0x66'),_0xe63b('0x67')]]}]},{'model':db[_0xe63b('0x68')],'as':_0xe63b('0x69'),'raw':!![]}]})['then'](function(_0x8231c6){_0x23e188=_0x8231c6;if(_0x23e188&&_0x23e188[_0xe63b('0x69')]){var _0x18d5f5={'tls':{'rejectUnauthorized':![]}};if(_[_0xe63b('0x6a')](_0x23e188[_0xe63b('0x69')][_0xe63b('0x6b')])){_0x18d5f5[_0xe63b('0x6c')]=_0x23e188[_0xe63b('0x69')]['host'];_0x18d5f5[_0xe63b('0x6d')]=_0x23e188[_0xe63b('0x69')]['port'];_0x18d5f5[_0xe63b('0x6e')]=_0x23e188['Smtp'][_0xe63b('0x6e')];if(_0x23e188[_0xe63b('0x69')][_0xe63b('0x6f')]){_0x18d5f5[_0xe63b('0x70')]={'user':_0x23e188[_0xe63b('0x69')][_0xe63b('0x71')],'pass':_0x23e188[_0xe63b('0x69')][_0xe63b('0x72')]};}}else{_0x18d5f5[_0xe63b('0x6b')]=_0x23e188['Smtp'][_0xe63b('0x6b')];_0x18d5f5['auth']={'user':_0x23e188[_0xe63b('0x69')][_0xe63b('0x71')],'pass':_0x23e188[_0xe63b('0x69')][_0xe63b('0x72')]};_0x18d5f5[_0xe63b('0x6e')]=_0x23e188[_0xe63b('0x69')][_0xe63b('0x6e')];}if(_0x27e240['body'][_0xe63b('0x73')]&&_0x27e240[_0xe63b('0x5c')][_0xe63b('0x73')][_0xe63b('0x4b')]){for(var _0x31c0da=0x0;_0x31c0da<_0x27e240[_0xe63b('0x5c')][_0xe63b('0x73')][_0xe63b('0x4b')];_0x31c0da+=0x1){_0x27e240[_0xe63b('0x5c')][_0xe63b('0x73')][_0x31c0da]={'filename':_0x27e240[_0xe63b('0x5c')][_0xe63b('0x73')][_0x31c0da][_0xe63b('0x3c')],'path':path['join'](config[_0xe63b('0x74')],_0xe63b('0x75'),_0x27e240[_0xe63b('0x5c')][_0xe63b('0x73')][_0x31c0da][_0xe63b('0x76')])};}}_0x31215f={'account':_0x18d5f5,'message':_0x27e240['body']};return;}})[_0xe63b('0x3a')](function(){if(_0x23e188['List']){if(_0x23e188[_0xe63b('0x77')][_0xe63b('0x65')][_0xe63b('0x4b')]){return _0x23e188['List'][_0xe63b('0x65')][0x0];}else{return db['CmContact'][_0xe63b('0x5e')](_[_0xe63b('0x18')](_0x27e240[_0xe63b('0x5c')],{'firstName':_0x27e240[_0xe63b('0x5c')]['to'],'email':_0x27e240[_0xe63b('0x5c')]['to'],'phone':_0x27e240[_0xe63b('0x5c')]['to'],'ListId':_0x23e188['ListId']}));}}else{throw new Error(_0xe63b('0x78'));}})[_0xe63b('0x3a')](function(){if(_0x31215f){return respondWithRpcPromise(_0xe63b('0x79'),_0xe63b('0x7a'),_0x31215f,client9003)[_0xe63b('0x3a')](function(_0x5a5c9f){return _0x2c8440[_0xe63b('0x38')]({'read':!![],'messageId':_0x5a5c9f[_0xe63b('0x7b')],'sentAt':moment()[_0xe63b('0x7c')]('YYYY-MM-DD\x20HH:mm:ss')});})['catch'](function(_0x3be465){logger[_0xe63b('0x29')]('%s',JSON[_0xe63b('0x28')](_0x3be465));return _0x2c8440;});}return _0x2c8440;});}return _0x2c8440;}})[_0xe63b('0x3a')](respondWithResult(_0x2be82f,0xc9))['catch'](handleError(_0x2be82f,null));};var interaction_log=require(_0xe63b('0x13'))(_0xe63b('0x7d'));exports[_0xe63b('0x7e')]=function(_0xba25ec,_0x15bb43,_0x3e97c8){var _0x4a1d40={'channel':_0xe63b('0x7f')};if(_0xba25ec[_0xe63b('0x5c')]['id']){delete _0xba25ec[_0xe63b('0x5c')]['id'];}_0xba25ec['body']['read']=!![];_0xba25ec[_0xe63b('0x5c')][_0xe63b('0x80')]=moment()['format'](_0xe63b('0x81'));_0xba25ec[_0xe63b('0x5c')][_0xe63b('0x82')]=_0xba25ec[_0xe63b('0x5c')]['UserId']||_0xba25ec[_0xe63b('0x71')]['id'];return db[_0xe63b('0x40')][_0xe63b('0x5b')]({'where':{'id':_0xba25ec[_0xe63b('0x59')]['id'],'UserId':null},'include':[{'model':db[_0xe63b('0x64')],'as':_0xe63b('0x83')}]})[_0xe63b('0x3a')](handleEntityNotFound(_0x15bb43,null))['then'](saveUpdates(_0xba25ec['body'],null))[_0xe63b('0x3a')](function(_0x37d1de){if(_0x37d1de){_0x4a1d40['message']=_0x37d1de[_0xe63b('0x84')]({'plain':!![]});return db[_0xe63b('0x85')][_0xe63b('0x5b')]({'where':{'id':_0x37d1de[_0xe63b('0x86')]}});}return null;})['then'](handleEntityNotFound(_0x15bb43,null))[_0xe63b('0x3a')](function(_0x546945){if(_0x546945){return _0x546945['update']({'UserId':_0xba25ec['body'][_0xe63b('0x82')],'read1stAt':_[_0xe63b('0x6a')](_0x546945[_0xe63b('0x87')])?moment()['format']('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0xe63b('0x3a')](function(_0x4cded5){if(_0x4cded5){_0x4a1d40[_0xe63b('0x88')]=_0x4cded5[_0xe63b('0x84')]({'plain':!![]});interaction_log[_0xe63b('0x25')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xba25ec[_0xe63b('0x71')]['id'],_0xba25ec['user'][_0xe63b('0x3c')],_0xba25ec[_0xe63b('0x71')]['role'],_0x4a1d40[_0xe63b('0x88')]['id'],_0xba25ec[_0xe63b('0x5c')]?JSON[_0xe63b('0x28')](_0xba25ec[_0xe63b('0x5c')]):_0xe63b('0x89'));return respondWithRpcPromise(_0xe63b('0x8a'),_0xe63b('0x8b'),_0x4a1d40);}return null;})[_0xe63b('0x3a')](function(_0x3d8c88){if(_0x3d8c88){if(_0xba25ec[_0xe63b('0x5c')][_0xe63b('0x8c')]){_0x4a1d40[_0xe63b('0x2c')]['interface']=util['format'](_0xe63b('0x8d'),_0xba25ec[_0xe63b('0x71')][_0xe63b('0x3c')]);_0x4a1d40['message'][_0xe63b('0x8e')]=_0x4a1d40[_0xe63b('0x8e')];_0x4a1d40[_0xe63b('0x2c')][_0xe63b('0x8f')]=_0xe63b('0x7e');return respondWithRpcPromise(_0xe63b('0x90'),_0xe63b('0x90'),{'event':_0xe63b('0x91'),'message':_0x4a1d40[_0xe63b('0x2c')]},client9002)[_0xe63b('0x3a')](function(){return _0x4a1d40;});}return _0x4a1d40;}return null;})['then'](respondWithResult(_0x15bb43,null))[_0xe63b('0x57')](handleError(_0x15bb43,null));};var interaction_log=require('../../config/logger')(_0xe63b('0x7d'));exports['reject']=function(_0x4ee231,_0x59acb8,_0x83e79a){var _0x4f9734={'agent':{},'channel':_0xe63b('0x7f')};if(_0x4ee231[_0xe63b('0x5c')]['id']){delete _0x4ee231['body']['id'];}_0x4ee231[_0xe63b('0x5c')][_0xe63b('0x82')]=_0x4ee231['body']['UserId']||_0x4ee231[_0xe63b('0x71')]['id'];_0x4f9734[_0xe63b('0x92')]['id']=_0x4ee231['body'][_0xe63b('0x82')];return db['MailMessage'][_0xe63b('0x5b')]({'where':{'id':_0x4ee231[_0xe63b('0x59')]['id'],'UserId':null}})[_0xe63b('0x3a')](handleEntityNotFound(_0x59acb8,null))[_0xe63b('0x3a')](function(_0x33b737){if(_0x33b737){_0x4f9734[_0xe63b('0x2c')]=_0x33b737[_0xe63b('0x84')]({'plain':!![]});return db[_0xe63b('0x85')][_0xe63b('0x5b')]({'where':{'id':_0x33b737[_0xe63b('0x86')]}});}return null;})[_0xe63b('0x3a')](handleEntityNotFound(_0x59acb8,null))[_0xe63b('0x3a')](function(_0x1e7d07){if(_0x1e7d07){_0x4f9734[_0xe63b('0x88')]=_0x1e7d07[_0xe63b('0x84')]({'plain':!![]});interaction_log[_0xe63b('0x25')](_0xe63b('0x93'),_0x4ee231[_0xe63b('0x71')]['id'],_0x4ee231[_0xe63b('0x71')][_0xe63b('0x3c')],_0x4ee231['user'][_0xe63b('0x94')],_0x4f9734['interaction']['id'],_0x4ee231[_0xe63b('0x5c')]?JSON[_0xe63b('0x28')](_0x4ee231[_0xe63b('0x5c')]):_0xe63b('0x89'));return respondWithRpcPromise(_0xe63b('0x95'),'rejectMessage',_0x4f9734);}return null;})[_0xe63b('0x3a')](function(_0x3c19b8){if(_0x3c19b8){_0x3c19b8[_0xe63b('0x2c')][_0xe63b('0x96')]=util['format'](_0xe63b('0x8d'),_0x4ee231[_0xe63b('0x71')][_0xe63b('0x3c')]);_0x3c19b8[_0xe63b('0x2c')]['channel']=_0x4f9734['channel'];_0x3c19b8['message'][_0xe63b('0x8f')]=_0xe63b('0x97');respondWithRpcPromise('EventManager',_0xe63b('0x90'),{'event':'rejectmessage','message':_0x3c19b8[_0xe63b('0x2c')]},client9002);return _0x4f9734;}return null;})[_0xe63b('0x3a')](respondWithResult(_0x59acb8,null))[_0xe63b('0x57')](handleError(_0x59acb8,null));};exports[_0xe63b('0x98')]=function(_0x256327,_0x3f5f35){var _0x1b3347=moment()[_0xe63b('0x99')]()[_0xe63b('0x9a')]();var _0x5b2cfe=path[_0xe63b('0x9b')](config[_0xe63b('0x74')],_0xe63b('0x9c'),'files',_0xe63b('0x9d'));var _0x28b91c=path[_0xe63b('0x9b')](config[_0xe63b('0x74')],_0xe63b('0x9c'),_0xe63b('0x9e'),_0xe63b('0x73'));var _0x24bfb7=util[_0xe63b('0x7c')](_0xe63b('0x9f'),_0x1b3347);return db[_0xe63b('0x40')][_0xe63b('0x5b')]({'where':{'id':_0x256327[_0xe63b('0x59')]['id']},'attributes':['id',_0xe63b('0x5c'),_0xe63b('0xa0'),'to','cc',_0xe63b('0xa1'),'subject',_0xe63b('0xa2')],'include':_0x256327['query']['attachments']?[{'model':db[_0xe63b('0xa3')],'as':_0xe63b('0xa4')}]:undefined})[_0xe63b('0x3a')](handleEntityNotFound(_0x3f5f35,null))[_0xe63b('0x3a')](function(_0x17089f){if(_0x17089f){var _0x490f7d=_0x17089f;var _0x1b83e4={'from':_0x490f7d['from'],'to':_0x490f7d['to'],'subject':_0x490f7d[_0xe63b('0xa5')],'html':_0x490f7d[_0xe63b('0x5c')],'headers':{'Date':moment(_0x490f7d[_0xe63b('0xa2')])[_0xe63b('0x7c')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x17089f['cc']){_0x1b83e4['headers']['Cc']=_0x17089f['cc'];}if(_0x17089f[_0xe63b('0xa1')]){_0x1b83e4[_0xe63b('0xa6')][_0xe63b('0xa7')]=_0x17089f[_0xe63b('0xa1')];}return new BPromise(function(_0x1958f7,_0x5bd9dd){if(_0x17089f[_0xe63b('0xa4')]){for(var _0x43badd=0x0;_0x43badd<_0x17089f[_0xe63b('0xa4')][_0xe63b('0x4b')];_0x43badd++){var _0x57c24a=_0x17089f['Attachments'][_0x43badd];var _0x1008af=path[_0xe63b('0x9b')](_0x28b91c,_0x57c24a[_0xe63b('0x76')]);if(fs[_0xe63b('0xa8')](_0x1008af)){_0x1b83e4[_0xe63b('0x73')]['push']({'name':_0x57c24a[_0xe63b('0x3c')],'contentType':_0x57c24a[_0xe63b('0x43')],'data':fs[_0xe63b('0xa9')](_0x1008af)});}}}emlformat[_0xe63b('0xaa')](_0x1b83e4,function(_0x349662,_0x283e77){if(_0x349662)return _0x5bd9dd(_0x349662);fs[_0xe63b('0xab')](path[_0xe63b('0x9b')](_0x5b2cfe,_0x24bfb7),_0x283e77);return _0x1958f7(_0x283e77);});});}})['then'](function(_0x56bfa8){if(_0x56bfa8){return _0x3f5f35[_0xe63b('0x98')](path['join'](_0x5b2cfe,_0x24bfb7),_0x24bfb7,function(_0x574f4a){if(_0x574f4a){console[_0xe63b('0xac')]('err',_0x574f4a);}else{fs[_0xe63b('0xad')](path[_0xe63b('0x9b')](_0x5b2cfe,_0x24bfb7));}});}})[_0xe63b('0x57')](handleError(_0x3f5f35,null));};