a5586efa3251ad70d6bd0ed6ddca7afec636c667
[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 _0xc3ef=['rejectmessage','toString','server','files','tmp','message-%s.eml','from','bcc','subject','Attachment','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','readFileSync','build','writeFileSync','download','unlinkSync','eml-format','moment','bluebird','path','lodash','ioredis','html-to-text','../../components/parsers/qs','api','mail-interactions','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','request','then','info','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','MailMessage,\x20%s,\x20%s','message','status','offset','limit','undefined','set','json','update','sendStatus','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','filters','attributes','intersection','query','fields','length','order','sort','pick','filter','where','merge','options','MailMessage','count','rows','catch','params','includeAll','include','find','body','destroy','describe','create','direction','secret','split','MailAccount','findOne','MailAccountId','CmList','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','attachments','join','root','basename','List','ListId','List\x20not\x20found','sendMail','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','format','UserId','user','agent','get','MailInteraction','MailInteractionId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','QueryTypes','SELECT','User','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','sequelize','Sequelize','reject'];(function(_0x25eb43,_0x16f87a){var _0x3d6aaf=function(_0x4806b6){while(--_0x4806b6){_0x25eb43['push'](_0x25eb43['shift']());}};_0x3d6aaf(++_0x16f87a);}(_0xc3ef,0x146));var _0xfc3e=function(_0x465a0c,_0x19d4d5){_0x465a0c=_0x465a0c-0x0;var _0x1e202e=_0xc3ef[_0x465a0c];return _0x1e202e;};'use strict';var emlformat=require(_0xfc3e('0x0'));var moment=require(_0xfc3e('0x1'));var BPromise=require(_0xfc3e('0x2'));var util=require('util');var path=require(_0xfc3e('0x3'));var fs=require('fs');var _=require(_0xfc3e('0x4'));var Redis=require(_0xfc3e('0x5'));var htmlToText=require(_0xfc3e('0x6'));var qs=require(_0xfc3e('0x7'));var logger=require('../../config/logger')(_0xfc3e('0x8'));var interaction_log=require('../../config/logger')(_0xfc3e('0x9'));var config=require('../../config/environment');var db=require(_0xfc3e('0xa'))['db'];config[_0xfc3e('0xb')]=_[_0xfc3e('0xc')](config[_0xfc3e('0xb')],{'host':_0xfc3e('0xd'),'port':0x18eb});var socket=require(_0xfc3e('0xe'))(new Redis(config['redis']));var htmlEntities=require('html-entities');require(_0xfc3e('0xf'))[_0xfc3e('0x10')](socket);var jayson=require(_0xfc3e('0x11'));var client=jayson[_0xfc3e('0x12')][_0xfc3e('0x13')]({'port':0x232c});var client9003=jayson['client'][_0xfc3e('0x13')]({'port':0x232b});var client9002=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x1f93b0,_0x2a526a,_0x5ab07a,_0x157f46){return new BPromise(function(_0x2cce17,_0x404edf){var _0x21c4e0=_0x157f46||client;return _0x21c4e0[_0xfc3e('0x14')](_0x1f93b0,_0x5ab07a)[_0xfc3e('0x15')](function(_0xd8d9ef){logger[_0xfc3e('0x16')]('MailMessage,\x20%s,\x20%s',_0x2a526a,_0xfc3e('0x17'));logger['debug'](_0xfc3e('0x18'),_0x2a526a,'request\x20sent',JSON[_0xfc3e('0x19')](_0xd8d9ef));if(_0xd8d9ef[_0xfc3e('0x1a')]){if(_0xd8d9ef[_0xfc3e('0x1a')]['code']===0x1f4){logger['error'](_0xfc3e('0x1b'),_0x2a526a,_0xd8d9ef[_0xfc3e('0x1a')][_0xfc3e('0x1c')]);return _0x404edf(_0xd8d9ef[_0xfc3e('0x1a')][_0xfc3e('0x1c')]);}logger[_0xfc3e('0x1a')](_0xfc3e('0x1b'),_0x2a526a,_0xd8d9ef[_0xfc3e('0x1a')]['message']);return _0x2cce17(_0xd8d9ef['error']['message']);}else{logger[_0xfc3e('0x16')](_0xfc3e('0x1b'),_0x2a526a,_0xfc3e('0x17'));_0x2cce17(_0xd8d9ef['result'][_0xfc3e('0x1c')]);}})['catch'](function(_0x297b6f){logger[_0xfc3e('0x1a')](_0xfc3e('0x1b'),_0x2a526a,_0x297b6f);_0x404edf(_0x297b6f);});});}function respondWithResult(_0xb170e3,_0x3a9da6){_0x3a9da6=_0x3a9da6||0xc8;return function(_0x50063f){if(_0x50063f){return _0xb170e3[_0xfc3e('0x1d')](_0x3a9da6)['json'](_0x50063f);}};}function respondWithFilteredResult(_0x1977a0,_0x2d86ac){return function(_0x110f5b){if(_0x110f5b){var _0x515142=typeof _0x2d86ac[_0xfc3e('0x1e')]==='undefined'&&typeof _0x2d86ac[_0xfc3e('0x1f')]===_0xfc3e('0x20');var _0x18bc6f=_0x110f5b['count'];var _0x3dd91d=_0x515142?0x0:_0x2d86ac['offset'];var _0x30c600=_0x515142?_0x110f5b['count']:_0x2d86ac[_0xfc3e('0x1e')]+_0x2d86ac[_0xfc3e('0x1f')];var _0x3dd3b9;if(_0x30c600>=_0x18bc6f){_0x30c600=_0x18bc6f;_0x3dd3b9=0xc8;}else{_0x3dd3b9=0xce;}_0x1977a0[_0xfc3e('0x1d')](_0x3dd3b9);return _0x1977a0[_0xfc3e('0x21')]('Content-Range',_0x3dd91d+'-'+_0x30c600+'/'+_0x18bc6f)[_0xfc3e('0x22')](_0x110f5b);}return null;};}function saveUpdates(_0x5ea8db){return function(_0x30acec){if(_0x30acec){return _0x30acec[_0xfc3e('0x23')](_0x5ea8db)['then'](function(_0x14aece){return _0x14aece;});}return null;};}function removeEntity(_0x426f78){return function(_0x287ea6){if(_0x287ea6){return _0x287ea6['destroy']()[_0xfc3e('0x15')](function(){_0x426f78[_0xfc3e('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x28d52f){return function(_0x34dc71){if(!_0x34dc71){_0x28d52f[_0xfc3e('0x24')](0x194);}return _0x34dc71;};}function handleError(_0x161c7a,_0x28e007){_0x28e007=_0x28e007||0x1f4;return function(_0x129b3b){logger[_0xfc3e('0x1a')](_0x129b3b['stack']);if(_0x129b3b[_0xfc3e('0x25')]){delete _0x129b3b[_0xfc3e('0x25')];}_0x161c7a[_0xfc3e('0x1d')](_0x28e007)[_0xfc3e('0x26')](_0x129b3b);};}exports[_0xfc3e('0x27')]=function(_0x5cc397,_0x59418c){var _0x256f65={},_0x16da8a={},_0x428f65={'count':0x0,'rows':[]};var _0x207ace=_[_0xfc3e('0x28')](db['MailMessage'][_0xfc3e('0x29')],function(_0x513bd8){return{'name':_0x513bd8[_0xfc3e('0x2a')],'type':_0x513bd8[_0xfc3e('0x2b')][_0xfc3e('0x2c')]};});_0x16da8a[_0xfc3e('0x2d')]=_[_0xfc3e('0x28')](_0x207ace,_0xfc3e('0x25'));_0x16da8a['query']=_[_0xfc3e('0x2e')](_0x5cc397['query']);_0x16da8a[_0xfc3e('0x2f')]=_['intersection'](_0x16da8a[_0xfc3e('0x2d')],_0x16da8a['query']);_0x256f65[_0xfc3e('0x30')]=_[_0xfc3e('0x31')](_0x16da8a['model'],qs['fields'](_0x5cc397[_0xfc3e('0x32')][_0xfc3e('0x33')]));_0x256f65[_0xfc3e('0x30')]=_0x256f65['attributes'][_0xfc3e('0x34')]?_0x256f65[_0xfc3e('0x30')]:_0x16da8a['model'];if(!_0x5cc397[_0xfc3e('0x32')]['hasOwnProperty']('nolimit')){_0x256f65['limit']=qs[_0xfc3e('0x1f')](_0x5cc397[_0xfc3e('0x32')]['limit']);_0x256f65[_0xfc3e('0x1e')]=qs['offset'](_0x5cc397[_0xfc3e('0x32')][_0xfc3e('0x1e')]);}_0x256f65[_0xfc3e('0x35')]=qs[_0xfc3e('0x36')](_0x5cc397['query'][_0xfc3e('0x36')]);_0x256f65['where']=qs[_0xfc3e('0x2f')](_[_0xfc3e('0x37')](_0x5cc397[_0xfc3e('0x32')],_0x16da8a[_0xfc3e('0x2f')]),_0x207ace);if(_0x5cc397[_0xfc3e('0x32')][_0xfc3e('0x38')]){_0x256f65[_0xfc3e('0x39')]=_[_0xfc3e('0x3a')](_0x256f65[_0xfc3e('0x39')],{'$or':_[_0xfc3e('0x28')](_0x207ace,function(_0x5a6f5b){if(_0x5a6f5b[_0xfc3e('0x2b')]!=='VIRTUAL'){var _0x19c88c={};_0x19c88c[_0x5a6f5b[_0xfc3e('0x25')]]={'$like':'%'+_0x5cc397[_0xfc3e('0x32')]['filter']+'%'};return _0x19c88c;}})});}_0x256f65=_['merge']({},_0x256f65,_0x5cc397[_0xfc3e('0x3b')]);var _0x28a4c4={'where':_0x256f65[_0xfc3e('0x39')]};return db[_0xfc3e('0x3c')][_0xfc3e('0x3d')](_0x28a4c4)[_0xfc3e('0x15')](function(_0x54550d){_0x428f65[_0xfc3e('0x3d')]=_0x54550d;if(_0x5cc397[_0xfc3e('0x32')]['includeAll']){_0x256f65['include']=[{'all':!![]}];}return db[_0xfc3e('0x3c')]['findAll'](_0x256f65);})[_0xfc3e('0x15')](function(_0x2475e3){_0x428f65[_0xfc3e('0x3e')]=_0x2475e3;return _0x428f65;})['then'](respondWithFilteredResult(_0x59418c,_0x256f65))[_0xfc3e('0x3f')](handleError(_0x59418c,null));};exports['show']=function(_0x320170,_0x5132d3){var _0x3f1dcc={'raw':!![],'where':{'id':_0x320170[_0xfc3e('0x40')]['id']}},_0x3cb3fb={};_0x3cb3fb[_0xfc3e('0x2d')]=_[_0xfc3e('0x2e')](db['MailMessage']['rawAttributes']);_0x3cb3fb[_0xfc3e('0x32')]=_[_0xfc3e('0x2e')](_0x320170['query']);_0x3cb3fb['filters']=_['intersection'](_0x3cb3fb['model'],_0x3cb3fb['query']);_0x3f1dcc[_0xfc3e('0x30')]=_[_0xfc3e('0x31')](_0x3cb3fb['model'],qs[_0xfc3e('0x33')](_0x320170[_0xfc3e('0x32')][_0xfc3e('0x33')]));_0x3f1dcc[_0xfc3e('0x30')]=_0x3f1dcc[_0xfc3e('0x30')][_0xfc3e('0x34')]?_0x3f1dcc[_0xfc3e('0x30')]:_0x3cb3fb['model'];if(_0x320170['query'][_0xfc3e('0x41')]){_0x3f1dcc[_0xfc3e('0x42')]=[{'all':!![]}];}_0x3f1dcc=_['merge']({},_0x3f1dcc,_0x320170['options']);return db['MailMessage'][_0xfc3e('0x43')](_0x3f1dcc)[_0xfc3e('0x15')](handleEntityNotFound(_0x5132d3,null))[_0xfc3e('0x15')](respondWithResult(_0x5132d3,null))[_0xfc3e('0x3f')](handleError(_0x5132d3,null));};exports['update']=function(_0xd4562,_0x2cd07f){if(_0xd4562['body']['id']){delete _0xd4562[_0xfc3e('0x44')]['id'];}return db[_0xfc3e('0x3c')][_0xfc3e('0x43')]({'where':{'id':_0xd4562[_0xfc3e('0x40')]['id']}})[_0xfc3e('0x15')](handleEntityNotFound(_0x2cd07f,null))[_0xfc3e('0x15')](saveUpdates(_0xd4562[_0xfc3e('0x44')],null))[_0xfc3e('0x15')](respondWithResult(_0x2cd07f,null))[_0xfc3e('0x3f')](handleError(_0x2cd07f,null));};exports[_0xfc3e('0x45')]=function(_0x54f235,_0x415197){return db['MailMessage'][_0xfc3e('0x43')]({'where':{'id':_0x54f235[_0xfc3e('0x40')]['id']}})[_0xfc3e('0x15')](handleEntityNotFound(_0x415197,null))[_0xfc3e('0x15')](removeEntity(_0x415197,null))[_0xfc3e('0x3f')](handleError(_0x415197,null));};exports[_0xfc3e('0x46')]=function(_0x1ff263,_0x4fea03){return db['MailMessage'][_0xfc3e('0x46')]()[_0xfc3e('0x15')](respondWithResult(_0x4fea03,null))[_0xfc3e('0x3f')](handleError(_0x4fea03,null));};exports[_0xfc3e('0x47')]=function(_0x2c0411,_0x2b67f0){return db[_0xfc3e('0x3c')]['create'](_0x2c0411[_0xfc3e('0x44')])[_0xfc3e('0x15')](function(_0x3ed899){if(_0x3ed899){if(_0x3ed899[_0xfc3e('0x48')]==='out'&&!_0x3ed899[_0xfc3e('0x49')]){var _0x50dc3b,_0x2b9f0d,_0xbdbe21;if(_0x2c0411[_0xfc3e('0x44')]['to']){_0x2b9f0d=_0x2c0411[_0xfc3e('0x44')]['to'][_0xfc3e('0x4a')](',')[0x0];}return db[_0xfc3e('0x4b')][_0xfc3e('0x4c')]({'where':{'id':_0x3ed899[_0xfc3e('0x4d')]},'include':[{'model':db[_0xfc3e('0x4e')],'as':'List','include':[{'model':db[_0xfc3e('0x4f')],'as':_0xfc3e('0x50'),'where':{'email':_0x2b9f0d},'limit':0x1,'order':[[_0xfc3e('0x51'),_0xfc3e('0x52')]]}]},{'model':db[_0xfc3e('0x53')],'as':_0xfc3e('0x54'),'raw':!![],'include':[{'model':db[_0xfc3e('0x55')],'as':_0xfc3e('0x55'),'raw':!![]}]}]})[_0xfc3e('0x15')](function(_0x4d3327){_0x50dc3b=_0x4d3327;if(!_0x50dc3b||!_0x50dc3b[_0xfc3e('0x54')])return;var _0x27e061=_0x50dc3b['getSmtpOptions']();if(_0x2c0411[_0xfc3e('0x44')][_0xfc3e('0x56')]&&_0x2c0411[_0xfc3e('0x44')][_0xfc3e('0x56')][_0xfc3e('0x34')]){for(var _0x5481d7=0x0;_0x5481d7<_0x2c0411['body'][_0xfc3e('0x56')][_0xfc3e('0x34')];_0x5481d7+=0x1){_0x2c0411['body']['attachments'][_0x5481d7]={'filename':_0x2c0411[_0xfc3e('0x44')]['attachments'][_0x5481d7][_0xfc3e('0x25')],'path':path[_0xfc3e('0x57')](config[_0xfc3e('0x58')],'server/files/attachments',_0x2c0411['body']['attachments'][_0x5481d7][_0xfc3e('0x59')])};}}_0xbdbe21={'account':_0x27e061,'message':_0x2c0411[_0xfc3e('0x44')]};return;})[_0xfc3e('0x15')](function(){if(_0x50dc3b[_0xfc3e('0x5a')]){if(_0x50dc3b[_0xfc3e('0x5a')][_0xfc3e('0x50')][_0xfc3e('0x34')]){return _0x50dc3b['List'][_0xfc3e('0x50')][0x0];}else{return db[_0xfc3e('0x4f')][_0xfc3e('0x47')](_[_0xfc3e('0xc')](_0x2c0411[_0xfc3e('0x44')],{'firstName':_0x2c0411[_0xfc3e('0x44')]['to'],'email':_0x2c0411[_0xfc3e('0x44')]['to'],'phone':_0x2c0411[_0xfc3e('0x44')]['to'],'ListId':_0x50dc3b[_0xfc3e('0x5b')]}));}}else{throw new Error(_0xfc3e('0x5c'));}})[_0xfc3e('0x15')](function(){if(_0xbdbe21){return respondWithRpcPromise('SendMail',_0xfc3e('0x5d'),_0xbdbe21,client9003)[_0xfc3e('0x15')](function(_0x1e7e6e){return _0x3ed899[_0xfc3e('0x23')]({'read':!![],'messageId':_0x1e7e6e['messageId'],'sentAt':moment()['format'](_0xfc3e('0x5e'))});})['catch'](function(_0x41eb4a){logger[_0xfc3e('0x1a')]('%s',JSON[_0xfc3e('0x19')](_0x41eb4a));return _0x3ed899;});}return _0x3ed899;});}return _0x3ed899;}})[_0xfc3e('0x15')](respondWithResult(_0x2b67f0,0xc9))[_0xfc3e('0x3f')](handleError(_0x2b67f0,null));};exports[_0xfc3e('0x5f')]=function(_0x508177,_0x58b07b){var _0x299e6a={'agent':{},'channel':_0xfc3e('0x60')};if(_0x508177['body']['id']){delete _0x508177[_0xfc3e('0x44')]['id'];}_0x508177[_0xfc3e('0x44')][_0xfc3e('0x61')]=!![];_0x508177[_0xfc3e('0x44')]['readAt']=moment()[_0xfc3e('0x62')](_0xfc3e('0x5e'));_0x508177[_0xfc3e('0x44')]['UserId']=_0x508177[_0xfc3e('0x44')][_0xfc3e('0x63')]||_0x508177[_0xfc3e('0x64')]['id'];_0x299e6a[_0xfc3e('0x65')]['id']=_0x508177[_0xfc3e('0x44')][_0xfc3e('0x63')];return db[_0xfc3e('0x3c')][_0xfc3e('0x43')]({'where':{'id':_0x508177[_0xfc3e('0x40')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x58b07b,null))[_0xfc3e('0x15')](saveUpdates(_0x508177[_0xfc3e('0x44')],null))[_0xfc3e('0x15')](function(_0x353a5e){if(_0x353a5e){_0x299e6a[_0xfc3e('0x1c')]=_0x353a5e[_0xfc3e('0x66')]({'plain':!![]});return db[_0xfc3e('0x67')][_0xfc3e('0x43')]({'where':{'id':_0x353a5e[_0xfc3e('0x68')]}});}return null;})[_0xfc3e('0x15')](handleEntityNotFound(_0x58b07b,null))['then'](function(_0x4a3b8f){if(_0x4a3b8f){return _0x4a3b8f[_0xfc3e('0x23')]({'UserId':_0x508177[_0xfc3e('0x44')][_0xfc3e('0x63')],'read1stAt':_['isNil'](_0x4a3b8f[_0xfc3e('0x69')])?moment()[_0xfc3e('0x62')](_0xfc3e('0x5e')):undefined});}return null;})[_0xfc3e('0x15')](function(_0x5bc736){if(_0x5bc736){_0x299e6a[_0xfc3e('0x6a')]=_0x5bc736[_0xfc3e('0x66')]({'plain':!![]});interaction_log[_0xfc3e('0x16')](_0xfc3e('0x6b'),_0x508177['user']['id'],_0x508177['user']['name'],_0x508177[_0xfc3e('0x64')][_0xfc3e('0x6c')],_0x299e6a[_0xfc3e('0x6a')]['id'],_0x508177[_0xfc3e('0x44')]?JSON[_0xfc3e('0x19')](_0x508177[_0xfc3e('0x44')]):'null');return respondWithRpcPromise(_0xfc3e('0x6d'),_0xfc3e('0x6e'),_0x299e6a);}return null;})[_0xfc3e('0x15')](function(_0x2fc09c){var _0x23f067=_0xfc3e('0x6f')+_0x2fc09c[_0xfc3e('0x1c')][_0xfc3e('0x70')];return db['sequelize'][_0xfc3e('0x32')](_0x23f067,{'type':db['Sequelize'][_0xfc3e('0x71')][_0xfc3e('0x72')],'raw':!![]})[_0xfc3e('0x15')](function(_0x574220){return _0x574220;});})['then'](function(_0x29cb9c){if(_0x29cb9c){_0x299e6a[_0xfc3e('0x1c')]['contact']=_0x29cb9c[0x0];if(!_0x508177[_0xfc3e('0x44')][_0xfc3e('0x63')])return;return db[_0xfc3e('0x73')][_0xfc3e('0x43')]({'where':{'id':_0x508177[_0xfc3e('0x44')][_0xfc3e('0x63')],'role':_0xfc3e('0x65')},'attributes':['id',_0xfc3e('0x25'),_0xfc3e('0x74'),_0xfc3e('0x75'),_0xfc3e('0x76')],'raw':!![]});}return null;})[_0xfc3e('0x15')](function(_0x48c9cc){if(!_0x48c9cc)return null;_0x299e6a[_0xfc3e('0x1c')]['agent']=_0x48c9cc;return _0x299e6a;})['then'](function(_0x5284f9){if(_0x5284f9){if(_0x508177[_0xfc3e('0x44')][_0xfc3e('0x77')]){_0x299e6a['message'][_0xfc3e('0x78')]=util[_0xfc3e('0x62')](_0xfc3e('0x79'),_0x508177[_0xfc3e('0x64')]['name']);_0x299e6a['message'][_0xfc3e('0x7a')]=_0x299e6a[_0xfc3e('0x7a')];_0x299e6a[_0xfc3e('0x1c')][_0xfc3e('0x7b')]=_0x299e6a[_0xfc3e('0x7a')];_0x299e6a[_0xfc3e('0x1c')][_0xfc3e('0x7c')]=_0xfc3e('0x5f');_0x299e6a[_0xfc3e('0x1c')][_0xfc3e('0x44')]=htmlToText[_0xfc3e('0x7d')](_0x299e6a[_0xfc3e('0x1c')][_0xfc3e('0x44')]);return respondWithRpcPromise(_0xfc3e('0x7e'),'EventManager',{'event':_0xfc3e('0x7f'),'message':_0x299e6a['message']},client9002)[_0xfc3e('0x15')](function(){return _0x299e6a;});}return _0x299e6a;}return null;})[_0xfc3e('0x15')](respondWithResult(_0x58b07b,null))[_0xfc3e('0x3f')](handleError(_0x58b07b,null));};exports['reject']=function(_0x2ef682,_0x3359b2){var _0xdf1912={'agent':{},'channel':_0xfc3e('0x60')};if(_0x2ef682[_0xfc3e('0x44')]['id']){delete _0x2ef682[_0xfc3e('0x44')]['id'];}_0x2ef682['body']['UserId']=_0x2ef682[_0xfc3e('0x44')][_0xfc3e('0x63')]||_0x2ef682[_0xfc3e('0x64')]['id'];_0xdf1912[_0xfc3e('0x65')]['id']=_0x2ef682['body'][_0xfc3e('0x63')];return db[_0xfc3e('0x3c')][_0xfc3e('0x43')]({'where':{'id':_0x2ef682[_0xfc3e('0x40')]['id'],'UserId':null}})[_0xfc3e('0x15')](handleEntityNotFound(_0x3359b2,null))[_0xfc3e('0x15')](function(_0x3ed32b){if(_0x3ed32b){_0xdf1912[_0xfc3e('0x1c')]=_0x3ed32b['get']({'plain':!![]});return db[_0xfc3e('0x67')][_0xfc3e('0x43')]({'where':{'id':_0x3ed32b[_0xfc3e('0x68')]}});}return null;})[_0xfc3e('0x15')](handleEntityNotFound(_0x3359b2,null))[_0xfc3e('0x15')](function(_0x1dc136){if(_0x1dc136){_0xdf1912[_0xfc3e('0x6a')]=_0x1dc136[_0xfc3e('0x66')]({'plain':!![]});interaction_log[_0xfc3e('0x16')](_0xfc3e('0x80'),_0x2ef682['user']['id'],_0x2ef682[_0xfc3e('0x64')][_0xfc3e('0x25')],_0x2ef682[_0xfc3e('0x64')][_0xfc3e('0x6c')],_0xdf1912['interaction']['id'],_0x2ef682['body']?JSON[_0xfc3e('0x19')](_0x2ef682[_0xfc3e('0x44')]):'null');return respondWithRpcPromise('RejectMessage',_0xfc3e('0x81'),_0xdf1912);}return null;})[_0xfc3e('0x15')](function(_0x2526b0){var _0x413574=_0xfc3e('0x6f')+_0x2526b0[_0xfc3e('0x1c')][_0xfc3e('0x70')];return db[_0xfc3e('0x82')][_0xfc3e('0x32')](_0x413574,{'type':db[_0xfc3e('0x83')][_0xfc3e('0x71')]['SELECT'],'raw':!![]})[_0xfc3e('0x15')](function(_0x1f78c1){return _0x1f78c1;});})[_0xfc3e('0x15')](function(_0x50fb73){if(_0x50fb73){_0xdf1912['message']['contact']=_0x50fb73[0x0];if(!_0x2ef682[_0xfc3e('0x44')][_0xfc3e('0x63')])return;return db[_0xfc3e('0x73')][_0xfc3e('0x43')]({'where':{'id':_0x2ef682['body'][_0xfc3e('0x63')],'role':_0xfc3e('0x65')},'attributes':['id','name',_0xfc3e('0x74'),_0xfc3e('0x75'),_0xfc3e('0x76')],'raw':!![]});}return null;})[_0xfc3e('0x15')](function(_0x41914f){if(!_0x41914f)return null;_0xdf1912[_0xfc3e('0x1c')][_0xfc3e('0x65')]=_0x41914f;return _0xdf1912;})['then'](function(_0x21fe84){if(_0x21fe84){_0x21fe84[_0xfc3e('0x1c')]['interface']=util['format'](_0xfc3e('0x79'),_0x2ef682['user'][_0xfc3e('0x25')]);_0x21fe84['message'][_0xfc3e('0x7a')]=_0xdf1912[_0xfc3e('0x7a')];_0x21fe84['message']['motionChannel']=_0xdf1912['channel'];_0x21fe84[_0xfc3e('0x1c')][_0xfc3e('0x7c')]=_0xfc3e('0x84');_0x21fe84[_0xfc3e('0x1c')][_0xfc3e('0x44')]=htmlToText['fromString'](_0xdf1912[_0xfc3e('0x1c')]['body']);respondWithRpcPromise(_0xfc3e('0x7e'),_0xfc3e('0x7e'),{'event':_0xfc3e('0x85'),'message':_0x21fe84[_0xfc3e('0x1c')]},client9002);return _0xdf1912;}return null;})[_0xfc3e('0x15')](respondWithResult(_0x3359b2,null))[_0xfc3e('0x3f')](handleError(_0x3359b2,null));};exports['download']=function(_0x2fa4b0,_0x4001e8){var _0x3a9c14=moment()['unix']()[_0xfc3e('0x86')]();var _0x246a3a=path['join'](config[_0xfc3e('0x58')],_0xfc3e('0x87'),_0xfc3e('0x88'),_0xfc3e('0x89'));var _0xafd8d0=path[_0xfc3e('0x57')](config['root'],_0xfc3e('0x87'),'files','attachments');var _0x551d78=util[_0xfc3e('0x62')](_0xfc3e('0x8a'),_0x3a9c14);return db[_0xfc3e('0x3c')]['find']({'where':{'id':_0x2fa4b0[_0xfc3e('0x40')]['id']},'attributes':['id','body',_0xfc3e('0x8b'),'to','cc',_0xfc3e('0x8c'),_0xfc3e('0x8d'),'createdAt'],'include':_0x2fa4b0['query'][_0xfc3e('0x56')]?[{'model':db[_0xfc3e('0x8e')],'as':'Attachments'}]:undefined})['then'](handleEntityNotFound(_0x4001e8,null))[_0xfc3e('0x15')](function(_0x15559c){if(_0x15559c){var _0x5339f3=_0x15559c;var _0x2aeb16={'from':_0x5339f3[_0xfc3e('0x8b')],'to':_0x5339f3['to'],'subject':_0x5339f3[_0xfc3e('0x8d')],'html':htmlEntities[_0xfc3e('0x8f')](_0x5339f3[_0xfc3e('0x44')]),'headers':{'Date':moment(_0x5339f3['createdAt'])['format'](_0xfc3e('0x90'))},'attachments':[]};if(_0x15559c['cc']){_0x2aeb16[_0xfc3e('0x91')]['Cc']=_0x15559c['cc'];}if(_0x15559c[_0xfc3e('0x8c')]){_0x2aeb16[_0xfc3e('0x91')][_0xfc3e('0x92')]=_0x15559c[_0xfc3e('0x8c')];}return new BPromise(function(_0x14bb24,_0x2a6df7){if(_0x15559c[_0xfc3e('0x93')]){for(var _0x4fca9b=0x0;_0x4fca9b<_0x15559c[_0xfc3e('0x93')]['length'];_0x4fca9b++){var _0x496e76=_0x15559c[_0xfc3e('0x93')][_0x4fca9b];var _0x5b31d8=path[_0xfc3e('0x57')](_0xafd8d0,_0x496e76[_0xfc3e('0x59')]);if(fs['existsSync'](_0x5b31d8)){_0x2aeb16[_0xfc3e('0x56')]['push']({'name':_0x496e76[_0xfc3e('0x25')],'contentType':_0x496e76[_0xfc3e('0x2b')],'data':fs[_0xfc3e('0x94')](_0x5b31d8)});}}}emlformat[_0xfc3e('0x95')](_0x2aeb16,function(_0x23a5ca,_0x24d4dd){if(_0x23a5ca)return _0x2a6df7(_0x23a5ca);fs[_0xfc3e('0x96')](path['join'](_0x246a3a,_0x551d78),_0x24d4dd);return _0x14bb24(_0x24d4dd);});});}})[_0xfc3e('0x15')](function(_0x232210){if(_0x232210){return _0x4001e8[_0xfc3e('0x97')](path[_0xfc3e('0x57')](_0x246a3a,_0x551d78),_0x551d78,function(_0x28c6c6){if(!_0x28c6c6)fs[_0xfc3e('0x98')](path['join'](_0x246a3a,_0x551d78));});}})[_0xfc3e('0x3f')](handleError(_0x4001e8,null));};