Built motion from commit 4ffc18b1.|2.6.31
[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 _0x9a4b=['ListId','List\x20not\x20found','SendMail','messageId','format','accept','mail','read','readAt','UserId','user','agent','get','MailInteraction','isNil','read1stAt','YYYY-MM-DD\x20HH:mm:ss','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','contact','User','email','internal','channel','motionChannel','event','fromString','EventManager','acceptmessage','MailInteractionId','role','RejectMessage','rejectMessage','SELECT','interface','SIP/%s','reject','rejectmessage','unix','server','files','tmp','join','message-%s.eml','from','bcc','createdAt','Attachment','Attachments','subject','decode','headers','Bcc','existsSync','type','build','unlinkSync','eml-format','bluebird','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','html-entities','./mailMessage.socket','http','client','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','offset','undefined','limit','set','update','destroy','end','sendStatus','stack','name','index','map','MailMessage','rawAttributes','fieldName','key','model','query','keys','intersection','fields','attributes','length','nolimit','order','sort','where','filters','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','show','find','body','params','describe','create','direction','out','secret','split','MailAccount','MailAccountId','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','root','server/files/attachments','basename','List'];(function(_0x462999,_0x24d200){var _0x4b1366=function(_0x1fa353){while(--_0x1fa353){_0x462999['push'](_0x462999['shift']());}};_0x4b1366(++_0x24d200);}(_0x9a4b,0xdf));var _0xb9a4=function(_0x2a97f7,_0x465e0c){_0x2a97f7=_0x2a97f7-0x0;var _0x13c258=_0x9a4b[_0x2a97f7];return _0x13c258;};'use strict';var emlformat=require(_0xb9a4('0x0'));var moment=require('moment');var BPromise=require(_0xb9a4('0x1'));var util=require(_0xb9a4('0x2'));var path=require(_0xb9a4('0x3'));var fs=require('fs');var _=require(_0xb9a4('0x4'));var Redis=require(_0xb9a4('0x5'));var htmlToText=require(_0xb9a4('0x6'));var qs=require(_0xb9a4('0x7'));var logger=require(_0xb9a4('0x8'))(_0xb9a4('0x9'));var interaction_log=require(_0xb9a4('0x8'))(_0xb9a4('0xa'));var config=require(_0xb9a4('0xb'));var db=require(_0xb9a4('0xc'))['db'];config[_0xb9a4('0xd')]=_[_0xb9a4('0xe')](config[_0xb9a4('0xd')],{'host':'localhost','port':0x18eb});var socket=require(_0xb9a4('0xf'))(new Redis(config[_0xb9a4('0xd')]));var htmlEntities=require(_0xb9a4('0x10'));require(_0xb9a4('0x11'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xb9a4('0x12')]({'port':0x232c});var client9003=jayson[_0xb9a4('0x13')][_0xb9a4('0x12')]({'port':0x232b});var client9002=jayson[_0xb9a4('0x13')][_0xb9a4('0x12')]({'port':0x232a});function respondWithRpcPromise(_0x24cf47,_0x5ec180,_0x53d7c9,_0x165655){return new BPromise(function(_0xf89a8a,_0x48f8dd){var _0x390fec=_0x165655||client;return _0x390fec[_0xb9a4('0x14')](_0x24cf47,_0x53d7c9)[_0xb9a4('0x15')](function(_0x2048ed){logger[_0xb9a4('0x16')](_0xb9a4('0x17'),_0x5ec180,_0xb9a4('0x18'));logger[_0xb9a4('0x19')](_0xb9a4('0x1a'),_0x5ec180,_0xb9a4('0x18'),JSON[_0xb9a4('0x1b')](_0x2048ed));if(_0x2048ed[_0xb9a4('0x1c')]){if(_0x2048ed['error'][_0xb9a4('0x1d')]===0x1f4){logger[_0xb9a4('0x1c')](_0xb9a4('0x17'),_0x5ec180,_0x2048ed[_0xb9a4('0x1c')][_0xb9a4('0x1e')]);return _0x48f8dd(_0x2048ed[_0xb9a4('0x1c')]['message']);}logger[_0xb9a4('0x1c')](_0xb9a4('0x17'),_0x5ec180,_0x2048ed[_0xb9a4('0x1c')][_0xb9a4('0x1e')]);return _0xf89a8a(_0x2048ed[_0xb9a4('0x1c')][_0xb9a4('0x1e')]);}else{logger['info'](_0xb9a4('0x17'),_0x5ec180,_0xb9a4('0x18'));_0xf89a8a(_0x2048ed[_0xb9a4('0x1f')][_0xb9a4('0x1e')]);}})[_0xb9a4('0x20')](function(_0x5be104){logger[_0xb9a4('0x1c')](_0xb9a4('0x17'),_0x5ec180,_0x5be104);_0x48f8dd(_0x5be104);});});}function respondWithResult(_0x36ca29,_0x5d4642){_0x5d4642=_0x5d4642||0xc8;return function(_0x819f8f){if(_0x819f8f){return _0x36ca29[_0xb9a4('0x21')](_0x5d4642)[_0xb9a4('0x22')](_0x819f8f);}};}function respondWithFilteredResult(_0x35e749,_0x1eaab5){return function(_0x2f6aeb){if(_0x2f6aeb){var _0x4ed1e0=typeof _0x1eaab5[_0xb9a4('0x23')]===_0xb9a4('0x24')&&typeof _0x1eaab5[_0xb9a4('0x25')]===_0xb9a4('0x24');var _0x1d145f=_0x2f6aeb['count'];var _0xfab8=_0x4ed1e0?0x0:_0x1eaab5[_0xb9a4('0x23')];var _0x4d04fc=_0x4ed1e0?_0x2f6aeb['count']:_0x1eaab5[_0xb9a4('0x23')]+_0x1eaab5['limit'];var _0x5c01ce;if(_0x4d04fc>=_0x1d145f){_0x4d04fc=_0x1d145f;_0x5c01ce=0xc8;}else{_0x5c01ce=0xce;}_0x35e749['status'](_0x5c01ce);return _0x35e749[_0xb9a4('0x26')]('Content-Range',_0xfab8+'-'+_0x4d04fc+'/'+_0x1d145f)[_0xb9a4('0x22')](_0x2f6aeb);}return null;};}function saveUpdates(_0x3a5382){return function(_0x21dba3){if(_0x21dba3){return _0x21dba3[_0xb9a4('0x27')](_0x3a5382)[_0xb9a4('0x15')](function(_0x179ef2){return _0x179ef2;});}return null;};}function removeEntity(_0x4d0ef9){return function(_0x52957c){if(_0x52957c){return _0x52957c[_0xb9a4('0x28')]()[_0xb9a4('0x15')](function(){_0x4d0ef9[_0xb9a4('0x21')](0xcc)[_0xb9a4('0x29')]();});}};}function handleEntityNotFound(_0x550d76){return function(_0x5ee952){if(!_0x5ee952){_0x550d76[_0xb9a4('0x2a')](0x194);}return _0x5ee952;};}function handleError(_0x211c6d,_0x331cc4){_0x331cc4=_0x331cc4||0x1f4;return function(_0x377e24){logger[_0xb9a4('0x1c')](_0x377e24[_0xb9a4('0x2b')]);if(_0x377e24[_0xb9a4('0x2c')]){delete _0x377e24[_0xb9a4('0x2c')];}_0x211c6d[_0xb9a4('0x21')](_0x331cc4)['send'](_0x377e24);};}exports[_0xb9a4('0x2d')]=function(_0x2f70ff,_0x5b10ce){var _0xc3e180={},_0x5d70b1={},_0x1d5d0a={'count':0x0,'rows':[]};var _0x5b6560=_[_0xb9a4('0x2e')](db[_0xb9a4('0x2f')][_0xb9a4('0x30')],function(_0x3692d5){return{'name':_0x3692d5[_0xb9a4('0x31')],'type':_0x3692d5['type'][_0xb9a4('0x32')]};});_0x5d70b1[_0xb9a4('0x33')]=_[_0xb9a4('0x2e')](_0x5b6560,_0xb9a4('0x2c'));_0x5d70b1[_0xb9a4('0x34')]=_[_0xb9a4('0x35')](_0x2f70ff[_0xb9a4('0x34')]);_0x5d70b1['filters']=_[_0xb9a4('0x36')](_0x5d70b1[_0xb9a4('0x33')],_0x5d70b1['query']);_0xc3e180['attributes']=_[_0xb9a4('0x36')](_0x5d70b1['model'],qs[_0xb9a4('0x37')](_0x2f70ff[_0xb9a4('0x34')]['fields']));_0xc3e180[_0xb9a4('0x38')]=_0xc3e180[_0xb9a4('0x38')][_0xb9a4('0x39')]?_0xc3e180[_0xb9a4('0x38')]:_0x5d70b1[_0xb9a4('0x33')];if(!_0x2f70ff[_0xb9a4('0x34')]['hasOwnProperty'](_0xb9a4('0x3a'))){_0xc3e180[_0xb9a4('0x25')]=qs[_0xb9a4('0x25')](_0x2f70ff[_0xb9a4('0x34')][_0xb9a4('0x25')]);_0xc3e180[_0xb9a4('0x23')]=qs[_0xb9a4('0x23')](_0x2f70ff[_0xb9a4('0x34')][_0xb9a4('0x23')]);}_0xc3e180[_0xb9a4('0x3b')]=qs['sort'](_0x2f70ff['query'][_0xb9a4('0x3c')]);_0xc3e180[_0xb9a4('0x3d')]=qs[_0xb9a4('0x3e')](_['pick'](_0x2f70ff[_0xb9a4('0x34')],_0x5d70b1[_0xb9a4('0x3e')]),_0x5b6560);if(_0x2f70ff[_0xb9a4('0x34')]['filter']){_0xc3e180[_0xb9a4('0x3d')]=_[_0xb9a4('0x3f')](_0xc3e180[_0xb9a4('0x3d')],{'$or':_[_0xb9a4('0x2e')](_0x5b6560,function(_0x3f1d87){if(_0x3f1d87['type']!==_0xb9a4('0x40')){var _0x25be2f={};_0x25be2f[_0x3f1d87[_0xb9a4('0x2c')]]={'$like':'%'+_0x2f70ff[_0xb9a4('0x34')][_0xb9a4('0x41')]+'%'};return _0x25be2f;}})});}_0xc3e180=_[_0xb9a4('0x3f')]({},_0xc3e180,_0x2f70ff[_0xb9a4('0x42')]);var _0x1bf260={'where':_0xc3e180['where']};return db['MailMessage'][_0xb9a4('0x43')](_0x1bf260)[_0xb9a4('0x15')](function(_0x1056fa){_0x1d5d0a[_0xb9a4('0x43')]=_0x1056fa;if(_0x2f70ff[_0xb9a4('0x34')][_0xb9a4('0x44')]){_0xc3e180[_0xb9a4('0x45')]=[{'all':!![]}];}return db[_0xb9a4('0x2f')][_0xb9a4('0x46')](_0xc3e180);})[_0xb9a4('0x15')](function(_0x256272){_0x1d5d0a[_0xb9a4('0x47')]=_0x256272;return _0x1d5d0a;})[_0xb9a4('0x15')](respondWithFilteredResult(_0x5b10ce,_0xc3e180))[_0xb9a4('0x20')](handleError(_0x5b10ce,null));};exports[_0xb9a4('0x48')]=function(_0x50ba79,_0x583459){var _0x543048={'raw':!![],'where':{'id':_0x50ba79['params']['id']}},_0x1de077={};_0x1de077[_0xb9a4('0x33')]=_[_0xb9a4('0x35')](db[_0xb9a4('0x2f')][_0xb9a4('0x30')]);_0x1de077['query']=_[_0xb9a4('0x35')](_0x50ba79['query']);_0x1de077[_0xb9a4('0x3e')]=_[_0xb9a4('0x36')](_0x1de077[_0xb9a4('0x33')],_0x1de077['query']);_0x543048['attributes']=_[_0xb9a4('0x36')](_0x1de077['model'],qs[_0xb9a4('0x37')](_0x50ba79[_0xb9a4('0x34')]['fields']));_0x543048[_0xb9a4('0x38')]=_0x543048[_0xb9a4('0x38')][_0xb9a4('0x39')]?_0x543048[_0xb9a4('0x38')]:_0x1de077['model'];if(_0x50ba79[_0xb9a4('0x34')][_0xb9a4('0x44')]){_0x543048['include']=[{'all':!![]}];}_0x543048=_[_0xb9a4('0x3f')]({},_0x543048,_0x50ba79['options']);return db[_0xb9a4('0x2f')][_0xb9a4('0x49')](_0x543048)['then'](handleEntityNotFound(_0x583459,null))[_0xb9a4('0x15')](respondWithResult(_0x583459,null))[_0xb9a4('0x20')](handleError(_0x583459,null));};exports['update']=function(_0x11d1c4,_0x50c69e){if(_0x11d1c4[_0xb9a4('0x4a')]['id']){delete _0x11d1c4['body']['id'];}return db['MailMessage'][_0xb9a4('0x49')]({'where':{'id':_0x11d1c4[_0xb9a4('0x4b')]['id']}})[_0xb9a4('0x15')](handleEntityNotFound(_0x50c69e,null))[_0xb9a4('0x15')](saveUpdates(_0x11d1c4['body'],null))[_0xb9a4('0x15')](respondWithResult(_0x50c69e,null))['catch'](handleError(_0x50c69e,null));};exports['destroy']=function(_0x2249b4,_0x4d8873){return db[_0xb9a4('0x2f')][_0xb9a4('0x49')]({'where':{'id':_0x2249b4[_0xb9a4('0x4b')]['id']}})['then'](handleEntityNotFound(_0x4d8873,null))[_0xb9a4('0x15')](removeEntity(_0x4d8873,null))[_0xb9a4('0x20')](handleError(_0x4d8873,null));};exports[_0xb9a4('0x4c')]=function(_0x382592,_0x1e28a6){return db[_0xb9a4('0x2f')][_0xb9a4('0x4c')]()[_0xb9a4('0x15')](respondWithResult(_0x1e28a6,null))[_0xb9a4('0x20')](handleError(_0x1e28a6,null));};exports[_0xb9a4('0x4d')]=function(_0x2349dc,_0x29c26c){return db[_0xb9a4('0x2f')]['create'](_0x2349dc[_0xb9a4('0x4a')])[_0xb9a4('0x15')](function(_0x561b31){if(_0x561b31){if(_0x561b31[_0xb9a4('0x4e')]===_0xb9a4('0x4f')&&!_0x561b31[_0xb9a4('0x50')]){var _0x243495,_0x1efe43,_0x33b4f4;if(_0x2349dc[_0xb9a4('0x4a')]['to']){_0x1efe43=_0x2349dc['body']['to'][_0xb9a4('0x51')](',')[0x0];}return db[_0xb9a4('0x52')]['findOne']({'where':{'id':_0x561b31[_0xb9a4('0x53')]},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xb9a4('0x54')],'as':_0xb9a4('0x55'),'where':{'email':_0x1efe43},'limit':0x1,'order':[[_0xb9a4('0x56'),_0xb9a4('0x57')]]}]},{'model':db[_0xb9a4('0x58')],'as':_0xb9a4('0x59'),'raw':!![],'include':[{'model':db[_0xb9a4('0x5a')],'as':_0xb9a4('0x5a'),'raw':!![]}]}]})[_0xb9a4('0x15')](function(_0x284bb5){_0x243495=_0x284bb5;if(!_0x243495||!_0x243495[_0xb9a4('0x59')])return;var _0x2dffd9=_0x243495[_0xb9a4('0x5b')]();if(_0x2349dc[_0xb9a4('0x4a')][_0xb9a4('0x5c')]&&_0x2349dc[_0xb9a4('0x4a')][_0xb9a4('0x5c')][_0xb9a4('0x39')]){for(var _0x3702cb=0x0;_0x3702cb<_0x2349dc[_0xb9a4('0x4a')][_0xb9a4('0x5c')][_0xb9a4('0x39')];_0x3702cb+=0x1){_0x2349dc[_0xb9a4('0x4a')][_0xb9a4('0x5c')][_0x3702cb]={'filename':_0x2349dc[_0xb9a4('0x4a')][_0xb9a4('0x5c')][_0x3702cb]['name'],'path':path['join'](config[_0xb9a4('0x5d')],_0xb9a4('0x5e'),_0x2349dc[_0xb9a4('0x4a')]['attachments'][_0x3702cb][_0xb9a4('0x5f')])};}}_0x33b4f4={'account':_0x2dffd9,'message':_0x2349dc['body']};return;})[_0xb9a4('0x15')](function(){if(_0x243495['List']){if(_0x243495['List'][_0xb9a4('0x55')][_0xb9a4('0x39')]){return _0x243495[_0xb9a4('0x60')][_0xb9a4('0x55')][0x0];}else{return db[_0xb9a4('0x54')][_0xb9a4('0x4d')](_[_0xb9a4('0xe')](_0x2349dc[_0xb9a4('0x4a')],{'firstName':_0x2349dc[_0xb9a4('0x4a')]['to'],'email':_0x2349dc[_0xb9a4('0x4a')]['to'],'phone':_0x2349dc[_0xb9a4('0x4a')]['to'],'ListId':_0x243495[_0xb9a4('0x61')]}));}}else{throw new Error(_0xb9a4('0x62'));}})['then'](function(){if(_0x33b4f4){return respondWithRpcPromise(_0xb9a4('0x63'),'sendMail',_0x33b4f4,client9003)[_0xb9a4('0x15')](function(_0x454dac){return _0x561b31['update']({'read':!![],'messageId':_0x454dac[_0xb9a4('0x64')],'sentAt':moment()[_0xb9a4('0x65')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0xb9a4('0x20')](function(_0x574186){logger[_0xb9a4('0x1c')]('%s',JSON[_0xb9a4('0x1b')](_0x574186));return _0x561b31;});}return _0x561b31;});}return _0x561b31;}})[_0xb9a4('0x15')](respondWithResult(_0x29c26c,0xc9))[_0xb9a4('0x20')](handleError(_0x29c26c,null));};exports[_0xb9a4('0x66')]=function(_0x27f00d,_0x1ac96b){var _0x4b7158={'agent':{},'channel':_0xb9a4('0x67')};if(_0x27f00d[_0xb9a4('0x4a')]['id']){delete _0x27f00d['body']['id'];}_0x27f00d['body'][_0xb9a4('0x68')]=!![];_0x27f00d['body'][_0xb9a4('0x69')]=moment()[_0xb9a4('0x65')]('YYYY-MM-DD\x20HH:mm:ss');_0x27f00d[_0xb9a4('0x4a')][_0xb9a4('0x6a')]=_0x27f00d[_0xb9a4('0x4a')][_0xb9a4('0x6a')]||_0x27f00d[_0xb9a4('0x6b')]['id'];_0x4b7158[_0xb9a4('0x6c')]['id']=_0x27f00d['body'][_0xb9a4('0x6a')];return db['MailMessage']['find']({'where':{'id':_0x27f00d[_0xb9a4('0x4b')]['id'],'UserId':null}})[_0xb9a4('0x15')](handleEntityNotFound(_0x1ac96b,null))[_0xb9a4('0x15')](saveUpdates(_0x27f00d[_0xb9a4('0x4a')],null))['then'](function(_0x42cd0a){if(_0x42cd0a){_0x4b7158[_0xb9a4('0x1e')]=_0x42cd0a[_0xb9a4('0x6d')]({'plain':!![]});return db[_0xb9a4('0x6e')][_0xb9a4('0x49')]({'where':{'id':_0x42cd0a['MailInteractionId']}});}return null;})[_0xb9a4('0x15')](handleEntityNotFound(_0x1ac96b,null))[_0xb9a4('0x15')](function(_0x4c81f3){if(_0x4c81f3){return _0x4c81f3[_0xb9a4('0x27')]({'UserId':_0x27f00d[_0xb9a4('0x4a')][_0xb9a4('0x6a')],'read1stAt':_[_0xb9a4('0x6f')](_0x4c81f3[_0xb9a4('0x70')])?moment()[_0xb9a4('0x65')](_0xb9a4('0x71')):undefined});}return null;})[_0xb9a4('0x15')](function(_0x57d8c7){if(_0x57d8c7){_0x4b7158[_0xb9a4('0x72')]=_0x57d8c7[_0xb9a4('0x6d')]({'plain':!![]});interaction_log[_0xb9a4('0x16')](_0xb9a4('0x73'),_0x27f00d[_0xb9a4('0x6b')]['id'],_0x27f00d[_0xb9a4('0x6b')]['name'],_0x27f00d[_0xb9a4('0x6b')]['role'],_0x4b7158[_0xb9a4('0x72')]['id'],_0x27f00d[_0xb9a4('0x4a')]?JSON['stringify'](_0x27f00d[_0xb9a4('0x4a')]):_0xb9a4('0x74'));return respondWithRpcPromise(_0xb9a4('0x75'),'acceptMessage',_0x4b7158);}return null;})[_0xb9a4('0x15')](function(_0x451cdc){var _0x546950=_0xb9a4('0x76')+_0x451cdc[_0xb9a4('0x1e')][_0xb9a4('0x77')];return db[_0xb9a4('0x78')][_0xb9a4('0x34')](_0x546950,{'type':db[_0xb9a4('0x79')]['QueryTypes']['SELECT'],'raw':!![]})[_0xb9a4('0x15')](function(_0x37d08a){return _0x37d08a;});})[_0xb9a4('0x15')](function(_0x31c007){if(_0x31c007){_0x4b7158[_0xb9a4('0x1e')][_0xb9a4('0x7a')]=_0x31c007[0x0];if(!_0x27f00d[_0xb9a4('0x4a')][_0xb9a4('0x6a')])return;return db[_0xb9a4('0x7b')][_0xb9a4('0x49')]({'where':{'id':_0x27f00d[_0xb9a4('0x4a')][_0xb9a4('0x6a')],'role':_0xb9a4('0x6c')},'attributes':['id',_0xb9a4('0x2c'),'fullname',_0xb9a4('0x7c'),_0xb9a4('0x7d')],'raw':!![]});}return null;})[_0xb9a4('0x15')](function(_0x4ca477){if(!_0x4ca477)return null;_0x4b7158[_0xb9a4('0x1e')][_0xb9a4('0x6c')]=_0x4ca477;return _0x4b7158;})['then'](function(_0xdca9a5){if(_0xdca9a5){if(_0x27f00d[_0xb9a4('0x4a')]['manual']){_0x4b7158['message']['interface']=util[_0xb9a4('0x65')]('SIP/%s',_0x27f00d[_0xb9a4('0x6b')][_0xb9a4('0x2c')]);_0x4b7158[_0xb9a4('0x1e')][_0xb9a4('0x7e')]=_0x4b7158['channel'];_0x4b7158['message'][_0xb9a4('0x7f')]=_0x4b7158[_0xb9a4('0x7e')];_0x4b7158[_0xb9a4('0x1e')][_0xb9a4('0x80')]=_0xb9a4('0x66');_0x4b7158[_0xb9a4('0x1e')]['body']=htmlToText[_0xb9a4('0x81')](_0x4b7158[_0xb9a4('0x1e')][_0xb9a4('0x4a')]);return respondWithRpcPromise(_0xb9a4('0x82'),_0xb9a4('0x82'),{'event':_0xb9a4('0x83'),'message':_0x4b7158[_0xb9a4('0x1e')]},client9002)['then'](function(){return _0x4b7158;});}return _0x4b7158;}return null;})[_0xb9a4('0x15')](respondWithResult(_0x1ac96b,null))[_0xb9a4('0x20')](handleError(_0x1ac96b,null));};exports['reject']=function(_0x5be374,_0x4aadd3){var _0x5bed24={'agent':{},'channel':'mail'};if(_0x5be374[_0xb9a4('0x4a')]['id']){delete _0x5be374[_0xb9a4('0x4a')]['id'];}_0x5be374[_0xb9a4('0x4a')][_0xb9a4('0x6a')]=_0x5be374[_0xb9a4('0x4a')][_0xb9a4('0x6a')]||_0x5be374['user']['id'];_0x5bed24[_0xb9a4('0x6c')]['id']=_0x5be374[_0xb9a4('0x4a')][_0xb9a4('0x6a')];return db[_0xb9a4('0x2f')][_0xb9a4('0x49')]({'where':{'id':_0x5be374[_0xb9a4('0x4b')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x4aadd3,null))[_0xb9a4('0x15')](function(_0x5becd8){if(_0x5becd8){_0x5bed24[_0xb9a4('0x1e')]=_0x5becd8[_0xb9a4('0x6d')]({'plain':!![]});return db[_0xb9a4('0x6e')][_0xb9a4('0x49')]({'where':{'id':_0x5becd8[_0xb9a4('0x84')]}});}return null;})[_0xb9a4('0x15')](handleEntityNotFound(_0x4aadd3,null))['then'](function(_0x3af2bc){if(_0x3af2bc){_0x5bed24[_0xb9a4('0x72')]=_0x3af2bc['get']({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x5be374['user']['id'],_0x5be374[_0xb9a4('0x6b')][_0xb9a4('0x2c')],_0x5be374[_0xb9a4('0x6b')][_0xb9a4('0x85')],_0x5bed24[_0xb9a4('0x72')]['id'],_0x5be374[_0xb9a4('0x4a')]?JSON[_0xb9a4('0x1b')](_0x5be374[_0xb9a4('0x4a')]):_0xb9a4('0x74'));return respondWithRpcPromise(_0xb9a4('0x86'),_0xb9a4('0x87'),_0x5bed24);}return null;})[_0xb9a4('0x15')](function(_0x168c30){var _0x8dd4c1=_0xb9a4('0x76')+_0x168c30[_0xb9a4('0x1e')][_0xb9a4('0x77')];return db['sequelize'][_0xb9a4('0x34')](_0x8dd4c1,{'type':db[_0xb9a4('0x79')]['QueryTypes'][_0xb9a4('0x88')],'raw':!![]})[_0xb9a4('0x15')](function(_0x1f6035){return _0x1f6035;});})[_0xb9a4('0x15')](function(_0x524980){if(_0x524980){_0x5bed24['message'][_0xb9a4('0x7a')]=_0x524980[0x0];if(!_0x5be374['body'][_0xb9a4('0x6a')])return;return db[_0xb9a4('0x7b')][_0xb9a4('0x49')]({'where':{'id':_0x5be374[_0xb9a4('0x4a')]['UserId'],'role':'agent'},'attributes':['id',_0xb9a4('0x2c'),'fullname',_0xb9a4('0x7c'),_0xb9a4('0x7d')],'raw':!![]});}return null;})[_0xb9a4('0x15')](function(_0x446767){if(!_0x446767)return null;_0x5bed24[_0xb9a4('0x1e')][_0xb9a4('0x6c')]=_0x446767;return _0x5bed24;})[_0xb9a4('0x15')](function(_0x4f7adf){if(_0x4f7adf){_0x4f7adf[_0xb9a4('0x1e')][_0xb9a4('0x89')]=util[_0xb9a4('0x65')](_0xb9a4('0x8a'),_0x5be374['user']['name']);_0x4f7adf[_0xb9a4('0x1e')][_0xb9a4('0x7e')]=_0x5bed24[_0xb9a4('0x7e')];_0x4f7adf[_0xb9a4('0x1e')]['motionChannel']=_0x5bed24[_0xb9a4('0x7e')];_0x4f7adf[_0xb9a4('0x1e')][_0xb9a4('0x80')]=_0xb9a4('0x8b');_0x4f7adf[_0xb9a4('0x1e')][_0xb9a4('0x4a')]=htmlToText[_0xb9a4('0x81')](_0x5bed24[_0xb9a4('0x1e')][_0xb9a4('0x4a')]);respondWithRpcPromise('EventManager',_0xb9a4('0x82'),{'event':_0xb9a4('0x8c'),'message':_0x4f7adf[_0xb9a4('0x1e')]},client9002);return _0x5bed24;}return null;})[_0xb9a4('0x15')](respondWithResult(_0x4aadd3,null))[_0xb9a4('0x20')](handleError(_0x4aadd3,null));};exports['download']=function(_0x22c65d,_0x143987){var _0x114300=moment()[_0xb9a4('0x8d')]()['toString']();var _0x729ea=path['join'](config[_0xb9a4('0x5d')],_0xb9a4('0x8e'),_0xb9a4('0x8f'),_0xb9a4('0x90'));var _0x1b4150=path[_0xb9a4('0x91')](config['root'],_0xb9a4('0x8e'),'files',_0xb9a4('0x5c'));var _0x187bb9=util[_0xb9a4('0x65')](_0xb9a4('0x92'),_0x114300);return db[_0xb9a4('0x2f')]['find']({'where':{'id':_0x22c65d[_0xb9a4('0x4b')]['id']},'attributes':['id',_0xb9a4('0x4a'),_0xb9a4('0x93'),'to','cc',_0xb9a4('0x94'),'subject',_0xb9a4('0x95')],'include':_0x22c65d['query']['attachments']?[{'model':db[_0xb9a4('0x96')],'as':_0xb9a4('0x97')}]:undefined})['then'](handleEntityNotFound(_0x143987,null))['then'](function(_0x46e60b){if(_0x46e60b){var _0x4e79cc=_0x46e60b;var _0x1d8f74={'from':_0x4e79cc['from'],'to':_0x4e79cc['to'],'subject':_0x4e79cc[_0xb9a4('0x98')],'html':htmlEntities[_0xb9a4('0x99')](_0x4e79cc[_0xb9a4('0x4a')]),'headers':{'Date':moment(_0x4e79cc[_0xb9a4('0x95')])[_0xb9a4('0x65')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x46e60b['cc']){_0x1d8f74[_0xb9a4('0x9a')]['Cc']=_0x46e60b['cc'];}if(_0x46e60b['bcc']){_0x1d8f74['headers'][_0xb9a4('0x9b')]=_0x46e60b[_0xb9a4('0x94')];}return new BPromise(function(_0x4842f6,_0x1e8b5e){if(_0x46e60b[_0xb9a4('0x97')]){for(var _0x4310f1=0x0;_0x4310f1<_0x46e60b[_0xb9a4('0x97')][_0xb9a4('0x39')];_0x4310f1++){var _0x144b09=_0x46e60b['Attachments'][_0x4310f1];var _0x5c9bf5=path[_0xb9a4('0x91')](_0x1b4150,_0x144b09[_0xb9a4('0x5f')]);if(fs[_0xb9a4('0x9c')](_0x5c9bf5)){_0x1d8f74[_0xb9a4('0x5c')]['push']({'name':_0x144b09['name'],'contentType':_0x144b09[_0xb9a4('0x9d')],'data':fs['readFileSync'](_0x5c9bf5)});}}}emlformat[_0xb9a4('0x9e')](_0x1d8f74,function(_0x1dbb4c,_0x322f8c){if(_0x1dbb4c)return _0x1e8b5e(_0x1dbb4c);fs['writeFileSync'](path[_0xb9a4('0x91')](_0x729ea,_0x187bb9),_0x322f8c);return _0x4842f6(_0x322f8c);});});}})[_0xb9a4('0x15')](function(_0x9b2f3c){if(_0x9b2f3c){return _0x143987['download'](path[_0xb9a4('0x91')](_0x729ea,_0x187bb9),_0x187bb9,function(_0x2bfd51){if(!_0x2bfd51)fs[_0xb9a4('0x9f')](path[_0xb9a4('0x91')](_0x729ea,_0x187bb9));});}})[_0xb9a4('0x20')](handleError(_0x143987,null));};