fc3f8f7a47e97272616f942ff1d34c826995f3ea
[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 _0xbdb6=['format','../../config/logger','mail-interactions','accept','mail','read','readAt','UserId','Contact','get','MailInteraction','MailInteractionId','read1stAt','YYYY-MM-DD\x20HH:mm:ss','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','event','EventManager','acceptmessage','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','download','unix','toString','files','server','message-%s.eml','from','bcc','subject','createdAt','Attachments','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','existsSync','push','readFileSync','build','writeFileSync','log','err','unlinkSync','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','lodash','squel','crypto','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','http','client','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','catch','json','count','offset','limit','status','set','Content-Range','apply','reject','save','then','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','fieldName','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','params','update','body','find','describe','create','split','MailAccount','MailAccountId','CmList','List','DESC','MailServerOut','Smtp','service','host','port','secure','auth','user','pass','attachments','join','root','server/files/attachments','basename','Contacts','CmContact','ListId','List\x20not\x20found','SendMail','sendMail','messageId'];(function(_0x2e89d5,_0x59778b){var _0x7c83a9=function(_0x396955){while(--_0x396955){_0x2e89d5['push'](_0x2e89d5['shift']());}};_0x7c83a9(++_0x59778b);}(_0xbdb6,0x189));var _0x6bdb=function(_0x4f5622,_0x413c6b){_0x4f5622=_0x4f5622-0x0;var _0xdd72d8=_0xbdb6[_0x4f5622];return _0xdd72d8;};'use strict';var pdf=require(_0x6bdb('0x0'));var emlformat=require(_0x6bdb('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x6bdb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6bdb('0x3'));var moment=require(_0x6bdb('0x4'));var BPromise=require(_0x6bdb('0x5'));var Mustache=require(_0x6bdb('0x6'));var util=require(_0x6bdb('0x7'));var path=require(_0x6bdb('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x6bdb('0x9'));var squel=require(_0x6bdb('0xa'));var crypto=require(_0x6bdb('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6bdb('0xc'));var toCsv=require(_0x6bdb('0xd'));var querystring=require(_0x6bdb('0xe'));var Papa=require('papaparse');var Redis=require(_0x6bdb('0xf'));var authService=require(_0x6bdb('0x10'));var qs=require(_0x6bdb('0x11'));var as=require(_0x6bdb('0x12'));var hardwareService=require(_0x6bdb('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x6bdb('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6bdb('0x15'));var db=require(_0x6bdb('0x16'))['db'];config['redis']=_[_0x6bdb('0x17')](config[_0x6bdb('0x18')],{'host':_0x6bdb('0x19'),'port':0x18eb});var socket=require(_0x6bdb('0x1a'))(new Redis(config[_0x6bdb('0x18')]));require(_0x6bdb('0x1b'))[_0x6bdb('0x1c')](socket);var jayson=require(_0x6bdb('0x1d'));var client=jayson['client'][_0x6bdb('0x1e')]({'port':0x232c});var client9003=jayson[_0x6bdb('0x1f')][_0x6bdb('0x1e')]({'port':0x232b});var client9002=jayson[_0x6bdb('0x1f')][_0x6bdb('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x2b3c0c,_0x2e9942,_0x456b08,_0x28d677){return new BPromise(function(_0x28f3a8,_0x442d3b){var _0x3d18a7=_0x28d677||client;return _0x3d18a7['request'](_0x2b3c0c,_0x456b08)['then'](function(_0x28d66b){logger['info'](_0x6bdb('0x20'),_0x2e9942,'request\x20sent');logger[_0x6bdb('0x21')](_0x6bdb('0x22'),_0x2e9942,_0x6bdb('0x23'),JSON[_0x6bdb('0x24')](_0x28d66b));if(_0x28d66b[_0x6bdb('0x25')]){if(_0x28d66b[_0x6bdb('0x25')][_0x6bdb('0x26')]===0x1f4){logger['error'](_0x6bdb('0x20'),_0x2e9942,_0x28d66b['error'][_0x6bdb('0x27')]);return _0x442d3b(_0x28d66b[_0x6bdb('0x25')]['message']);}logger['error'](_0x6bdb('0x20'),_0x2e9942,_0x28d66b[_0x6bdb('0x25')][_0x6bdb('0x27')]);return _0x28f3a8(_0x28d66b['error']['message']);}else{logger[_0x6bdb('0x28')]('MailMessage,\x20%s,\x20%s',_0x2e9942,'request\x20sent');_0x28f3a8(_0x28d66b[_0x6bdb('0x29')][_0x6bdb('0x27')]);}})[_0x6bdb('0x2a')](function(_0x3aadf8){logger[_0x6bdb('0x25')](_0x6bdb('0x20'),_0x2e9942,_0x3aadf8);_0x442d3b(_0x3aadf8);});});}function respondWithStatusCode(_0x1f8cbb,_0x2318e0){_0x2318e0=_0x2318e0||0xcc;return function(_0x2c0b03){if(_0x2c0b03){return _0x1f8cbb['sendStatus'](_0x2318e0);}return _0x1f8cbb['status'](_0x2318e0)['end']();};}function respondWithResult(_0x3cc82f,_0x1becc9){_0x1becc9=_0x1becc9||0xc8;return function(_0x371cef){if(_0x371cef){return _0x3cc82f['status'](_0x1becc9)[_0x6bdb('0x2b')](_0x371cef);}};}function respondWithFilteredResult(_0x2d36fd,_0x5902f0){return function(_0xb3f63d){if(_0xb3f63d){var _0x1029bb=_0xb3f63d[_0x6bdb('0x2c')],_0x1e4845=_0x5902f0[_0x6bdb('0x2d')],_0x3f77f2=_0x5902f0['offset']+_0x5902f0[_0x6bdb('0x2e')],_0x445220;if(_0x3f77f2>=_0x1029bb){_0x3f77f2=_0x1029bb;_0x445220=0xc8;}else{_0x445220=0xce;}_0x2d36fd[_0x6bdb('0x2f')](_0x445220);return _0x2d36fd[_0x6bdb('0x30')](_0x6bdb('0x31'),_0x1e4845+'-'+_0x3f77f2+'/'+_0x1029bb)[_0x6bdb('0x2b')](_0xb3f63d);}return null;};}function patchUpdates(_0x957f91){return function(_0x3b9144){try{jsonpatch[_0x6bdb('0x32')](_0x3b9144,_0x957f91,!![]);}catch(_0x5f0c02){return BPromise[_0x6bdb('0x33')](_0x5f0c02);}return _0x3b9144[_0x6bdb('0x34')]();};}function saveUpdates(_0x6f63b9,_0x568e3b){return function(_0x2ebc59){if(_0x2ebc59){return _0x2ebc59['update'](_0x6f63b9)[_0x6bdb('0x35')](function(_0x238e58){return _0x238e58;});}return null;};}function removeEntity(_0x3a7b89,_0x400e8f){return function(_0x292d4b){if(_0x292d4b){return _0x292d4b[_0x6bdb('0x36')]()[_0x6bdb('0x35')](function(){_0x3a7b89[_0x6bdb('0x2f')](0xcc)[_0x6bdb('0x37')]();});}};}function handleEntityNotFound(_0x19ab4e,_0x35af9c){return function(_0x42c9c1){if(!_0x42c9c1){_0x19ab4e[_0x6bdb('0x38')](0x194);}return _0x42c9c1;};}function handleError(_0x550c7a,_0x46a890){_0x46a890=_0x46a890||0x1f4;return function(_0x445532){logger['error'](_0x445532[_0x6bdb('0x39')]);if(_0x445532[_0x6bdb('0x3a')]){delete _0x445532['name'];}_0x550c7a[_0x6bdb('0x2f')](_0x46a890)[_0x6bdb('0x3b')](_0x445532);};}exports[_0x6bdb('0x3c')]=function(_0x1fadee,_0x2e7020){var _0x2bfad0={},_0x1e3e46={},_0x3ea9d8={'count':0x0,'rows':[]};var _0x1b1c62=_[_0x6bdb('0x3d')](db[_0x6bdb('0x3e')][_0x6bdb('0x3f')],function(_0x549780){return{'name':_0x549780[_0x6bdb('0x40')],'type':_0x549780['type'][_0x6bdb('0x41')]};});_0x1e3e46['model']=_[_0x6bdb('0x3d')](_0x1b1c62,_0x6bdb('0x3a'));_0x1e3e46[_0x6bdb('0x42')]=_[_0x6bdb('0x43')](_0x1fadee[_0x6bdb('0x42')]);_0x1e3e46[_0x6bdb('0x44')]=_[_0x6bdb('0x45')](_0x1e3e46['model'],_0x1e3e46[_0x6bdb('0x42')]);_0x2bfad0[_0x6bdb('0x46')]=_[_0x6bdb('0x45')](_0x1e3e46[_0x6bdb('0x47')],qs['fields'](_0x1fadee[_0x6bdb('0x42')][_0x6bdb('0x48')]));_0x2bfad0['attributes']=_0x2bfad0[_0x6bdb('0x46')][_0x6bdb('0x49')]?_0x2bfad0['attributes']:_0x1e3e46[_0x6bdb('0x47')];if(!_0x1fadee['query'][_0x6bdb('0x4a')](_0x6bdb('0x4b'))){_0x2bfad0[_0x6bdb('0x2e')]=qs[_0x6bdb('0x2e')](_0x1fadee[_0x6bdb('0x42')]['limit']);_0x2bfad0['offset']=qs[_0x6bdb('0x2d')](_0x1fadee['query']['offset']);}_0x2bfad0[_0x6bdb('0x4c')]=qs[_0x6bdb('0x4d')](_0x1fadee[_0x6bdb('0x42')][_0x6bdb('0x4d')]);_0x2bfad0[_0x6bdb('0x4e')]=qs[_0x6bdb('0x44')](_[_0x6bdb('0x4f')](_0x1fadee[_0x6bdb('0x42')],_0x1e3e46[_0x6bdb('0x44')]),_0x1b1c62);if(_0x1fadee[_0x6bdb('0x42')][_0x6bdb('0x50')]){_0x2bfad0[_0x6bdb('0x4e')]=_[_0x6bdb('0x51')](_0x2bfad0[_0x6bdb('0x4e')],{'$or':_['map'](_0x1b1c62,function(_0x2e0e33){if(_0x2e0e33[_0x6bdb('0x52')]!==_0x6bdb('0x53')){var _0x2eb25b={};_0x2eb25b[_0x2e0e33['name']]={'$like':'%'+_0x1fadee[_0x6bdb('0x42')][_0x6bdb('0x50')]+'%'};return _0x2eb25b;}})});}_0x2bfad0=_['merge']({},_0x2bfad0,_0x1fadee[_0x6bdb('0x54')]);var _0xeb58f9={'where':_0x2bfad0[_0x6bdb('0x4e')]};return db[_0x6bdb('0x3e')][_0x6bdb('0x2c')](_0xeb58f9)['then'](function(_0x547177){_0x3ea9d8[_0x6bdb('0x2c')]=_0x547177;if(_0x1fadee[_0x6bdb('0x42')][_0x6bdb('0x55')]){_0x2bfad0[_0x6bdb('0x56')]=[{'all':!![]}];}return db['MailMessage'][_0x6bdb('0x57')](_0x2bfad0);})['then'](function(_0x54ca63){_0x3ea9d8[_0x6bdb('0x58')]=_0x54ca63;return _0x3ea9d8;})[_0x6bdb('0x35')](respondWithFilteredResult(_0x2e7020,_0x2bfad0))['catch'](handleError(_0x2e7020,null));};exports[_0x6bdb('0x59')]=function(_0xb69fcc,_0x4c9443){var _0x445cd5={'raw':!![],'where':{'id':_0xb69fcc[_0x6bdb('0x5a')]['id']}},_0x23fb89={};_0x23fb89['model']=_[_0x6bdb('0x43')](db['MailMessage'][_0x6bdb('0x3f')]);_0x23fb89[_0x6bdb('0x42')]=_[_0x6bdb('0x43')](_0xb69fcc[_0x6bdb('0x42')]);_0x23fb89[_0x6bdb('0x44')]=_['intersection'](_0x23fb89[_0x6bdb('0x47')],_0x23fb89[_0x6bdb('0x42')]);_0x445cd5[_0x6bdb('0x46')]=_[_0x6bdb('0x45')](_0x23fb89[_0x6bdb('0x47')],qs[_0x6bdb('0x48')](_0xb69fcc['query'][_0x6bdb('0x48')]));_0x445cd5[_0x6bdb('0x46')]=_0x445cd5['attributes'][_0x6bdb('0x49')]?_0x445cd5[_0x6bdb('0x46')]:_0x23fb89[_0x6bdb('0x47')];if(_0xb69fcc[_0x6bdb('0x42')][_0x6bdb('0x55')]){_0x445cd5[_0x6bdb('0x56')]=[{'all':!![]}];}_0x445cd5=_[_0x6bdb('0x51')]({},_0x445cd5,_0xb69fcc[_0x6bdb('0x54')]);return db[_0x6bdb('0x3e')]['find'](_0x445cd5)[_0x6bdb('0x35')](handleEntityNotFound(_0x4c9443,null))['then'](respondWithResult(_0x4c9443,null))[_0x6bdb('0x2a')](handleError(_0x4c9443,null));};exports[_0x6bdb('0x5b')]=function(_0x17a327,_0x42fb18){if(_0x17a327['body']['id']){delete _0x17a327[_0x6bdb('0x5c')]['id'];}return db[_0x6bdb('0x3e')]['find']({'where':{'id':_0x17a327['params']['id']}})['then'](handleEntityNotFound(_0x42fb18,null))[_0x6bdb('0x35')](saveUpdates(_0x17a327[_0x6bdb('0x5c')],null))[_0x6bdb('0x35')](respondWithResult(_0x42fb18,null))[_0x6bdb('0x2a')](handleError(_0x42fb18,null));};exports[_0x6bdb('0x36')]=function(_0xfe429,_0x28e32d){return db[_0x6bdb('0x3e')][_0x6bdb('0x5d')]({'where':{'id':_0xfe429[_0x6bdb('0x5a')]['id']}})[_0x6bdb('0x35')](handleEntityNotFound(_0x28e32d,null))['then'](removeEntity(_0x28e32d,null))[_0x6bdb('0x2a')](handleError(_0x28e32d,null));};exports[_0x6bdb('0x5e')]=function(_0x3f3cd5,_0x23b131){return db[_0x6bdb('0x3e')][_0x6bdb('0x5e')]()[_0x6bdb('0x35')](respondWithResult(_0x23b131,null))[_0x6bdb('0x2a')](handleError(_0x23b131,null));};exports['create']=function(_0x380ce0,_0x2be101){return db['MailMessage'][_0x6bdb('0x5f')](_0x380ce0['body'])[_0x6bdb('0x35')](function(_0x2b7e43){if(_0x2b7e43){if(_0x2b7e43['direction']==='out'&&!_0x2b7e43['secret']){var _0x13b2f4,_0x1c3099,_0x4357f9;if(_0x380ce0[_0x6bdb('0x5c')]['to']){_0x1c3099=_0x380ce0['body']['to'][_0x6bdb('0x60')](',')[0x0];}return db[_0x6bdb('0x61')]['findOne']({'where':{'id':_0x2b7e43[_0x6bdb('0x62')]},'include':[{'model':db[_0x6bdb('0x63')],'as':_0x6bdb('0x64'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x1c3099},'limit':0x1,'order':[['updatedAt',_0x6bdb('0x65')]]}]},{'model':db[_0x6bdb('0x66')],'as':'Smtp','raw':!![]}]})[_0x6bdb('0x35')](function(_0x22440b){_0x13b2f4=_0x22440b;if(_0x13b2f4&&_0x13b2f4[_0x6bdb('0x67')]){var _0x3be356={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x68')])){_0x3be356[_0x6bdb('0x69')]=_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x69')];_0x3be356[_0x6bdb('0x6a')]=_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x6a')];_0x3be356['secure']=_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x6b')];if(_0x13b2f4[_0x6bdb('0x67')]['authentication']){_0x3be356[_0x6bdb('0x6c')]={'user':_0x13b2f4[_0x6bdb('0x67')]['user'],'pass':_0x13b2f4[_0x6bdb('0x67')]['pass']};}}else{_0x3be356['service']=_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x68')];_0x3be356['auth']={'user':_0x13b2f4['Smtp'][_0x6bdb('0x6d')],'pass':_0x13b2f4[_0x6bdb('0x67')][_0x6bdb('0x6e')]};_0x3be356[_0x6bdb('0x6b')]=_0x13b2f4[_0x6bdb('0x67')]['secure'];}if(_0x380ce0[_0x6bdb('0x5c')]['attachments']&&_0x380ce0[_0x6bdb('0x5c')][_0x6bdb('0x6f')][_0x6bdb('0x49')]){for(var _0x41081f=0x0;_0x41081f<_0x380ce0[_0x6bdb('0x5c')][_0x6bdb('0x6f')][_0x6bdb('0x49')];_0x41081f+=0x1){_0x380ce0['body'][_0x6bdb('0x6f')][_0x41081f]={'filename':_0x380ce0['body'][_0x6bdb('0x6f')][_0x41081f][_0x6bdb('0x3a')],'path':path[_0x6bdb('0x70')](config[_0x6bdb('0x71')],_0x6bdb('0x72'),_0x380ce0['body'][_0x6bdb('0x6f')][_0x41081f][_0x6bdb('0x73')])};}}_0x4357f9={'account':_0x3be356,'message':_0x380ce0['body']};return;}})['then'](function(){if(_0x13b2f4[_0x6bdb('0x64')]){if(_0x13b2f4[_0x6bdb('0x64')][_0x6bdb('0x74')][_0x6bdb('0x49')]){return _0x13b2f4[_0x6bdb('0x64')]['Contacts'][0x0];}else{return db[_0x6bdb('0x75')][_0x6bdb('0x5f')](_['defaults'](_0x380ce0[_0x6bdb('0x5c')],{'firstName':_0x380ce0['body']['to'],'email':_0x380ce0[_0x6bdb('0x5c')]['to'],'phone':_0x380ce0[_0x6bdb('0x5c')]['to'],'ListId':_0x13b2f4[_0x6bdb('0x76')]}));}}else{throw new Error(_0x6bdb('0x77'));}})[_0x6bdb('0x35')](function(){if(_0x4357f9){return respondWithRpcPromise(_0x6bdb('0x78'),_0x6bdb('0x79'),_0x4357f9,client9003)['then'](function(_0xf9420d){return _0x2b7e43[_0x6bdb('0x5b')]({'read':!![],'messageId':_0xf9420d[_0x6bdb('0x7a')],'sentAt':moment()[_0x6bdb('0x7b')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x6bdb('0x2a')](function(_0x493db3){logger['error']('%s',JSON[_0x6bdb('0x24')](_0x493db3));return _0x2b7e43;});}return _0x2b7e43;});}return _0x2b7e43;}})['then'](respondWithResult(_0x2be101,0xc9))[_0x6bdb('0x2a')](handleError(_0x2be101,null));};var interaction_log=require(_0x6bdb('0x7c'))(_0x6bdb('0x7d'));exports[_0x6bdb('0x7e')]=function(_0x4713e6,_0x48109f,_0x3f90a4){var _0x172c13={'channel':_0x6bdb('0x7f')};if(_0x4713e6['body']['id']){delete _0x4713e6[_0x6bdb('0x5c')]['id'];}_0x4713e6[_0x6bdb('0x5c')][_0x6bdb('0x80')]=!![];_0x4713e6[_0x6bdb('0x5c')][_0x6bdb('0x81')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x4713e6[_0x6bdb('0x5c')][_0x6bdb('0x82')]=_0x4713e6[_0x6bdb('0x5c')][_0x6bdb('0x82')]||_0x4713e6[_0x6bdb('0x6d')]['id'];return db[_0x6bdb('0x3e')][_0x6bdb('0x5d')]({'where':{'id':_0x4713e6[_0x6bdb('0x5a')]['id'],'UserId':null},'include':[{'model':db[_0x6bdb('0x75')],'as':_0x6bdb('0x83')}]})['then'](handleEntityNotFound(_0x48109f,null))['then'](saveUpdates(_0x4713e6['body'],null))['then'](function(_0x448097){if(_0x448097){_0x172c13[_0x6bdb('0x27')]=_0x448097[_0x6bdb('0x84')]({'plain':!![]});return db[_0x6bdb('0x85')][_0x6bdb('0x5d')]({'where':{'id':_0x448097[_0x6bdb('0x86')]}});}return null;})[_0x6bdb('0x35')](handleEntityNotFound(_0x48109f,null))['then'](function(_0x4a4bd3){if(_0x4a4bd3){return _0x4a4bd3[_0x6bdb('0x5b')]({'UserId':_0x4713e6['body'][_0x6bdb('0x82')],'read1stAt':_['isNil'](_0x4a4bd3[_0x6bdb('0x87')])?moment()['format'](_0x6bdb('0x88')):undefined});}return null;})[_0x6bdb('0x35')](function(_0x18ae29){if(_0x18ae29){_0x172c13[_0x6bdb('0x89')]=_0x18ae29['get']({'plain':!![]});interaction_log['info'](_0x6bdb('0x8a'),_0x4713e6['user']['id'],_0x4713e6[_0x6bdb('0x6d')][_0x6bdb('0x3a')],_0x4713e6['user']['role'],_0x172c13[_0x6bdb('0x89')]['id'],_0x4713e6['body']?JSON[_0x6bdb('0x24')](_0x4713e6[_0x6bdb('0x5c')]):'null');return respondWithRpcPromise(_0x6bdb('0x8b'),_0x6bdb('0x8c'),_0x172c13);}return null;})[_0x6bdb('0x35')](function(_0x286138){if(_0x286138){if(_0x4713e6[_0x6bdb('0x5c')][_0x6bdb('0x8d')]){_0x172c13[_0x6bdb('0x27')][_0x6bdb('0x8e')]=util[_0x6bdb('0x7b')](_0x6bdb('0x8f'),_0x4713e6['user'][_0x6bdb('0x3a')]);_0x172c13['message'][_0x6bdb('0x90')]=_0x172c13[_0x6bdb('0x90')];_0x172c13['message'][_0x6bdb('0x91')]=_0x6bdb('0x7e');return respondWithRpcPromise(_0x6bdb('0x92'),_0x6bdb('0x92'),{'event':_0x6bdb('0x93'),'message':_0x172c13[_0x6bdb('0x27')]},client9002)['then'](function(){return _0x172c13;});}return _0x172c13;}return null;})[_0x6bdb('0x35')](respondWithResult(_0x48109f,null))[_0x6bdb('0x2a')](handleError(_0x48109f,null));};var interaction_log=require(_0x6bdb('0x7c'))(_0x6bdb('0x7d'));exports['reject']=function(_0x155b72,_0x438f7c,_0x18c6a8){var _0x5d2491={'agent':{},'channel':_0x6bdb('0x7f')};if(_0x155b72[_0x6bdb('0x5c')]['id']){delete _0x155b72['body']['id'];}_0x155b72['body'][_0x6bdb('0x82')]=_0x155b72[_0x6bdb('0x5c')][_0x6bdb('0x82')]||_0x155b72[_0x6bdb('0x6d')]['id'];_0x5d2491['agent']['id']=_0x155b72['body'][_0x6bdb('0x82')];return db[_0x6bdb('0x3e')][_0x6bdb('0x5d')]({'where':{'id':_0x155b72['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x438f7c,null))['then'](function(_0x30c6f4){if(_0x30c6f4){_0x5d2491[_0x6bdb('0x27')]=_0x30c6f4[_0x6bdb('0x84')]({'plain':!![]});return db[_0x6bdb('0x85')][_0x6bdb('0x5d')]({'where':{'id':_0x30c6f4[_0x6bdb('0x86')]}});}return null;})[_0x6bdb('0x35')](handleEntityNotFound(_0x438f7c,null))['then'](function(_0x32d632){if(_0x32d632){_0x5d2491[_0x6bdb('0x89')]=_0x32d632[_0x6bdb('0x84')]({'plain':!![]});interaction_log[_0x6bdb('0x28')](_0x6bdb('0x94'),_0x155b72['user']['id'],_0x155b72['user'][_0x6bdb('0x3a')],_0x155b72[_0x6bdb('0x6d')][_0x6bdb('0x95')],_0x5d2491[_0x6bdb('0x89')]['id'],_0x155b72['body']?JSON[_0x6bdb('0x24')](_0x155b72[_0x6bdb('0x5c')]):'null');return respondWithRpcPromise(_0x6bdb('0x96'),'rejectMessage',_0x5d2491);}return null;})[_0x6bdb('0x35')](function(_0x285607){if(_0x285607){_0x285607[_0x6bdb('0x27')][_0x6bdb('0x8e')]=util[_0x6bdb('0x7b')](_0x6bdb('0x8f'),_0x155b72[_0x6bdb('0x6d')]['name']);_0x285607['message'][_0x6bdb('0x90')]=_0x5d2491[_0x6bdb('0x90')];_0x285607[_0x6bdb('0x27')][_0x6bdb('0x91')]=_0x6bdb('0x33');respondWithRpcPromise(_0x6bdb('0x92'),_0x6bdb('0x92'),{'event':'rejectmessage','message':_0x285607[_0x6bdb('0x27')]},client9002);return _0x5d2491;}return null;})[_0x6bdb('0x35')](respondWithResult(_0x438f7c,null))['catch'](handleError(_0x438f7c,null));};exports[_0x6bdb('0x97')]=function(_0x1c72d3,_0x56ef34){var _0x4751e4=moment()[_0x6bdb('0x98')]()[_0x6bdb('0x99')]();var _0x32f42e=path['join'](config[_0x6bdb('0x71')],'server',_0x6bdb('0x9a'),'tmp');var _0x55eaa4=path[_0x6bdb('0x70')](config[_0x6bdb('0x71')],_0x6bdb('0x9b'),_0x6bdb('0x9a'),_0x6bdb('0x6f'));var _0x16f3a3=util[_0x6bdb('0x7b')](_0x6bdb('0x9c'),_0x4751e4);return db[_0x6bdb('0x3e')][_0x6bdb('0x5d')]({'where':{'id':_0x1c72d3[_0x6bdb('0x5a')]['id']},'attributes':['id',_0x6bdb('0x5c'),_0x6bdb('0x9d'),'to','cc',_0x6bdb('0x9e'),_0x6bdb('0x9f'),_0x6bdb('0xa0')],'include':_0x1c72d3[_0x6bdb('0x42')][_0x6bdb('0x6f')]?[{'model':db['Attachment'],'as':_0x6bdb('0xa1')}]:undefined})[_0x6bdb('0x35')](handleEntityNotFound(_0x56ef34,null))[_0x6bdb('0x35')](function(_0x277b84){if(_0x277b84){var _0x299860=_0x277b84;var _0x51fcb1={'from':_0x299860[_0x6bdb('0x9d')],'to':_0x299860['to'],'subject':_0x299860[_0x6bdb('0x9f')],'html':_0x299860[_0x6bdb('0x5c')],'headers':{'Date':moment(_0x299860[_0x6bdb('0xa0')])[_0x6bdb('0x7b')](_0x6bdb('0xa2'))},'attachments':[]};if(_0x277b84['cc']){_0x51fcb1['headers']['Cc']=_0x277b84['cc'];}if(_0x277b84[_0x6bdb('0x9e')]){_0x51fcb1[_0x6bdb('0xa3')]['Bcc']=_0x277b84['bcc'];}return new BPromise(function(_0x3e62ca,_0x42b4b9){if(_0x277b84[_0x6bdb('0xa1')]){for(var _0x3dbad1=0x0;_0x3dbad1<_0x277b84['Attachments']['length'];_0x3dbad1++){var _0x4d986c=_0x277b84[_0x6bdb('0xa1')][_0x3dbad1];var _0x46c68b=path[_0x6bdb('0x70')](_0x55eaa4,_0x4d986c[_0x6bdb('0x73')]);if(fs[_0x6bdb('0xa4')](_0x46c68b)){_0x51fcb1[_0x6bdb('0x6f')][_0x6bdb('0xa5')]({'name':_0x4d986c[_0x6bdb('0x3a')],'contentType':_0x4d986c[_0x6bdb('0x52')],'data':fs[_0x6bdb('0xa6')](_0x46c68b)});}}}emlformat[_0x6bdb('0xa7')](_0x51fcb1,function(_0xe5cc4f,_0x15ac36){if(_0xe5cc4f)return _0x42b4b9(_0xe5cc4f);fs[_0x6bdb('0xa8')](path[_0x6bdb('0x70')](_0x32f42e,_0x16f3a3),_0x15ac36);return _0x3e62ca(_0x15ac36);});});}})[_0x6bdb('0x35')](function(_0x55d950){if(_0x55d950){return _0x56ef34['download'](path[_0x6bdb('0x70')](_0x32f42e,_0x16f3a3),_0x16f3a3,function(_0x19f963){if(_0x19f963){console[_0x6bdb('0xa9')](_0x6bdb('0xaa'),_0x19f963);}else{fs[_0x6bdb('0xab')](path[_0x6bdb('0x70')](_0x32f42e,_0x16f3a3));}});}})[_0x6bdb('0x2a')](handleError(_0x56ef34,null));};