Built motion from commit 0415ced0.|2.6.28
[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 _0xad92=['offset','limit','count','status','set','Content-Range','update','destroy','end','sendStatus','stack','name','send','map','MailMessage','rawAttributes','fieldName','type','key','model','query','keys','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','params','intersection','fields','body','find','catch','describe','create','out','secret','MailAccount','findOne','CmList','List','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','server/files/attachments','basename','CmContact','ListId','List\x20not\x20found','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail','read','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','interaction','role','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','User','fullname','manual','interface','SIP/%s','channel','event','accept','EventManager','acceptmessage','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','email','internal','motionChannel','rejectmessage','download','unix','toString','root','server','tmp','files','message-%s.eml','from','bcc','subject','createdAt','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','readFileSync','writeFileSync','unlinkSync','eml-format','moment','bluebird','util','path','lodash','html-to-text','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','register','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','json'];(function(_0x14f7fe,_0x5132c4){var _0x3d8309=function(_0x22f5c7){while(--_0x22f5c7){_0x14f7fe['push'](_0x14f7fe['shift']());}};_0x3d8309(++_0x5132c4);}(_0xad92,0x81));var _0x2ad9=function(_0x2a99e2,_0x1803e4){_0x2a99e2=_0x2a99e2-0x0;var _0x23fb5f=_0xad92[_0x2a99e2];return _0x23fb5f;};'use strict';var emlformat=require(_0x2ad9('0x0'));var moment=require(_0x2ad9('0x1'));var BPromise=require(_0x2ad9('0x2'));var util=require(_0x2ad9('0x3'));var path=require(_0x2ad9('0x4'));var fs=require('fs');var _=require(_0x2ad9('0x5'));var Redis=require('ioredis');var htmlToText=require(_0x2ad9('0x6'));var qs=require(_0x2ad9('0x7'));var logger=require(_0x2ad9('0x8'))('api');var interaction_log=require(_0x2ad9('0x8'))(_0x2ad9('0x9'));var config=require(_0x2ad9('0xa'));var db=require(_0x2ad9('0xb'))['db'];config[_0x2ad9('0xc')]=_[_0x2ad9('0xd')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x2ad9('0xe'))(new Redis(config[_0x2ad9('0xc')]));var htmlEntities=require('html-entities');require('./mailMessage.socket')[_0x2ad9('0xf')](socket);var jayson=require(_0x2ad9('0x10'));var client=jayson[_0x2ad9('0x11')][_0x2ad9('0x12')]({'port':0x232c});var client9003=jayson[_0x2ad9('0x11')][_0x2ad9('0x12')]({'port':0x232b});var client9002=jayson[_0x2ad9('0x11')][_0x2ad9('0x12')]({'port':0x232a});function respondWithRpcPromise(_0xcef371,_0x51f096,_0x10935c,_0xaeb8b6){return new BPromise(function(_0x4fc930,_0x1ac91d){var _0xe3bb73=_0xaeb8b6||client;return _0xe3bb73[_0x2ad9('0x13')](_0xcef371,_0x10935c)[_0x2ad9('0x14')](function(_0x302f95){logger[_0x2ad9('0x15')](_0x2ad9('0x16'),_0x51f096,_0x2ad9('0x17'));logger['debug'](_0x2ad9('0x18'),_0x51f096,_0x2ad9('0x17'),JSON[_0x2ad9('0x19')](_0x302f95));if(_0x302f95['error']){if(_0x302f95[_0x2ad9('0x1a')][_0x2ad9('0x1b')]===0x1f4){logger[_0x2ad9('0x1a')](_0x2ad9('0x16'),_0x51f096,_0x302f95['error'][_0x2ad9('0x1c')]);return _0x1ac91d(_0x302f95[_0x2ad9('0x1a')][_0x2ad9('0x1c')]);}logger[_0x2ad9('0x1a')](_0x2ad9('0x16'),_0x51f096,_0x302f95['error']['message']);return _0x4fc930(_0x302f95['error'][_0x2ad9('0x1c')]);}else{logger[_0x2ad9('0x15')](_0x2ad9('0x16'),_0x51f096,_0x2ad9('0x17'));_0x4fc930(_0x302f95[_0x2ad9('0x1d')][_0x2ad9('0x1c')]);}})['catch'](function(_0xbfdea3){logger[_0x2ad9('0x1a')](_0x2ad9('0x16'),_0x51f096,_0xbfdea3);_0x1ac91d(_0xbfdea3);});});}function respondWithResult(_0x44c4aa,_0xbf5e6c){_0xbf5e6c=_0xbf5e6c||0xc8;return function(_0x7662c1){if(_0x7662c1){return _0x44c4aa['status'](_0xbf5e6c)[_0x2ad9('0x1e')](_0x7662c1);}};}function respondWithFilteredResult(_0x59da8f,_0x46c885){return function(_0x7636a5){if(_0x7636a5){var _0x41bc26=typeof _0x46c885[_0x2ad9('0x1f')]==='undefined'&&typeof _0x46c885[_0x2ad9('0x20')]==='undefined';var _0xc05fbe=_0x7636a5[_0x2ad9('0x21')];var _0x52913c=_0x41bc26?0x0:_0x46c885[_0x2ad9('0x1f')];var _0x394d84=_0x41bc26?_0x7636a5['count']:_0x46c885[_0x2ad9('0x1f')]+_0x46c885[_0x2ad9('0x20')];var _0x2e2d12;if(_0x394d84>=_0xc05fbe){_0x394d84=_0xc05fbe;_0x2e2d12=0xc8;}else{_0x2e2d12=0xce;}_0x59da8f[_0x2ad9('0x22')](_0x2e2d12);return _0x59da8f[_0x2ad9('0x23')](_0x2ad9('0x24'),_0x52913c+'-'+_0x394d84+'/'+_0xc05fbe)[_0x2ad9('0x1e')](_0x7636a5);}return null;};}function saveUpdates(_0x279956){return function(_0x2b9d94){if(_0x2b9d94){return _0x2b9d94[_0x2ad9('0x25')](_0x279956)[_0x2ad9('0x14')](function(_0x35f9a9){return _0x35f9a9;});}return null;};}function removeEntity(_0x395a73){return function(_0x5d82a0){if(_0x5d82a0){return _0x5d82a0[_0x2ad9('0x26')]()['then'](function(){_0x395a73['status'](0xcc)[_0x2ad9('0x27')]();});}};}function handleEntityNotFound(_0x300711){return function(_0x23843a){if(!_0x23843a){_0x300711[_0x2ad9('0x28')](0x194);}return _0x23843a;};}function handleError(_0x5be40a,_0x12d622){_0x12d622=_0x12d622||0x1f4;return function(_0x265ac0){logger['error'](_0x265ac0[_0x2ad9('0x29')]);if(_0x265ac0[_0x2ad9('0x2a')]){delete _0x265ac0['name'];}_0x5be40a[_0x2ad9('0x22')](_0x12d622)[_0x2ad9('0x2b')](_0x265ac0);};}exports['index']=function(_0x4d46f5,_0x50a126){var _0x3233af={},_0x5cf198={},_0x55cf23={'count':0x0,'rows':[]};var _0x2da921=_[_0x2ad9('0x2c')](db[_0x2ad9('0x2d')][_0x2ad9('0x2e')],function(_0x2ea1d7){return{'name':_0x2ea1d7[_0x2ad9('0x2f')],'type':_0x2ea1d7[_0x2ad9('0x30')][_0x2ad9('0x31')]};});_0x5cf198[_0x2ad9('0x32')]=_['map'](_0x2da921,_0x2ad9('0x2a'));_0x5cf198[_0x2ad9('0x33')]=_[_0x2ad9('0x34')](_0x4d46f5[_0x2ad9('0x33')]);_0x5cf198['filters']=_['intersection'](_0x5cf198['model'],_0x5cf198[_0x2ad9('0x33')]);_0x3233af[_0x2ad9('0x35')]=_['intersection'](_0x5cf198[_0x2ad9('0x32')],qs['fields'](_0x4d46f5[_0x2ad9('0x33')]['fields']));_0x3233af['attributes']=_0x3233af[_0x2ad9('0x35')][_0x2ad9('0x36')]?_0x3233af[_0x2ad9('0x35')]:_0x5cf198[_0x2ad9('0x32')];if(!_0x4d46f5[_0x2ad9('0x33')][_0x2ad9('0x37')](_0x2ad9('0x38'))){_0x3233af['limit']=qs[_0x2ad9('0x20')](_0x4d46f5['query'][_0x2ad9('0x20')]);_0x3233af[_0x2ad9('0x1f')]=qs[_0x2ad9('0x1f')](_0x4d46f5['query'][_0x2ad9('0x1f')]);}_0x3233af[_0x2ad9('0x39')]=qs[_0x2ad9('0x3a')](_0x4d46f5['query'][_0x2ad9('0x3a')]);_0x3233af[_0x2ad9('0x3b')]=qs[_0x2ad9('0x3c')](_[_0x2ad9('0x3d')](_0x4d46f5['query'],_0x5cf198[_0x2ad9('0x3c')]),_0x2da921);if(_0x4d46f5['query'][_0x2ad9('0x3e')]){_0x3233af[_0x2ad9('0x3b')]=_[_0x2ad9('0x3f')](_0x3233af[_0x2ad9('0x3b')],{'$or':_[_0x2ad9('0x2c')](_0x2da921,function(_0x5ac4c1){if(_0x5ac4c1[_0x2ad9('0x30')]!==_0x2ad9('0x40')){var _0x5d9e2c={};_0x5d9e2c[_0x5ac4c1[_0x2ad9('0x2a')]]={'$like':'%'+_0x4d46f5[_0x2ad9('0x33')][_0x2ad9('0x3e')]+'%'};return _0x5d9e2c;}})});}_0x3233af=_['merge']({},_0x3233af,_0x4d46f5[_0x2ad9('0x41')]);var _0x8b36f8={'where':_0x3233af['where']};return db[_0x2ad9('0x2d')][_0x2ad9('0x21')](_0x8b36f8)[_0x2ad9('0x14')](function(_0x4eab16){_0x55cf23[_0x2ad9('0x21')]=_0x4eab16;if(_0x4d46f5[_0x2ad9('0x33')][_0x2ad9('0x42')]){_0x3233af[_0x2ad9('0x43')]=[{'all':!![]}];}return db['MailMessage'][_0x2ad9('0x44')](_0x3233af);})[_0x2ad9('0x14')](function(_0x405a13){_0x55cf23['rows']=_0x405a13;return _0x55cf23;})[_0x2ad9('0x14')](respondWithFilteredResult(_0x50a126,_0x3233af))['catch'](handleError(_0x50a126,null));};exports['show']=function(_0x2fd080,_0x245fbb){var _0x155043={'raw':!![],'where':{'id':_0x2fd080[_0x2ad9('0x45')]['id']}},_0x3f44de={};_0x3f44de[_0x2ad9('0x32')]=_['keys'](db[_0x2ad9('0x2d')]['rawAttributes']);_0x3f44de[_0x2ad9('0x33')]=_[_0x2ad9('0x34')](_0x2fd080['query']);_0x3f44de[_0x2ad9('0x3c')]=_[_0x2ad9('0x46')](_0x3f44de[_0x2ad9('0x32')],_0x3f44de[_0x2ad9('0x33')]);_0x155043[_0x2ad9('0x35')]=_['intersection'](_0x3f44de[_0x2ad9('0x32')],qs[_0x2ad9('0x47')](_0x2fd080[_0x2ad9('0x33')][_0x2ad9('0x47')]));_0x155043['attributes']=_0x155043[_0x2ad9('0x35')][_0x2ad9('0x36')]?_0x155043['attributes']:_0x3f44de['model'];if(_0x2fd080['query'][_0x2ad9('0x42')]){_0x155043[_0x2ad9('0x43')]=[{'all':!![]}];}_0x155043=_[_0x2ad9('0x3f')]({},_0x155043,_0x2fd080[_0x2ad9('0x41')]);return db[_0x2ad9('0x2d')]['find'](_0x155043)[_0x2ad9('0x14')](handleEntityNotFound(_0x245fbb,null))[_0x2ad9('0x14')](respondWithResult(_0x245fbb,null))['catch'](handleError(_0x245fbb,null));};exports[_0x2ad9('0x25')]=function(_0x206612,_0x57c1bd){if(_0x206612[_0x2ad9('0x48')]['id']){delete _0x206612['body']['id'];}return db['MailMessage'][_0x2ad9('0x49')]({'where':{'id':_0x206612[_0x2ad9('0x45')]['id']}})[_0x2ad9('0x14')](handleEntityNotFound(_0x57c1bd,null))['then'](saveUpdates(_0x206612['body'],null))[_0x2ad9('0x14')](respondWithResult(_0x57c1bd,null))['catch'](handleError(_0x57c1bd,null));};exports['destroy']=function(_0x4039d6,_0x3792f6){return db['MailMessage'][_0x2ad9('0x49')]({'where':{'id':_0x4039d6['params']['id']}})['then'](handleEntityNotFound(_0x3792f6,null))[_0x2ad9('0x14')](removeEntity(_0x3792f6,null))[_0x2ad9('0x4a')](handleError(_0x3792f6,null));};exports[_0x2ad9('0x4b')]=function(_0x1b8c43,_0x438369){return db[_0x2ad9('0x2d')][_0x2ad9('0x4b')]()[_0x2ad9('0x14')](respondWithResult(_0x438369,null))[_0x2ad9('0x4a')](handleError(_0x438369,null));};exports[_0x2ad9('0x4c')]=function(_0xacc8d0,_0x32ee79){return db[_0x2ad9('0x2d')]['create'](_0xacc8d0[_0x2ad9('0x48')])[_0x2ad9('0x14')](function(_0x34cb19){if(_0x34cb19){if(_0x34cb19['direction']===_0x2ad9('0x4d')&&!_0x34cb19[_0x2ad9('0x4e')]){var _0x4a9aa0,_0x33edad,_0x3abb6c;if(_0xacc8d0[_0x2ad9('0x48')]['to']){_0x33edad=_0xacc8d0[_0x2ad9('0x48')]['to']['split'](',')[0x0];}return db[_0x2ad9('0x4f')][_0x2ad9('0x50')]({'where':{'id':_0x34cb19['MailAccountId']},'include':[{'model':db[_0x2ad9('0x51')],'as':_0x2ad9('0x52'),'include':[{'model':db['CmContact'],'as':_0x2ad9('0x53'),'where':{'email':_0x33edad},'limit':0x1,'order':[[_0x2ad9('0x54'),_0x2ad9('0x55')]]}]},{'model':db[_0x2ad9('0x56')],'as':_0x2ad9('0x57'),'raw':!![],'include':[{'model':db[_0x2ad9('0x58')],'as':'CloudProvider','raw':!![]}]}]})[_0x2ad9('0x14')](function(_0x4559cb){_0x4a9aa0=_0x4559cb;if(!_0x4a9aa0||!_0x4a9aa0[_0x2ad9('0x57')])return;var _0x235301=_0x4a9aa0[_0x2ad9('0x59')]();if(_0xacc8d0[_0x2ad9('0x48')][_0x2ad9('0x5a')]&&_0xacc8d0[_0x2ad9('0x48')][_0x2ad9('0x5a')][_0x2ad9('0x36')]){for(var _0x7edab9=0x0;_0x7edab9<_0xacc8d0[_0x2ad9('0x48')][_0x2ad9('0x5a')][_0x2ad9('0x36')];_0x7edab9+=0x1){_0xacc8d0[_0x2ad9('0x48')]['attachments'][_0x7edab9]={'filename':_0xacc8d0[_0x2ad9('0x48')][_0x2ad9('0x5a')][_0x7edab9][_0x2ad9('0x2a')],'path':path[_0x2ad9('0x5b')](config['root'],_0x2ad9('0x5c'),_0xacc8d0[_0x2ad9('0x48')][_0x2ad9('0x5a')][_0x7edab9][_0x2ad9('0x5d')])};}}_0x3abb6c={'account':_0x235301,'message':_0xacc8d0[_0x2ad9('0x48')]};return;})[_0x2ad9('0x14')](function(){if(_0x4a9aa0[_0x2ad9('0x52')]){if(_0x4a9aa0['List'][_0x2ad9('0x53')][_0x2ad9('0x36')]){return _0x4a9aa0['List']['Contacts'][0x0];}else{return db[_0x2ad9('0x5e')][_0x2ad9('0x4c')](_['defaults'](_0xacc8d0[_0x2ad9('0x48')],{'firstName':_0xacc8d0[_0x2ad9('0x48')]['to'],'email':_0xacc8d0[_0x2ad9('0x48')]['to'],'phone':_0xacc8d0[_0x2ad9('0x48')]['to'],'ListId':_0x4a9aa0[_0x2ad9('0x5f')]}));}}else{throw new Error(_0x2ad9('0x60'));}})[_0x2ad9('0x14')](function(){if(_0x3abb6c){return respondWithRpcPromise('SendMail',_0x2ad9('0x61'),_0x3abb6c,client9003)[_0x2ad9('0x14')](function(_0x473445){return _0x34cb19[_0x2ad9('0x25')]({'read':!![],'messageId':_0x473445[_0x2ad9('0x62')],'sentAt':moment()[_0x2ad9('0x63')](_0x2ad9('0x64'))});})['catch'](function(_0x6d1830){logger[_0x2ad9('0x1a')]('%s',JSON[_0x2ad9('0x19')](_0x6d1830));return _0x34cb19;});}return _0x34cb19;});}return _0x34cb19;}})[_0x2ad9('0x14')](respondWithResult(_0x32ee79,0xc9))[_0x2ad9('0x4a')](handleError(_0x32ee79,null));};exports['accept']=function(_0x1d1254,_0x5369e3){var _0x1af939={'agent':{},'channel':_0x2ad9('0x65')};if(_0x1d1254[_0x2ad9('0x48')]['id']){delete _0x1d1254[_0x2ad9('0x48')]['id'];}_0x1d1254['body'][_0x2ad9('0x66')]=!![];_0x1d1254['body']['readAt']=moment()[_0x2ad9('0x63')](_0x2ad9('0x64'));_0x1d1254[_0x2ad9('0x48')]['UserId']=_0x1d1254[_0x2ad9('0x48')][_0x2ad9('0x67')]||_0x1d1254[_0x2ad9('0x68')]['id'];_0x1af939[_0x2ad9('0x69')]['id']=_0x1d1254['body'][_0x2ad9('0x67')];return db[_0x2ad9('0x2d')][_0x2ad9('0x49')]({'where':{'id':_0x1d1254[_0x2ad9('0x45')]['id'],'UserId':null}})[_0x2ad9('0x14')](handleEntityNotFound(_0x5369e3,null))['then'](saveUpdates(_0x1d1254[_0x2ad9('0x48')],null))[_0x2ad9('0x14')](function(_0xd8a488){if(_0xd8a488){_0x1af939['message']=_0xd8a488[_0x2ad9('0x6a')]({'plain':!![]});return db[_0x2ad9('0x6b')][_0x2ad9('0x49')]({'where':{'id':_0xd8a488[_0x2ad9('0x6c')]}});}return null;})[_0x2ad9('0x14')](handleEntityNotFound(_0x5369e3,null))['then'](function(_0x33866a){if(_0x33866a){return _0x33866a[_0x2ad9('0x25')]({'UserId':_0x1d1254[_0x2ad9('0x48')][_0x2ad9('0x67')],'read1stAt':_[_0x2ad9('0x6d')](_0x33866a['read1stAt'])?moment()['format'](_0x2ad9('0x64')):undefined});}return null;})['then'](function(_0x2e1e07){if(_0x2e1e07){_0x1af939[_0x2ad9('0x6e')]=_0x2e1e07[_0x2ad9('0x6a')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x1d1254[_0x2ad9('0x68')]['id'],_0x1d1254[_0x2ad9('0x68')][_0x2ad9('0x2a')],_0x1d1254[_0x2ad9('0x68')][_0x2ad9('0x6f')],_0x1af939[_0x2ad9('0x6e')]['id'],_0x1d1254[_0x2ad9('0x48')]?JSON[_0x2ad9('0x19')](_0x1d1254[_0x2ad9('0x48')]):_0x2ad9('0x70'));return respondWithRpcPromise('AcceptMessage',_0x2ad9('0x71'),_0x1af939);}return null;})['then'](function(_0x525723){var _0x3207e9=_0x2ad9('0x72')+_0x525723[_0x2ad9('0x1c')][_0x2ad9('0x73')];return db[_0x2ad9('0x74')][_0x2ad9('0x33')](_0x3207e9,{'type':db[_0x2ad9('0x75')][_0x2ad9('0x76')][_0x2ad9('0x77')],'raw':!![]})['then'](function(_0x2694d1){return _0x2694d1;});})[_0x2ad9('0x14')](function(_0x5b5376){if(_0x5b5376){_0x1af939[_0x2ad9('0x1c')][_0x2ad9('0x78')]=_0x5b5376[0x0];if(!_0x1d1254['body'][_0x2ad9('0x67')])return;return db[_0x2ad9('0x79')]['find']({'where':{'id':_0x1d1254['body']['UserId'],'role':'agent'},'attributes':['id','name',_0x2ad9('0x7a'),'email','internal'],'raw':!![]});}return null;})[_0x2ad9('0x14')](function(_0x2760fc){if(!_0x2760fc)return null;_0x1af939[_0x2ad9('0x1c')]['agent']=_0x2760fc;return _0x1af939;})[_0x2ad9('0x14')](function(_0x1d9d08){if(_0x1d9d08){if(_0x1d1254['body'][_0x2ad9('0x7b')]){_0x1af939[_0x2ad9('0x1c')][_0x2ad9('0x7c')]=util[_0x2ad9('0x63')](_0x2ad9('0x7d'),_0x1d1254[_0x2ad9('0x68')][_0x2ad9('0x2a')]);_0x1af939[_0x2ad9('0x1c')][_0x2ad9('0x7e')]=_0x1af939['channel'];_0x1af939['message']['motionChannel']=_0x1af939['channel'];_0x1af939[_0x2ad9('0x1c')][_0x2ad9('0x7f')]=_0x2ad9('0x80');_0x1af939[_0x2ad9('0x1c')][_0x2ad9('0x48')]=htmlToText['fromString'](_0x1af939['message'][_0x2ad9('0x48')]);return respondWithRpcPromise('EventManager',_0x2ad9('0x81'),{'event':_0x2ad9('0x82'),'message':_0x1af939[_0x2ad9('0x1c')]},client9002)[_0x2ad9('0x14')](function(){return _0x1af939;});}return _0x1af939;}return null;})['then'](respondWithResult(_0x5369e3,null))[_0x2ad9('0x4a')](handleError(_0x5369e3,null));};exports[_0x2ad9('0x83')]=function(_0x54207a,_0x3dcdec){var _0x5c6436={'agent':{},'channel':_0x2ad9('0x65')};if(_0x54207a[_0x2ad9('0x48')]['id']){delete _0x54207a['body']['id'];}_0x54207a[_0x2ad9('0x48')]['UserId']=_0x54207a['body']['UserId']||_0x54207a[_0x2ad9('0x68')]['id'];_0x5c6436[_0x2ad9('0x69')]['id']=_0x54207a['body'][_0x2ad9('0x67')];return db[_0x2ad9('0x2d')][_0x2ad9('0x49')]({'where':{'id':_0x54207a[_0x2ad9('0x45')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x3dcdec,null))[_0x2ad9('0x14')](function(_0x5d9b17){if(_0x5d9b17){_0x5c6436[_0x2ad9('0x1c')]=_0x5d9b17['get']({'plain':!![]});return db[_0x2ad9('0x6b')][_0x2ad9('0x49')]({'where':{'id':_0x5d9b17[_0x2ad9('0x6c')]}});}return null;})[_0x2ad9('0x14')](handleEntityNotFound(_0x3dcdec,null))[_0x2ad9('0x14')](function(_0x151967){if(_0x151967){_0x5c6436[_0x2ad9('0x6e')]=_0x151967[_0x2ad9('0x6a')]({'plain':!![]});interaction_log[_0x2ad9('0x15')](_0x2ad9('0x84'),_0x54207a[_0x2ad9('0x68')]['id'],_0x54207a[_0x2ad9('0x68')][_0x2ad9('0x2a')],_0x54207a[_0x2ad9('0x68')][_0x2ad9('0x6f')],_0x5c6436[_0x2ad9('0x6e')]['id'],_0x54207a[_0x2ad9('0x48')]?JSON[_0x2ad9('0x19')](_0x54207a[_0x2ad9('0x48')]):_0x2ad9('0x70'));return respondWithRpcPromise(_0x2ad9('0x85'),_0x2ad9('0x86'),_0x5c6436);}return null;})[_0x2ad9('0x14')](function(_0x137723){var _0x190ae4=_0x2ad9('0x72')+_0x137723[_0x2ad9('0x1c')][_0x2ad9('0x73')];return db['sequelize'][_0x2ad9('0x33')](_0x190ae4,{'type':db[_0x2ad9('0x75')][_0x2ad9('0x76')]['SELECT'],'raw':!![]})[_0x2ad9('0x14')](function(_0x5a4d0f){return _0x5a4d0f;});})[_0x2ad9('0x14')](function(_0x1a7fb1){if(_0x1a7fb1){_0x5c6436['message'][_0x2ad9('0x78')]=_0x1a7fb1[0x0];if(!_0x54207a[_0x2ad9('0x48')][_0x2ad9('0x67')])return;return db[_0x2ad9('0x79')][_0x2ad9('0x49')]({'where':{'id':_0x54207a['body'][_0x2ad9('0x67')],'role':_0x2ad9('0x69')},'attributes':['id',_0x2ad9('0x2a'),_0x2ad9('0x7a'),_0x2ad9('0x87'),_0x2ad9('0x88')],'raw':!![]});}return null;})[_0x2ad9('0x14')](function(_0x279f23){if(!_0x279f23)return null;_0x5c6436[_0x2ad9('0x1c')]['agent']=_0x279f23;return _0x5c6436;})['then'](function(_0x31f964){if(_0x31f964){_0x31f964[_0x2ad9('0x1c')]['interface']=util[_0x2ad9('0x63')](_0x2ad9('0x7d'),_0x54207a[_0x2ad9('0x68')]['name']);_0x31f964[_0x2ad9('0x1c')]['channel']=_0x5c6436['channel'];_0x31f964[_0x2ad9('0x1c')][_0x2ad9('0x89')]=_0x5c6436[_0x2ad9('0x7e')];_0x31f964[_0x2ad9('0x1c')][_0x2ad9('0x7f')]=_0x2ad9('0x83');_0x31f964[_0x2ad9('0x1c')][_0x2ad9('0x48')]=htmlToText['fromString'](_0x5c6436[_0x2ad9('0x1c')][_0x2ad9('0x48')]);respondWithRpcPromise('EventManager',_0x2ad9('0x81'),{'event':_0x2ad9('0x8a'),'message':_0x31f964['message']},client9002);return _0x5c6436;}return null;})[_0x2ad9('0x14')](respondWithResult(_0x3dcdec,null))['catch'](handleError(_0x3dcdec,null));};exports[_0x2ad9('0x8b')]=function(_0x85eb65,_0x27ddc9){var _0x59cc22=moment()[_0x2ad9('0x8c')]()[_0x2ad9('0x8d')]();var _0x5d68ee=path['join'](config[_0x2ad9('0x8e')],_0x2ad9('0x8f'),'files',_0x2ad9('0x90'));var _0x1886ad=path[_0x2ad9('0x5b')](config[_0x2ad9('0x8e')],'server',_0x2ad9('0x91'),_0x2ad9('0x5a'));var _0x5212d1=util[_0x2ad9('0x63')](_0x2ad9('0x92'),_0x59cc22);return db[_0x2ad9('0x2d')][_0x2ad9('0x49')]({'where':{'id':_0x85eb65['params']['id']},'attributes':['id','body',_0x2ad9('0x93'),'to','cc',_0x2ad9('0x94'),_0x2ad9('0x95'),_0x2ad9('0x96')],'include':_0x85eb65[_0x2ad9('0x33')]['attachments']?[{'model':db[_0x2ad9('0x97')],'as':_0x2ad9('0x98')}]:undefined})[_0x2ad9('0x14')](handleEntityNotFound(_0x27ddc9,null))[_0x2ad9('0x14')](function(_0x187c81){if(_0x187c81){var _0x308b05=_0x187c81;var _0x22cd1e={'from':_0x308b05['from'],'to':_0x308b05['to'],'subject':_0x308b05['subject'],'html':htmlEntities[_0x2ad9('0x99')](_0x308b05[_0x2ad9('0x48')]),'headers':{'Date':moment(_0x308b05[_0x2ad9('0x96')])[_0x2ad9('0x63')](_0x2ad9('0x9a'))},'attachments':[]};if(_0x187c81['cc']){_0x22cd1e['headers']['Cc']=_0x187c81['cc'];}if(_0x187c81[_0x2ad9('0x94')]){_0x22cd1e[_0x2ad9('0x9b')][_0x2ad9('0x9c')]=_0x187c81[_0x2ad9('0x94')];}return new BPromise(function(_0x1f38bf,_0x27c696){if(_0x187c81[_0x2ad9('0x98')]){for(var _0x24d19=0x0;_0x24d19<_0x187c81[_0x2ad9('0x98')][_0x2ad9('0x36')];_0x24d19++){var _0x1a7dca=_0x187c81[_0x2ad9('0x98')][_0x24d19];var _0x23e6b2=path[_0x2ad9('0x5b')](_0x1886ad,_0x1a7dca[_0x2ad9('0x5d')]);if(fs['existsSync'](_0x23e6b2)){_0x22cd1e['attachments']['push']({'name':_0x1a7dca[_0x2ad9('0x2a')],'contentType':_0x1a7dca[_0x2ad9('0x30')],'data':fs[_0x2ad9('0x9d')](_0x23e6b2)});}}}emlformat['build'](_0x22cd1e,function(_0x5048cd,_0x46a470){if(_0x5048cd)return _0x27c696(_0x5048cd);fs[_0x2ad9('0x9e')](path[_0x2ad9('0x5b')](_0x5d68ee,_0x5212d1),_0x46a470);return _0x1f38bf(_0x46a470);});});}})[_0x2ad9('0x14')](function(_0x43b416){if(_0x43b416){return _0x27ddc9[_0x2ad9('0x8b')](path[_0x2ad9('0x5b')](_0x5d68ee,_0x5212d1),_0x5212d1,function(_0x227403){if(!_0x227403)fs[_0x2ad9('0x9f')](path[_0x2ad9('0x5b')](_0x5d68ee,_0x5212d1));});}})[_0x2ad9('0x4a')](handleError(_0x27ddc9,null));};