cd692ee371adec0a06e3fdb51254a5668a458413
[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 _0x4539=['sort','where','filter','merge','VIRTUAL','name','options','count','include','findAll','rows','show','params','keys','fields','includeAll','find','body','describe','create','out','secret','split','MailAccount','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','Smtp','isNil','service','host','port','secure','user','auth','pass','attachments','join','root','server/files/attachments','basename','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','readAt','UserId','Contact','get','MailInteraction','MailInteractionId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','manual','channel','EventManager','acceptmessage','mail-interactions','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interface','event','rejectmessage','download','unix','toString','server','files','tmp','message-%s.eml','bcc','subject','createdAt','Attachment','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Attachments','existsSync','push','readFileSync','build','writeFileSync','log','unlinkSync','html-pdf','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','limit','Content-Range','reject','save','update','then','destroy','stack','send','index','map','MailMessage','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','length','nolimit','order'];(function(_0x7a4f0e,_0x308afc){var _0x447521=function(_0x6c33e9){while(--_0x6c33e9){_0x7a4f0e['push'](_0x7a4f0e['shift']());}};_0x447521(++_0x308afc);}(_0x4539,0x10c));var _0x9453=function(_0x3e1b62,_0xf643cb){_0x3e1b62=_0x3e1b62-0x0;var _0x3c5ce7=_0x4539[_0x3e1b62];return _0x3c5ce7;};'use strict';var pdf=require(_0x9453('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9453('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x9453('0x2'));var moment=require(_0x9453('0x3'));var BPromise=require(_0x9453('0x4'));var Mustache=require(_0x9453('0x5'));var util=require(_0x9453('0x6'));var path=require(_0x9453('0x7'));var sox=require(_0x9453('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x9453('0x9'));var squel=require(_0x9453('0xa'));var crypto=require(_0x9453('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9453('0xc'));var Papa=require(_0x9453('0xd'));var Redis=require(_0x9453('0xe'));var authService=require(_0x9453('0xf'));var qs=require(_0x9453('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9453('0x11'));var logger=require(_0x9453('0x12'))('api');var utils=require(_0x9453('0x13'));var config=require(_0x9453('0x14'));var licenseUtil=require(_0x9453('0x15'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x9453('0x16')](config[_0x9453('0x17')],{'host':_0x9453('0x18'),'port':0x18eb});var socket=require(_0x9453('0x19'))(new Redis(config[_0x9453('0x17')]));require('./mailMessage.socket')[_0x9453('0x1a')](socket);var jayson=require(_0x9453('0x1b'));var client=jayson[_0x9453('0x1c')][_0x9453('0x1d')]({'port':0x232c});var client9003=jayson[_0x9453('0x1c')]['http']({'port':0x232b});var client9002=jayson[_0x9453('0x1c')][_0x9453('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x26beb4,_0xcb8244,_0x561fa9,_0x488f4b){return new BPromise(function(_0x20c08c,_0x48199e){var _0x30ab30=_0x488f4b||client;return _0x30ab30['request'](_0x26beb4,_0x561fa9)['then'](function(_0x1e649e){logger[_0x9453('0x1e')](_0x9453('0x1f'),_0xcb8244,_0x9453('0x20'));logger[_0x9453('0x21')](_0x9453('0x22'),_0xcb8244,'request\x20sent',JSON[_0x9453('0x23')](_0x1e649e));if(_0x1e649e[_0x9453('0x24')]){if(_0x1e649e['error'][_0x9453('0x25')]===0x1f4){logger[_0x9453('0x24')](_0x9453('0x1f'),_0xcb8244,_0x1e649e[_0x9453('0x24')][_0x9453('0x26')]);return _0x48199e(_0x1e649e['error'][_0x9453('0x26')]);}logger[_0x9453('0x24')](_0x9453('0x1f'),_0xcb8244,_0x1e649e[_0x9453('0x24')][_0x9453('0x26')]);return _0x20c08c(_0x1e649e[_0x9453('0x24')][_0x9453('0x26')]);}else{logger['info'](_0x9453('0x1f'),_0xcb8244,_0x9453('0x20'));_0x20c08c(_0x1e649e[_0x9453('0x27')][_0x9453('0x26')]);}})[_0x9453('0x28')](function(_0x5c2eb6){logger[_0x9453('0x24')]('MailMessage,\x20%s,\x20%s',_0xcb8244,_0x5c2eb6);_0x48199e(_0x5c2eb6);});});}function respondWithStatusCode(_0x48d44e,_0x1e68ae){_0x1e68ae=_0x1e68ae||0xcc;return function(_0xc7acfe){if(_0xc7acfe){return _0x48d44e[_0x9453('0x29')](_0x1e68ae);}return _0x48d44e['status'](_0x1e68ae)[_0x9453('0x2a')]();};}function respondWithResult(_0x3c62fc,_0x2faf8d){_0x2faf8d=_0x2faf8d||0xc8;return function(_0x535cca){if(_0x535cca){return _0x3c62fc[_0x9453('0x2b')](_0x2faf8d)[_0x9453('0x2c')](_0x535cca);}};}function respondWithFilteredResult(_0x283e2e,_0x4e73df){return function(_0x20c947){if(_0x20c947){var _0x11196a=_0x20c947['count'],_0x5b0b7e=_0x4e73df[_0x9453('0x2d')],_0x5697fc=_0x4e73df[_0x9453('0x2d')]+_0x4e73df[_0x9453('0x2e')],_0x18103d;if(_0x5697fc>=_0x11196a){_0x5697fc=_0x11196a;_0x18103d=0xc8;}else{_0x18103d=0xce;}_0x283e2e[_0x9453('0x2b')](_0x18103d);return _0x283e2e['set'](_0x9453('0x2f'),_0x5b0b7e+'-'+_0x5697fc+'/'+_0x11196a)['json'](_0x20c947);}return null;};}function patchUpdates(_0x49d82a){return function(_0x178333){try{jsonpatch['apply'](_0x178333,_0x49d82a,!![]);}catch(_0x42ddea){return BPromise[_0x9453('0x30')](_0x42ddea);}return _0x178333[_0x9453('0x31')]();};}function saveUpdates(_0x347dee,_0x539c31){return function(_0x100f4e){if(_0x100f4e){return _0x100f4e[_0x9453('0x32')](_0x347dee)[_0x9453('0x33')](function(_0x35550a){return _0x35550a;});}return null;};}function removeEntity(_0x453869,_0x34902d){return function(_0xb99de4){if(_0xb99de4){return _0xb99de4[_0x9453('0x34')]()[_0x9453('0x33')](function(){_0x453869[_0x9453('0x2b')](0xcc)[_0x9453('0x2a')]();});}};}function handleEntityNotFound(_0x55749d,_0x5e1d49){return function(_0x1b7248){if(!_0x1b7248){_0x55749d[_0x9453('0x29')](0x194);}return _0x1b7248;};}function handleError(_0xb56f8,_0x35a8f0){_0x35a8f0=_0x35a8f0||0x1f4;return function(_0x2efb5d){logger[_0x9453('0x24')](_0x2efb5d[_0x9453('0x35')]);if(_0x2efb5d['name']){delete _0x2efb5d['name'];}_0xb56f8[_0x9453('0x2b')](_0x35a8f0)[_0x9453('0x36')](_0x2efb5d);};}exports[_0x9453('0x37')]=function(_0xe8a3d,_0x3dc2bf){var _0x316756={},_0x5c18b4={},_0x2780c3={'count':0x0,'rows':[]};var _0x4b882a=_[_0x9453('0x38')](db[_0x9453('0x39')][_0x9453('0x3a')],function(_0x439882){return{'name':_0x439882[_0x9453('0x3b')],'type':_0x439882[_0x9453('0x3c')][_0x9453('0x3d')]};});_0x5c18b4['model']=_[_0x9453('0x38')](_0x4b882a,'name');_0x5c18b4[_0x9453('0x3e')]=_['keys'](_0xe8a3d['query']);_0x5c18b4[_0x9453('0x3f')]=_[_0x9453('0x40')](_0x5c18b4[_0x9453('0x41')],_0x5c18b4[_0x9453('0x3e')]);_0x316756[_0x9453('0x42')]=_[_0x9453('0x40')](_0x5c18b4[_0x9453('0x41')],qs['fields'](_0xe8a3d['query']['fields']));_0x316756[_0x9453('0x42')]=_0x316756['attributes'][_0x9453('0x43')]?_0x316756[_0x9453('0x42')]:_0x5c18b4[_0x9453('0x41')];if(!_0xe8a3d[_0x9453('0x3e')]['hasOwnProperty'](_0x9453('0x44'))){_0x316756[_0x9453('0x2e')]=qs[_0x9453('0x2e')](_0xe8a3d[_0x9453('0x3e')]['limit']);_0x316756[_0x9453('0x2d')]=qs[_0x9453('0x2d')](_0xe8a3d[_0x9453('0x3e')][_0x9453('0x2d')]);}_0x316756[_0x9453('0x45')]=qs[_0x9453('0x46')](_0xe8a3d['query'][_0x9453('0x46')]);_0x316756[_0x9453('0x47')]=qs[_0x9453('0x3f')](_['pick'](_0xe8a3d[_0x9453('0x3e')],_0x5c18b4['filters']),_0x4b882a);if(_0xe8a3d[_0x9453('0x3e')][_0x9453('0x48')]){_0x316756['where']=_[_0x9453('0x49')](_0x316756['where'],{'$or':_[_0x9453('0x38')](_0x4b882a,function(_0x3877bb){if(_0x3877bb['type']!==_0x9453('0x4a')){var _0x249748={};_0x249748[_0x3877bb[_0x9453('0x4b')]]={'$like':'%'+_0xe8a3d[_0x9453('0x3e')][_0x9453('0x48')]+'%'};return _0x249748;}})});}_0x316756=_[_0x9453('0x49')]({},_0x316756,_0xe8a3d[_0x9453('0x4c')]);var _0x24b924={'where':_0x316756['where']};return db[_0x9453('0x39')][_0x9453('0x4d')](_0x24b924)[_0x9453('0x33')](function(_0x66bf76){_0x2780c3[_0x9453('0x4d')]=_0x66bf76;if(_0xe8a3d[_0x9453('0x3e')]['includeAll']){_0x316756[_0x9453('0x4e')]=[{'all':!![]}];}return db['MailMessage'][_0x9453('0x4f')](_0x316756);})['then'](function(_0x3cda64){_0x2780c3[_0x9453('0x50')]=_0x3cda64;return _0x2780c3;})[_0x9453('0x33')](respondWithFilteredResult(_0x3dc2bf,_0x316756))[_0x9453('0x28')](handleError(_0x3dc2bf,null));};exports[_0x9453('0x51')]=function(_0xf66514,_0x33fd96){var _0x3d1a9c={'raw':!![],'where':{'id':_0xf66514[_0x9453('0x52')]['id']}},_0x49bb27={};_0x49bb27[_0x9453('0x41')]=_[_0x9453('0x53')](db[_0x9453('0x39')]['rawAttributes']);_0x49bb27['query']=_[_0x9453('0x53')](_0xf66514[_0x9453('0x3e')]);_0x49bb27[_0x9453('0x3f')]=_['intersection'](_0x49bb27[_0x9453('0x41')],_0x49bb27[_0x9453('0x3e')]);_0x3d1a9c[_0x9453('0x42')]=_[_0x9453('0x40')](_0x49bb27[_0x9453('0x41')],qs['fields'](_0xf66514[_0x9453('0x3e')][_0x9453('0x54')]));_0x3d1a9c[_0x9453('0x42')]=_0x3d1a9c['attributes'][_0x9453('0x43')]?_0x3d1a9c['attributes']:_0x49bb27['model'];if(_0xf66514[_0x9453('0x3e')][_0x9453('0x55')]){_0x3d1a9c[_0x9453('0x4e')]=[{'all':!![]}];}_0x3d1a9c=_[_0x9453('0x49')]({},_0x3d1a9c,_0xf66514[_0x9453('0x4c')]);return db['MailMessage'][_0x9453('0x56')](_0x3d1a9c)[_0x9453('0x33')](handleEntityNotFound(_0x33fd96,null))[_0x9453('0x33')](respondWithResult(_0x33fd96,null))['catch'](handleError(_0x33fd96,null));};exports['update']=function(_0x35d000,_0x4464a3){if(_0x35d000[_0x9453('0x57')]['id']){delete _0x35d000['body']['id'];}return db[_0x9453('0x39')][_0x9453('0x56')]({'where':{'id':_0x35d000[_0x9453('0x52')]['id']}})[_0x9453('0x33')](handleEntityNotFound(_0x4464a3,null))[_0x9453('0x33')](saveUpdates(_0x35d000[_0x9453('0x57')],null))['then'](respondWithResult(_0x4464a3,null))[_0x9453('0x28')](handleError(_0x4464a3,null));};exports[_0x9453('0x34')]=function(_0x3b5839,_0x385c02){return db[_0x9453('0x39')][_0x9453('0x56')]({'where':{'id':_0x3b5839[_0x9453('0x52')]['id']}})[_0x9453('0x33')](handleEntityNotFound(_0x385c02,null))[_0x9453('0x33')](removeEntity(_0x385c02,null))['catch'](handleError(_0x385c02,null));};exports[_0x9453('0x58')]=function(_0x15ed66,_0x3f0cb9){return db['MailMessage'][_0x9453('0x58')]()[_0x9453('0x33')](respondWithResult(_0x3f0cb9,null))[_0x9453('0x28')](handleError(_0x3f0cb9,null));};exports[_0x9453('0x59')]=function(_0x392667,_0x5422d2){return db[_0x9453('0x39')][_0x9453('0x59')](_0x392667[_0x9453('0x57')])['then'](function(_0x1963bd){if(_0x1963bd){if(_0x1963bd['direction']===_0x9453('0x5a')&&!_0x1963bd[_0x9453('0x5b')]){var _0x1c4f69,_0x54499c,_0x41ed33;if(_0x392667[_0x9453('0x57')]['to']){_0x54499c=_0x392667[_0x9453('0x57')]['to'][_0x9453('0x5c')](',')[0x0];}return db[_0x9453('0x5d')]['findOne']({'where':{'id':_0x1963bd[_0x9453('0x5e')]},'include':[{'model':db[_0x9453('0x5f')],'as':_0x9453('0x60'),'include':[{'model':db[_0x9453('0x61')],'as':_0x9453('0x62'),'where':{'email':_0x54499c},'limit':0x1,'order':[[_0x9453('0x63'),_0x9453('0x64')]]}]},{'model':db['MailServerOut'],'as':_0x9453('0x65'),'raw':!![]}]})[_0x9453('0x33')](function(_0x4184f6){_0x1c4f69=_0x4184f6;if(_0x1c4f69&&_0x1c4f69[_0x9453('0x65')]){var _0x4f78e8={'tls':{'rejectUnauthorized':![]}};if(_[_0x9453('0x66')](_0x1c4f69[_0x9453('0x65')][_0x9453('0x67')])){_0x4f78e8[_0x9453('0x68')]=_0x1c4f69[_0x9453('0x65')][_0x9453('0x68')];_0x4f78e8[_0x9453('0x69')]=_0x1c4f69['Smtp'][_0x9453('0x69')];_0x4f78e8[_0x9453('0x6a')]=_0x1c4f69[_0x9453('0x65')][_0x9453('0x6a')];if(_0x1c4f69[_0x9453('0x65')]['authentication']){_0x4f78e8['auth']={'user':_0x1c4f69[_0x9453('0x65')][_0x9453('0x6b')],'pass':_0x1c4f69[_0x9453('0x65')]['pass']};}}else{_0x4f78e8['service']=_0x1c4f69['Smtp']['service'];_0x4f78e8[_0x9453('0x6c')]={'user':_0x1c4f69[_0x9453('0x65')][_0x9453('0x6b')],'pass':_0x1c4f69['Smtp'][_0x9453('0x6d')]};_0x4f78e8[_0x9453('0x6a')]=_0x1c4f69[_0x9453('0x65')][_0x9453('0x6a')];}if(_0x392667[_0x9453('0x57')]['attachments']&&_0x392667[_0x9453('0x57')][_0x9453('0x6e')][_0x9453('0x43')]){for(var _0x372bc5=0x0;_0x372bc5<_0x392667[_0x9453('0x57')]['attachments']['length'];_0x372bc5+=0x1){_0x392667[_0x9453('0x57')][_0x9453('0x6e')][_0x372bc5]={'filename':_0x392667[_0x9453('0x57')][_0x9453('0x6e')][_0x372bc5][_0x9453('0x4b')],'path':path[_0x9453('0x6f')](config[_0x9453('0x70')],_0x9453('0x71'),_0x392667[_0x9453('0x57')][_0x9453('0x6e')][_0x372bc5][_0x9453('0x72')])};}}_0x41ed33={'account':_0x4f78e8,'message':_0x392667[_0x9453('0x57')]};return;}})[_0x9453('0x33')](function(){if(_0x1c4f69[_0x9453('0x60')]){if(_0x1c4f69[_0x9453('0x60')][_0x9453('0x62')][_0x9453('0x43')]){return _0x1c4f69[_0x9453('0x60')]['Contacts'][0x0];}else{return db[_0x9453('0x61')][_0x9453('0x59')](_[_0x9453('0x16')](_0x392667[_0x9453('0x57')],{'firstName':_0x392667[_0x9453('0x57')]['to'],'email':_0x392667[_0x9453('0x57')]['to'],'phone':_0x392667['body']['to'],'ListId':_0x1c4f69[_0x9453('0x73')]}));}}else{throw new Error(_0x9453('0x74'));}})[_0x9453('0x33')](function(){if(_0x41ed33){return respondWithRpcPromise(_0x9453('0x75'),_0x9453('0x76'),_0x41ed33,client9003)[_0x9453('0x33')](function(_0x121bed){return _0x1963bd[_0x9453('0x32')]({'read':!![],'messageId':_0x121bed[_0x9453('0x77')],'sentAt':moment()[_0x9453('0x78')](_0x9453('0x79'))});})[_0x9453('0x28')](function(_0x592ef7){logger[_0x9453('0x24')]('%s',JSON['stringify'](_0x592ef7));return _0x1963bd;});}return _0x1963bd;});}return _0x1963bd;}})[_0x9453('0x33')](respondWithResult(_0x5422d2,0xc9))[_0x9453('0x28')](handleError(_0x5422d2,null));};var interaction_log=require(_0x9453('0x12'))('mail-interactions');exports[_0x9453('0x7a')]=function(_0x3c20e7,_0x57224a,_0x1c58b7){var _0xc5d463={'channel':_0x9453('0x7b')};if(_0x3c20e7['body']['id']){delete _0x3c20e7['body']['id'];}_0x3c20e7[_0x9453('0x57')][_0x9453('0x7c')]=!![];_0x3c20e7[_0x9453('0x57')][_0x9453('0x7d')]=moment()[_0x9453('0x78')](_0x9453('0x79'));_0x3c20e7[_0x9453('0x57')][_0x9453('0x7e')]=_0x3c20e7[_0x9453('0x57')][_0x9453('0x7e')]||_0x3c20e7[_0x9453('0x6b')]['id'];return db[_0x9453('0x39')][_0x9453('0x56')]({'where':{'id':_0x3c20e7[_0x9453('0x52')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0x9453('0x7f')}]})[_0x9453('0x33')](handleEntityNotFound(_0x57224a,null))[_0x9453('0x33')](saveUpdates(_0x3c20e7[_0x9453('0x57')],null))[_0x9453('0x33')](function(_0x24a158){if(_0x24a158){_0xc5d463['message']=_0x24a158[_0x9453('0x80')]({'plain':!![]});return db[_0x9453('0x81')][_0x9453('0x56')]({'where':{'id':_0x24a158[_0x9453('0x82')]}});}return null;})[_0x9453('0x33')](handleEntityNotFound(_0x57224a,null))[_0x9453('0x33')](function(_0x59fb3b){if(_0x59fb3b){return _0x59fb3b['update']({'UserId':_0x3c20e7[_0x9453('0x57')][_0x9453('0x7e')],'read1stAt':_['isNil'](_0x59fb3b[_0x9453('0x83')])?moment()[_0x9453('0x78')](_0x9453('0x79')):undefined});}return null;})[_0x9453('0x33')](function(_0x6ca8e1){if(_0x6ca8e1){_0xc5d463[_0x9453('0x84')]=_0x6ca8e1[_0x9453('0x80')]({'plain':!![]});interaction_log[_0x9453('0x1e')](_0x9453('0x85'),_0x3c20e7[_0x9453('0x6b')]['id'],_0x3c20e7[_0x9453('0x6b')][_0x9453('0x4b')],_0x3c20e7[_0x9453('0x6b')][_0x9453('0x86')],_0xc5d463['interaction']['id'],_0x3c20e7[_0x9453('0x57')]?JSON[_0x9453('0x23')](_0x3c20e7['body']):_0x9453('0x87'));return respondWithRpcPromise(_0x9453('0x88'),_0x9453('0x89'),_0xc5d463);}return null;})[_0x9453('0x33')](function(_0x4cd60b){if(_0x4cd60b){if(_0x3c20e7['body'][_0x9453('0x8a')]){_0xc5d463[_0x9453('0x26')]['interface']=util['format']('SIP/%s',_0x3c20e7[_0x9453('0x6b')][_0x9453('0x4b')]);_0xc5d463[_0x9453('0x26')][_0x9453('0x8b')]=_0xc5d463[_0x9453('0x8b')];_0xc5d463[_0x9453('0x26')]['event']=_0x9453('0x7a');return respondWithRpcPromise('EventManager',_0x9453('0x8c'),{'event':_0x9453('0x8d'),'message':_0xc5d463[_0x9453('0x26')]},client9002)['then'](function(){return _0xc5d463;});}return _0xc5d463;}return null;})[_0x9453('0x33')](respondWithResult(_0x57224a,null))['catch'](handleError(_0x57224a,null));};var interaction_log=require(_0x9453('0x12'))(_0x9453('0x8e'));exports[_0x9453('0x30')]=function(_0x3f3d2a,_0x47653d,_0x5e2740){var _0x3bb10d={'agent':{},'channel':'mail'};if(_0x3f3d2a[_0x9453('0x57')]['id']){delete _0x3f3d2a[_0x9453('0x57')]['id'];}_0x3f3d2a[_0x9453('0x57')][_0x9453('0x7e')]=_0x3f3d2a['body'][_0x9453('0x7e')]||_0x3f3d2a[_0x9453('0x6b')]['id'];_0x3bb10d['agent']['id']=_0x3f3d2a[_0x9453('0x57')][_0x9453('0x7e')];return db[_0x9453('0x39')][_0x9453('0x56')]({'where':{'id':_0x3f3d2a['params']['id'],'UserId':null}})[_0x9453('0x33')](handleEntityNotFound(_0x47653d,null))[_0x9453('0x33')](function(_0x2af067){if(_0x2af067){_0x3bb10d[_0x9453('0x26')]=_0x2af067[_0x9453('0x80')]({'plain':!![]});return db['MailInteraction'][_0x9453('0x56')]({'where':{'id':_0x2af067[_0x9453('0x82')]}});}return null;})['then'](handleEntityNotFound(_0x47653d,null))[_0x9453('0x33')](function(_0x5d9090){if(_0x5d9090){_0x3bb10d[_0x9453('0x84')]=_0x5d9090[_0x9453('0x80')]({'plain':!![]});interaction_log[_0x9453('0x1e')](_0x9453('0x8f'),_0x3f3d2a['user']['id'],_0x3f3d2a[_0x9453('0x6b')][_0x9453('0x4b')],_0x3f3d2a[_0x9453('0x6b')][_0x9453('0x86')],_0x3bb10d[_0x9453('0x84')]['id'],_0x3f3d2a[_0x9453('0x57')]?JSON[_0x9453('0x23')](_0x3f3d2a['body']):_0x9453('0x87'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0x3bb10d);}return null;})[_0x9453('0x33')](function(_0x48ce29){if(_0x48ce29){_0x48ce29[_0x9453('0x26')][_0x9453('0x90')]=util[_0x9453('0x78')]('SIP/%s',_0x3f3d2a['user']['name']);_0x48ce29[_0x9453('0x26')]['channel']=_0x3bb10d[_0x9453('0x8b')];_0x48ce29['message'][_0x9453('0x91')]=_0x9453('0x30');respondWithRpcPromise(_0x9453('0x8c'),_0x9453('0x8c'),{'event':_0x9453('0x92'),'message':_0x48ce29['message']},client9002);return _0x3bb10d;}return null;})[_0x9453('0x33')](respondWithResult(_0x47653d,null))[_0x9453('0x28')](handleError(_0x47653d,null));};exports[_0x9453('0x93')]=function(_0x1bee79,_0xf4429b){var _0x5c10e7=moment()[_0x9453('0x94')]()[_0x9453('0x95')]();var _0x4641b0=path[_0x9453('0x6f')](config['root'],_0x9453('0x96'),_0x9453('0x97'),_0x9453('0x98'));var _0x54a79f=path[_0x9453('0x6f')](config[_0x9453('0x70')],'server',_0x9453('0x97'),_0x9453('0x6e'));var _0x2b4c06=util[_0x9453('0x78')](_0x9453('0x99'),_0x5c10e7);return db[_0x9453('0x39')][_0x9453('0x56')]({'where':{'id':_0x1bee79[_0x9453('0x52')]['id']},'attributes':['id','body','from','to','cc',_0x9453('0x9a'),_0x9453('0x9b'),_0x9453('0x9c')],'include':_0x1bee79[_0x9453('0x3e')]['attachments']?[{'model':db[_0x9453('0x9d')],'as':'Attachments'}]:undefined})[_0x9453('0x33')](handleEntityNotFound(_0xf4429b,null))['then'](function(_0x473098){if(_0x473098){var _0x25af48=_0x473098;var _0x231710={'from':_0x25af48[_0x9453('0x9e')],'to':_0x25af48['to'],'subject':_0x25af48[_0x9453('0x9b')],'html':_0x25af48[_0x9453('0x57')],'headers':{'Date':moment(_0x25af48[_0x9453('0x9c')])[_0x9453('0x78')](_0x9453('0x9f'))},'attachments':[]};if(_0x473098['cc']){_0x231710['headers']['Cc']=_0x473098['cc'];}if(_0x473098[_0x9453('0x9a')]){_0x231710[_0x9453('0xa0')]['Bcc']=_0x473098[_0x9453('0x9a')];}return new BPromise(function(_0xfee3f3,_0x5e97e1){if(_0x473098[_0x9453('0xa1')]){for(var _0x352dc5=0x0;_0x352dc5<_0x473098[_0x9453('0xa1')][_0x9453('0x43')];_0x352dc5++){var _0x4ff679=_0x473098[_0x9453('0xa1')][_0x352dc5];var _0x112226=path[_0x9453('0x6f')](_0x54a79f,_0x4ff679['basename']);if(fs[_0x9453('0xa2')](_0x112226)){_0x231710[_0x9453('0x6e')][_0x9453('0xa3')]({'name':_0x4ff679[_0x9453('0x4b')],'contentType':_0x4ff679['type'],'data':fs[_0x9453('0xa4')](_0x112226)});}}}emlformat[_0x9453('0xa5')](_0x231710,function(_0xcca9ed,_0x5bde51){if(_0xcca9ed)return _0x5e97e1(_0xcca9ed);fs[_0x9453('0xa6')](path[_0x9453('0x6f')](_0x4641b0,_0x2b4c06),_0x5bde51);return _0xfee3f3(_0x5bde51);});});}})[_0x9453('0x33')](function(_0x372c69){if(_0x372c69){return _0xf4429b['download'](path[_0x9453('0x6f')](_0x4641b0,_0x2b4c06),_0x2b4c06,function(_0x4251d1){if(_0x4251d1){console[_0x9453('0xa7')]('err',_0x4251d1);}else{fs[_0x9453('0xa8')](path[_0x9453('0x6f')](_0x4641b0,_0x2b4c06));}});}})['catch'](handleError(_0xf4429b,null));};