Built motion from commit (unavailable).|2.5.31
[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 _0xde82=['rejectMessage','rejectmessage','unix','toString','join','files','tmp','server','message-%s.eml','from','bcc','subject','createdAt','Attachment','Attachments','headers','existsSync','build','writeFileSync','download','err','unlinkSync','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','ejs','fs-extra','lodash','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','redis','localhost','./mailMessage.socket','register','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','sendStatus','status','end','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','merge','body','account','MailMessage','rawAttributes','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','offset','sort','where','filter','map','type','VIRTUAL','includeAll','include','rows','catch','params','options','find','describe','create','direction','out','MailAccount','findOne','List','CmContact','Contacts','updatedAt','DESC','Smtp','isNil','host','port','secure','authentication','auth','pass','service','user','attachments','root','basename','defaults','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','read','readAt','UserId','agent','Contact','MailInteraction','MailInteractionId','read1stAt','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interaction','null','AcceptMessage','acceptMessage','interface','channel','event','EventManager','acceptmessage','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage'];(function(_0x218c0c,_0x2b21e3){var _0xf0347d=function(_0xb3b51c){while(--_0xb3b51c){_0x218c0c['push'](_0x218c0c['shift']());}};_0xf0347d(++_0x2b21e3);}(_0xde82,0xb3));var _0x2de8=function(_0x1876dc,_0x450df8){_0x1876dc=_0x1876dc-0x0;var _0x10bd5a=_0xde82[_0x1876dc];return _0x10bd5a;};'use strict';var emlformat=require(_0x2de8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2de8('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2de8('0x2'));var moment=require(_0x2de8('0x3'));var BPromise=require(_0x2de8('0x4'));var Mustache=require(_0x2de8('0x5'));var util=require('util');var path=require(_0x2de8('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x2de8('0x7'));var fs=require('fs');var fs_extra=require(_0x2de8('0x8'));var _=require(_0x2de8('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2de8('0xa'));var deskjs=require(_0x2de8('0xb'));var toCsv=require(_0x2de8('0xc'));var querystring=require('querystring');var Papa=require(_0x2de8('0xd'));var Redis=require(_0x2de8('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x2de8('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2de8('0x10'));var logger=require(_0x2de8('0x11'))('api');var utils=require(_0x2de8('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x2de8('0x13'));var db=require('../../mysqldb')['db'];config[_0x2de8('0x14')]=_['defaults'](config[_0x2de8('0x14')],{'host':_0x2de8('0x15'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2de8('0x14')]));require(_0x2de8('0x16'))[_0x2de8('0x17')](socket);var jayson=require('jayson/promise');var client=jayson[_0x2de8('0x18')][_0x2de8('0x19')]({'port':0x232c});var client9003=jayson[_0x2de8('0x18')]['http']({'port':0x232b});var client9002=jayson['client'][_0x2de8('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x42039b,_0x251800,_0x59668b,_0x5d7bf4){return new BPromise(function(_0x496762,_0x527306){var _0x4a3f14=_0x5d7bf4||client;return _0x4a3f14[_0x2de8('0x1a')](_0x42039b,_0x59668b)[_0x2de8('0x1b')](function(_0x22959d){logger[_0x2de8('0x1c')](_0x2de8('0x1d'),_0x251800,_0x2de8('0x1e'));logger[_0x2de8('0x1f')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x251800,_0x2de8('0x1e'),JSON[_0x2de8('0x20')](_0x22959d));if(_0x22959d[_0x2de8('0x21')]){if(_0x22959d[_0x2de8('0x21')][_0x2de8('0x22')]===0x1f4){logger[_0x2de8('0x21')](_0x2de8('0x1d'),_0x251800,_0x22959d['error'][_0x2de8('0x23')]);return _0x527306(_0x22959d[_0x2de8('0x21')][_0x2de8('0x23')]);}logger[_0x2de8('0x21')](_0x2de8('0x1d'),_0x251800,_0x22959d[_0x2de8('0x21')][_0x2de8('0x23')]);return _0x496762(_0x22959d[_0x2de8('0x21')][_0x2de8('0x23')]);}else{logger[_0x2de8('0x1c')](_0x2de8('0x1d'),_0x251800,_0x2de8('0x1e'));_0x496762(_0x22959d['result']['message']);}})['catch'](function(_0xdf041d){logger['error'](_0x2de8('0x1d'),_0x251800,_0xdf041d);_0x527306(_0xdf041d);});});}function respondWithStatusCode(_0x57b66e,_0x3e1a39){_0x3e1a39=_0x3e1a39||0xcc;return function(_0x5b794c){if(_0x5b794c){return _0x57b66e[_0x2de8('0x24')](_0x3e1a39);}return _0x57b66e[_0x2de8('0x25')](_0x3e1a39)[_0x2de8('0x26')]();};}function respondWithResult(_0x195140,_0x306fb2){_0x306fb2=_0x306fb2||0xc8;return function(_0x250823){if(_0x250823){return _0x195140[_0x2de8('0x25')](_0x306fb2)['json'](_0x250823);}};}function respondWithFilteredResult(_0x97d2c2,_0x84cd6c){return function(_0x356f6d){if(_0x356f6d){var _0x138d67=typeof _0x84cd6c['offset']===_0x2de8('0x27')&&typeof _0x84cd6c['limit']===_0x2de8('0x27');var _0x46c909=_0x356f6d[_0x2de8('0x28')];var _0x1026ed=_0x138d67?0x0:_0x84cd6c['offset'];var _0x500221=_0x138d67?_0x356f6d[_0x2de8('0x28')]:_0x84cd6c['offset']+_0x84cd6c[_0x2de8('0x29')];var _0x3bd8a3;if(_0x500221>=_0x46c909){_0x500221=_0x46c909;_0x3bd8a3=0xc8;}else{_0x3bd8a3=0xce;}_0x97d2c2[_0x2de8('0x25')](_0x3bd8a3);return _0x97d2c2[_0x2de8('0x2a')](_0x2de8('0x2b'),_0x1026ed+'-'+_0x500221+'/'+_0x46c909)['json'](_0x356f6d);}return null;};}function patchUpdates(_0x50d616){return function(_0x2cd4c7){try{jsonpatch[_0x2de8('0x2c')](_0x2cd4c7,_0x50d616,!![]);}catch(_0x10c8ac){return BPromise[_0x2de8('0x2d')](_0x10c8ac);}return _0x2cd4c7[_0x2de8('0x2e')]();};}function saveUpdates(_0xa47d55,_0x1ee6d9){return function(_0x20e6bb){if(_0x20e6bb){return _0x20e6bb[_0x2de8('0x2f')](_0xa47d55)[_0x2de8('0x1b')](function(_0x5abadd){return _0x5abadd;});}return null;};}function removeEntity(_0xfdafde,_0x4957b0){return function(_0x391018){if(_0x391018){return _0x391018[_0x2de8('0x30')]()[_0x2de8('0x1b')](function(){_0xfdafde[_0x2de8('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3caf49,_0x22a0a8){return function(_0x5cf88f){if(!_0x5cf88f){_0x3caf49[_0x2de8('0x24')](0x194);}return _0x5cf88f;};}function handleError(_0x590b7f,_0x5b5726){_0x5b5726=_0x5b5726||0x1f4;return function(_0x484ce1){logger['error'](_0x484ce1[_0x2de8('0x31')]);if(_0x484ce1[_0x2de8('0x32')]){delete _0x484ce1[_0x2de8('0x32')];}_0x590b7f[_0x2de8('0x25')](_0x5b5726)['send'](_0x484ce1);};}function getMustacheRender(_0x1c6d1f,_0xbd95ac){return Mustache['render'](_0x1c6d1f,_[_0x2de8('0x33')](_0xbd95ac[_0x2de8('0x34')],{'contact':_0xbd95ac['contact'],'message':_0xbd95ac['message'],'agent':_0xbd95ac['agent'],'interaction':_0xbd95ac['interaction'],'account':_0xbd95ac[_0x2de8('0x35')]}))||'';}exports['index']=function(_0x3429e5,_0x548fcc){var _0x143560={},_0x1b435d={},_0x319548={'count':0x0,'rows':[]};var _0x21dfad=_['map'](db[_0x2de8('0x36')][_0x2de8('0x37')],function(_0x22555a){return{'name':_0x22555a['fieldName'],'type':_0x22555a['type']['key']};});_0x1b435d[_0x2de8('0x38')]=_['map'](_0x21dfad,_0x2de8('0x32'));_0x1b435d['query']=_['keys'](_0x3429e5[_0x2de8('0x39')]);_0x1b435d[_0x2de8('0x3a')]=_['intersection'](_0x1b435d[_0x2de8('0x38')],_0x1b435d[_0x2de8('0x39')]);_0x143560[_0x2de8('0x3b')]=_[_0x2de8('0x3c')](_0x1b435d[_0x2de8('0x38')],qs[_0x2de8('0x3d')](_0x3429e5[_0x2de8('0x39')][_0x2de8('0x3d')]));_0x143560[_0x2de8('0x3b')]=_0x143560['attributes'][_0x2de8('0x3e')]?_0x143560['attributes']:_0x1b435d[_0x2de8('0x38')];if(!_0x3429e5[_0x2de8('0x39')][_0x2de8('0x3f')](_0x2de8('0x40'))){_0x143560[_0x2de8('0x29')]=qs[_0x2de8('0x29')](_0x3429e5[_0x2de8('0x39')][_0x2de8('0x29')]);_0x143560[_0x2de8('0x41')]=qs[_0x2de8('0x41')](_0x3429e5[_0x2de8('0x39')][_0x2de8('0x41')]);}_0x143560['order']=qs[_0x2de8('0x42')](_0x3429e5['query']['sort']);_0x143560[_0x2de8('0x43')]=qs[_0x2de8('0x3a')](_['pick'](_0x3429e5[_0x2de8('0x39')],_0x1b435d[_0x2de8('0x3a')]),_0x21dfad);if(_0x3429e5['query'][_0x2de8('0x44')]){_0x143560['where']=_[_0x2de8('0x33')](_0x143560[_0x2de8('0x43')],{'$or':_[_0x2de8('0x45')](_0x21dfad,function(_0x487fd9){if(_0x487fd9[_0x2de8('0x46')]!==_0x2de8('0x47')){var _0x116496={};_0x116496[_0x487fd9[_0x2de8('0x32')]]={'$like':'%'+_0x3429e5[_0x2de8('0x39')][_0x2de8('0x44')]+'%'};return _0x116496;}})});}_0x143560=_[_0x2de8('0x33')]({},_0x143560,_0x3429e5['options']);var _0x4cd338={'where':_0x143560[_0x2de8('0x43')]};return db['MailMessage']['count'](_0x4cd338)[_0x2de8('0x1b')](function(_0x4f339e){_0x319548[_0x2de8('0x28')]=_0x4f339e;if(_0x3429e5[_0x2de8('0x39')][_0x2de8('0x48')]){_0x143560[_0x2de8('0x49')]=[{'all':!![]}];}return db[_0x2de8('0x36')]['findAll'](_0x143560);})[_0x2de8('0x1b')](function(_0x524401){_0x319548[_0x2de8('0x4a')]=_0x524401;return _0x319548;})[_0x2de8('0x1b')](respondWithFilteredResult(_0x548fcc,_0x143560))[_0x2de8('0x4b')](handleError(_0x548fcc,null));};exports['show']=function(_0x4b9c36,_0x3a0c56){var _0x5c30cf={'raw':!![],'where':{'id':_0x4b9c36[_0x2de8('0x4c')]['id']}},_0x2cdbcb={};_0x2cdbcb[_0x2de8('0x38')]=_['keys'](db[_0x2de8('0x36')]['rawAttributes']);_0x2cdbcb[_0x2de8('0x39')]=_['keys'](_0x4b9c36[_0x2de8('0x39')]);_0x2cdbcb['filters']=_[_0x2de8('0x3c')](_0x2cdbcb[_0x2de8('0x38')],_0x2cdbcb[_0x2de8('0x39')]);_0x5c30cf['attributes']=_['intersection'](_0x2cdbcb[_0x2de8('0x38')],qs[_0x2de8('0x3d')](_0x4b9c36[_0x2de8('0x39')][_0x2de8('0x3d')]));_0x5c30cf['attributes']=_0x5c30cf[_0x2de8('0x3b')][_0x2de8('0x3e')]?_0x5c30cf[_0x2de8('0x3b')]:_0x2cdbcb[_0x2de8('0x38')];if(_0x4b9c36[_0x2de8('0x39')][_0x2de8('0x48')]){_0x5c30cf['include']=[{'all':!![]}];}_0x5c30cf=_[_0x2de8('0x33')]({},_0x5c30cf,_0x4b9c36[_0x2de8('0x4d')]);return db[_0x2de8('0x36')][_0x2de8('0x4e')](_0x5c30cf)[_0x2de8('0x1b')](handleEntityNotFound(_0x3a0c56,null))[_0x2de8('0x1b')](respondWithResult(_0x3a0c56,null))['catch'](handleError(_0x3a0c56,null));};exports[_0x2de8('0x2f')]=function(_0xc6ba24,_0x4b8e86){if(_0xc6ba24[_0x2de8('0x34')]['id']){delete _0xc6ba24[_0x2de8('0x34')]['id'];}return db['MailMessage']['find']({'where':{'id':_0xc6ba24[_0x2de8('0x4c')]['id']}})[_0x2de8('0x1b')](handleEntityNotFound(_0x4b8e86,null))[_0x2de8('0x1b')](saveUpdates(_0xc6ba24[_0x2de8('0x34')],null))['then'](respondWithResult(_0x4b8e86,null))[_0x2de8('0x4b')](handleError(_0x4b8e86,null));};exports['destroy']=function(_0x1bce86,_0x2a58c1){return db[_0x2de8('0x36')][_0x2de8('0x4e')]({'where':{'id':_0x1bce86[_0x2de8('0x4c')]['id']}})[_0x2de8('0x1b')](handleEntityNotFound(_0x2a58c1,null))[_0x2de8('0x1b')](removeEntity(_0x2a58c1,null))[_0x2de8('0x4b')](handleError(_0x2a58c1,null));};exports[_0x2de8('0x4f')]=function(_0x3e764f,_0x49db63){return db['MailMessage']['describe']()[_0x2de8('0x1b')](respondWithResult(_0x49db63,null))['catch'](handleError(_0x49db63,null));};exports[_0x2de8('0x50')]=function(_0x1bd9f0,_0x33897a){return db[_0x2de8('0x36')][_0x2de8('0x50')](_0x1bd9f0['body'])[_0x2de8('0x1b')](function(_0x302630){if(_0x302630){if(_0x302630[_0x2de8('0x51')]===_0x2de8('0x52')&&!_0x302630['secret']){var _0x1c5659,_0x5f5726,_0x6f7b83;if(_0x1bd9f0[_0x2de8('0x34')]['to']){_0x5f5726=_0x1bd9f0['body']['to']['split'](',')[0x0];}return db[_0x2de8('0x53')][_0x2de8('0x54')]({'where':{'id':_0x302630['MailAccountId']},'include':[{'model':db['CmList'],'as':_0x2de8('0x55'),'include':[{'model':db[_0x2de8('0x56')],'as':_0x2de8('0x57'),'where':{'email':_0x5f5726},'limit':0x1,'order':[[_0x2de8('0x58'),_0x2de8('0x59')]]}]},{'model':db['MailServerOut'],'as':_0x2de8('0x5a'),'raw':!![]}]})[_0x2de8('0x1b')](function(_0x584def){_0x1c5659=_0x584def;if(_0x1c5659&&_0x1c5659[_0x2de8('0x5a')]){var _0xfe6c17={'tls':{'rejectUnauthorized':![]}};if(_[_0x2de8('0x5b')](_0x1c5659['Smtp']['service'])){_0xfe6c17[_0x2de8('0x5c')]=_0x1c5659[_0x2de8('0x5a')]['host'];_0xfe6c17[_0x2de8('0x5d')]=_0x1c5659[_0x2de8('0x5a')][_0x2de8('0x5d')];_0xfe6c17[_0x2de8('0x5e')]=_0x1c5659[_0x2de8('0x5a')][_0x2de8('0x5e')];if(_0x1c5659['Smtp'][_0x2de8('0x5f')]){_0xfe6c17[_0x2de8('0x60')]={'user':_0x1c5659[_0x2de8('0x5a')]['user'],'pass':_0x1c5659[_0x2de8('0x5a')][_0x2de8('0x61')]};}}else{_0xfe6c17[_0x2de8('0x62')]=_0x1c5659['Smtp'][_0x2de8('0x62')];_0xfe6c17['auth']={'user':_0x1c5659[_0x2de8('0x5a')][_0x2de8('0x63')],'pass':_0x1c5659[_0x2de8('0x5a')]['pass']};_0xfe6c17[_0x2de8('0x5e')]=_0x1c5659[_0x2de8('0x5a')][_0x2de8('0x5e')];}if(_0x1bd9f0['body']['attachments']&&_0x1bd9f0[_0x2de8('0x34')][_0x2de8('0x64')][_0x2de8('0x3e')]){for(var _0x576f1d=0x0;_0x576f1d<_0x1bd9f0[_0x2de8('0x34')][_0x2de8('0x64')][_0x2de8('0x3e')];_0x576f1d+=0x1){_0x1bd9f0[_0x2de8('0x34')]['attachments'][_0x576f1d]={'filename':_0x1bd9f0[_0x2de8('0x34')]['attachments'][_0x576f1d][_0x2de8('0x32')],'path':path['join'](config[_0x2de8('0x65')],'server/files/attachments',_0x1bd9f0[_0x2de8('0x34')][_0x2de8('0x64')][_0x576f1d][_0x2de8('0x66')])};}}_0x6f7b83={'account':_0xfe6c17,'message':_0x1bd9f0[_0x2de8('0x34')]};return;}})['then'](function(){if(_0x1c5659[_0x2de8('0x55')]){if(_0x1c5659[_0x2de8('0x55')][_0x2de8('0x57')]['length']){return _0x1c5659['List'][_0x2de8('0x57')][0x0];}else{return db[_0x2de8('0x56')][_0x2de8('0x50')](_[_0x2de8('0x67')](_0x1bd9f0[_0x2de8('0x34')],{'firstName':_0x1bd9f0['body']['to'],'email':_0x1bd9f0[_0x2de8('0x34')]['to'],'phone':_0x1bd9f0[_0x2de8('0x34')]['to'],'ListId':_0x1c5659[_0x2de8('0x68')]}));}}else{throw new Error(_0x2de8('0x69'));}})['then'](function(){if(_0x6f7b83){return respondWithRpcPromise(_0x2de8('0x6a'),_0x2de8('0x6b'),_0x6f7b83,client9003)[_0x2de8('0x1b')](function(_0x2d2f59){return _0x302630[_0x2de8('0x2f')]({'read':!![],'messageId':_0x2d2f59[_0x2de8('0x6c')],'sentAt':moment()[_0x2de8('0x6d')](_0x2de8('0x6e'))});})[_0x2de8('0x4b')](function(_0x580139){logger[_0x2de8('0x21')]('%s',JSON[_0x2de8('0x20')](_0x580139));return _0x302630;});}return _0x302630;});}return _0x302630;}})[_0x2de8('0x1b')](respondWithResult(_0x33897a,0xc9))[_0x2de8('0x4b')](handleError(_0x33897a,null));};var interaction_log=require(_0x2de8('0x11'))(_0x2de8('0x6f'));exports['accept']=function(_0x5f59e2,_0x27f98,_0xe47eb5){var _0x5f4b47={'agent':{},'channel':'mail'};if(_0x5f59e2['body']['id']){delete _0x5f59e2[_0x2de8('0x34')]['id'];}_0x5f59e2[_0x2de8('0x34')][_0x2de8('0x70')]=!![];_0x5f59e2['body'][_0x2de8('0x71')]=moment()[_0x2de8('0x6d')](_0x2de8('0x6e'));_0x5f59e2[_0x2de8('0x34')][_0x2de8('0x72')]=_0x5f59e2[_0x2de8('0x34')][_0x2de8('0x72')]||_0x5f59e2['user']['id'];_0x5f4b47[_0x2de8('0x73')]['id']=_0x5f59e2[_0x2de8('0x34')][_0x2de8('0x72')];return db[_0x2de8('0x36')][_0x2de8('0x4e')]({'where':{'id':_0x5f59e2[_0x2de8('0x4c')]['id'],'UserId':null},'include':[{'model':db[_0x2de8('0x56')],'as':_0x2de8('0x74')}]})[_0x2de8('0x1b')](handleEntityNotFound(_0x27f98,null))['then'](saveUpdates(_0x5f59e2[_0x2de8('0x34')],null))[_0x2de8('0x1b')](function(_0x6324b1){if(_0x6324b1){_0x5f4b47[_0x2de8('0x23')]=_0x6324b1['get']({'plain':!![]});return db[_0x2de8('0x75')][_0x2de8('0x4e')]({'where':{'id':_0x6324b1[_0x2de8('0x76')]}});}return null;})[_0x2de8('0x1b')](handleEntityNotFound(_0x27f98,null))['then'](function(_0x2fb4a2){if(_0x2fb4a2){return _0x2fb4a2[_0x2de8('0x2f')]({'UserId':_0x5f59e2[_0x2de8('0x34')][_0x2de8('0x72')],'read1stAt':_['isNil'](_0x2fb4a2[_0x2de8('0x77')])?moment()[_0x2de8('0x6d')](_0x2de8('0x6e')):undefined});}return null;})[_0x2de8('0x1b')](function(_0x5cc5d0){if(_0x5cc5d0){_0x5f4b47['interaction']=_0x5cc5d0[_0x2de8('0x78')]({'plain':!![]});interaction_log[_0x2de8('0x1c')](_0x2de8('0x79'),_0x5f59e2['user']['id'],_0x5f59e2[_0x2de8('0x63')][_0x2de8('0x32')],_0x5f59e2[_0x2de8('0x63')][_0x2de8('0x7a')],_0x5f4b47[_0x2de8('0x7b')]['id'],_0x5f59e2[_0x2de8('0x34')]?JSON['stringify'](_0x5f59e2[_0x2de8('0x34')]):_0x2de8('0x7c'));return respondWithRpcPromise(_0x2de8('0x7d'),_0x2de8('0x7e'),_0x5f4b47);}return null;})[_0x2de8('0x1b')](function(_0x2a174f){if(_0x2a174f){if(_0x5f59e2[_0x2de8('0x34')]['manual']){_0x5f4b47['message'][_0x2de8('0x7f')]=util[_0x2de8('0x6d')]('SIP/%s',_0x5f59e2[_0x2de8('0x63')][_0x2de8('0x32')]);_0x5f4b47[_0x2de8('0x23')][_0x2de8('0x80')]=_0x5f4b47['channel'];_0x5f4b47[_0x2de8('0x23')][_0x2de8('0x81')]='accept';return respondWithRpcPromise(_0x2de8('0x82'),_0x2de8('0x82'),{'event':_0x2de8('0x83'),'message':_0x5f4b47['message']},client9002)[_0x2de8('0x1b')](function(){return _0x5f4b47;});}return _0x5f4b47;}return null;})[_0x2de8('0x1b')](respondWithResult(_0x27f98,null))[_0x2de8('0x4b')](handleError(_0x27f98,null));};var interaction_log=require('../../config/logger')(_0x2de8('0x6f'));exports[_0x2de8('0x2d')]=function(_0x4f87cc,_0x2b394f,_0x22e05c){var _0x4c1f96={'agent':{},'channel':_0x2de8('0x84')};if(_0x4f87cc[_0x2de8('0x34')]['id']){delete _0x4f87cc['body']['id'];}_0x4f87cc['body'][_0x2de8('0x72')]=_0x4f87cc[_0x2de8('0x34')][_0x2de8('0x72')]||_0x4f87cc[_0x2de8('0x63')]['id'];_0x4c1f96[_0x2de8('0x73')]['id']=_0x4f87cc['body'][_0x2de8('0x72')];return db['MailMessage'][_0x2de8('0x4e')]({'where':{'id':_0x4f87cc[_0x2de8('0x4c')]['id'],'UserId':null}})[_0x2de8('0x1b')](handleEntityNotFound(_0x2b394f,null))[_0x2de8('0x1b')](function(_0x4f0c5c){if(_0x4f0c5c){_0x4c1f96[_0x2de8('0x23')]=_0x4f0c5c['get']({'plain':!![]});return db[_0x2de8('0x75')][_0x2de8('0x4e')]({'where':{'id':_0x4f0c5c[_0x2de8('0x76')]}});}return null;})[_0x2de8('0x1b')](handleEntityNotFound(_0x2b394f,null))[_0x2de8('0x1b')](function(_0x80230d){if(_0x80230d){_0x4c1f96[_0x2de8('0x7b')]=_0x80230d[_0x2de8('0x78')]({'plain':!![]});interaction_log[_0x2de8('0x1c')](_0x2de8('0x85'),_0x4f87cc['user']['id'],_0x4f87cc[_0x2de8('0x63')][_0x2de8('0x32')],_0x4f87cc[_0x2de8('0x63')][_0x2de8('0x7a')],_0x4c1f96[_0x2de8('0x7b')]['id'],_0x4f87cc[_0x2de8('0x34')]?JSON[_0x2de8('0x20')](_0x4f87cc[_0x2de8('0x34')]):_0x2de8('0x7c'));return respondWithRpcPromise(_0x2de8('0x86'),_0x2de8('0x87'),_0x4c1f96);}return null;})[_0x2de8('0x1b')](function(_0xc17e13){if(_0xc17e13){_0xc17e13[_0x2de8('0x23')][_0x2de8('0x7f')]=util[_0x2de8('0x6d')]('SIP/%s',_0x4f87cc[_0x2de8('0x63')][_0x2de8('0x32')]);_0xc17e13[_0x2de8('0x23')][_0x2de8('0x80')]=_0x4c1f96['channel'];_0xc17e13['message'][_0x2de8('0x81')]=_0x2de8('0x2d');respondWithRpcPromise(_0x2de8('0x82'),_0x2de8('0x82'),{'event':_0x2de8('0x88'),'message':_0xc17e13['message']},client9002);return _0x4c1f96;}return null;})[_0x2de8('0x1b')](respondWithResult(_0x2b394f,null))['catch'](handleError(_0x2b394f,null));};exports['download']=function(_0xb0afed,_0x5f517a){var _0xd4661a=moment()[_0x2de8('0x89')]()[_0x2de8('0x8a')]();var _0x21bdd1=path[_0x2de8('0x8b')](config[_0x2de8('0x65')],'server',_0x2de8('0x8c'),_0x2de8('0x8d'));var _0x6de912=path['join'](config[_0x2de8('0x65')],_0x2de8('0x8e'),_0x2de8('0x8c'),_0x2de8('0x64'));var _0x558c84=util[_0x2de8('0x6d')](_0x2de8('0x8f'),_0xd4661a);return db['MailMessage'][_0x2de8('0x4e')]({'where':{'id':_0xb0afed['params']['id']},'attributes':['id',_0x2de8('0x34'),_0x2de8('0x90'),'to','cc',_0x2de8('0x91'),_0x2de8('0x92'),_0x2de8('0x93')],'include':_0xb0afed[_0x2de8('0x39')][_0x2de8('0x64')]?[{'model':db[_0x2de8('0x94')],'as':_0x2de8('0x95')}]:undefined})[_0x2de8('0x1b')](handleEntityNotFound(_0x5f517a,null))[_0x2de8('0x1b')](function(_0x36b2fd){if(_0x36b2fd){var _0x37a260=_0x36b2fd;var _0x220e01={'from':_0x37a260[_0x2de8('0x90')],'to':_0x37a260['to'],'subject':_0x37a260[_0x2de8('0x92')],'html':_0x37a260[_0x2de8('0x34')],'headers':{'Date':moment(_0x37a260[_0x2de8('0x93')])[_0x2de8('0x6d')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x36b2fd['cc']){_0x220e01[_0x2de8('0x96')]['Cc']=_0x36b2fd['cc'];}if(_0x36b2fd[_0x2de8('0x91')]){_0x220e01['headers']['Bcc']=_0x36b2fd[_0x2de8('0x91')];}return new BPromise(function(_0x4b8b96,_0x34cecc){if(_0x36b2fd['Attachments']){for(var _0x3c22ad=0x0;_0x3c22ad<_0x36b2fd[_0x2de8('0x95')][_0x2de8('0x3e')];_0x3c22ad++){var _0x31aba2=_0x36b2fd[_0x2de8('0x95')][_0x3c22ad];var _0x133f1d=path[_0x2de8('0x8b')](_0x6de912,_0x31aba2[_0x2de8('0x66')]);if(fs[_0x2de8('0x97')](_0x133f1d)){_0x220e01[_0x2de8('0x64')]['push']({'name':_0x31aba2[_0x2de8('0x32')],'contentType':_0x31aba2[_0x2de8('0x46')],'data':fs['readFileSync'](_0x133f1d)});}}}emlformat[_0x2de8('0x98')](_0x220e01,function(_0x5aa86e,_0x2a2008){if(_0x5aa86e)return _0x34cecc(_0x5aa86e);fs[_0x2de8('0x99')](path[_0x2de8('0x8b')](_0x21bdd1,_0x558c84),_0x2a2008);return _0x4b8b96(_0x2a2008);});});}})['then'](function(_0x31578a){if(_0x31578a){return _0x5f517a[_0x2de8('0x9a')](path['join'](_0x21bdd1,_0x558c84),_0x558c84,function(_0x10aa5f){if(_0x10aa5f){console['log'](_0x2de8('0x9b'),_0x10aa5f);}else{fs[_0x2de8('0x9c')](path[_0x2de8('0x8b')](_0x21bdd1,_0x558c84));}});}})['catch'](handleError(_0x5f517a,null));};