Built motion from commit (unavailable).|2.4.18
[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 _0xf56c=['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','then','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','MailMessage,\x20%s,\x20%s','message','info','result','catch','end','status','count','offset','limit','Content-Range','json','apply','save','update','destroy','sendStatus','name','send','map','MailMessage','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','options','includeAll','findAll','rows','show','params','keys','include','body','find','describe','create','direction','out','secret','findOne','MailAccountId','CmList','List','CmContact','Contacts','DESC','Smtp','isNil','service','host','port','secure','authentication','auth','user','pass','attachments','join','root','server/files/attachments','basename','defaults','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail','read','readAt','UserId','get','MailInteraction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interaction','AcceptMessage','SIP/%s','channel','event','EventManager','acceptmessage','mail-interactions','reject','agent','MailInteractionId','role','null','rejectMessage','interface','rejectmessage','unix','toString','server','files','tmp','message-%s.eml','from','subject','createdAt','Attachment','headers','bcc','Bcc','Attachments','existsSync','push','readFileSync','build','writeFileSync','download','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','http','client'];(function(_0x1c758f,_0x41bc55){var _0x2c54ba=function(_0x4d9891){while(--_0x4d9891){_0x1c758f['push'](_0x1c758f['shift']());}};_0x2c54ba(++_0x41bc55);}(_0xf56c,0x13b));var _0xcf56=function(_0x399814,_0x5066c7){_0x399814=_0x399814-0x0;var _0x1e3449=_0xf56c[_0x399814];return _0x1e3449;};'use strict';var pdf=require(_0xcf56('0x0'));var emlformat=require(_0xcf56('0x1'));var rimraf=require(_0xcf56('0x2'));var zipdir=require(_0xcf56('0x3'));var jsonpatch=require(_0xcf56('0x4'));var rp=require(_0xcf56('0x5'));var moment=require(_0xcf56('0x6'));var BPromise=require(_0xcf56('0x7'));var Mustache=require(_0xcf56('0x8'));var util=require(_0xcf56('0x9'));var path=require('path');var sox=require('sox');var csv=require(_0xcf56('0xa'));var ejs=require(_0xcf56('0xb'));var fs=require('fs');var _=require(_0xcf56('0xc'));var squel=require('squel');var crypto=require(_0xcf56('0xd'));var jsforce=require(_0xcf56('0xe'));var deskjs=require(_0xcf56('0xf'));var toCsv=require('to-csv');var querystring=require(_0xcf56('0x10'));var Papa=require(_0xcf56('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcf56('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcf56('0x13'));var logger=require(_0xcf56('0x14'))(_0xcf56('0x15'));var utils=require(_0xcf56('0x16'));var config=require(_0xcf56('0x17'));var db=require(_0xcf56('0x18'))['db'];config[_0xcf56('0x19')]=_['defaults'](config['redis'],{'host':_0xcf56('0x1a'),'port':0x18eb});var socket=require(_0xcf56('0x1b'))(new Redis(config[_0xcf56('0x19')]));require(_0xcf56('0x1c'))[_0xcf56('0x1d')](socket);var jayson=require(_0xcf56('0x1e'));var client=jayson['client'][_0xcf56('0x1f')]({'port':0x232c});var client9003=jayson[_0xcf56('0x20')][_0xcf56('0x1f')]({'port':0x232b});var client9002=jayson[_0xcf56('0x20')]['http']({'port':0x232a});function checkPasswordPattern(_0x474a03,_0x9e181f,_0x29e5ff){if(_0x29e5ff){var _0x320cb9=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x320cb9[_0xcf56('0x21')](_0x9e181f)){return _0x474a03;}else{throw new db[(_0xcf56('0x22'))][(_0xcf56('0x23'))](_0xcf56('0x24'));}}else{return _0x474a03;}}function respondWithRpcPromise(_0x22b936,_0x2aa812,_0x171e01,_0x3445b8){return new BPromise(function(_0x57eabf,_0xd7a5){var _0x4af33e=_0x3445b8||client;return _0x4af33e[_0xcf56('0x25')](_0x22b936,_0x171e01)[_0xcf56('0x26')](function(_0x500735){logger['info']('MailMessage,\x20%s,\x20%s',_0x2aa812,_0xcf56('0x27'));logger[_0xcf56('0x28')](_0xcf56('0x29'),_0x2aa812,'request\x20sent',JSON[_0xcf56('0x2a')](_0x500735));if(_0x500735[_0xcf56('0x2b')]){if(_0x500735[_0xcf56('0x2b')]['code']===0x1f4){logger[_0xcf56('0x2b')](_0xcf56('0x2c'),_0x2aa812,_0x500735[_0xcf56('0x2b')][_0xcf56('0x2d')]);return _0xd7a5(_0x500735['error'][_0xcf56('0x2d')]);}logger[_0xcf56('0x2b')]('MailMessage,\x20%s,\x20%s',_0x2aa812,_0x500735['error'][_0xcf56('0x2d')]);return _0x57eabf(_0x500735['error']['message']);}else{logger[_0xcf56('0x2e')]('MailMessage,\x20%s,\x20%s',_0x2aa812,_0xcf56('0x27'));_0x57eabf(_0x500735[_0xcf56('0x2f')][_0xcf56('0x2d')]);}})[_0xcf56('0x30')](function(_0x117171){logger['error'](_0xcf56('0x2c'),_0x2aa812,_0x117171);_0xd7a5(_0x117171);});});}function respondWithStatusCode(_0x55f37e,_0x1dc337){_0x1dc337=_0x1dc337||0xcc;return function(_0x1d2807){if(_0x1d2807){return _0x55f37e['sendStatus'](_0x1dc337);}return _0x55f37e['status'](_0x1dc337)[_0xcf56('0x31')]();};}function respondWithResult(_0x11049c,_0x37d77d){_0x37d77d=_0x37d77d||0xc8;return function(_0x4b1b61){if(_0x4b1b61){return _0x11049c[_0xcf56('0x32')](_0x37d77d)['json'](_0x4b1b61);}};}function respondWithFilteredResult(_0x4eb070,_0x57e4b6){return function(_0x747eaa){if(_0x747eaa){var _0x56c06c=_0x747eaa[_0xcf56('0x33')],_0x2645f6=_0x57e4b6[_0xcf56('0x34')],_0x3290e5=_0x57e4b6[_0xcf56('0x34')]+_0x57e4b6[_0xcf56('0x35')],_0x1e10ae;if(_0x3290e5>=_0x56c06c){_0x3290e5=_0x56c06c;_0x1e10ae=0xc8;}else{_0x1e10ae=0xce;}_0x4eb070[_0xcf56('0x32')](_0x1e10ae);return _0x4eb070['set'](_0xcf56('0x36'),_0x2645f6+'-'+_0x3290e5+'/'+_0x56c06c)[_0xcf56('0x37')](_0x747eaa);}return null;};}function patchUpdates(_0x95a92e){return function(_0x5167a2){try{jsonpatch[_0xcf56('0x38')](_0x5167a2,_0x95a92e,!![]);}catch(_0x3f623b){return BPromise['reject'](_0x3f623b);}return _0x5167a2[_0xcf56('0x39')]();};}function saveUpdates(_0x7b58b7,_0x287792){return function(_0x33831f){if(_0x33831f){return _0x33831f[_0xcf56('0x3a')](_0x7b58b7)['then'](function(_0xc29415){return _0xc29415;});}return null;};}function removeEntity(_0x107b22,_0x5af886){return function(_0x160934){if(_0x160934){return _0x160934[_0xcf56('0x3b')]()['then'](function(){_0x107b22[_0xcf56('0x32')](0xcc)[_0xcf56('0x31')]();});}};}function handleEntityNotFound(_0x29a4db,_0x23b44b){return function(_0xd26a83){if(!_0xd26a83){_0x29a4db[_0xcf56('0x3c')](0x194);}return _0xd26a83;};}function handleError(_0x58b890,_0x18af49){_0x18af49=_0x18af49||0x1f4;return function(_0x29f328){logger[_0xcf56('0x2b')](_0x29f328['stack']);if(_0x29f328[_0xcf56('0x3d')]){delete _0x29f328['name'];}_0x58b890[_0xcf56('0x32')](_0x18af49)[_0xcf56('0x3e')](_0x29f328);};}exports['index']=function(_0x46dc31,_0x5f4838){var _0x5304bb={},_0x40b6e6={},_0x24fcee={'count':0x0,'rows':[]};var _0xf8379=_[_0xcf56('0x3f')](db[_0xcf56('0x40')][_0xcf56('0x41')],function(_0x5f5169){return{'name':_0x5f5169[_0xcf56('0x42')],'type':_0x5f5169[_0xcf56('0x43')][_0xcf56('0x44')]};});_0x40b6e6[_0xcf56('0x45')]=_['map'](_0xf8379,'name');_0x40b6e6['query']=_['keys'](_0x46dc31[_0xcf56('0x46')]);_0x40b6e6['filters']=_[_0xcf56('0x47')](_0x40b6e6[_0xcf56('0x45')],_0x40b6e6[_0xcf56('0x46')]);_0x5304bb[_0xcf56('0x48')]=_['intersection'](_0x40b6e6['model'],qs['fields'](_0x46dc31[_0xcf56('0x46')][_0xcf56('0x49')]));_0x5304bb[_0xcf56('0x48')]=_0x5304bb[_0xcf56('0x48')][_0xcf56('0x4a')]?_0x5304bb[_0xcf56('0x48')]:_0x40b6e6[_0xcf56('0x45')];if(!_0x46dc31['query'][_0xcf56('0x4b')](_0xcf56('0x4c'))){_0x5304bb[_0xcf56('0x35')]=qs[_0xcf56('0x35')](_0x46dc31['query']['limit']);_0x5304bb[_0xcf56('0x34')]=qs[_0xcf56('0x34')](_0x46dc31[_0xcf56('0x46')][_0xcf56('0x34')]);}_0x5304bb['order']=qs[_0xcf56('0x4d')](_0x46dc31['query'][_0xcf56('0x4d')]);_0x5304bb[_0xcf56('0x4e')]=qs[_0xcf56('0x4f')](_[_0xcf56('0x50')](_0x46dc31[_0xcf56('0x46')],_0x40b6e6[_0xcf56('0x4f')]));if(_0x46dc31['query'][_0xcf56('0x51')]){_0x5304bb[_0xcf56('0x4e')]=_[_0xcf56('0x52')](_0x5304bb[_0xcf56('0x4e')],{'$or':_[_0xcf56('0x3f')](_0xf8379,function(_0x42e5c7){if(_0x42e5c7[_0xcf56('0x43')]!=='VIRTUAL'){var _0x461986={};_0x461986[_0x42e5c7[_0xcf56('0x3d')]]={'$like':'%'+_0x46dc31['query'][_0xcf56('0x51')]+'%'};return _0x461986;}})});}_0x5304bb=_[_0xcf56('0x52')]({},_0x5304bb,_0x46dc31[_0xcf56('0x53')]);var _0x57505d={'where':_0x5304bb[_0xcf56('0x4e')]};return db[_0xcf56('0x40')][_0xcf56('0x33')](_0x57505d)[_0xcf56('0x26')](function(_0x21ca0a){_0x24fcee[_0xcf56('0x33')]=_0x21ca0a;if(_0x46dc31[_0xcf56('0x46')][_0xcf56('0x54')]){_0x5304bb['include']=[{'all':!![]}];}return db[_0xcf56('0x40')][_0xcf56('0x55')](_0x5304bb);})['then'](function(_0x28e4ef){_0x24fcee[_0xcf56('0x56')]=_0x28e4ef;return _0x24fcee;})[_0xcf56('0x26')](respondWithFilteredResult(_0x5f4838,_0x5304bb))[_0xcf56('0x30')](handleError(_0x5f4838,null));};exports[_0xcf56('0x57')]=function(_0x32f70d,_0x39afab){var _0x56c8f6={'raw':!![],'where':{'id':_0x32f70d[_0xcf56('0x58')]['id']}},_0x251fb2={};_0x251fb2[_0xcf56('0x45')]=_[_0xcf56('0x59')](db['MailMessage']['rawAttributes']);_0x251fb2['query']=_[_0xcf56('0x59')](_0x32f70d['query']);_0x251fb2[_0xcf56('0x4f')]=_[_0xcf56('0x47')](_0x251fb2[_0xcf56('0x45')],_0x251fb2[_0xcf56('0x46')]);_0x56c8f6[_0xcf56('0x48')]=_[_0xcf56('0x47')](_0x251fb2[_0xcf56('0x45')],qs['fields'](_0x32f70d[_0xcf56('0x46')][_0xcf56('0x49')]));_0x56c8f6['attributes']=_0x56c8f6[_0xcf56('0x48')][_0xcf56('0x4a')]?_0x56c8f6[_0xcf56('0x48')]:_0x251fb2[_0xcf56('0x45')];if(_0x32f70d[_0xcf56('0x46')][_0xcf56('0x54')]){_0x56c8f6[_0xcf56('0x5a')]=[{'all':!![]}];}_0x56c8f6=_[_0xcf56('0x52')]({},_0x56c8f6,_0x32f70d[_0xcf56('0x53')]);return db['MailMessage']['find'](_0x56c8f6)[_0xcf56('0x26')](handleEntityNotFound(_0x39afab,null))['then'](respondWithResult(_0x39afab,null))[_0xcf56('0x30')](handleError(_0x39afab,null));};exports[_0xcf56('0x3a')]=function(_0x305f67,_0x5ee842){if(_0x305f67[_0xcf56('0x5b')]['id']){delete _0x305f67[_0xcf56('0x5b')]['id'];}return db[_0xcf56('0x40')][_0xcf56('0x5c')]({'where':{'id':_0x305f67[_0xcf56('0x58')]['id']}})['then'](handleEntityNotFound(_0x5ee842,null))[_0xcf56('0x26')](saveUpdates(_0x305f67[_0xcf56('0x5b')],null))[_0xcf56('0x26')](respondWithResult(_0x5ee842,null))[_0xcf56('0x30')](handleError(_0x5ee842,null));};exports['destroy']=function(_0x2ffc41,_0x70f275){return db[_0xcf56('0x40')][_0xcf56('0x5c')]({'where':{'id':_0x2ffc41[_0xcf56('0x58')]['id']}})[_0xcf56('0x26')](handleEntityNotFound(_0x70f275,null))[_0xcf56('0x26')](removeEntity(_0x70f275,null))['catch'](handleError(_0x70f275,null));};exports[_0xcf56('0x5d')]=function(_0x3b19a2,_0x581d00){return db['MailMessage'][_0xcf56('0x5d')]()[_0xcf56('0x26')](respondWithResult(_0x581d00,null))[_0xcf56('0x30')](handleError(_0x581d00,null));};exports[_0xcf56('0x5e')]=function(_0x41c6d5,_0x60d3fe){return db[_0xcf56('0x40')][_0xcf56('0x5e')](_0x41c6d5['body'])[_0xcf56('0x26')](function(_0x3f3609){if(_0x3f3609){if(_0x3f3609[_0xcf56('0x5f')]===_0xcf56('0x60')&&!_0x3f3609[_0xcf56('0x61')]){var _0x3cf4cc,_0x1ccb9d,_0x689454;if(_0x41c6d5['body']['to']){_0x1ccb9d=_0x41c6d5[_0xcf56('0x5b')]['to']['split'](',')[0x0];}return db['MailAccount'][_0xcf56('0x62')]({'where':{'id':_0x3f3609[_0xcf56('0x63')]},'include':[{'model':db[_0xcf56('0x64')],'as':_0xcf56('0x65'),'include':[{'model':db[_0xcf56('0x66')],'as':_0xcf56('0x67'),'where':{'email':_0x1ccb9d},'limit':0x1,'order':[['updatedAt',_0xcf56('0x68')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})[_0xcf56('0x26')](function(_0x63dbe5){_0x3cf4cc=_0x63dbe5;if(_0x3cf4cc&&_0x3cf4cc[_0xcf56('0x69')]){var _0x330228={'tls':{'rejectUnauthorized':![]}};if(_[_0xcf56('0x6a')](_0x3cf4cc['Smtp'][_0xcf56('0x6b')])){_0x330228[_0xcf56('0x6c')]=_0x3cf4cc[_0xcf56('0x69')]['host'];_0x330228[_0xcf56('0x6d')]=_0x3cf4cc[_0xcf56('0x69')][_0xcf56('0x6d')];_0x330228[_0xcf56('0x6e')]=_0x3cf4cc['Smtp'][_0xcf56('0x6e')];if(_0x3cf4cc[_0xcf56('0x69')][_0xcf56('0x6f')]){_0x330228[_0xcf56('0x70')]={'user':_0x3cf4cc[_0xcf56('0x69')][_0xcf56('0x71')],'pass':_0x3cf4cc['Smtp'][_0xcf56('0x72')]};}}else{_0x330228[_0xcf56('0x6b')]=_0x3cf4cc['Smtp']['service'];_0x330228[_0xcf56('0x70')]={'user':_0x3cf4cc[_0xcf56('0x69')]['user'],'pass':_0x3cf4cc[_0xcf56('0x69')][_0xcf56('0x72')]};_0x330228[_0xcf56('0x6e')]=_0x3cf4cc[_0xcf56('0x69')][_0xcf56('0x6e')];}if(_0x41c6d5[_0xcf56('0x5b')]['attachments']&&_0x41c6d5['body'][_0xcf56('0x73')][_0xcf56('0x4a')]){for(var _0x443e20=0x0;_0x443e20<_0x41c6d5[_0xcf56('0x5b')][_0xcf56('0x73')][_0xcf56('0x4a')];_0x443e20+=0x1){_0x41c6d5[_0xcf56('0x5b')][_0xcf56('0x73')][_0x443e20]={'filename':_0x41c6d5[_0xcf56('0x5b')][_0xcf56('0x73')][_0x443e20][_0xcf56('0x3d')],'path':path[_0xcf56('0x74')](config[_0xcf56('0x75')],_0xcf56('0x76'),_0x41c6d5[_0xcf56('0x5b')][_0xcf56('0x73')][_0x443e20][_0xcf56('0x77')])};}}_0x689454={'account':_0x330228,'message':_0x41c6d5[_0xcf56('0x5b')]};return;}})[_0xcf56('0x26')](function(){if(_0x3cf4cc['List']){if(_0x3cf4cc[_0xcf56('0x65')][_0xcf56('0x67')][_0xcf56('0x4a')]){return _0x3cf4cc[_0xcf56('0x65')][_0xcf56('0x67')][0x0];}else{return db['CmContact']['create'](_[_0xcf56('0x78')](_0x41c6d5['body'],{'firstName':_0x41c6d5[_0xcf56('0x5b')]['to'],'email':_0x41c6d5[_0xcf56('0x5b')]['to'],'phone':_0x41c6d5[_0xcf56('0x5b')]['to'],'ListId':_0x3cf4cc[_0xcf56('0x79')]}));}}else{throw new Error(_0xcf56('0x7a'));}})[_0xcf56('0x26')](function(){if(_0x689454){return respondWithRpcPromise(_0xcf56('0x7b'),_0xcf56('0x7c'),_0x689454,client9003)[_0xcf56('0x26')](function(_0x27380b){return _0x3f3609['update']({'read':!![],'messageId':_0x27380b[_0xcf56('0x7d')],'sentAt':moment()[_0xcf56('0x7e')](_0xcf56('0x7f'))});})[_0xcf56('0x30')](function(_0x36d9ee){logger[_0xcf56('0x2b')]('%s',JSON[_0xcf56('0x2a')](_0x36d9ee));return _0x3f3609;});}return _0x3f3609;});}return _0x3f3609;}})[_0xcf56('0x26')](respondWithResult(_0x60d3fe,0xc9))[_0xcf56('0x30')](handleError(_0x60d3fe,null));};var interaction_log=require(_0xcf56('0x14'))('mail-interactions');exports['accept']=function(_0x53c1bd,_0x9bea14,_0x5c8e85){var _0xc8faf6={'channel':_0xcf56('0x80')};if(_0x53c1bd['body']['id']){delete _0x53c1bd[_0xcf56('0x5b')]['id'];}_0x53c1bd[_0xcf56('0x5b')][_0xcf56('0x81')]=!![];_0x53c1bd[_0xcf56('0x5b')][_0xcf56('0x82')]=moment()[_0xcf56('0x7e')](_0xcf56('0x7f'));_0x53c1bd['body'][_0xcf56('0x83')]=_0x53c1bd[_0xcf56('0x5b')][_0xcf56('0x83')]||_0x53c1bd['user']['id'];return db[_0xcf56('0x40')][_0xcf56('0x5c')]({'where':{'id':_0x53c1bd[_0xcf56('0x58')]['id'],'UserId':null},'include':[{'model':db[_0xcf56('0x66')],'as':'Contact'}]})[_0xcf56('0x26')](handleEntityNotFound(_0x9bea14,null))[_0xcf56('0x26')](saveUpdates(_0x53c1bd[_0xcf56('0x5b')],null))['then'](function(_0x274f53){if(_0x274f53){_0xc8faf6['message']=_0x274f53[_0xcf56('0x84')]({'plain':!![]});return db[_0xcf56('0x85')][_0xcf56('0x5c')]({'where':{'id':_0x274f53['MailInteractionId']}});}return null;})[_0xcf56('0x26')](handleEntityNotFound(_0x9bea14,null))[_0xcf56('0x26')](function(_0x531d34){if(_0x531d34){return _0x531d34['update']({'UserId':_0x53c1bd[_0xcf56('0x5b')][_0xcf56('0x83')],'read1stAt':_[_0xcf56('0x6a')](_0x531d34['read1stAt'])?moment()['format'](_0xcf56('0x7f')):undefined});}return null;})['then'](function(_0x1f0c47){if(_0x1f0c47){_0xc8faf6['interaction']=_0x1f0c47[_0xcf56('0x84')]({'plain':!![]});interaction_log[_0xcf56('0x2e')](_0xcf56('0x86'),_0x53c1bd[_0xcf56('0x71')]['id'],_0x53c1bd[_0xcf56('0x71')][_0xcf56('0x3d')],_0x53c1bd['user']['role'],_0xc8faf6[_0xcf56('0x87')]['id'],_0x53c1bd[_0xcf56('0x5b')]?JSON[_0xcf56('0x2a')](_0x53c1bd['body']):'null');return respondWithRpcPromise(_0xcf56('0x88'),'acceptMessage',_0xc8faf6);}return null;})[_0xcf56('0x26')](function(_0x2bf85c){if(_0x2bf85c){if(_0x53c1bd[_0xcf56('0x5b')]['manual']){_0xc8faf6[_0xcf56('0x2d')]['interface']=util[_0xcf56('0x7e')](_0xcf56('0x89'),_0x53c1bd['user'][_0xcf56('0x3d')]);_0xc8faf6['message']['channel']=_0xc8faf6[_0xcf56('0x8a')];_0xc8faf6[_0xcf56('0x2d')][_0xcf56('0x8b')]='accept';return respondWithRpcPromise('EventManager',_0xcf56('0x8c'),{'event':_0xcf56('0x8d'),'message':_0xc8faf6['message']},client9002)[_0xcf56('0x26')](function(){return _0xc8faf6;});}return _0xc8faf6;}return null;})['then'](respondWithResult(_0x9bea14,null))[_0xcf56('0x30')](handleError(_0x9bea14,null));};var interaction_log=require(_0xcf56('0x14'))(_0xcf56('0x8e'));exports[_0xcf56('0x8f')]=function(_0x3a8626,_0x2b0496,_0x2715b6){var _0x4c9d06={'agent':{},'channel':_0xcf56('0x80')};if(_0x3a8626[_0xcf56('0x5b')]['id']){delete _0x3a8626[_0xcf56('0x5b')]['id'];}_0x3a8626[_0xcf56('0x5b')][_0xcf56('0x83')]=_0x3a8626[_0xcf56('0x5b')][_0xcf56('0x83')]||_0x3a8626[_0xcf56('0x71')]['id'];_0x4c9d06[_0xcf56('0x90')]['id']=_0x3a8626['body'][_0xcf56('0x83')];return db[_0xcf56('0x40')][_0xcf56('0x5c')]({'where':{'id':_0x3a8626[_0xcf56('0x58')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x2b0496,null))['then'](function(_0x22df5e){if(_0x22df5e){_0x4c9d06[_0xcf56('0x2d')]=_0x22df5e[_0xcf56('0x84')]({'plain':!![]});return db[_0xcf56('0x85')][_0xcf56('0x5c')]({'where':{'id':_0x22df5e[_0xcf56('0x91')]}});}return null;})[_0xcf56('0x26')](handleEntityNotFound(_0x2b0496,null))[_0xcf56('0x26')](function(_0x29b9ac){if(_0x29b9ac){_0x4c9d06[_0xcf56('0x87')]=_0x29b9ac['get']({'plain':!![]});interaction_log[_0xcf56('0x2e')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x3a8626[_0xcf56('0x71')]['id'],_0x3a8626['user'][_0xcf56('0x3d')],_0x3a8626[_0xcf56('0x71')][_0xcf56('0x92')],_0x4c9d06[_0xcf56('0x87')]['id'],_0x3a8626['body']?JSON['stringify'](_0x3a8626[_0xcf56('0x5b')]):_0xcf56('0x93'));return respondWithRpcPromise('RejectMessage',_0xcf56('0x94'),_0x4c9d06);}return null;})[_0xcf56('0x26')](function(_0x52a314){if(_0x52a314){_0x52a314['message'][_0xcf56('0x95')]=util[_0xcf56('0x7e')]('SIP/%s',_0x3a8626[_0xcf56('0x71')]['name']);_0x52a314['message']['channel']=_0x4c9d06[_0xcf56('0x8a')];_0x52a314[_0xcf56('0x2d')][_0xcf56('0x8b')]='reject';respondWithRpcPromise(_0xcf56('0x8c'),'EventManager',{'event':_0xcf56('0x96'),'message':_0x52a314[_0xcf56('0x2d')]},client9002);return _0x4c9d06;}return null;})[_0xcf56('0x26')](respondWithResult(_0x2b0496,null))[_0xcf56('0x30')](handleError(_0x2b0496,null));};exports['download']=function(_0x5ceed4,_0x69ee3b){var _0xf32660=moment()[_0xcf56('0x97')]()[_0xcf56('0x98')]();var _0x24feda=path[_0xcf56('0x74')](config[_0xcf56('0x75')],_0xcf56('0x99'),_0xcf56('0x9a'),_0xcf56('0x9b'));var _0x32aeb9=path[_0xcf56('0x74')](config['root'],_0xcf56('0x99'),'files',_0xcf56('0x73'));var _0x15adae=util[_0xcf56('0x7e')](_0xcf56('0x9c'),_0xf32660);return db[_0xcf56('0x40')][_0xcf56('0x5c')]({'where':{'id':_0x5ceed4['params']['id']},'attributes':['id',_0xcf56('0x5b'),_0xcf56('0x9d'),'to','cc','bcc',_0xcf56('0x9e'),_0xcf56('0x9f')],'include':_0x5ceed4[_0xcf56('0x46')][_0xcf56('0x73')]?[{'model':db[_0xcf56('0xa0')],'as':'Attachments'}]:undefined})['then'](handleEntityNotFound(_0x69ee3b,null))[_0xcf56('0x26')](function(_0x51b4b1){if(_0x51b4b1){var _0x1a3096=_0x51b4b1;var _0x125a69={'from':_0x1a3096[_0xcf56('0x9d')],'to':_0x1a3096['to'],'subject':_0x1a3096[_0xcf56('0x9e')],'html':_0x1a3096[_0xcf56('0x5b')],'headers':{'Date':moment(_0x1a3096[_0xcf56('0x9f')])[_0xcf56('0x7e')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x51b4b1['cc']){_0x125a69[_0xcf56('0xa1')]['Cc']=_0x51b4b1['cc'];}if(_0x51b4b1[_0xcf56('0xa2')]){_0x125a69[_0xcf56('0xa1')][_0xcf56('0xa3')]=_0x51b4b1[_0xcf56('0xa2')];}return new BPromise(function(_0x480466,_0x110053){if(_0x51b4b1[_0xcf56('0xa4')]){for(var _0x329028=0x0;_0x329028<_0x51b4b1[_0xcf56('0xa4')]['length'];_0x329028++){var _0x5ba369=_0x51b4b1[_0xcf56('0xa4')][_0x329028];var _0x329b0d=path['join'](_0x32aeb9,_0x5ba369[_0xcf56('0x77')]);if(fs[_0xcf56('0xa5')](_0x329b0d)){_0x125a69['attachments'][_0xcf56('0xa6')]({'name':_0x5ba369[_0xcf56('0x3d')],'contentType':_0x5ba369[_0xcf56('0x43')],'data':fs[_0xcf56('0xa7')](_0x329b0d)});}}}emlformat[_0xcf56('0xa8')](_0x125a69,function(_0x59105e,_0x52fc0a){if(_0x59105e)return _0x110053(_0x59105e);fs[_0xcf56('0xa9')](path[_0xcf56('0x74')](_0x24feda,_0x15adae),_0x52fc0a);return _0x480466(_0x52fc0a);});});}})[_0xcf56('0x26')](function(_0x246c26){if(_0x246c26){return _0x69ee3b[_0xcf56('0xaa')](path['join'](_0x24feda,_0x15adae),_0x15adae,function(_0x16a59a){if(_0x16a59a){console[_0xcf56('0xab')](_0xcf56('0xac'),_0x16a59a);}else{fs[_0xcf56('0xad')](path['join'](_0x24feda,_0x15adae));}});}})[_0xcf56('0x30')](handleError(_0x69ee3b,null));};