Built motion from commit (unavailable).|2.4.21
[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 _0x69de=['updatedAt','DESC','Smtp','isNil','service','host','secure','authentication','auth','pass','user','attachments','root','server/files/attachments','defaults','ListId','List\x20not\x20found','SendMail','sendMail','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','read','readAt','UserId','MailInteraction','MailInteractionId','role','interaction','null','acceptMessage','manual','interface','SIP/%s','channel','event','EventManager','acceptmessage','agent','get','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','download','files','tmp','join','server','message-%s.eml','bcc','subject','createdAt','Attachment','Attachments','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','readFileSync','build','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','localhost','socket.io-emitter','./mailMessage.socket','register','http','client','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','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','sendStatus','status','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','end','stack','name','index','MailMessage','fieldName','type','key','map','keys','filters','model','attributes','intersection','fields','query','length','nolimit','limit','order','sort','pick','filter','where','options','includeAll','include','findAll','rows','catch','params','rawAttributes','merge','find','body','create','out','secret','split','MailAccount','findOne','CmList','List','CmContact','Contacts'];(function(_0x35c5a8,_0x8ecb48){var _0x34782c=function(_0x1b23ec){while(--_0x1b23ec){_0x35c5a8['push'](_0x35c5a8['shift']());}};_0x34782c(++_0x8ecb48);}(_0x69de,0xe5));var _0xe69d=function(_0x2067e9,_0x5e6a97){_0x2067e9=_0x2067e9-0x0;var _0x280ce4=_0x69de[_0x2067e9];return _0x280ce4;};'use strict';var pdf=require(_0xe69d('0x0'));var emlformat=require(_0xe69d('0x1'));var rimraf=require(_0xe69d('0x2'));var zipdir=require(_0xe69d('0x3'));var jsonpatch=require(_0xe69d('0x4'));var rp=require(_0xe69d('0x5'));var moment=require('moment');var BPromise=require(_0xe69d('0x6'));var Mustache=require('mustache');var util=require(_0xe69d('0x7'));var path=require(_0xe69d('0x8'));var sox=require(_0xe69d('0x9'));var csv=require(_0xe69d('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xe69d('0xb'));var jsforce=require(_0xe69d('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xe69d('0xa'));var querystring=require(_0xe69d('0xd'));var Papa=require(_0xe69d('0xe'));var Redis=require('ioredis');var authService=require(_0xe69d('0xf'));var qs=require(_0xe69d('0x10'));var as=require(_0xe69d('0x11'));var hardwareService=require(_0xe69d('0x12'));var logger=require(_0xe69d('0x13'))(_0xe69d('0x14'));var utils=require(_0xe69d('0x15'));var config=require('../../config/environment');var db=require(_0xe69d('0x16'))['db'];config[_0xe69d('0x17')]=_['defaults'](config[_0xe69d('0x17')],{'host':_0xe69d('0x18'),'port':0x18eb});var socket=require(_0xe69d('0x19'))(new Redis(config['redis']));require(_0xe69d('0x1a'))[_0xe69d('0x1b')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xe69d('0x1c')]({'port':0x232c});var client9003=jayson[_0xe69d('0x1d')]['http']({'port':0x232b});var client9002=jayson[_0xe69d('0x1d')]['http']({'port':0x232a});function checkPasswordPattern(_0x3e47be,_0x55e26c,_0x4c9b43){if(_0x4c9b43){var _0x5e1ed0=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x5e1ed0[_0xe69d('0x1e')](_0x55e26c)){return _0x3e47be;}else{throw new db[(_0xe69d('0x1f'))][(_0xe69d('0x20'))](_0xe69d('0x21'));}}else{return _0x3e47be;}}function respondWithRpcPromise(_0xa7aca7,_0x1ea1cf,_0x181e29,_0x518d34){return new BPromise(function(_0x22e275,_0x51bd39){var _0x245276=_0x518d34||client;return _0x245276[_0xe69d('0x22')](_0xa7aca7,_0x181e29)['then'](function(_0x3c04d5){logger[_0xe69d('0x23')](_0xe69d('0x24'),_0x1ea1cf,'request\x20sent');logger[_0xe69d('0x25')](_0xe69d('0x26'),_0x1ea1cf,'request\x20sent',JSON[_0xe69d('0x27')](_0x3c04d5));if(_0x3c04d5[_0xe69d('0x28')]){if(_0x3c04d5[_0xe69d('0x28')][_0xe69d('0x29')]===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x1ea1cf,_0x3c04d5[_0xe69d('0x28')][_0xe69d('0x2a')]);return _0x51bd39(_0x3c04d5['error'][_0xe69d('0x2a')]);}logger[_0xe69d('0x28')](_0xe69d('0x24'),_0x1ea1cf,_0x3c04d5[_0xe69d('0x28')][_0xe69d('0x2a')]);return _0x22e275(_0x3c04d5['error']['message']);}else{logger[_0xe69d('0x23')](_0xe69d('0x24'),_0x1ea1cf,_0xe69d('0x2b'));_0x22e275(_0x3c04d5['result'][_0xe69d('0x2a')]);}})['catch'](function(_0x38f076){logger[_0xe69d('0x28')](_0xe69d('0x24'),_0x1ea1cf,_0x38f076);_0x51bd39(_0x38f076);});});}function respondWithStatusCode(_0x4e6c4b,_0x4d7bfa){_0x4d7bfa=_0x4d7bfa||0xcc;return function(_0x360b8f){if(_0x360b8f){return _0x4e6c4b[_0xe69d('0x2c')](_0x4d7bfa);}return _0x4e6c4b[_0xe69d('0x2d')](_0x4d7bfa)['end']();};}function respondWithResult(_0x4c6885,_0xda55ec){_0xda55ec=_0xda55ec||0xc8;return function(_0x1ce893){if(_0x1ce893){return _0x4c6885['status'](_0xda55ec)['json'](_0x1ce893);}};}function respondWithFilteredResult(_0x23c4d4,_0x54223a){return function(_0x677e61){if(_0x677e61){var _0x2bc505=_0x677e61[_0xe69d('0x2e')],_0x20dc79=_0x54223a[_0xe69d('0x2f')],_0x40b2d4=_0x54223a[_0xe69d('0x2f')]+_0x54223a['limit'],_0x5491bb;if(_0x40b2d4>=_0x2bc505){_0x40b2d4=_0x2bc505;_0x5491bb=0xc8;}else{_0x5491bb=0xce;}_0x23c4d4['status'](_0x5491bb);return _0x23c4d4[_0xe69d('0x30')](_0xe69d('0x31'),_0x20dc79+'-'+_0x40b2d4+'/'+_0x2bc505)['json'](_0x677e61);}return null;};}function patchUpdates(_0x5eb1d8){return function(_0x4186a9){try{jsonpatch[_0xe69d('0x32')](_0x4186a9,_0x5eb1d8,!![]);}catch(_0x3e9eb1){return BPromise[_0xe69d('0x33')](_0x3e9eb1);}return _0x4186a9[_0xe69d('0x34')]();};}function saveUpdates(_0x3d134d,_0x16b178){return function(_0x244cad){if(_0x244cad){return _0x244cad[_0xe69d('0x35')](_0x3d134d)['then'](function(_0x394af1){return _0x394af1;});}return null;};}function removeEntity(_0x2b36f7,_0x216c05){return function(_0x62fd8){if(_0x62fd8){return _0x62fd8[_0xe69d('0x36')]()[_0xe69d('0x37')](function(){_0x2b36f7[_0xe69d('0x2d')](0xcc)[_0xe69d('0x38')]();});}};}function handleEntityNotFound(_0xbae508,_0x4ade55){return function(_0x599093){if(!_0x599093){_0xbae508[_0xe69d('0x2c')](0x194);}return _0x599093;};}function handleError(_0x5e38ee,_0x38ac37){_0x38ac37=_0x38ac37||0x1f4;return function(_0xd20f2e){logger[_0xe69d('0x28')](_0xd20f2e[_0xe69d('0x39')]);if(_0xd20f2e[_0xe69d('0x3a')]){delete _0xd20f2e['name'];}_0x5e38ee['status'](_0x38ac37)['send'](_0xd20f2e);};}exports[_0xe69d('0x3b')]=function(_0x5df7cd,_0x577cb5){var _0x2d606a={},_0x39a19d={},_0x1fd04d={'count':0x0,'rows':[]};var _0x371451=_['map'](db[_0xe69d('0x3c')]['rawAttributes'],function(_0x30a49b){return{'name':_0x30a49b[_0xe69d('0x3d')],'type':_0x30a49b[_0xe69d('0x3e')][_0xe69d('0x3f')]};});_0x39a19d['model']=_[_0xe69d('0x40')](_0x371451,_0xe69d('0x3a'));_0x39a19d['query']=_[_0xe69d('0x41')](_0x5df7cd['query']);_0x39a19d[_0xe69d('0x42')]=_['intersection'](_0x39a19d[_0xe69d('0x43')],_0x39a19d['query']);_0x2d606a[_0xe69d('0x44')]=_[_0xe69d('0x45')](_0x39a19d[_0xe69d('0x43')],qs[_0xe69d('0x46')](_0x5df7cd[_0xe69d('0x47')][_0xe69d('0x46')]));_0x2d606a[_0xe69d('0x44')]=_0x2d606a[_0xe69d('0x44')][_0xe69d('0x48')]?_0x2d606a[_0xe69d('0x44')]:_0x39a19d['model'];if(!_0x5df7cd['query']['hasOwnProperty'](_0xe69d('0x49'))){_0x2d606a[_0xe69d('0x4a')]=qs['limit'](_0x5df7cd[_0xe69d('0x47')][_0xe69d('0x4a')]);_0x2d606a[_0xe69d('0x2f')]=qs['offset'](_0x5df7cd[_0xe69d('0x47')][_0xe69d('0x2f')]);}_0x2d606a[_0xe69d('0x4b')]=qs[_0xe69d('0x4c')](_0x5df7cd['query'][_0xe69d('0x4c')]);_0x2d606a['where']=qs['filters'](_[_0xe69d('0x4d')](_0x5df7cd[_0xe69d('0x47')],_0x39a19d['filters']));if(_0x5df7cd[_0xe69d('0x47')][_0xe69d('0x4e')]){_0x2d606a[_0xe69d('0x4f')]=_['merge'](_0x2d606a['where'],{'$or':_[_0xe69d('0x40')](_0x371451,function(_0x1f218d){if(_0x1f218d[_0xe69d('0x3e')]!=='VIRTUAL'){var _0x28869f={};_0x28869f[_0x1f218d[_0xe69d('0x3a')]]={'$like':'%'+_0x5df7cd['query'][_0xe69d('0x4e')]+'%'};return _0x28869f;}})});}_0x2d606a=_['merge']({},_0x2d606a,_0x5df7cd[_0xe69d('0x50')]);var _0x3290aa={'where':_0x2d606a[_0xe69d('0x4f')]};return db[_0xe69d('0x3c')][_0xe69d('0x2e')](_0x3290aa)[_0xe69d('0x37')](function(_0x180953){_0x1fd04d[_0xe69d('0x2e')]=_0x180953;if(_0x5df7cd[_0xe69d('0x47')][_0xe69d('0x51')]){_0x2d606a[_0xe69d('0x52')]=[{'all':!![]}];}return db['MailMessage'][_0xe69d('0x53')](_0x2d606a);})[_0xe69d('0x37')](function(_0x2df85c){_0x1fd04d[_0xe69d('0x54')]=_0x2df85c;return _0x1fd04d;})['then'](respondWithFilteredResult(_0x577cb5,_0x2d606a))[_0xe69d('0x55')](handleError(_0x577cb5,null));};exports['show']=function(_0x4c9a60,_0x383e71){var _0x396f22={'raw':!![],'where':{'id':_0x4c9a60[_0xe69d('0x56')]['id']}},_0x1eb2be={};_0x1eb2be[_0xe69d('0x43')]=_[_0xe69d('0x41')](db[_0xe69d('0x3c')][_0xe69d('0x57')]);_0x1eb2be[_0xe69d('0x47')]=_[_0xe69d('0x41')](_0x4c9a60[_0xe69d('0x47')]);_0x1eb2be[_0xe69d('0x42')]=_['intersection'](_0x1eb2be[_0xe69d('0x43')],_0x1eb2be[_0xe69d('0x47')]);_0x396f22[_0xe69d('0x44')]=_['intersection'](_0x1eb2be[_0xe69d('0x43')],qs[_0xe69d('0x46')](_0x4c9a60[_0xe69d('0x47')][_0xe69d('0x46')]));_0x396f22[_0xe69d('0x44')]=_0x396f22[_0xe69d('0x44')][_0xe69d('0x48')]?_0x396f22[_0xe69d('0x44')]:_0x1eb2be[_0xe69d('0x43')];if(_0x4c9a60['query'][_0xe69d('0x51')]){_0x396f22['include']=[{'all':!![]}];}_0x396f22=_[_0xe69d('0x58')]({},_0x396f22,_0x4c9a60[_0xe69d('0x50')]);return db[_0xe69d('0x3c')][_0xe69d('0x59')](_0x396f22)[_0xe69d('0x37')](handleEntityNotFound(_0x383e71,null))[_0xe69d('0x37')](respondWithResult(_0x383e71,null))[_0xe69d('0x55')](handleError(_0x383e71,null));};exports[_0xe69d('0x35')]=function(_0x56df68,_0x5a7dfa){if(_0x56df68[_0xe69d('0x5a')]['id']){delete _0x56df68['body']['id'];}return db[_0xe69d('0x3c')][_0xe69d('0x59')]({'where':{'id':_0x56df68[_0xe69d('0x56')]['id']}})[_0xe69d('0x37')](handleEntityNotFound(_0x5a7dfa,null))[_0xe69d('0x37')](saveUpdates(_0x56df68[_0xe69d('0x5a')],null))[_0xe69d('0x37')](respondWithResult(_0x5a7dfa,null))[_0xe69d('0x55')](handleError(_0x5a7dfa,null));};exports[_0xe69d('0x36')]=function(_0x633ea7,_0x1505a8){return db[_0xe69d('0x3c')][_0xe69d('0x59')]({'where':{'id':_0x633ea7['params']['id']}})['then'](handleEntityNotFound(_0x1505a8,null))[_0xe69d('0x37')](removeEntity(_0x1505a8,null))[_0xe69d('0x55')](handleError(_0x1505a8,null));};exports['describe']=function(_0xaa44d8,_0x20c33a){return db[_0xe69d('0x3c')]['describe']()['then'](respondWithResult(_0x20c33a,null))[_0xe69d('0x55')](handleError(_0x20c33a,null));};exports[_0xe69d('0x5b')]=function(_0x538dfa,_0x4d1116){return db[_0xe69d('0x3c')][_0xe69d('0x5b')](_0x538dfa['body'])['then'](function(_0x49d7ac){if(_0x49d7ac){if(_0x49d7ac['direction']===_0xe69d('0x5c')&&!_0x49d7ac[_0xe69d('0x5d')]){var _0x166252,_0x4b28b0,_0x5071f1;if(_0x538dfa[_0xe69d('0x5a')]['to']){_0x4b28b0=_0x538dfa['body']['to'][_0xe69d('0x5e')](',')[0x0];}return db[_0xe69d('0x5f')][_0xe69d('0x60')]({'where':{'id':_0x49d7ac['MailAccountId']},'include':[{'model':db[_0xe69d('0x61')],'as':_0xe69d('0x62'),'include':[{'model':db[_0xe69d('0x63')],'as':_0xe69d('0x64'),'where':{'email':_0x4b28b0},'limit':0x1,'order':[[_0xe69d('0x65'),_0xe69d('0x66')]]}]},{'model':db['MailServerOut'],'as':_0xe69d('0x67'),'raw':!![]}]})[_0xe69d('0x37')](function(_0x207ca2){_0x166252=_0x207ca2;if(_0x166252&&_0x166252[_0xe69d('0x67')]){var _0x4e5861={'tls':{'rejectUnauthorized':![]}};if(_[_0xe69d('0x68')](_0x166252[_0xe69d('0x67')][_0xe69d('0x69')])){_0x4e5861[_0xe69d('0x6a')]=_0x166252['Smtp'][_0xe69d('0x6a')];_0x4e5861['port']=_0x166252[_0xe69d('0x67')]['port'];_0x4e5861[_0xe69d('0x6b')]=_0x166252[_0xe69d('0x67')][_0xe69d('0x6b')];if(_0x166252[_0xe69d('0x67')][_0xe69d('0x6c')]){_0x4e5861[_0xe69d('0x6d')]={'user':_0x166252['Smtp']['user'],'pass':_0x166252[_0xe69d('0x67')][_0xe69d('0x6e')]};}}else{_0x4e5861[_0xe69d('0x69')]=_0x166252[_0xe69d('0x67')][_0xe69d('0x69')];_0x4e5861[_0xe69d('0x6d')]={'user':_0x166252['Smtp'][_0xe69d('0x6f')],'pass':_0x166252['Smtp'][_0xe69d('0x6e')]};_0x4e5861[_0xe69d('0x6b')]=_0x166252[_0xe69d('0x67')][_0xe69d('0x6b')];}if(_0x538dfa['body']['attachments']&&_0x538dfa[_0xe69d('0x5a')][_0xe69d('0x70')]['length']){for(var _0x1a2fa6=0x0;_0x1a2fa6<_0x538dfa[_0xe69d('0x5a')][_0xe69d('0x70')]['length'];_0x1a2fa6+=0x1){_0x538dfa['body'][_0xe69d('0x70')][_0x1a2fa6]={'filename':_0x538dfa[_0xe69d('0x5a')]['attachments'][_0x1a2fa6][_0xe69d('0x3a')],'path':path['join'](config[_0xe69d('0x71')],_0xe69d('0x72'),_0x538dfa[_0xe69d('0x5a')][_0xe69d('0x70')][_0x1a2fa6]['basename'])};}}_0x5071f1={'account':_0x4e5861,'message':_0x538dfa[_0xe69d('0x5a')]};return;}})[_0xe69d('0x37')](function(){if(_0x166252[_0xe69d('0x62')]){if(_0x166252[_0xe69d('0x62')][_0xe69d('0x64')]['length']){return _0x166252[_0xe69d('0x62')][_0xe69d('0x64')][0x0];}else{return db[_0xe69d('0x63')]['create'](_[_0xe69d('0x73')](_0x538dfa[_0xe69d('0x5a')],{'firstName':_0x538dfa[_0xe69d('0x5a')]['to'],'email':_0x538dfa[_0xe69d('0x5a')]['to'],'phone':_0x538dfa[_0xe69d('0x5a')]['to'],'ListId':_0x166252[_0xe69d('0x74')]}));}}else{throw new Error(_0xe69d('0x75'));}})[_0xe69d('0x37')](function(){if(_0x5071f1){return respondWithRpcPromise(_0xe69d('0x76'),_0xe69d('0x77'),_0x5071f1,client9003)[_0xe69d('0x37')](function(_0x39a5e6){return _0x49d7ac['update']({'read':!![],'messageId':_0x39a5e6['messageId'],'sentAt':moment()[_0xe69d('0x78')](_0xe69d('0x79'))});})[_0xe69d('0x55')](function(_0x116ece){logger['error']('%s',JSON[_0xe69d('0x27')](_0x116ece));return _0x49d7ac;});}return _0x49d7ac;});}return _0x49d7ac;}})[_0xe69d('0x37')](respondWithResult(_0x4d1116,0xc9))[_0xe69d('0x55')](handleError(_0x4d1116,null));};var interaction_log=require(_0xe69d('0x13'))(_0xe69d('0x7a'));exports[_0xe69d('0x7b')]=function(_0x396d4b,_0x499dbf,_0x2b00f8){var _0x2720f1={'channel':'mail'};if(_0x396d4b[_0xe69d('0x5a')]['id']){delete _0x396d4b['body']['id'];}_0x396d4b[_0xe69d('0x5a')][_0xe69d('0x7c')]=!![];_0x396d4b[_0xe69d('0x5a')][_0xe69d('0x7d')]=moment()[_0xe69d('0x78')](_0xe69d('0x79'));_0x396d4b[_0xe69d('0x5a')]['UserId']=_0x396d4b['body'][_0xe69d('0x7e')]||_0x396d4b[_0xe69d('0x6f')]['id'];return db[_0xe69d('0x3c')][_0xe69d('0x59')]({'where':{'id':_0x396d4b[_0xe69d('0x56')]['id'],'UserId':null},'include':[{'model':db[_0xe69d('0x63')],'as':'Contact'}]})['then'](handleEntityNotFound(_0x499dbf,null))['then'](saveUpdates(_0x396d4b[_0xe69d('0x5a')],null))['then'](function(_0x23c0f2){if(_0x23c0f2){_0x2720f1[_0xe69d('0x2a')]=_0x23c0f2['get']({'plain':!![]});return db[_0xe69d('0x7f')]['find']({'where':{'id':_0x23c0f2[_0xe69d('0x80')]}});}return null;})['then'](handleEntityNotFound(_0x499dbf,null))['then'](function(_0x50bc93){if(_0x50bc93){return _0x50bc93[_0xe69d('0x35')]({'UserId':_0x396d4b[_0xe69d('0x5a')][_0xe69d('0x7e')],'read1stAt':_[_0xe69d('0x68')](_0x50bc93['read1stAt'])?moment()[_0xe69d('0x78')](_0xe69d('0x79')):undefined});}return null;})[_0xe69d('0x37')](function(_0x52ff86){if(_0x52ff86){_0x2720f1['interaction']=_0x52ff86['get']({'plain':!![]});interaction_log[_0xe69d('0x23')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x396d4b[_0xe69d('0x6f')]['id'],_0x396d4b[_0xe69d('0x6f')][_0xe69d('0x3a')],_0x396d4b[_0xe69d('0x6f')][_0xe69d('0x81')],_0x2720f1[_0xe69d('0x82')]['id'],_0x396d4b[_0xe69d('0x5a')]?JSON[_0xe69d('0x27')](_0x396d4b[_0xe69d('0x5a')]):_0xe69d('0x83'));return respondWithRpcPromise('AcceptMessage',_0xe69d('0x84'),_0x2720f1);}return null;})[_0xe69d('0x37')](function(_0x3fe697){if(_0x3fe697){if(_0x396d4b[_0xe69d('0x5a')][_0xe69d('0x85')]){_0x2720f1[_0xe69d('0x2a')][_0xe69d('0x86')]=util[_0xe69d('0x78')](_0xe69d('0x87'),_0x396d4b[_0xe69d('0x6f')][_0xe69d('0x3a')]);_0x2720f1[_0xe69d('0x2a')]['channel']=_0x2720f1[_0xe69d('0x88')];_0x2720f1[_0xe69d('0x2a')][_0xe69d('0x89')]='accept';return respondWithRpcPromise(_0xe69d('0x8a'),'EventManager',{'event':_0xe69d('0x8b'),'message':_0x2720f1[_0xe69d('0x2a')]},client9002)[_0xe69d('0x37')](function(){return _0x2720f1;});}return _0x2720f1;}return null;})['then'](respondWithResult(_0x499dbf,null))[_0xe69d('0x55')](handleError(_0x499dbf,null));};var interaction_log=require(_0xe69d('0x13'))(_0xe69d('0x7a'));exports['reject']=function(_0x1a2ec4,_0x15dbab,_0x17015a){var _0xe57b9e={'agent':{},'channel':'mail'};if(_0x1a2ec4[_0xe69d('0x5a')]['id']){delete _0x1a2ec4[_0xe69d('0x5a')]['id'];}_0x1a2ec4[_0xe69d('0x5a')]['UserId']=_0x1a2ec4[_0xe69d('0x5a')][_0xe69d('0x7e')]||_0x1a2ec4['user']['id'];_0xe57b9e[_0xe69d('0x8c')]['id']=_0x1a2ec4[_0xe69d('0x5a')][_0xe69d('0x7e')];return db['MailMessage']['find']({'where':{'id':_0x1a2ec4[_0xe69d('0x56')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x15dbab,null))[_0xe69d('0x37')](function(_0x2827f7){if(_0x2827f7){_0xe57b9e[_0xe69d('0x2a')]=_0x2827f7[_0xe69d('0x8d')]({'plain':!![]});return db[_0xe69d('0x7f')][_0xe69d('0x59')]({'where':{'id':_0x2827f7[_0xe69d('0x80')]}});}return null;})[_0xe69d('0x37')](handleEntityNotFound(_0x15dbab,null))[_0xe69d('0x37')](function(_0x2e7d16){if(_0x2e7d16){_0xe57b9e[_0xe69d('0x82')]=_0x2e7d16[_0xe69d('0x8d')]({'plain':!![]});interaction_log['info'](_0xe69d('0x8e'),_0x1a2ec4[_0xe69d('0x6f')]['id'],_0x1a2ec4[_0xe69d('0x6f')][_0xe69d('0x3a')],_0x1a2ec4[_0xe69d('0x6f')]['role'],_0xe57b9e[_0xe69d('0x82')]['id'],_0x1a2ec4[_0xe69d('0x5a')]?JSON[_0xe69d('0x27')](_0x1a2ec4[_0xe69d('0x5a')]):_0xe69d('0x83'));return respondWithRpcPromise(_0xe69d('0x8f'),_0xe69d('0x90'),_0xe57b9e);}return null;})['then'](function(_0x295b6b){if(_0x295b6b){_0x295b6b[_0xe69d('0x2a')][_0xe69d('0x86')]=util[_0xe69d('0x78')](_0xe69d('0x87'),_0x1a2ec4[_0xe69d('0x6f')][_0xe69d('0x3a')]);_0x295b6b['message']['channel']=_0xe57b9e['channel'];_0x295b6b['message']['event']=_0xe69d('0x33');respondWithRpcPromise(_0xe69d('0x8a'),'EventManager',{'event':'rejectmessage','message':_0x295b6b['message']},client9002);return _0xe57b9e;}return null;})[_0xe69d('0x37')](respondWithResult(_0x15dbab,null))['catch'](handleError(_0x15dbab,null));};exports[_0xe69d('0x91')]=function(_0x502f8b,_0xaf5dbd){var _0x3b2b7d=moment()['unix']()['toString']();var _0x1e7df8=path['join'](config[_0xe69d('0x71')],'server',_0xe69d('0x92'),_0xe69d('0x93'));var _0x1e6a51=path[_0xe69d('0x94')](config[_0xe69d('0x71')],_0xe69d('0x95'),_0xe69d('0x92'),_0xe69d('0x70'));var _0x23c3af=util['format'](_0xe69d('0x96'),_0x3b2b7d);return db[_0xe69d('0x3c')][_0xe69d('0x59')]({'where':{'id':_0x502f8b[_0xe69d('0x56')]['id']},'attributes':['id','body','from','to','cc',_0xe69d('0x97'),_0xe69d('0x98'),_0xe69d('0x99')],'include':_0x502f8b['query']['attachments']?[{'model':db[_0xe69d('0x9a')],'as':_0xe69d('0x9b')}]:undefined})['then'](handleEntityNotFound(_0xaf5dbd,null))[_0xe69d('0x37')](function(_0x48c61a){if(_0x48c61a){var _0x3cbb54=_0x48c61a;var _0x22de35={'from':_0x3cbb54['from'],'to':_0x3cbb54['to'],'subject':_0x3cbb54[_0xe69d('0x98')],'html':_0x3cbb54[_0xe69d('0x5a')],'headers':{'Date':moment(_0x3cbb54['createdAt'])[_0xe69d('0x78')](_0xe69d('0x9c'))},'attachments':[]};if(_0x48c61a['cc']){_0x22de35[_0xe69d('0x9d')]['Cc']=_0x48c61a['cc'];}if(_0x48c61a[_0xe69d('0x97')]){_0x22de35[_0xe69d('0x9d')][_0xe69d('0x9e')]=_0x48c61a[_0xe69d('0x97')];}return new BPromise(function(_0x261fa3,_0x1427d9){if(_0x48c61a[_0xe69d('0x9b')]){for(var _0x26adeb=0x0;_0x26adeb<_0x48c61a['Attachments'][_0xe69d('0x48')];_0x26adeb++){var _0xb044c5=_0x48c61a[_0xe69d('0x9b')][_0x26adeb];var _0x1c7167=path[_0xe69d('0x94')](_0x1e6a51,_0xb044c5['basename']);if(fs[_0xe69d('0x9f')](_0x1c7167)){_0x22de35['attachments']['push']({'name':_0xb044c5[_0xe69d('0x3a')],'contentType':_0xb044c5[_0xe69d('0x3e')],'data':fs[_0xe69d('0xa0')](_0x1c7167)});}}}emlformat[_0xe69d('0xa1')](_0x22de35,function(_0x14a412,_0x1bc483){if(_0x14a412)return _0x1427d9(_0x14a412);fs['writeFileSync'](path[_0xe69d('0x94')](_0x1e7df8,_0x23c3af),_0x1bc483);return _0x261fa3(_0x1bc483);});});}})[_0xe69d('0x37')](function(_0xc748bb){if(_0xc748bb){return _0xaf5dbd['download'](path[_0xe69d('0x94')](_0x1e7df8,_0x23c3af),_0x23c3af,function(_0x2fdfc0){if(_0x2fdfc0){console[_0xe69d('0xa2')](_0xe69d('0xa3'),_0x2fdfc0);}else{fs[_0xe69d('0xa4')](path[_0xe69d('0x94')](_0x1e7df8,_0x23c3af));}});}})['catch'](handleError(_0xaf5dbd,null));};