Built motion from commit 497d3d92.|2.5.43
[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 _0x1020=['SELECT','contact','User','agent','internal','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','reject','MailInteractionId','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','QueryTypes','fullname','fromString','rejectmessage','download','unix','toString','server','tmp','message-%s.eml','from','subject','createdAt','Attachment','decode','headers','Attachments','existsSync','push','build','writeFileSync','unlinkSync','eml-format','moment','bluebird','util','path','ioredis','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','localhost','./mailMessage.socket','register','jayson/promise','client','http','request','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','catch','status','json','undefined','limit','count','offset','set','Content-Range','update','then','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','includeAll','include','findAll','rows','show','options','find','body','params','describe','direction','out','secret','split','MailAccount','findOne','MailAccountId','CmList','List','CmContact','updatedAt','DESC','MailServerOut','Smtp','host','port','secure','authentication','user','pass','auth','attachments','join','root','Contacts','create','ListId','List\x20not\x20found','SendMail','sendMail','messageId','accept','read','readAt','UserId','get','MailInteraction','isNil','read1stAt','format','YYYY-MM-DD\x20HH:mm:ss','interaction','null','AcceptMessage','acceptMessage','ContactId','sequelize'];(function(_0x436320,_0xddae85){var _0x2bcb5f=function(_0x3ea134){while(--_0x3ea134){_0x436320['push'](_0x436320['shift']());}};_0x2bcb5f(++_0xddae85);}(_0x1020,0x16b));var _0x0102=function(_0x5712f8,_0x17156b){_0x5712f8=_0x5712f8-0x0;var _0x14a364=_0x1020[_0x5712f8];return _0x14a364;};'use strict';var emlformat=require(_0x0102('0x0'));var moment=require(_0x0102('0x1'));var BPromise=require(_0x0102('0x2'));var util=require(_0x0102('0x3'));var path=require(_0x0102('0x4'));var fs=require('fs');var _=require('lodash');var Redis=require(_0x0102('0x5'));var htmlToText=require('html-to-text');var qs=require(_0x0102('0x6'));var logger=require(_0x0102('0x7'))('api');var interaction_log=require(_0x0102('0x7'))(_0x0102('0x8'));var config=require(_0x0102('0x9'));var db=require(_0x0102('0xa'))['db'];config[_0x0102('0xb')]=_[_0x0102('0xc')](config[_0x0102('0xb')],{'host':_0x0102('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));var htmlEntities=require('html-entities');require(_0x0102('0xe'))[_0x0102('0xf')](socket);var jayson=require(_0x0102('0x10'));var client=jayson[_0x0102('0x11')]['http']({'port':0x232c});var client9003=jayson[_0x0102('0x11')][_0x0102('0x12')]({'port':0x232b});var client9002=jayson['client'][_0x0102('0x12')]({'port':0x232a});function respondWithRpcPromise(_0x15eda1,_0x14f833,_0x5e6685,_0x4a5c3c){return new BPromise(function(_0x37de3b,_0x22201d){var _0x3c8d8b=_0x4a5c3c||client;return _0x3c8d8b[_0x0102('0x13')](_0x15eda1,_0x5e6685)['then'](function(_0x243fcd){logger[_0x0102('0x14')](_0x0102('0x15'),_0x14f833,_0x0102('0x16'));logger[_0x0102('0x17')](_0x0102('0x18'),_0x14f833,_0x0102('0x16'),JSON[_0x0102('0x19')](_0x243fcd));if(_0x243fcd[_0x0102('0x1a')]){if(_0x243fcd[_0x0102('0x1a')]['code']===0x1f4){logger[_0x0102('0x1a')]('MailMessage,\x20%s,\x20%s',_0x14f833,_0x243fcd[_0x0102('0x1a')][_0x0102('0x1b')]);return _0x22201d(_0x243fcd[_0x0102('0x1a')][_0x0102('0x1b')]);}logger[_0x0102('0x1a')](_0x0102('0x15'),_0x14f833,_0x243fcd[_0x0102('0x1a')][_0x0102('0x1b')]);return _0x37de3b(_0x243fcd[_0x0102('0x1a')][_0x0102('0x1b')]);}else{logger[_0x0102('0x14')]('MailMessage,\x20%s,\x20%s',_0x14f833,_0x0102('0x16'));_0x37de3b(_0x243fcd['result'][_0x0102('0x1b')]);}})[_0x0102('0x1c')](function(_0x4f31c3){logger[_0x0102('0x1a')](_0x0102('0x15'),_0x14f833,_0x4f31c3);_0x22201d(_0x4f31c3);});});}function respondWithResult(_0xdf2745,_0x539008){_0x539008=_0x539008||0xc8;return function(_0x1997f5){if(_0x1997f5){return _0xdf2745[_0x0102('0x1d')](_0x539008)[_0x0102('0x1e')](_0x1997f5);}};}function respondWithFilteredResult(_0x3c1ffe,_0x58b933){return function(_0x364e83){if(_0x364e83){var _0x9e9daa=typeof _0x58b933['offset']===_0x0102('0x1f')&&typeof _0x58b933[_0x0102('0x20')]===_0x0102('0x1f');var _0x508c1a=_0x364e83[_0x0102('0x21')];var _0x201515=_0x9e9daa?0x0:_0x58b933[_0x0102('0x22')];var _0xd668c8=_0x9e9daa?_0x364e83[_0x0102('0x21')]:_0x58b933[_0x0102('0x22')]+_0x58b933[_0x0102('0x20')];var _0x2935b8;if(_0xd668c8>=_0x508c1a){_0xd668c8=_0x508c1a;_0x2935b8=0xc8;}else{_0x2935b8=0xce;}_0x3c1ffe[_0x0102('0x1d')](_0x2935b8);return _0x3c1ffe[_0x0102('0x23')](_0x0102('0x24'),_0x201515+'-'+_0xd668c8+'/'+_0x508c1a)[_0x0102('0x1e')](_0x364e83);}return null;};}function saveUpdates(_0x41d7d4){return function(_0x555aed){if(_0x555aed){return _0x555aed[_0x0102('0x25')](_0x41d7d4)[_0x0102('0x26')](function(_0xc6a495){return _0xc6a495;});}return null;};}function removeEntity(_0x2d5b0f){return function(_0x377d5f){if(_0x377d5f){return _0x377d5f[_0x0102('0x27')]()[_0x0102('0x26')](function(){_0x2d5b0f[_0x0102('0x1d')](0xcc)[_0x0102('0x28')]();});}};}function handleEntityNotFound(_0x3668ef){return function(_0x837b4b){if(!_0x837b4b){_0x3668ef[_0x0102('0x29')](0x194);}return _0x837b4b;};}function handleError(_0x444c3a,_0x2a3f73){_0x2a3f73=_0x2a3f73||0x1f4;return function(_0x58278d){logger[_0x0102('0x1a')](_0x58278d[_0x0102('0x2a')]);if(_0x58278d[_0x0102('0x2b')]){delete _0x58278d[_0x0102('0x2b')];}_0x444c3a[_0x0102('0x1d')](_0x2a3f73)[_0x0102('0x2c')](_0x58278d);};}exports[_0x0102('0x2d')]=function(_0x599248,_0x5cc164){var _0x2fcd6d={},_0x48d468={},_0xc5d2ad={'count':0x0,'rows':[]};var _0x126a34=_[_0x0102('0x2e')](db[_0x0102('0x2f')][_0x0102('0x30')],function(_0x3bbcf7){return{'name':_0x3bbcf7['fieldName'],'type':_0x3bbcf7[_0x0102('0x31')][_0x0102('0x32')]};});_0x48d468['model']=_['map'](_0x126a34,_0x0102('0x2b'));_0x48d468[_0x0102('0x33')]=_[_0x0102('0x34')](_0x599248[_0x0102('0x33')]);_0x48d468[_0x0102('0x35')]=_[_0x0102('0x36')](_0x48d468[_0x0102('0x37')],_0x48d468[_0x0102('0x33')]);_0x2fcd6d['attributes']=_[_0x0102('0x36')](_0x48d468[_0x0102('0x37')],qs[_0x0102('0x38')](_0x599248[_0x0102('0x33')][_0x0102('0x38')]));_0x2fcd6d[_0x0102('0x39')]=_0x2fcd6d[_0x0102('0x39')][_0x0102('0x3a')]?_0x2fcd6d[_0x0102('0x39')]:_0x48d468[_0x0102('0x37')];if(!_0x599248['query'][_0x0102('0x3b')](_0x0102('0x3c'))){_0x2fcd6d[_0x0102('0x20')]=qs[_0x0102('0x20')](_0x599248[_0x0102('0x33')]['limit']);_0x2fcd6d[_0x0102('0x22')]=qs[_0x0102('0x22')](_0x599248[_0x0102('0x33')][_0x0102('0x22')]);}_0x2fcd6d['order']=qs[_0x0102('0x3d')](_0x599248[_0x0102('0x33')][_0x0102('0x3d')]);_0x2fcd6d['where']=qs[_0x0102('0x35')](_[_0x0102('0x3e')](_0x599248[_0x0102('0x33')],_0x48d468['filters']),_0x126a34);if(_0x599248['query'][_0x0102('0x3f')]){_0x2fcd6d[_0x0102('0x40')]=_[_0x0102('0x41')](_0x2fcd6d[_0x0102('0x40')],{'$or':_[_0x0102('0x2e')](_0x126a34,function(_0x16f645){if(_0x16f645[_0x0102('0x31')]!=='VIRTUAL'){var _0x354e8c={};_0x354e8c[_0x16f645[_0x0102('0x2b')]]={'$like':'%'+_0x599248[_0x0102('0x33')][_0x0102('0x3f')]+'%'};return _0x354e8c;}})});}_0x2fcd6d=_[_0x0102('0x41')]({},_0x2fcd6d,_0x599248['options']);var _0x5bfbb4={'where':_0x2fcd6d['where']};return db['MailMessage'][_0x0102('0x21')](_0x5bfbb4)[_0x0102('0x26')](function(_0xae60bb){_0xc5d2ad[_0x0102('0x21')]=_0xae60bb;if(_0x599248['query'][_0x0102('0x42')]){_0x2fcd6d[_0x0102('0x43')]=[{'all':!![]}];}return db[_0x0102('0x2f')][_0x0102('0x44')](_0x2fcd6d);})[_0x0102('0x26')](function(_0x11d369){_0xc5d2ad[_0x0102('0x45')]=_0x11d369;return _0xc5d2ad;})[_0x0102('0x26')](respondWithFilteredResult(_0x5cc164,_0x2fcd6d))['catch'](handleError(_0x5cc164,null));};exports[_0x0102('0x46')]=function(_0x3cb892,_0x2bb146){var _0x27f504={'raw':!![],'where':{'id':_0x3cb892['params']['id']}},_0x45dd31={};_0x45dd31[_0x0102('0x37')]=_['keys'](db[_0x0102('0x2f')]['rawAttributes']);_0x45dd31['query']=_[_0x0102('0x34')](_0x3cb892[_0x0102('0x33')]);_0x45dd31[_0x0102('0x35')]=_[_0x0102('0x36')](_0x45dd31['model'],_0x45dd31[_0x0102('0x33')]);_0x27f504[_0x0102('0x39')]=_[_0x0102('0x36')](_0x45dd31['model'],qs[_0x0102('0x38')](_0x3cb892['query'][_0x0102('0x38')]));_0x27f504[_0x0102('0x39')]=_0x27f504[_0x0102('0x39')]['length']?_0x27f504[_0x0102('0x39')]:_0x45dd31[_0x0102('0x37')];if(_0x3cb892[_0x0102('0x33')][_0x0102('0x42')]){_0x27f504[_0x0102('0x43')]=[{'all':!![]}];}_0x27f504=_[_0x0102('0x41')]({},_0x27f504,_0x3cb892[_0x0102('0x47')]);return db[_0x0102('0x2f')][_0x0102('0x48')](_0x27f504)['then'](handleEntityNotFound(_0x2bb146,null))['then'](respondWithResult(_0x2bb146,null))['catch'](handleError(_0x2bb146,null));};exports['update']=function(_0x330be2,_0x17bd02){if(_0x330be2[_0x0102('0x49')]['id']){delete _0x330be2[_0x0102('0x49')]['id'];}return db[_0x0102('0x2f')][_0x0102('0x48')]({'where':{'id':_0x330be2[_0x0102('0x4a')]['id']}})['then'](handleEntityNotFound(_0x17bd02,null))['then'](saveUpdates(_0x330be2[_0x0102('0x49')],null))[_0x0102('0x26')](respondWithResult(_0x17bd02,null))['catch'](handleError(_0x17bd02,null));};exports[_0x0102('0x27')]=function(_0x2a07b0,_0x5627e8){return db[_0x0102('0x2f')]['find']({'where':{'id':_0x2a07b0[_0x0102('0x4a')]['id']}})[_0x0102('0x26')](handleEntityNotFound(_0x5627e8,null))[_0x0102('0x26')](removeEntity(_0x5627e8,null))[_0x0102('0x1c')](handleError(_0x5627e8,null));};exports[_0x0102('0x4b')]=function(_0x1386f3,_0x409738){return db['MailMessage'][_0x0102('0x4b')]()[_0x0102('0x26')](respondWithResult(_0x409738,null))[_0x0102('0x1c')](handleError(_0x409738,null));};exports['create']=function(_0xb4a49b,_0x32aeb0){return db['MailMessage']['create'](_0xb4a49b['body'])[_0x0102('0x26')](function(_0x152c9e){if(_0x152c9e){if(_0x152c9e[_0x0102('0x4c')]===_0x0102('0x4d')&&!_0x152c9e[_0x0102('0x4e')]){var _0x30157f,_0x16980e,_0x2eb5a5;if(_0xb4a49b[_0x0102('0x49')]['to']){_0x16980e=_0xb4a49b[_0x0102('0x49')]['to'][_0x0102('0x4f')](',')[0x0];}return db[_0x0102('0x50')][_0x0102('0x51')]({'where':{'id':_0x152c9e[_0x0102('0x52')]},'include':[{'model':db[_0x0102('0x53')],'as':_0x0102('0x54'),'include':[{'model':db[_0x0102('0x55')],'as':'Contacts','where':{'email':_0x16980e},'limit':0x1,'order':[[_0x0102('0x56'),_0x0102('0x57')]]}]},{'model':db[_0x0102('0x58')],'as':'Smtp','raw':!![]}]})[_0x0102('0x26')](function(_0x34ca5c){_0x30157f=_0x34ca5c;if(_0x30157f&&_0x30157f[_0x0102('0x59')]){var _0x1e18c6={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x30157f[_0x0102('0x59')]['service'])){_0x1e18c6['host']=_0x30157f[_0x0102('0x59')][_0x0102('0x5a')];_0x1e18c6[_0x0102('0x5b')]=_0x30157f[_0x0102('0x59')][_0x0102('0x5b')];_0x1e18c6[_0x0102('0x5c')]=_0x30157f[_0x0102('0x59')][_0x0102('0x5c')];if(_0x30157f[_0x0102('0x59')][_0x0102('0x5d')]){_0x1e18c6['auth']={'user':_0x30157f[_0x0102('0x59')][_0x0102('0x5e')],'pass':_0x30157f['Smtp'][_0x0102('0x5f')]};}}else{_0x1e18c6['service']=_0x30157f[_0x0102('0x59')]['service'];_0x1e18c6[_0x0102('0x60')]={'user':_0x30157f[_0x0102('0x59')][_0x0102('0x5e')],'pass':_0x30157f[_0x0102('0x59')]['pass']};_0x1e18c6[_0x0102('0x5c')]=_0x30157f['Smtp']['secure'];}if(_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')]&&_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')]['length']){for(var _0x4c39b3=0x0;_0x4c39b3<_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')][_0x0102('0x3a')];_0x4c39b3+=0x1){_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')][_0x4c39b3]={'filename':_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')][_0x4c39b3][_0x0102('0x2b')],'path':path[_0x0102('0x62')](config[_0x0102('0x63')],'server/files/attachments',_0xb4a49b[_0x0102('0x49')][_0x0102('0x61')][_0x4c39b3]['basename'])};}}_0x2eb5a5={'account':_0x1e18c6,'message':_0xb4a49b[_0x0102('0x49')]};return;}})[_0x0102('0x26')](function(){if(_0x30157f['List']){if(_0x30157f[_0x0102('0x54')][_0x0102('0x64')]['length']){return _0x30157f['List'][_0x0102('0x64')][0x0];}else{return db[_0x0102('0x55')][_0x0102('0x65')](_[_0x0102('0xc')](_0xb4a49b[_0x0102('0x49')],{'firstName':_0xb4a49b['body']['to'],'email':_0xb4a49b[_0x0102('0x49')]['to'],'phone':_0xb4a49b['body']['to'],'ListId':_0x30157f[_0x0102('0x66')]}));}}else{throw new Error(_0x0102('0x67'));}})[_0x0102('0x26')](function(){if(_0x2eb5a5){return respondWithRpcPromise(_0x0102('0x68'),_0x0102('0x69'),_0x2eb5a5,client9003)[_0x0102('0x26')](function(_0x3bd5b3){return _0x152c9e[_0x0102('0x25')]({'read':!![],'messageId':_0x3bd5b3[_0x0102('0x6a')],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')});})['catch'](function(_0x115495){logger[_0x0102('0x1a')]('%s',JSON[_0x0102('0x19')](_0x115495));return _0x152c9e;});}return _0x152c9e;});}return _0x152c9e;}})[_0x0102('0x26')](respondWithResult(_0x32aeb0,0xc9))[_0x0102('0x1c')](handleError(_0x32aeb0,null));};exports[_0x0102('0x6b')]=function(_0x11770d,_0x526135){var _0x4b50e7={'agent':{},'channel':'mail'};if(_0x11770d[_0x0102('0x49')]['id']){delete _0x11770d[_0x0102('0x49')]['id'];}_0x11770d['body'][_0x0102('0x6c')]=!![];_0x11770d[_0x0102('0x49')][_0x0102('0x6d')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x11770d['body']['UserId']=_0x11770d[_0x0102('0x49')][_0x0102('0x6e')]||_0x11770d['user']['id'];_0x4b50e7['agent']['id']=_0x11770d['body']['UserId'];return db[_0x0102('0x2f')][_0x0102('0x48')]({'where':{'id':_0x11770d['params']['id'],'UserId':null}})[_0x0102('0x26')](handleEntityNotFound(_0x526135,null))[_0x0102('0x26')](saveUpdates(_0x11770d[_0x0102('0x49')],null))[_0x0102('0x26')](function(_0x4858ea){if(_0x4858ea){_0x4b50e7[_0x0102('0x1b')]=_0x4858ea[_0x0102('0x6f')]({'plain':!![]});return db[_0x0102('0x70')][_0x0102('0x48')]({'where':{'id':_0x4858ea['MailInteractionId']}});}return null;})[_0x0102('0x26')](handleEntityNotFound(_0x526135,null))['then'](function(_0x4118b9){if(_0x4118b9){return _0x4118b9[_0x0102('0x25')]({'UserId':_0x11770d[_0x0102('0x49')]['UserId'],'read1stAt':_[_0x0102('0x71')](_0x4118b9[_0x0102('0x72')])?moment()[_0x0102('0x73')](_0x0102('0x74')):undefined});}return null;})['then'](function(_0x12dfac){if(_0x12dfac){_0x4b50e7['interaction']=_0x12dfac[_0x0102('0x6f')]({'plain':!![]});interaction_log[_0x0102('0x14')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x11770d[_0x0102('0x5e')]['id'],_0x11770d[_0x0102('0x5e')][_0x0102('0x2b')],_0x11770d['user']['role'],_0x4b50e7[_0x0102('0x75')]['id'],_0x11770d[_0x0102('0x49')]?JSON[_0x0102('0x19')](_0x11770d['body']):_0x0102('0x76'));return respondWithRpcPromise(_0x0102('0x77'),_0x0102('0x78'),_0x4b50e7);}return null;})[_0x0102('0x26')](function(_0x3f9391){var _0x1efd6f='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x3f9391[_0x0102('0x1b')][_0x0102('0x79')];return db[_0x0102('0x7a')][_0x0102('0x33')](_0x1efd6f,{'type':db['Sequelize']['QueryTypes'][_0x0102('0x7b')],'raw':!![]})['then'](function(_0x547c7c){return _0x547c7c;});})[_0x0102('0x26')](function(_0x1de088){if(_0x1de088){_0x4b50e7[_0x0102('0x1b')][_0x0102('0x7c')]=_0x1de088[0x0];if(!_0x11770d[_0x0102('0x49')][_0x0102('0x6e')])return;return db[_0x0102('0x7d')][_0x0102('0x48')]({'where':{'id':_0x11770d['body'][_0x0102('0x6e')],'role':_0x0102('0x7e')},'attributes':['id','name','fullname','email',_0x0102('0x7f')],'raw':!![]});}return null;})[_0x0102('0x26')](function(_0x3578e4){if(!_0x3578e4)return null;_0x4b50e7[_0x0102('0x1b')][_0x0102('0x7e')]=_0x3578e4;return _0x4b50e7;})[_0x0102('0x26')](function(_0x4ce567){if(_0x4ce567){if(_0x11770d[_0x0102('0x49')]['manual']){_0x4b50e7[_0x0102('0x1b')][_0x0102('0x80')]=util['format'](_0x0102('0x81'),_0x11770d[_0x0102('0x5e')][_0x0102('0x2b')]);_0x4b50e7[_0x0102('0x1b')][_0x0102('0x82')]=_0x4b50e7['channel'];_0x4b50e7[_0x0102('0x1b')][_0x0102('0x83')]=_0x4b50e7[_0x0102('0x82')];_0x4b50e7[_0x0102('0x1b')][_0x0102('0x84')]='accept';_0x4b50e7[_0x0102('0x1b')]['body']=htmlToText['fromString'](_0x4b50e7['message']['body']);return respondWithRpcPromise(_0x0102('0x85'),_0x0102('0x85'),{'event':_0x0102('0x86'),'message':_0x4b50e7[_0x0102('0x1b')]},client9002)[_0x0102('0x26')](function(){return _0x4b50e7;});}return _0x4b50e7;}return null;})[_0x0102('0x26')](respondWithResult(_0x526135,null))[_0x0102('0x1c')](handleError(_0x526135,null));};exports[_0x0102('0x87')]=function(_0x3a65fc,_0x4ecb0d){var _0x26d07b={'agent':{},'channel':'mail'};if(_0x3a65fc[_0x0102('0x49')]['id']){delete _0x3a65fc[_0x0102('0x49')]['id'];}_0x3a65fc['body']['UserId']=_0x3a65fc[_0x0102('0x49')]['UserId']||_0x3a65fc['user']['id'];_0x26d07b[_0x0102('0x7e')]['id']=_0x3a65fc[_0x0102('0x49')][_0x0102('0x6e')];return db[_0x0102('0x2f')][_0x0102('0x48')]({'where':{'id':_0x3a65fc['params']['id'],'UserId':null}})[_0x0102('0x26')](handleEntityNotFound(_0x4ecb0d,null))[_0x0102('0x26')](function(_0x2d713e){if(_0x2d713e){_0x26d07b[_0x0102('0x1b')]=_0x2d713e[_0x0102('0x6f')]({'plain':!![]});return db[_0x0102('0x70')][_0x0102('0x48')]({'where':{'id':_0x2d713e[_0x0102('0x88')]}});}return null;})[_0x0102('0x26')](handleEntityNotFound(_0x4ecb0d,null))[_0x0102('0x26')](function(_0x216bdf){if(_0x216bdf){_0x26d07b[_0x0102('0x75')]=_0x216bdf[_0x0102('0x6f')]({'plain':!![]});interaction_log[_0x0102('0x14')](_0x0102('0x89'),_0x3a65fc[_0x0102('0x5e')]['id'],_0x3a65fc[_0x0102('0x5e')][_0x0102('0x2b')],_0x3a65fc[_0x0102('0x5e')]['role'],_0x26d07b['interaction']['id'],_0x3a65fc['body']?JSON[_0x0102('0x19')](_0x3a65fc[_0x0102('0x49')]):_0x0102('0x76'));return respondWithRpcPromise(_0x0102('0x8a'),'rejectMessage',_0x26d07b);}return null;})[_0x0102('0x26')](function(_0x3d7d7c){var _0xb14ec0=_0x0102('0x8b')+_0x3d7d7c[_0x0102('0x1b')][_0x0102('0x79')];return db[_0x0102('0x7a')]['query'](_0xb14ec0,{'type':db['Sequelize'][_0x0102('0x8c')]['SELECT'],'raw':!![]})[_0x0102('0x26')](function(_0x418698){return _0x418698;});})[_0x0102('0x26')](function(_0x589d12){if(_0x589d12){_0x26d07b[_0x0102('0x1b')][_0x0102('0x7c')]=_0x589d12[0x0];if(!_0x3a65fc['body'][_0x0102('0x6e')])return;return db[_0x0102('0x7d')][_0x0102('0x48')]({'where':{'id':_0x3a65fc['body'][_0x0102('0x6e')],'role':_0x0102('0x7e')},'attributes':['id',_0x0102('0x2b'),_0x0102('0x8d'),'email','internal'],'raw':!![]});}return null;})[_0x0102('0x26')](function(_0x48ebd1){if(!_0x48ebd1)return null;_0x26d07b[_0x0102('0x1b')]['agent']=_0x48ebd1;return _0x26d07b;})['then'](function(_0x2a8a4b){if(_0x2a8a4b){_0x2a8a4b[_0x0102('0x1b')][_0x0102('0x80')]=util[_0x0102('0x73')](_0x0102('0x81'),_0x3a65fc[_0x0102('0x5e')][_0x0102('0x2b')]);_0x2a8a4b[_0x0102('0x1b')]['channel']=_0x26d07b[_0x0102('0x82')];_0x2a8a4b[_0x0102('0x1b')]['motionChannel']=_0x26d07b[_0x0102('0x82')];_0x2a8a4b[_0x0102('0x1b')][_0x0102('0x84')]=_0x0102('0x87');_0x2a8a4b[_0x0102('0x1b')]['body']=htmlToText[_0x0102('0x8e')](_0x26d07b['message'][_0x0102('0x49')]);respondWithRpcPromise(_0x0102('0x85'),_0x0102('0x85'),{'event':_0x0102('0x8f'),'message':_0x2a8a4b[_0x0102('0x1b')]},client9002);return _0x26d07b;}return null;})['then'](respondWithResult(_0x4ecb0d,null))[_0x0102('0x1c')](handleError(_0x4ecb0d,null));};exports[_0x0102('0x90')]=function(_0x2b2bf2,_0x2ad8e4){var _0xd3c377=moment()[_0x0102('0x91')]()[_0x0102('0x92')]();var _0x516c48=path['join'](config[_0x0102('0x63')],_0x0102('0x93'),'files',_0x0102('0x94'));var _0x494fe0=path[_0x0102('0x62')](config[_0x0102('0x63')],'server','files','attachments');var _0x4c9cd4=util[_0x0102('0x73')](_0x0102('0x95'),_0xd3c377);return db[_0x0102('0x2f')][_0x0102('0x48')]({'where':{'id':_0x2b2bf2['params']['id']},'attributes':['id',_0x0102('0x49'),_0x0102('0x96'),'to','cc','bcc',_0x0102('0x97'),_0x0102('0x98')],'include':_0x2b2bf2[_0x0102('0x33')][_0x0102('0x61')]?[{'model':db[_0x0102('0x99')],'as':'Attachments'}]:undefined})[_0x0102('0x26')](handleEntityNotFound(_0x2ad8e4,null))['then'](function(_0x562aee){if(_0x562aee){var _0x5d4e2b=_0x562aee;var _0x3e4ad0={'from':_0x5d4e2b[_0x0102('0x96')],'to':_0x5d4e2b['to'],'subject':_0x5d4e2b[_0x0102('0x97')],'html':htmlEntities[_0x0102('0x9a')](_0x5d4e2b[_0x0102('0x49')]),'headers':{'Date':moment(_0x5d4e2b[_0x0102('0x98')])[_0x0102('0x73')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x562aee['cc']){_0x3e4ad0[_0x0102('0x9b')]['Cc']=_0x562aee['cc'];}if(_0x562aee['bcc']){_0x3e4ad0['headers']['Bcc']=_0x562aee['bcc'];}return new BPromise(function(_0x22fdc7,_0xcefbf0){if(_0x562aee[_0x0102('0x9c')]){for(var _0x4b6535=0x0;_0x4b6535<_0x562aee[_0x0102('0x9c')][_0x0102('0x3a')];_0x4b6535++){var _0x398361=_0x562aee[_0x0102('0x9c')][_0x4b6535];var _0xba8ffc=path['join'](_0x494fe0,_0x398361['basename']);if(fs[_0x0102('0x9d')](_0xba8ffc)){_0x3e4ad0[_0x0102('0x61')][_0x0102('0x9e')]({'name':_0x398361[_0x0102('0x2b')],'contentType':_0x398361['type'],'data':fs['readFileSync'](_0xba8ffc)});}}}emlformat[_0x0102('0x9f')](_0x3e4ad0,function(_0x1af991,_0x4bcec9){if(_0x1af991)return _0xcefbf0(_0x1af991);fs[_0x0102('0xa0')](path['join'](_0x516c48,_0x4c9cd4),_0x4bcec9);return _0x22fdc7(_0x4bcec9);});});}})['then'](function(_0x12da0d){if(_0x12da0d){return _0x2ad8e4[_0x0102('0x90')](path[_0x0102('0x62')](_0x516c48,_0x4c9cd4),_0x4c9cd4,function(_0x52d000){if(!_0x52d000)fs[_0x0102('0xa1')](path['join'](_0x516c48,_0x4c9cd4));});}})[_0x0102('0x1c')](handleError(_0x2ad8e4,null));};