Built motion from commit 9d1906d1.|2.5.40
[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 _0x987d=['includeAll','find','body','describe','create','out','secret','MailAccount','findOne','MailAccountId','CmList','CmContact','DESC','Smtp','isNil','service','host','port','secure','authentication','auth','user','pass','attachments','join','root','List','Contacts','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail','read','readAt','UserId','agent','get','MailInteraction','MailInteractionId','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','AcceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','QueryTypes','User','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','accept','fromString','EventManager','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','rejectMessage','ContactId','sequelize','SELECT','rejectmessage','download','unix','toString','tmp','message-%s.eml','from','bcc','Attachment','subject','createdAt','headers','Bcc','Attachments','basename','existsSync','push','readFileSync','build','writeFileSync','unlinkSync','eml-format','moment','bluebird','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','MailMessage,\x20%s,\x20%s','message','result','catch','offset','undefined','limit','count','status','set','json','update','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','order','sort','where','pick','filters','merge','VIRTUAL','options','include','findAll','rows','show','params','rawAttributes','length'];(function(_0x549996,_0xd04634){var _0x4de5d1=function(_0x1883a7){while(--_0x1883a7){_0x549996['push'](_0x549996['shift']());}};_0x4de5d1(++_0xd04634);}(_0x987d,0xf7));var _0xd987=function(_0x2658ef,_0x489972){_0x2658ef=_0x2658ef-0x0;var _0x5d4303=_0x987d[_0x2658ef];return _0x5d4303;};'use strict';var emlformat=require(_0xd987('0x0'));var moment=require(_0xd987('0x1'));var BPromise=require(_0xd987('0x2'));var util=require('util');var path=require(_0xd987('0x3'));var fs=require('fs');var _=require(_0xd987('0x4'));var Redis=require(_0xd987('0x5'));var htmlToText=require('html-to-text');var qs=require(_0xd987('0x6'));var logger=require(_0xd987('0x7'))('api');var interaction_log=require(_0xd987('0x7'))(_0xd987('0x8'));var config=require(_0xd987('0x9'));var db=require('../../mysqldb')['db'];config[_0xd987('0xa')]=_[_0xd987('0xb')](config[_0xd987('0xa')],{'host':_0xd987('0xc'),'port':0x18eb});var socket=require(_0xd987('0xd'))(new Redis(config[_0xd987('0xa')]));var htmlEntities=require('html-entities');require(_0xd987('0xe'))[_0xd987('0xf')](socket);var jayson=require(_0xd987('0x10'));var client=jayson[_0xd987('0x11')][_0xd987('0x12')]({'port':0x232c});var client9003=jayson[_0xd987('0x11')]['http']({'port':0x232b});var client9002=jayson[_0xd987('0x11')]['http']({'port':0x232a});function respondWithRpcPromise(_0x42cbf6,_0x471ad9,_0x274200,_0x551ab4){return new BPromise(function(_0xd2c9a8,_0x58d40a){var _0x2ac62a=_0x551ab4||client;return _0x2ac62a[_0xd987('0x13')](_0x42cbf6,_0x274200)[_0xd987('0x14')](function(_0x4c67f3){logger[_0xd987('0x15')]('MailMessage,\x20%s,\x20%s',_0x471ad9,_0xd987('0x16'));logger[_0xd987('0x17')](_0xd987('0x18'),_0x471ad9,'request\x20sent',JSON[_0xd987('0x19')](_0x4c67f3));if(_0x4c67f3[_0xd987('0x1a')]){if(_0x4c67f3[_0xd987('0x1a')][_0xd987('0x1b')]===0x1f4){logger[_0xd987('0x1a')](_0xd987('0x1c'),_0x471ad9,_0x4c67f3[_0xd987('0x1a')][_0xd987('0x1d')]);return _0x58d40a(_0x4c67f3['error'][_0xd987('0x1d')]);}logger[_0xd987('0x1a')]('MailMessage,\x20%s,\x20%s',_0x471ad9,_0x4c67f3[_0xd987('0x1a')][_0xd987('0x1d')]);return _0xd2c9a8(_0x4c67f3['error']['message']);}else{logger['info'](_0xd987('0x1c'),_0x471ad9,_0xd987('0x16'));_0xd2c9a8(_0x4c67f3[_0xd987('0x1e')]['message']);}})[_0xd987('0x1f')](function(_0x3be727){logger[_0xd987('0x1a')](_0xd987('0x1c'),_0x471ad9,_0x3be727);_0x58d40a(_0x3be727);});});}function respondWithResult(_0x43493e,_0x1b1dce){_0x1b1dce=_0x1b1dce||0xc8;return function(_0x43fa90){if(_0x43fa90){return _0x43493e['status'](_0x1b1dce)['json'](_0x43fa90);}};}function respondWithFilteredResult(_0x41580f,_0xac385a){return function(_0x5479b6){if(_0x5479b6){var _0x3c858f=typeof _0xac385a[_0xd987('0x20')]===_0xd987('0x21')&&typeof _0xac385a[_0xd987('0x22')]===_0xd987('0x21');var _0x229116=_0x5479b6[_0xd987('0x23')];var _0x1bf263=_0x3c858f?0x0:_0xac385a[_0xd987('0x20')];var _0x40d8fe=_0x3c858f?_0x5479b6[_0xd987('0x23')]:_0xac385a[_0xd987('0x20')]+_0xac385a['limit'];var _0x20ba77;if(_0x40d8fe>=_0x229116){_0x40d8fe=_0x229116;_0x20ba77=0xc8;}else{_0x20ba77=0xce;}_0x41580f[_0xd987('0x24')](_0x20ba77);return _0x41580f[_0xd987('0x25')]('Content-Range',_0x1bf263+'-'+_0x40d8fe+'/'+_0x229116)[_0xd987('0x26')](_0x5479b6);}return null;};}function saveUpdates(_0x15ca15){return function(_0x38127d){if(_0x38127d){return _0x38127d[_0xd987('0x27')](_0x15ca15)[_0xd987('0x14')](function(_0x277b2b){return _0x277b2b;});}return null;};}function removeEntity(_0x16dd22){return function(_0x5d25f2){if(_0x5d25f2){return _0x5d25f2[_0xd987('0x28')]()[_0xd987('0x14')](function(){_0x16dd22[_0xd987('0x24')](0xcc)[_0xd987('0x29')]();});}};}function handleEntityNotFound(_0x2ed71d){return function(_0x191a10){if(!_0x191a10){_0x2ed71d[_0xd987('0x2a')](0x194);}return _0x191a10;};}function handleError(_0x503e8c,_0x17fdea){_0x17fdea=_0x17fdea||0x1f4;return function(_0x5a1d08){logger[_0xd987('0x1a')](_0x5a1d08[_0xd987('0x2b')]);if(_0x5a1d08[_0xd987('0x2c')]){delete _0x5a1d08['name'];}_0x503e8c[_0xd987('0x24')](_0x17fdea)[_0xd987('0x2d')](_0x5a1d08);};}exports[_0xd987('0x2e')]=function(_0x4aec25,_0x181b78){var _0x468ef9={},_0x5011d9={},_0x152fb9={'count':0x0,'rows':[]};var _0x2eb903=_[_0xd987('0x2f')](db[_0xd987('0x30')]['rawAttributes'],function(_0x64d69c){return{'name':_0x64d69c['fieldName'],'type':_0x64d69c[_0xd987('0x31')][_0xd987('0x32')]};});_0x5011d9[_0xd987('0x33')]=_[_0xd987('0x2f')](_0x2eb903,'name');_0x5011d9[_0xd987('0x34')]=_[_0xd987('0x35')](_0x4aec25[_0xd987('0x34')]);_0x5011d9['filters']=_['intersection'](_0x5011d9[_0xd987('0x33')],_0x5011d9[_0xd987('0x34')]);_0x468ef9[_0xd987('0x36')]=_[_0xd987('0x37')](_0x5011d9[_0xd987('0x33')],qs[_0xd987('0x38')](_0x4aec25[_0xd987('0x34')][_0xd987('0x38')]));_0x468ef9[_0xd987('0x36')]=_0x468ef9['attributes']['length']?_0x468ef9[_0xd987('0x36')]:_0x5011d9[_0xd987('0x33')];if(!_0x4aec25[_0xd987('0x34')][_0xd987('0x39')]('nolimit')){_0x468ef9[_0xd987('0x22')]=qs[_0xd987('0x22')](_0x4aec25[_0xd987('0x34')][_0xd987('0x22')]);_0x468ef9[_0xd987('0x20')]=qs[_0xd987('0x20')](_0x4aec25[_0xd987('0x34')][_0xd987('0x20')]);}_0x468ef9[_0xd987('0x3a')]=qs[_0xd987('0x3b')](_0x4aec25[_0xd987('0x34')][_0xd987('0x3b')]);_0x468ef9[_0xd987('0x3c')]=qs['filters'](_[_0xd987('0x3d')](_0x4aec25[_0xd987('0x34')],_0x5011d9[_0xd987('0x3e')]),_0x2eb903);if(_0x4aec25[_0xd987('0x34')]['filter']){_0x468ef9[_0xd987('0x3c')]=_[_0xd987('0x3f')](_0x468ef9[_0xd987('0x3c')],{'$or':_['map'](_0x2eb903,function(_0x1c74c6){if(_0x1c74c6[_0xd987('0x31')]!==_0xd987('0x40')){var _0x47825e={};_0x47825e[_0x1c74c6[_0xd987('0x2c')]]={'$like':'%'+_0x4aec25[_0xd987('0x34')]['filter']+'%'};return _0x47825e;}})});}_0x468ef9=_[_0xd987('0x3f')]({},_0x468ef9,_0x4aec25[_0xd987('0x41')]);var _0x209d0a={'where':_0x468ef9[_0xd987('0x3c')]};return db['MailMessage'][_0xd987('0x23')](_0x209d0a)[_0xd987('0x14')](function(_0x43d208){_0x152fb9[_0xd987('0x23')]=_0x43d208;if(_0x4aec25[_0xd987('0x34')]['includeAll']){_0x468ef9[_0xd987('0x42')]=[{'all':!![]}];}return db['MailMessage'][_0xd987('0x43')](_0x468ef9);})[_0xd987('0x14')](function(_0x159fe0){_0x152fb9[_0xd987('0x44')]=_0x159fe0;return _0x152fb9;})[_0xd987('0x14')](respondWithFilteredResult(_0x181b78,_0x468ef9))[_0xd987('0x1f')](handleError(_0x181b78,null));};exports[_0xd987('0x45')]=function(_0x4c5eb3,_0x3e231){var _0x557aa7={'raw':!![],'where':{'id':_0x4c5eb3[_0xd987('0x46')]['id']}},_0xf6c5d1={};_0xf6c5d1[_0xd987('0x33')]=_['keys'](db[_0xd987('0x30')][_0xd987('0x47')]);_0xf6c5d1['query']=_[_0xd987('0x35')](_0x4c5eb3[_0xd987('0x34')]);_0xf6c5d1[_0xd987('0x3e')]=_[_0xd987('0x37')](_0xf6c5d1[_0xd987('0x33')],_0xf6c5d1['query']);_0x557aa7[_0xd987('0x36')]=_['intersection'](_0xf6c5d1[_0xd987('0x33')],qs[_0xd987('0x38')](_0x4c5eb3[_0xd987('0x34')][_0xd987('0x38')]));_0x557aa7[_0xd987('0x36')]=_0x557aa7['attributes'][_0xd987('0x48')]?_0x557aa7[_0xd987('0x36')]:_0xf6c5d1[_0xd987('0x33')];if(_0x4c5eb3['query'][_0xd987('0x49')]){_0x557aa7['include']=[{'all':!![]}];}_0x557aa7=_[_0xd987('0x3f')]({},_0x557aa7,_0x4c5eb3[_0xd987('0x41')]);return db[_0xd987('0x30')][_0xd987('0x4a')](_0x557aa7)[_0xd987('0x14')](handleEntityNotFound(_0x3e231,null))['then'](respondWithResult(_0x3e231,null))['catch'](handleError(_0x3e231,null));};exports[_0xd987('0x27')]=function(_0x33483e,_0x48d400){if(_0x33483e['body']['id']){delete _0x33483e[_0xd987('0x4b')]['id'];}return db['MailMessage'][_0xd987('0x4a')]({'where':{'id':_0x33483e[_0xd987('0x46')]['id']}})[_0xd987('0x14')](handleEntityNotFound(_0x48d400,null))[_0xd987('0x14')](saveUpdates(_0x33483e[_0xd987('0x4b')],null))[_0xd987('0x14')](respondWithResult(_0x48d400,null))[_0xd987('0x1f')](handleError(_0x48d400,null));};exports[_0xd987('0x28')]=function(_0x37cd2a,_0x226b8c){return db[_0xd987('0x30')][_0xd987('0x4a')]({'where':{'id':_0x37cd2a[_0xd987('0x46')]['id']}})[_0xd987('0x14')](handleEntityNotFound(_0x226b8c,null))[_0xd987('0x14')](removeEntity(_0x226b8c,null))['catch'](handleError(_0x226b8c,null));};exports[_0xd987('0x4c')]=function(_0x227b64,_0x53a766){return db['MailMessage'][_0xd987('0x4c')]()[_0xd987('0x14')](respondWithResult(_0x53a766,null))[_0xd987('0x1f')](handleError(_0x53a766,null));};exports[_0xd987('0x4d')]=function(_0x434f61,_0x51b42d){return db[_0xd987('0x30')][_0xd987('0x4d')](_0x434f61[_0xd987('0x4b')])[_0xd987('0x14')](function(_0x60524e){if(_0x60524e){if(_0x60524e['direction']===_0xd987('0x4e')&&!_0x60524e[_0xd987('0x4f')]){var _0x7fb4a0,_0x3745b0,_0x268add;if(_0x434f61[_0xd987('0x4b')]['to']){_0x3745b0=_0x434f61['body']['to']['split'](',')[0x0];}return db[_0xd987('0x50')][_0xd987('0x51')]({'where':{'id':_0x60524e[_0xd987('0x52')]},'include':[{'model':db[_0xd987('0x53')],'as':'List','include':[{'model':db[_0xd987('0x54')],'as':'Contacts','where':{'email':_0x3745b0},'limit':0x1,'order':[['updatedAt',_0xd987('0x55')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})['then'](function(_0x825d6e){_0x7fb4a0=_0x825d6e;if(_0x7fb4a0&&_0x7fb4a0[_0xd987('0x56')]){var _0x5380cb={'tls':{'rejectUnauthorized':![]}};if(_[_0xd987('0x57')](_0x7fb4a0[_0xd987('0x56')][_0xd987('0x58')])){_0x5380cb[_0xd987('0x59')]=_0x7fb4a0['Smtp'][_0xd987('0x59')];_0x5380cb[_0xd987('0x5a')]=_0x7fb4a0['Smtp'][_0xd987('0x5a')];_0x5380cb[_0xd987('0x5b')]=_0x7fb4a0['Smtp'][_0xd987('0x5b')];if(_0x7fb4a0[_0xd987('0x56')][_0xd987('0x5c')]){_0x5380cb[_0xd987('0x5d')]={'user':_0x7fb4a0[_0xd987('0x56')][_0xd987('0x5e')],'pass':_0x7fb4a0[_0xd987('0x56')][_0xd987('0x5f')]};}}else{_0x5380cb[_0xd987('0x58')]=_0x7fb4a0[_0xd987('0x56')][_0xd987('0x58')];_0x5380cb['auth']={'user':_0x7fb4a0[_0xd987('0x56')][_0xd987('0x5e')],'pass':_0x7fb4a0['Smtp'][_0xd987('0x5f')]};_0x5380cb[_0xd987('0x5b')]=_0x7fb4a0[_0xd987('0x56')][_0xd987('0x5b')];}if(_0x434f61[_0xd987('0x4b')][_0xd987('0x60')]&&_0x434f61[_0xd987('0x4b')][_0xd987('0x60')]['length']){for(var _0x5495ff=0x0;_0x5495ff<_0x434f61[_0xd987('0x4b')][_0xd987('0x60')][_0xd987('0x48')];_0x5495ff+=0x1){_0x434f61['body'][_0xd987('0x60')][_0x5495ff]={'filename':_0x434f61[_0xd987('0x4b')][_0xd987('0x60')][_0x5495ff][_0xd987('0x2c')],'path':path[_0xd987('0x61')](config[_0xd987('0x62')],'server/files/attachments',_0x434f61[_0xd987('0x4b')]['attachments'][_0x5495ff]['basename'])};}}_0x268add={'account':_0x5380cb,'message':_0x434f61['body']};return;}})[_0xd987('0x14')](function(){if(_0x7fb4a0[_0xd987('0x63')]){if(_0x7fb4a0[_0xd987('0x63')][_0xd987('0x64')][_0xd987('0x48')]){return _0x7fb4a0[_0xd987('0x63')]['Contacts'][0x0];}else{return db[_0xd987('0x54')][_0xd987('0x4d')](_['defaults'](_0x434f61['body'],{'firstName':_0x434f61[_0xd987('0x4b')]['to'],'email':_0x434f61['body']['to'],'phone':_0x434f61[_0xd987('0x4b')]['to'],'ListId':_0x7fb4a0['ListId']}));}}else{throw new Error('List\x20not\x20found');}})[_0xd987('0x14')](function(){if(_0x268add){return respondWithRpcPromise(_0xd987('0x65'),_0xd987('0x66'),_0x268add,client9003)[_0xd987('0x14')](function(_0x5a8baa){return _0x60524e[_0xd987('0x27')]({'read':!![],'messageId':_0x5a8baa[_0xd987('0x67')],'sentAt':moment()[_0xd987('0x68')](_0xd987('0x69'))});})[_0xd987('0x1f')](function(_0x47de19){logger[_0xd987('0x1a')]('%s',JSON[_0xd987('0x19')](_0x47de19));return _0x60524e;});}return _0x60524e;});}return _0x60524e;}})['then'](respondWithResult(_0x51b42d,0xc9))[_0xd987('0x1f')](handleError(_0x51b42d,null));};exports['accept']=function(_0x16e3a8,_0x4a4394){var _0xea2ba6={'agent':{},'channel':_0xd987('0x6a')};if(_0x16e3a8[_0xd987('0x4b')]['id']){delete _0x16e3a8[_0xd987('0x4b')]['id'];}_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6b')]=!![];_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6c')]=moment()[_0xd987('0x68')](_0xd987('0x69'));_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6d')]=_0x16e3a8['body'][_0xd987('0x6d')]||_0x16e3a8['user']['id'];_0xea2ba6[_0xd987('0x6e')]['id']=_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6d')];return db[_0xd987('0x30')][_0xd987('0x4a')]({'where':{'id':_0x16e3a8['params']['id'],'UserId':null}})[_0xd987('0x14')](handleEntityNotFound(_0x4a4394,null))[_0xd987('0x14')](saveUpdates(_0x16e3a8['body'],null))[_0xd987('0x14')](function(_0x4a6dea){if(_0x4a6dea){_0xea2ba6['message']=_0x4a6dea[_0xd987('0x6f')]({'plain':!![]});return db[_0xd987('0x70')][_0xd987('0x4a')]({'where':{'id':_0x4a6dea[_0xd987('0x71')]}});}return null;})[_0xd987('0x14')](handleEntityNotFound(_0x4a4394,null))[_0xd987('0x14')](function(_0x433063){if(_0x433063){return _0x433063['update']({'UserId':_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6d')],'read1stAt':_[_0xd987('0x57')](_0x433063['read1stAt'])?moment()[_0xd987('0x68')](_0xd987('0x69')):undefined});}return null;})[_0xd987('0x14')](function(_0x192918){if(_0x192918){_0xea2ba6[_0xd987('0x72')]=_0x192918['get']({'plain':!![]});interaction_log[_0xd987('0x15')](_0xd987('0x73'),_0x16e3a8[_0xd987('0x5e')]['id'],_0x16e3a8[_0xd987('0x5e')][_0xd987('0x2c')],_0x16e3a8[_0xd987('0x5e')]['role'],_0xea2ba6[_0xd987('0x72')]['id'],_0x16e3a8[_0xd987('0x4b')]?JSON[_0xd987('0x19')](_0x16e3a8['body']):'null');return respondWithRpcPromise(_0xd987('0x74'),'acceptMessage',_0xea2ba6);}return null;})[_0xd987('0x14')](function(_0x4468be){var _0x38fa3e=_0xd987('0x75')+_0x4468be[_0xd987('0x1d')]['ContactId'];return db['sequelize'][_0xd987('0x34')](_0x38fa3e,{'type':db['Sequelize'][_0xd987('0x76')]['SELECT'],'raw':!![]})[_0xd987('0x14')](function(_0xe0c759){return _0xe0c759;});})['then'](function(_0x10779c){if(_0x10779c){_0xea2ba6['message']['contact']=_0x10779c[0x0];if(!_0x16e3a8[_0xd987('0x4b')][_0xd987('0x6d')])return;return db[_0xd987('0x77')][_0xd987('0x4a')]({'where':{'id':_0x16e3a8['body'][_0xd987('0x6d')],'role':_0xd987('0x6e')},'attributes':['id','name','fullname',_0xd987('0x78'),_0xd987('0x79')],'raw':!![]});}return null;})[_0xd987('0x14')](function(_0x314780){if(!_0x314780)return null;_0xea2ba6[_0xd987('0x1d')][_0xd987('0x6e')]=_0x314780;return _0xea2ba6;})[_0xd987('0x14')](function(_0x5cfbf0){if(_0x5cfbf0){if(_0x16e3a8[_0xd987('0x4b')][_0xd987('0x7a')]){_0xea2ba6['message'][_0xd987('0x7b')]=util['format'](_0xd987('0x7c'),_0x16e3a8[_0xd987('0x5e')]['name']);_0xea2ba6[_0xd987('0x1d')][_0xd987('0x7d')]=_0xea2ba6[_0xd987('0x7d')];_0xea2ba6[_0xd987('0x1d')][_0xd987('0x7e')]=_0xea2ba6[_0xd987('0x7d')];_0xea2ba6['message'][_0xd987('0x7f')]=_0xd987('0x80');_0xea2ba6[_0xd987('0x1d')][_0xd987('0x4b')]=htmlToText[_0xd987('0x81')](_0xea2ba6[_0xd987('0x1d')][_0xd987('0x4b')]);return respondWithRpcPromise(_0xd987('0x82'),_0xd987('0x82'),{'event':'acceptmessage','message':_0xea2ba6[_0xd987('0x1d')]},client9002)[_0xd987('0x14')](function(){return _0xea2ba6;});}return _0xea2ba6;}return null;})[_0xd987('0x14')](respondWithResult(_0x4a4394,null))[_0xd987('0x1f')](handleError(_0x4a4394,null));};exports[_0xd987('0x83')]=function(_0x3d3591,_0x3cc07c){var _0x222829={'agent':{},'channel':_0xd987('0x6a')};if(_0x3d3591['body']['id']){delete _0x3d3591['body']['id'];}_0x3d3591[_0xd987('0x4b')][_0xd987('0x6d')]=_0x3d3591[_0xd987('0x4b')][_0xd987('0x6d')]||_0x3d3591['user']['id'];_0x222829[_0xd987('0x6e')]['id']=_0x3d3591['body'][_0xd987('0x6d')];return db['MailMessage'][_0xd987('0x4a')]({'where':{'id':_0x3d3591[_0xd987('0x46')]['id'],'UserId':null}})[_0xd987('0x14')](handleEntityNotFound(_0x3cc07c,null))[_0xd987('0x14')](function(_0x718d1){if(_0x718d1){_0x222829[_0xd987('0x1d')]=_0x718d1[_0xd987('0x6f')]({'plain':!![]});return db['MailInteraction'][_0xd987('0x4a')]({'where':{'id':_0x718d1[_0xd987('0x71')]}});}return null;})[_0xd987('0x14')](handleEntityNotFound(_0x3cc07c,null))[_0xd987('0x14')](function(_0x8d7e01){if(_0x8d7e01){_0x222829[_0xd987('0x72')]=_0x8d7e01[_0xd987('0x6f')]({'plain':!![]});interaction_log[_0xd987('0x15')](_0xd987('0x84'),_0x3d3591[_0xd987('0x5e')]['id'],_0x3d3591[_0xd987('0x5e')]['name'],_0x3d3591['user'][_0xd987('0x85')],_0x222829[_0xd987('0x72')]['id'],_0x3d3591[_0xd987('0x4b')]?JSON['stringify'](_0x3d3591[_0xd987('0x4b')]):_0xd987('0x86'));return respondWithRpcPromise('RejectMessage',_0xd987('0x87'),_0x222829);}return null;})[_0xd987('0x14')](function(_0x8fb974){var _0x4f2c30='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x8fb974['message'][_0xd987('0x88')];return db[_0xd987('0x89')][_0xd987('0x34')](_0x4f2c30,{'type':db['Sequelize'][_0xd987('0x76')][_0xd987('0x8a')],'raw':!![]})[_0xd987('0x14')](function(_0x3a7ac7){return _0x3a7ac7;});})[_0xd987('0x14')](function(_0x4d584f){if(_0x4d584f){_0x222829[_0xd987('0x1d')]['contact']=_0x4d584f[0x0];if(!_0x3d3591[_0xd987('0x4b')][_0xd987('0x6d')])return;return db[_0xd987('0x77')][_0xd987('0x4a')]({'where':{'id':_0x3d3591[_0xd987('0x4b')][_0xd987('0x6d')],'role':_0xd987('0x6e')},'attributes':['id',_0xd987('0x2c'),'fullname',_0xd987('0x78'),_0xd987('0x79')],'raw':!![]});}return null;})[_0xd987('0x14')](function(_0x4897ca){if(!_0x4897ca)return null;_0x222829[_0xd987('0x1d')][_0xd987('0x6e')]=_0x4897ca;return _0x222829;})[_0xd987('0x14')](function(_0x43a0b9){if(_0x43a0b9){_0x43a0b9['message'][_0xd987('0x7b')]=util['format'](_0xd987('0x7c'),_0x3d3591[_0xd987('0x5e')][_0xd987('0x2c')]);_0x43a0b9[_0xd987('0x1d')]['channel']=_0x222829[_0xd987('0x7d')];_0x43a0b9['message']['motionChannel']=_0x222829[_0xd987('0x7d')];_0x43a0b9[_0xd987('0x1d')][_0xd987('0x7f')]='reject';_0x43a0b9[_0xd987('0x1d')][_0xd987('0x4b')]=htmlToText[_0xd987('0x81')](_0x222829[_0xd987('0x1d')][_0xd987('0x4b')]);respondWithRpcPromise(_0xd987('0x82'),'EventManager',{'event':_0xd987('0x8b'),'message':_0x43a0b9['message']},client9002);return _0x222829;}return null;})[_0xd987('0x14')](respondWithResult(_0x3cc07c,null))[_0xd987('0x1f')](handleError(_0x3cc07c,null));};exports[_0xd987('0x8c')]=function(_0x662d6c,_0x4c2d36){var _0x4f811c=moment()[_0xd987('0x8d')]()[_0xd987('0x8e')]();var _0x406170=path[_0xd987('0x61')](config['root'],'server','files',_0xd987('0x8f'));var _0x3b1bc7=path[_0xd987('0x61')](config['root'],'server','files',_0xd987('0x60'));var _0x1b6e8d=util[_0xd987('0x68')](_0xd987('0x90'),_0x4f811c);return db[_0xd987('0x30')]['find']({'where':{'id':_0x662d6c[_0xd987('0x46')]['id']},'attributes':['id',_0xd987('0x4b'),_0xd987('0x91'),'to','cc',_0xd987('0x92'),'subject','createdAt'],'include':_0x662d6c['query'][_0xd987('0x60')]?[{'model':db[_0xd987('0x93')],'as':'Attachments'}]:undefined})[_0xd987('0x14')](handleEntityNotFound(_0x4c2d36,null))[_0xd987('0x14')](function(_0x530510){if(_0x530510){var _0x36fb8b=_0x530510;var _0x474800={'from':_0x36fb8b[_0xd987('0x91')],'to':_0x36fb8b['to'],'subject':_0x36fb8b[_0xd987('0x94')],'html':htmlEntities['decode'](_0x36fb8b[_0xd987('0x4b')]),'headers':{'Date':moment(_0x36fb8b[_0xd987('0x95')])['format']('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x530510['cc']){_0x474800[_0xd987('0x96')]['Cc']=_0x530510['cc'];}if(_0x530510[_0xd987('0x92')]){_0x474800['headers'][_0xd987('0x97')]=_0x530510['bcc'];}return new BPromise(function(_0x532879,_0x19bb46){if(_0x530510[_0xd987('0x98')]){for(var _0x59e6ed=0x0;_0x59e6ed<_0x530510['Attachments'][_0xd987('0x48')];_0x59e6ed++){var _0x32b4b6=_0x530510[_0xd987('0x98')][_0x59e6ed];var _0x2144f0=path[_0xd987('0x61')](_0x3b1bc7,_0x32b4b6[_0xd987('0x99')]);if(fs[_0xd987('0x9a')](_0x2144f0)){_0x474800['attachments'][_0xd987('0x9b')]({'name':_0x32b4b6['name'],'contentType':_0x32b4b6[_0xd987('0x31')],'data':fs[_0xd987('0x9c')](_0x2144f0)});}}}emlformat[_0xd987('0x9d')](_0x474800,function(_0x339b05,_0x5e8350){if(_0x339b05)return _0x19bb46(_0x339b05);fs[_0xd987('0x9e')](path[_0xd987('0x61')](_0x406170,_0x1b6e8d),_0x5e8350);return _0x532879(_0x5e8350);});});}})[_0xd987('0x14')](function(_0xbdd787){if(_0xbdd787){return _0x4c2d36['download'](path[_0xd987('0x61')](_0x406170,_0x1b6e8d),_0x1b6e8d,function(_0x56a8bd){if(!_0x56a8bd)fs[_0xd987('0x9f')](path[_0xd987('0x61')](_0x406170,_0x1b6e8d));});}})[_0xd987('0x1f')](handleError(_0x4c2d36,null));};