6e19249a9defe25bcd92e3dd26e705d13ad6c668
[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 _0x9831=['rows','show','params','find','body','destroy','describe','create','out','secret','CmList','List','CmContact','DESC','MailServerOut','Smtp','service','host','port','secure','auth','user','pass','attachments','join','root','server/files/attachments','basename','Contacts','ListId','List\x20not\x20found','SendMail','sendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','accept','read','readAt','format','UserId','agent','get','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','sequelize','QueryTypes','SELECT','contact','User','fullname','internal','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','reject','fromString','download','unix','toString','server','tmp','files','message-%s.eml','from','bcc','createdAt','Attachment','Attachments','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','push','writeFileSync','unlinkSync','eml-format','moment','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','html-entities','register','jayson/promise','client','http','then','info','MailMessage,\x20%s,\x20%s','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','request\x20sent','catch','status','json','limit','undefined','count','offset','set','Content-Range','update','end','sendStatus','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','MailMessage','includeAll','include','findAll'];(function(_0x1b349a,_0x22222c){var _0x5d1f7c=function(_0x368d7c){while(--_0x368d7c){_0x1b349a['push'](_0x1b349a['shift']());}};_0x5d1f7c(++_0x22222c);}(_0x9831,0x100));var _0x1983=function(_0x30bc12,_0x14b2be){_0x30bc12=_0x30bc12-0x0;var _0x763896=_0x9831[_0x30bc12];return _0x763896;};'use strict';var emlformat=require(_0x1983('0x0'));var moment=require(_0x1983('0x1'));var BPromise=require('bluebird');var util=require(_0x1983('0x2'));var path=require(_0x1983('0x3'));var fs=require('fs');var _=require(_0x1983('0x4'));var Redis=require(_0x1983('0x5'));var htmlToText=require('html-to-text');var qs=require(_0x1983('0x6'));var logger=require(_0x1983('0x7'))(_0x1983('0x8'));var interaction_log=require(_0x1983('0x7'))('mail-interactions');var config=require('../../config/environment');var db=require(_0x1983('0x9'))['db'];config[_0x1983('0xa')]=_[_0x1983('0xb')](config[_0x1983('0xa')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x1983('0xa')]));var htmlEntities=require(_0x1983('0xc'));require('./mailMessage.socket')[_0x1983('0xd')](socket);var jayson=require(_0x1983('0xe'));var client=jayson['client']['http']({'port':0x232c});var client9003=jayson[_0x1983('0xf')]['http']({'port':0x232b});var client9002=jayson['client'][_0x1983('0x10')]({'port':0x232a});function respondWithRpcPromise(_0x497943,_0xf7cee8,_0x3b1173,_0x1f6191){return new BPromise(function(_0x5e9857,_0x3cfe44){var _0x11fcb7=_0x1f6191||client;return _0x11fcb7['request'](_0x497943,_0x3b1173)[_0x1983('0x11')](function(_0x3b3d94){logger[_0x1983('0x12')](_0x1983('0x13'),_0xf7cee8,'request\x20sent');logger['debug'](_0x1983('0x14'),_0xf7cee8,'request\x20sent',JSON[_0x1983('0x15')](_0x3b3d94));if(_0x3b3d94[_0x1983('0x16')]){if(_0x3b3d94['error']['code']===0x1f4){logger[_0x1983('0x16')]('MailMessage,\x20%s,\x20%s',_0xf7cee8,_0x3b3d94[_0x1983('0x16')][_0x1983('0x17')]);return _0x3cfe44(_0x3b3d94[_0x1983('0x16')][_0x1983('0x17')]);}logger[_0x1983('0x16')](_0x1983('0x13'),_0xf7cee8,_0x3b3d94[_0x1983('0x16')]['message']);return _0x5e9857(_0x3b3d94[_0x1983('0x16')]['message']);}else{logger[_0x1983('0x12')](_0x1983('0x13'),_0xf7cee8,_0x1983('0x18'));_0x5e9857(_0x3b3d94['result'][_0x1983('0x17')]);}})[_0x1983('0x19')](function(_0x2514cd){logger[_0x1983('0x16')](_0x1983('0x13'),_0xf7cee8,_0x2514cd);_0x3cfe44(_0x2514cd);});});}function respondWithResult(_0x1cfa17,_0x724b94){_0x724b94=_0x724b94||0xc8;return function(_0xd39ca3){if(_0xd39ca3){return _0x1cfa17[_0x1983('0x1a')](_0x724b94)[_0x1983('0x1b')](_0xd39ca3);}};}function respondWithFilteredResult(_0x5a8f58,_0x5b626b){return function(_0x5d18fa){if(_0x5d18fa){var _0x35a061=typeof _0x5b626b['offset']==='undefined'&&typeof _0x5b626b[_0x1983('0x1c')]===_0x1983('0x1d');var _0xcc6ada=_0x5d18fa[_0x1983('0x1e')];var _0x1b7521=_0x35a061?0x0:_0x5b626b[_0x1983('0x1f')];var _0x477db9=_0x35a061?_0x5d18fa[_0x1983('0x1e')]:_0x5b626b['offset']+_0x5b626b[_0x1983('0x1c')];var _0xec0cf3;if(_0x477db9>=_0xcc6ada){_0x477db9=_0xcc6ada;_0xec0cf3=0xc8;}else{_0xec0cf3=0xce;}_0x5a8f58[_0x1983('0x1a')](_0xec0cf3);return _0x5a8f58[_0x1983('0x20')](_0x1983('0x21'),_0x1b7521+'-'+_0x477db9+'/'+_0xcc6ada)[_0x1983('0x1b')](_0x5d18fa);}return null;};}function saveUpdates(_0x1bed09){return function(_0x2c3feb){if(_0x2c3feb){return _0x2c3feb[_0x1983('0x22')](_0x1bed09)[_0x1983('0x11')](function(_0x3bf812){return _0x3bf812;});}return null;};}function removeEntity(_0x290215){return function(_0x4c5e57){if(_0x4c5e57){return _0x4c5e57['destroy']()['then'](function(){_0x290215['status'](0xcc)[_0x1983('0x23')]();});}};}function handleEntityNotFound(_0x42c314){return function(_0xacf144){if(!_0xacf144){_0x42c314[_0x1983('0x24')](0x194);}return _0xacf144;};}function handleError(_0x481d57,_0x2c0e35){_0x2c0e35=_0x2c0e35||0x1f4;return function(_0x3f1d5a){logger[_0x1983('0x16')](_0x3f1d5a['stack']);if(_0x3f1d5a[_0x1983('0x25')]){delete _0x3f1d5a[_0x1983('0x25')];}_0x481d57[_0x1983('0x1a')](_0x2c0e35)[_0x1983('0x26')](_0x3f1d5a);};}exports['index']=function(_0x1eb22c,_0x526134){var _0x23b282={},_0x31ea2d={},_0x4b9047={'count':0x0,'rows':[]};var _0x275cc5=_[_0x1983('0x27')](db['MailMessage'][_0x1983('0x28')],function(_0xa80f37){return{'name':_0xa80f37[_0x1983('0x29')],'type':_0xa80f37[_0x1983('0x2a')][_0x1983('0x2b')]};});_0x31ea2d[_0x1983('0x2c')]=_[_0x1983('0x27')](_0x275cc5,_0x1983('0x25'));_0x31ea2d[_0x1983('0x2d')]=_[_0x1983('0x2e')](_0x1eb22c[_0x1983('0x2d')]);_0x31ea2d[_0x1983('0x2f')]=_[_0x1983('0x30')](_0x31ea2d['model'],_0x31ea2d['query']);_0x23b282[_0x1983('0x31')]=_['intersection'](_0x31ea2d['model'],qs[_0x1983('0x32')](_0x1eb22c[_0x1983('0x2d')][_0x1983('0x32')]));_0x23b282['attributes']=_0x23b282[_0x1983('0x31')][_0x1983('0x33')]?_0x23b282[_0x1983('0x31')]:_0x31ea2d[_0x1983('0x2c')];if(!_0x1eb22c[_0x1983('0x2d')][_0x1983('0x34')](_0x1983('0x35'))){_0x23b282[_0x1983('0x1c')]=qs['limit'](_0x1eb22c[_0x1983('0x2d')][_0x1983('0x1c')]);_0x23b282[_0x1983('0x1f')]=qs['offset'](_0x1eb22c[_0x1983('0x2d')][_0x1983('0x1f')]);}_0x23b282[_0x1983('0x36')]=qs[_0x1983('0x37')](_0x1eb22c[_0x1983('0x2d')][_0x1983('0x37')]);_0x23b282[_0x1983('0x38')]=qs[_0x1983('0x2f')](_[_0x1983('0x39')](_0x1eb22c[_0x1983('0x2d')],_0x31ea2d['filters']),_0x275cc5);if(_0x1eb22c[_0x1983('0x2d')][_0x1983('0x3a')]){_0x23b282['where']=_[_0x1983('0x3b')](_0x23b282[_0x1983('0x38')],{'$or':_['map'](_0x275cc5,function(_0x48cab1){if(_0x48cab1['type']!==_0x1983('0x3c')){var _0x36ab2d={};_0x36ab2d[_0x48cab1[_0x1983('0x25')]]={'$like':'%'+_0x1eb22c['query'][_0x1983('0x3a')]+'%'};return _0x36ab2d;}})});}_0x23b282=_['merge']({},_0x23b282,_0x1eb22c[_0x1983('0x3d')]);var _0x1b6793={'where':_0x23b282[_0x1983('0x38')]};return db[_0x1983('0x3e')][_0x1983('0x1e')](_0x1b6793)[_0x1983('0x11')](function(_0x389193){_0x4b9047[_0x1983('0x1e')]=_0x389193;if(_0x1eb22c[_0x1983('0x2d')][_0x1983('0x3f')]){_0x23b282[_0x1983('0x40')]=[{'all':!![]}];}return db[_0x1983('0x3e')][_0x1983('0x41')](_0x23b282);})[_0x1983('0x11')](function(_0x28d893){_0x4b9047[_0x1983('0x42')]=_0x28d893;return _0x4b9047;})[_0x1983('0x11')](respondWithFilteredResult(_0x526134,_0x23b282))[_0x1983('0x19')](handleError(_0x526134,null));};exports[_0x1983('0x43')]=function(_0x2bbc9e,_0x1dcfe4){var _0x1a20ec={'raw':!![],'where':{'id':_0x2bbc9e[_0x1983('0x44')]['id']}},_0x4f6ddb={};_0x4f6ddb[_0x1983('0x2c')]=_[_0x1983('0x2e')](db[_0x1983('0x3e')][_0x1983('0x28')]);_0x4f6ddb['query']=_[_0x1983('0x2e')](_0x2bbc9e['query']);_0x4f6ddb[_0x1983('0x2f')]=_[_0x1983('0x30')](_0x4f6ddb[_0x1983('0x2c')],_0x4f6ddb[_0x1983('0x2d')]);_0x1a20ec[_0x1983('0x31')]=_[_0x1983('0x30')](_0x4f6ddb[_0x1983('0x2c')],qs[_0x1983('0x32')](_0x2bbc9e[_0x1983('0x2d')][_0x1983('0x32')]));_0x1a20ec[_0x1983('0x31')]=_0x1a20ec[_0x1983('0x31')][_0x1983('0x33')]?_0x1a20ec[_0x1983('0x31')]:_0x4f6ddb[_0x1983('0x2c')];if(_0x2bbc9e[_0x1983('0x2d')]['includeAll']){_0x1a20ec[_0x1983('0x40')]=[{'all':!![]}];}_0x1a20ec=_['merge']({},_0x1a20ec,_0x2bbc9e['options']);return db[_0x1983('0x3e')][_0x1983('0x45')](_0x1a20ec)['then'](handleEntityNotFound(_0x1dcfe4,null))[_0x1983('0x11')](respondWithResult(_0x1dcfe4,null))[_0x1983('0x19')](handleError(_0x1dcfe4,null));};exports['update']=function(_0x4ea9b7,_0x3fc97a){if(_0x4ea9b7[_0x1983('0x46')]['id']){delete _0x4ea9b7[_0x1983('0x46')]['id'];}return db[_0x1983('0x3e')]['find']({'where':{'id':_0x4ea9b7[_0x1983('0x44')]['id']}})['then'](handleEntityNotFound(_0x3fc97a,null))[_0x1983('0x11')](saveUpdates(_0x4ea9b7[_0x1983('0x46')],null))[_0x1983('0x11')](respondWithResult(_0x3fc97a,null))[_0x1983('0x19')](handleError(_0x3fc97a,null));};exports[_0x1983('0x47')]=function(_0x2c1c8f,_0x453772){return db['MailMessage'][_0x1983('0x45')]({'where':{'id':_0x2c1c8f[_0x1983('0x44')]['id']}})[_0x1983('0x11')](handleEntityNotFound(_0x453772,null))['then'](removeEntity(_0x453772,null))[_0x1983('0x19')](handleError(_0x453772,null));};exports[_0x1983('0x48')]=function(_0x47fc97,_0xf99b62){return db[_0x1983('0x3e')][_0x1983('0x48')]()[_0x1983('0x11')](respondWithResult(_0xf99b62,null))[_0x1983('0x19')](handleError(_0xf99b62,null));};exports[_0x1983('0x49')]=function(_0x2feb4d,_0x209f85){return db[_0x1983('0x3e')][_0x1983('0x49')](_0x2feb4d[_0x1983('0x46')])[_0x1983('0x11')](function(_0x542908){if(_0x542908){if(_0x542908['direction']===_0x1983('0x4a')&&!_0x542908[_0x1983('0x4b')]){var _0x56e707,_0x5afd13,_0x1067a3;if(_0x2feb4d[_0x1983('0x46')]['to']){_0x5afd13=_0x2feb4d[_0x1983('0x46')]['to']['split'](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x542908['MailAccountId']},'include':[{'model':db[_0x1983('0x4c')],'as':_0x1983('0x4d'),'include':[{'model':db[_0x1983('0x4e')],'as':'Contacts','where':{'email':_0x5afd13},'limit':0x1,'order':[['updatedAt',_0x1983('0x4f')]]}]},{'model':db[_0x1983('0x50')],'as':'Smtp','raw':!![]}]})[_0x1983('0x11')](function(_0x397ed4){_0x56e707=_0x397ed4;if(_0x56e707&&_0x56e707['Smtp']){var _0x4b09de={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x56e707[_0x1983('0x51')][_0x1983('0x52')])){_0x4b09de[_0x1983('0x53')]=_0x56e707['Smtp'][_0x1983('0x53')];_0x4b09de[_0x1983('0x54')]=_0x56e707[_0x1983('0x51')][_0x1983('0x54')];_0x4b09de[_0x1983('0x55')]=_0x56e707['Smtp'][_0x1983('0x55')];if(_0x56e707[_0x1983('0x51')]['authentication']){_0x4b09de[_0x1983('0x56')]={'user':_0x56e707[_0x1983('0x51')][_0x1983('0x57')],'pass':_0x56e707[_0x1983('0x51')][_0x1983('0x58')]};}}else{_0x4b09de[_0x1983('0x52')]=_0x56e707[_0x1983('0x51')][_0x1983('0x52')];_0x4b09de['auth']={'user':_0x56e707[_0x1983('0x51')][_0x1983('0x57')],'pass':_0x56e707[_0x1983('0x51')][_0x1983('0x58')]};_0x4b09de[_0x1983('0x55')]=_0x56e707[_0x1983('0x51')][_0x1983('0x55')];}if(_0x2feb4d[_0x1983('0x46')]['attachments']&&_0x2feb4d[_0x1983('0x46')][_0x1983('0x59')][_0x1983('0x33')]){for(var _0x295cf7=0x0;_0x295cf7<_0x2feb4d[_0x1983('0x46')][_0x1983('0x59')][_0x1983('0x33')];_0x295cf7+=0x1){_0x2feb4d[_0x1983('0x46')][_0x1983('0x59')][_0x295cf7]={'filename':_0x2feb4d[_0x1983('0x46')][_0x1983('0x59')][_0x295cf7][_0x1983('0x25')],'path':path[_0x1983('0x5a')](config[_0x1983('0x5b')],_0x1983('0x5c'),_0x2feb4d[_0x1983('0x46')][_0x1983('0x59')][_0x295cf7][_0x1983('0x5d')])};}}_0x1067a3={'account':_0x4b09de,'message':_0x2feb4d[_0x1983('0x46')]};return;}})[_0x1983('0x11')](function(){if(_0x56e707['List']){if(_0x56e707[_0x1983('0x4d')][_0x1983('0x5e')][_0x1983('0x33')]){return _0x56e707[_0x1983('0x4d')]['Contacts'][0x0];}else{return db[_0x1983('0x4e')]['create'](_['defaults'](_0x2feb4d[_0x1983('0x46')],{'firstName':_0x2feb4d['body']['to'],'email':_0x2feb4d[_0x1983('0x46')]['to'],'phone':_0x2feb4d[_0x1983('0x46')]['to'],'ListId':_0x56e707[_0x1983('0x5f')]}));}}else{throw new Error(_0x1983('0x60'));}})[_0x1983('0x11')](function(){if(_0x1067a3){return respondWithRpcPromise(_0x1983('0x61'),_0x1983('0x62'),_0x1067a3,client9003)['then'](function(_0x3009a5){return _0x542908[_0x1983('0x22')]({'read':!![],'messageId':_0x3009a5[_0x1983('0x63')],'sentAt':moment()['format'](_0x1983('0x64'))});})[_0x1983('0x19')](function(_0x4ef23f){logger['error']('%s',JSON[_0x1983('0x15')](_0x4ef23f));return _0x542908;});}return _0x542908;});}return _0x542908;}})[_0x1983('0x11')](respondWithResult(_0x209f85,0xc9))[_0x1983('0x19')](handleError(_0x209f85,null));};exports[_0x1983('0x65')]=function(_0x24ae08,_0x593dc0){var _0x3c17d1={'agent':{},'channel':'mail'};if(_0x24ae08[_0x1983('0x46')]['id']){delete _0x24ae08['body']['id'];}_0x24ae08[_0x1983('0x46')][_0x1983('0x66')]=!![];_0x24ae08[_0x1983('0x46')][_0x1983('0x67')]=moment()[_0x1983('0x68')](_0x1983('0x64'));_0x24ae08['body'][_0x1983('0x69')]=_0x24ae08[_0x1983('0x46')][_0x1983('0x69')]||_0x24ae08['user']['id'];_0x3c17d1[_0x1983('0x6a')]['id']=_0x24ae08[_0x1983('0x46')][_0x1983('0x69')];return db[_0x1983('0x3e')][_0x1983('0x45')]({'where':{'id':_0x24ae08[_0x1983('0x44')]['id'],'UserId':null}})[_0x1983('0x11')](handleEntityNotFound(_0x593dc0,null))[_0x1983('0x11')](saveUpdates(_0x24ae08[_0x1983('0x46')],null))[_0x1983('0x11')](function(_0x35619a){if(_0x35619a){_0x3c17d1[_0x1983('0x17')]=_0x35619a[_0x1983('0x6b')]({'plain':!![]});return db[_0x1983('0x6c')][_0x1983('0x45')]({'where':{'id':_0x35619a[_0x1983('0x6d')]}});}return null;})[_0x1983('0x11')](handleEntityNotFound(_0x593dc0,null))[_0x1983('0x11')](function(_0x4bf161){if(_0x4bf161){return _0x4bf161[_0x1983('0x22')]({'UserId':_0x24ae08[_0x1983('0x46')][_0x1983('0x69')],'read1stAt':_[_0x1983('0x6e')](_0x4bf161[_0x1983('0x6f')])?moment()[_0x1983('0x68')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x1983('0x11')](function(_0x4ba49b){if(_0x4ba49b){_0x3c17d1[_0x1983('0x70')]=_0x4ba49b[_0x1983('0x6b')]({'plain':!![]});interaction_log[_0x1983('0x12')](_0x1983('0x71'),_0x24ae08['user']['id'],_0x24ae08[_0x1983('0x57')][_0x1983('0x25')],_0x24ae08[_0x1983('0x57')][_0x1983('0x72')],_0x3c17d1[_0x1983('0x70')]['id'],_0x24ae08[_0x1983('0x46')]?JSON[_0x1983('0x15')](_0x24ae08['body']):_0x1983('0x73'));return respondWithRpcPromise(_0x1983('0x74'),_0x1983('0x75'),_0x3c17d1);}return null;})[_0x1983('0x11')](function(_0x5c1ba5){var _0x116480='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x5c1ba5[_0x1983('0x17')]['ContactId'];return db[_0x1983('0x76')][_0x1983('0x2d')](_0x116480,{'type':db['Sequelize'][_0x1983('0x77')][_0x1983('0x78')],'raw':!![]})['then'](function(_0x5d461f){return _0x5d461f;});})[_0x1983('0x11')](function(_0x5281ef){if(_0x5281ef){_0x3c17d1[_0x1983('0x17')][_0x1983('0x79')]=_0x5281ef[0x0];if(!_0x24ae08['body'][_0x1983('0x69')])return;return db[_0x1983('0x7a')][_0x1983('0x45')]({'where':{'id':_0x24ae08[_0x1983('0x46')]['UserId'],'role':'agent'},'attributes':['id',_0x1983('0x25'),_0x1983('0x7b'),'email',_0x1983('0x7c')],'raw':!![]});}return null;})[_0x1983('0x11')](function(_0x1a7b41){if(!_0x1a7b41)return null;_0x3c17d1['message'][_0x1983('0x6a')]=_0x1a7b41;return _0x3c17d1;})[_0x1983('0x11')](function(_0x21f3a0){if(_0x21f3a0){if(_0x24ae08['body']['manual']){_0x3c17d1['message'][_0x1983('0x7d')]=util['format'](_0x1983('0x7e'),_0x24ae08[_0x1983('0x57')][_0x1983('0x25')]);_0x3c17d1['message'][_0x1983('0x7f')]=_0x3c17d1[_0x1983('0x7f')];_0x3c17d1[_0x1983('0x17')][_0x1983('0x80')]=_0x3c17d1[_0x1983('0x7f')];_0x3c17d1[_0x1983('0x17')][_0x1983('0x81')]=_0x1983('0x65');_0x3c17d1[_0x1983('0x17')][_0x1983('0x46')]=htmlToText['fromString'](_0x3c17d1['message'][_0x1983('0x46')]);return respondWithRpcPromise(_0x1983('0x82'),_0x1983('0x82'),{'event':_0x1983('0x83'),'message':_0x3c17d1[_0x1983('0x17')]},client9002)[_0x1983('0x11')](function(){return _0x3c17d1;});}return _0x3c17d1;}return null;})[_0x1983('0x11')](respondWithResult(_0x593dc0,null))[_0x1983('0x19')](handleError(_0x593dc0,null));};exports['reject']=function(_0x3e3e18,_0x432b30){var _0x2964a1={'agent':{},'channel':_0x1983('0x84')};if(_0x3e3e18[_0x1983('0x46')]['id']){delete _0x3e3e18[_0x1983('0x46')]['id'];}_0x3e3e18[_0x1983('0x46')]['UserId']=_0x3e3e18[_0x1983('0x46')][_0x1983('0x69')]||_0x3e3e18[_0x1983('0x57')]['id'];_0x2964a1[_0x1983('0x6a')]['id']=_0x3e3e18[_0x1983('0x46')][_0x1983('0x69')];return db[_0x1983('0x3e')]['find']({'where':{'id':_0x3e3e18[_0x1983('0x44')]['id'],'UserId':null}})[_0x1983('0x11')](handleEntityNotFound(_0x432b30,null))[_0x1983('0x11')](function(_0x5c96ad){if(_0x5c96ad){_0x2964a1[_0x1983('0x17')]=_0x5c96ad[_0x1983('0x6b')]({'plain':!![]});return db[_0x1983('0x6c')][_0x1983('0x45')]({'where':{'id':_0x5c96ad[_0x1983('0x6d')]}});}return null;})[_0x1983('0x11')](handleEntityNotFound(_0x432b30,null))[_0x1983('0x11')](function(_0x548195){if(_0x548195){_0x2964a1[_0x1983('0x70')]=_0x548195[_0x1983('0x6b')]({'plain':!![]});interaction_log[_0x1983('0x12')](_0x1983('0x85'),_0x3e3e18[_0x1983('0x57')]['id'],_0x3e3e18['user'][_0x1983('0x25')],_0x3e3e18[_0x1983('0x57')][_0x1983('0x72')],_0x2964a1['interaction']['id'],_0x3e3e18[_0x1983('0x46')]?JSON[_0x1983('0x15')](_0x3e3e18[_0x1983('0x46')]):_0x1983('0x73'));return respondWithRpcPromise(_0x1983('0x86'),_0x1983('0x87'),_0x2964a1);}return null;})['then'](function(_0x2f3afc){var _0x4c8f28=_0x1983('0x88')+_0x2f3afc[_0x1983('0x17')][_0x1983('0x89')];return db['sequelize'][_0x1983('0x2d')](_0x4c8f28,{'type':db[_0x1983('0x8a')]['QueryTypes']['SELECT'],'raw':!![]})[_0x1983('0x11')](function(_0x36495b){return _0x36495b;});})['then'](function(_0x5a9abb){if(_0x5a9abb){_0x2964a1[_0x1983('0x17')][_0x1983('0x79')]=_0x5a9abb[0x0];if(!_0x3e3e18['body']['UserId'])return;return db[_0x1983('0x7a')][_0x1983('0x45')]({'where':{'id':_0x3e3e18['body']['UserId'],'role':_0x1983('0x6a')},'attributes':['id',_0x1983('0x25'),'fullname','email',_0x1983('0x7c')],'raw':!![]});}return null;})[_0x1983('0x11')](function(_0x2b51cc){if(!_0x2b51cc)return null;_0x2964a1[_0x1983('0x17')][_0x1983('0x6a')]=_0x2b51cc;return _0x2964a1;})[_0x1983('0x11')](function(_0xe00bc1){if(_0xe00bc1){_0xe00bc1[_0x1983('0x17')][_0x1983('0x7d')]=util[_0x1983('0x68')]('SIP/%s',_0x3e3e18[_0x1983('0x57')][_0x1983('0x25')]);_0xe00bc1[_0x1983('0x17')][_0x1983('0x7f')]=_0x2964a1['channel'];_0xe00bc1['message'][_0x1983('0x80')]=_0x2964a1[_0x1983('0x7f')];_0xe00bc1[_0x1983('0x17')]['event']=_0x1983('0x8b');_0xe00bc1[_0x1983('0x17')][_0x1983('0x46')]=htmlToText[_0x1983('0x8c')](_0x2964a1[_0x1983('0x17')][_0x1983('0x46')]);respondWithRpcPromise(_0x1983('0x82'),_0x1983('0x82'),{'event':'rejectmessage','message':_0xe00bc1[_0x1983('0x17')]},client9002);return _0x2964a1;}return null;})[_0x1983('0x11')](respondWithResult(_0x432b30,null))[_0x1983('0x19')](handleError(_0x432b30,null));};exports[_0x1983('0x8d')]=function(_0x3a28d3,_0x1debe4){var _0x25b5e0=moment()[_0x1983('0x8e')]()[_0x1983('0x8f')]();var _0x1f39d3=path['join'](config[_0x1983('0x5b')],_0x1983('0x90'),'files',_0x1983('0x91'));var _0x4385f1=path[_0x1983('0x5a')](config[_0x1983('0x5b')],_0x1983('0x90'),_0x1983('0x92'),_0x1983('0x59'));var _0x5a6cf7=util['format'](_0x1983('0x93'),_0x25b5e0);return db[_0x1983('0x3e')][_0x1983('0x45')]({'where':{'id':_0x3a28d3[_0x1983('0x44')]['id']},'attributes':['id',_0x1983('0x46'),_0x1983('0x94'),'to','cc',_0x1983('0x95'),'subject',_0x1983('0x96')],'include':_0x3a28d3[_0x1983('0x2d')][_0x1983('0x59')]?[{'model':db[_0x1983('0x97')],'as':_0x1983('0x98')}]:undefined})[_0x1983('0x11')](handleEntityNotFound(_0x1debe4,null))[_0x1983('0x11')](function(_0xf87cd0){if(_0xf87cd0){var _0x2a63b7=_0xf87cd0;var _0x2615ec={'from':_0x2a63b7['from'],'to':_0x2a63b7['to'],'subject':_0x2a63b7[_0x1983('0x99')],'html':htmlEntities[_0x1983('0x9a')](_0x2a63b7[_0x1983('0x46')]),'headers':{'Date':moment(_0x2a63b7['createdAt'])['format'](_0x1983('0x9b'))},'attachments':[]};if(_0xf87cd0['cc']){_0x2615ec[_0x1983('0x9c')]['Cc']=_0xf87cd0['cc'];}if(_0xf87cd0[_0x1983('0x95')]){_0x2615ec[_0x1983('0x9c')][_0x1983('0x9d')]=_0xf87cd0['bcc'];}return new BPromise(function(_0x17511c,_0x57f538){if(_0xf87cd0[_0x1983('0x98')]){for(var _0x11163d=0x0;_0x11163d<_0xf87cd0[_0x1983('0x98')]['length'];_0x11163d++){var _0x1ff805=_0xf87cd0[_0x1983('0x98')][_0x11163d];var _0x332079=path[_0x1983('0x5a')](_0x4385f1,_0x1ff805['basename']);if(fs['existsSync'](_0x332079)){_0x2615ec[_0x1983('0x59')][_0x1983('0x9e')]({'name':_0x1ff805[_0x1983('0x25')],'contentType':_0x1ff805[_0x1983('0x2a')],'data':fs['readFileSync'](_0x332079)});}}}emlformat['build'](_0x2615ec,function(_0xe3b8d,_0x3e529a){if(_0xe3b8d)return _0x57f538(_0xe3b8d);fs[_0x1983('0x9f')](path['join'](_0x1f39d3,_0x5a6cf7),_0x3e529a);return _0x17511c(_0x3e529a);});});}})[_0x1983('0x11')](function(_0x13df9e){if(_0x13df9e){return _0x1debe4[_0x1983('0x8d')](path[_0x1983('0x5a')](_0x1f39d3,_0x5a6cf7),_0x5a6cf7,function(_0x1117f0){if(!_0x1117f0)fs[_0x1983('0xa0')](path[_0x1983('0x5a')](_0x1f39d3,_0x5a6cf7));});}})[_0x1983('0x19')](handleError(_0x1debe4,null));};