Built motion from commit (unavailable).|2.5.4
[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 _0x6dd1=['type','key','model','map','query','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','merge','where','count','includeAll','include','findAll','rows','catch','show','rawAttributes','keys','options','update','body','params','find','describe','direction','out','secret','findOne','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','Smtp','isNil','host','port','secure','authentication','user','pass','service','auth','attachments','root','server/files/attachments','basename','List\x20not\x20found','SendMail','sendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','mail','read','readAt','format','UserId','MailInteraction','read1stAt','interaction','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','manual','interface','event','accept','EventManager','acceptmessage','../../config/logger','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','rejectMessage','SIP/%s','channel','rejectmessage','download','unix','toString','server','files','message-%s.eml','from','bcc','subject','Attachments','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','join','existsSync','push','readFileSync','writeFileSync','log','err','unlinkSync','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','http','client','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','sendStatus','status','offset','limit','set','json','apply','reject','save','end','stack','name','send','index','MailMessage'];(function(_0x24783e,_0x48f578){var _0x143b90=function(_0x28daac){while(--_0x28daac){_0x24783e['push'](_0x24783e['shift']());}};_0x143b90(++_0x48f578);}(_0x6dd1,0x111));var _0x16dd=function(_0x577f1a,_0x400939){_0x577f1a=_0x577f1a-0x0;var _0x3ef82f=_0x6dd1[_0x577f1a];return _0x3ef82f;};'use strict';var pdf=require(_0x16dd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x16dd('0x1'));var zipdir=require(_0x16dd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x16dd('0x3'));var moment=require(_0x16dd('0x4'));var BPromise=require(_0x16dd('0x5'));var Mustache=require(_0x16dd('0x6'));var util=require(_0x16dd('0x7'));var path=require(_0x16dd('0x8'));var sox=require(_0x16dd('0x9'));var csv=require(_0x16dd('0xa'));var ejs=require(_0x16dd('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x16dd('0xc'));var toCsv=require(_0x16dd('0xa'));var querystring=require(_0x16dd('0xd'));var Papa=require(_0x16dd('0xe'));var Redis=require('ioredis');var authService=require(_0x16dd('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x16dd('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x16dd('0x11'));var utils=require(_0x16dd('0x12'));var config=require('../../config/environment');var db=require(_0x16dd('0x13'))['db'];config[_0x16dd('0x14')]=_[_0x16dd('0x15')](config['redis'],{'host':_0x16dd('0x16'),'port':0x18eb});var socket=require(_0x16dd('0x17'))(new Redis(config[_0x16dd('0x14')]));require(_0x16dd('0x18'))[_0x16dd('0x19')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x16dd('0x1a')]({'port':0x232c});var client9003=jayson['client'][_0x16dd('0x1a')]({'port':0x232b});var client9002=jayson[_0x16dd('0x1b')][_0x16dd('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x1719ba,_0x3add51,_0x25817d){if(_0x25817d){var _0x17a646=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x17a646[_0x16dd('0x1c')](_0x3add51)){return _0x1719ba;}else{throw new db['Sequelize'][(_0x16dd('0x1d'))](_0x16dd('0x1e'));}}else{return _0x1719ba;}}function respondWithRpcPromise(_0x15b012,_0x1f171a,_0x3e9236,_0x59fab3){return new BPromise(function(_0x1dcb48,_0x2fb27c){var _0x3f36c0=_0x59fab3||client;return _0x3f36c0[_0x16dd('0x1f')](_0x15b012,_0x3e9236)[_0x16dd('0x20')](function(_0x2c0bd8){logger[_0x16dd('0x21')](_0x16dd('0x22'),_0x1f171a,_0x16dd('0x23'));logger[_0x16dd('0x24')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x1f171a,_0x16dd('0x23'),JSON[_0x16dd('0x25')](_0x2c0bd8));if(_0x2c0bd8[_0x16dd('0x26')]){if(_0x2c0bd8[_0x16dd('0x26')][_0x16dd('0x27')]===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x1f171a,_0x2c0bd8[_0x16dd('0x26')][_0x16dd('0x28')]);return _0x2fb27c(_0x2c0bd8['error'][_0x16dd('0x28')]);}logger[_0x16dd('0x26')](_0x16dd('0x22'),_0x1f171a,_0x2c0bd8['error'][_0x16dd('0x28')]);return _0x1dcb48(_0x2c0bd8[_0x16dd('0x26')][_0x16dd('0x28')]);}else{logger['info'](_0x16dd('0x22'),_0x1f171a,_0x16dd('0x23'));_0x1dcb48(_0x2c0bd8[_0x16dd('0x29')]['message']);}})['catch'](function(_0x2dace6){logger[_0x16dd('0x26')]('MailMessage,\x20%s,\x20%s',_0x1f171a,_0x2dace6);_0x2fb27c(_0x2dace6);});});}function respondWithStatusCode(_0x4ab0fb,_0x511816){_0x511816=_0x511816||0xcc;return function(_0x2329fe){if(_0x2329fe){return _0x4ab0fb[_0x16dd('0x2a')](_0x511816);}return _0x4ab0fb[_0x16dd('0x2b')](_0x511816)['end']();};}function respondWithResult(_0x455b1d,_0xb5e868){_0xb5e868=_0xb5e868||0xc8;return function(_0x33af6f){if(_0x33af6f){return _0x455b1d[_0x16dd('0x2b')](_0xb5e868)['json'](_0x33af6f);}};}function respondWithFilteredResult(_0x134d7e,_0x2057e4){return function(_0x4ca886){if(_0x4ca886){var _0x1d9e3e=_0x4ca886['count'],_0x28f033=_0x2057e4[_0x16dd('0x2c')],_0x4ba4a1=_0x2057e4['offset']+_0x2057e4[_0x16dd('0x2d')],_0x46ff2e;if(_0x4ba4a1>=_0x1d9e3e){_0x4ba4a1=_0x1d9e3e;_0x46ff2e=0xc8;}else{_0x46ff2e=0xce;}_0x134d7e[_0x16dd('0x2b')](_0x46ff2e);return _0x134d7e[_0x16dd('0x2e')]('Content-Range',_0x28f033+'-'+_0x4ba4a1+'/'+_0x1d9e3e)[_0x16dd('0x2f')](_0x4ca886);}return null;};}function patchUpdates(_0x2bbcb4){return function(_0x49bc0c){try{jsonpatch[_0x16dd('0x30')](_0x49bc0c,_0x2bbcb4,!![]);}catch(_0x3fe7f1){return BPromise[_0x16dd('0x31')](_0x3fe7f1);}return _0x49bc0c[_0x16dd('0x32')]();};}function saveUpdates(_0x51d8fa,_0x361f40){return function(_0x101916){if(_0x101916){return _0x101916['update'](_0x51d8fa)[_0x16dd('0x20')](function(_0x53694d){return _0x53694d;});}return null;};}function removeEntity(_0xa04fee,_0x3128b1){return function(_0x4af652){if(_0x4af652){return _0x4af652['destroy']()[_0x16dd('0x20')](function(){_0xa04fee[_0x16dd('0x2b')](0xcc)[_0x16dd('0x33')]();});}};}function handleEntityNotFound(_0x2a09ec,_0x2134d2){return function(_0x7edb3f){if(!_0x7edb3f){_0x2a09ec[_0x16dd('0x2a')](0x194);}return _0x7edb3f;};}function handleError(_0x2bbed9,_0x12c14e){_0x12c14e=_0x12c14e||0x1f4;return function(_0x58ce74){logger[_0x16dd('0x26')](_0x58ce74[_0x16dd('0x34')]);if(_0x58ce74[_0x16dd('0x35')]){delete _0x58ce74['name'];}_0x2bbed9[_0x16dd('0x2b')](_0x12c14e)[_0x16dd('0x36')](_0x58ce74);};}exports[_0x16dd('0x37')]=function(_0x1f19bb,_0x4f1465){var _0x4e34a4={},_0x58a2cd={},_0x4c4788={'count':0x0,'rows':[]};var _0x11b826=_['map'](db[_0x16dd('0x38')]['rawAttributes'],function(_0x43dbdc){return{'name':_0x43dbdc['fieldName'],'type':_0x43dbdc[_0x16dd('0x39')][_0x16dd('0x3a')]};});_0x58a2cd[_0x16dd('0x3b')]=_[_0x16dd('0x3c')](_0x11b826,_0x16dd('0x35'));_0x58a2cd[_0x16dd('0x3d')]=_['keys'](_0x1f19bb[_0x16dd('0x3d')]);_0x58a2cd[_0x16dd('0x3e')]=_[_0x16dd('0x3f')](_0x58a2cd[_0x16dd('0x3b')],_0x58a2cd[_0x16dd('0x3d')]);_0x4e34a4[_0x16dd('0x40')]=_['intersection'](_0x58a2cd['model'],qs[_0x16dd('0x41')](_0x1f19bb['query']['fields']));_0x4e34a4[_0x16dd('0x40')]=_0x4e34a4[_0x16dd('0x40')][_0x16dd('0x42')]?_0x4e34a4[_0x16dd('0x40')]:_0x58a2cd[_0x16dd('0x3b')];if(!_0x1f19bb['query']['hasOwnProperty'](_0x16dd('0x43'))){_0x4e34a4[_0x16dd('0x2d')]=qs[_0x16dd('0x2d')](_0x1f19bb[_0x16dd('0x3d')][_0x16dd('0x2d')]);_0x4e34a4[_0x16dd('0x2c')]=qs[_0x16dd('0x2c')](_0x1f19bb[_0x16dd('0x3d')][_0x16dd('0x2c')]);}_0x4e34a4[_0x16dd('0x44')]=qs[_0x16dd('0x45')](_0x1f19bb[_0x16dd('0x3d')][_0x16dd('0x45')]);_0x4e34a4['where']=qs['filters'](_['pick'](_0x1f19bb[_0x16dd('0x3d')],_0x58a2cd[_0x16dd('0x3e')]),_0x11b826);if(_0x1f19bb[_0x16dd('0x3d')][_0x16dd('0x46')]){_0x4e34a4['where']=_[_0x16dd('0x47')](_0x4e34a4[_0x16dd('0x48')],{'$or':_[_0x16dd('0x3c')](_0x11b826,function(_0x1694ce){if(_0x1694ce[_0x16dd('0x39')]!=='VIRTUAL'){var _0x1ff461={};_0x1ff461[_0x1694ce[_0x16dd('0x35')]]={'$like':'%'+_0x1f19bb[_0x16dd('0x3d')][_0x16dd('0x46')]+'%'};return _0x1ff461;}})});}_0x4e34a4=_[_0x16dd('0x47')]({},_0x4e34a4,_0x1f19bb['options']);var _0x53258b={'where':_0x4e34a4[_0x16dd('0x48')]};return db['MailMessage']['count'](_0x53258b)[_0x16dd('0x20')](function(_0x305cb5){_0x4c4788[_0x16dd('0x49')]=_0x305cb5;if(_0x1f19bb['query'][_0x16dd('0x4a')]){_0x4e34a4[_0x16dd('0x4b')]=[{'all':!![]}];}return db[_0x16dd('0x38')][_0x16dd('0x4c')](_0x4e34a4);})[_0x16dd('0x20')](function(_0x6a6b5e){_0x4c4788[_0x16dd('0x4d')]=_0x6a6b5e;return _0x4c4788;})[_0x16dd('0x20')](respondWithFilteredResult(_0x4f1465,_0x4e34a4))[_0x16dd('0x4e')](handleError(_0x4f1465,null));};exports[_0x16dd('0x4f')]=function(_0x14c6e5,_0x316d85){var _0x33f878={'raw':!![],'where':{'id':_0x14c6e5['params']['id']}},_0x454aae={};_0x454aae[_0x16dd('0x3b')]=_['keys'](db['MailMessage'][_0x16dd('0x50')]);_0x454aae[_0x16dd('0x3d')]=_[_0x16dd('0x51')](_0x14c6e5[_0x16dd('0x3d')]);_0x454aae['filters']=_[_0x16dd('0x3f')](_0x454aae[_0x16dd('0x3b')],_0x454aae[_0x16dd('0x3d')]);_0x33f878[_0x16dd('0x40')]=_['intersection'](_0x454aae[_0x16dd('0x3b')],qs['fields'](_0x14c6e5[_0x16dd('0x3d')][_0x16dd('0x41')]));_0x33f878[_0x16dd('0x40')]=_0x33f878[_0x16dd('0x40')]['length']?_0x33f878[_0x16dd('0x40')]:_0x454aae[_0x16dd('0x3b')];if(_0x14c6e5[_0x16dd('0x3d')]['includeAll']){_0x33f878[_0x16dd('0x4b')]=[{'all':!![]}];}_0x33f878=_['merge']({},_0x33f878,_0x14c6e5[_0x16dd('0x52')]);return db[_0x16dd('0x38')]['find'](_0x33f878)[_0x16dd('0x20')](handleEntityNotFound(_0x316d85,null))[_0x16dd('0x20')](respondWithResult(_0x316d85,null))[_0x16dd('0x4e')](handleError(_0x316d85,null));};exports[_0x16dd('0x53')]=function(_0x2f6f0c,_0x39df48){if(_0x2f6f0c['body']['id']){delete _0x2f6f0c[_0x16dd('0x54')]['id'];}return db[_0x16dd('0x38')]['find']({'where':{'id':_0x2f6f0c[_0x16dd('0x55')]['id']}})['then'](handleEntityNotFound(_0x39df48,null))['then'](saveUpdates(_0x2f6f0c[_0x16dd('0x54')],null))[_0x16dd('0x20')](respondWithResult(_0x39df48,null))[_0x16dd('0x4e')](handleError(_0x39df48,null));};exports['destroy']=function(_0x450f39,_0x9b195c){return db[_0x16dd('0x38')][_0x16dd('0x56')]({'where':{'id':_0x450f39[_0x16dd('0x55')]['id']}})['then'](handleEntityNotFound(_0x9b195c,null))[_0x16dd('0x20')](removeEntity(_0x9b195c,null))['catch'](handleError(_0x9b195c,null));};exports['describe']=function(_0x40865b,_0x10be1b){return db[_0x16dd('0x38')][_0x16dd('0x57')]()[_0x16dd('0x20')](respondWithResult(_0x10be1b,null))[_0x16dd('0x4e')](handleError(_0x10be1b,null));};exports['create']=function(_0x5845eb,_0x582acf){return db[_0x16dd('0x38')]['create'](_0x5845eb[_0x16dd('0x54')])['then'](function(_0xece166){if(_0xece166){if(_0xece166[_0x16dd('0x58')]===_0x16dd('0x59')&&!_0xece166[_0x16dd('0x5a')]){var _0x78ebef,_0x48d552,_0x5c6317;if(_0x5845eb[_0x16dd('0x54')]['to']){_0x48d552=_0x5845eb[_0x16dd('0x54')]['to']['split'](',')[0x0];}return db['MailAccount'][_0x16dd('0x5b')]({'where':{'id':_0xece166[_0x16dd('0x5c')]},'include':[{'model':db[_0x16dd('0x5d')],'as':_0x16dd('0x5e'),'include':[{'model':db[_0x16dd('0x5f')],'as':_0x16dd('0x60'),'where':{'email':_0x48d552},'limit':0x1,'order':[[_0x16dd('0x61'),_0x16dd('0x62')]]}]},{'model':db['MailServerOut'],'as':_0x16dd('0x63'),'raw':!![]}]})[_0x16dd('0x20')](function(_0x3e5a05){_0x78ebef=_0x3e5a05;if(_0x78ebef&&_0x78ebef[_0x16dd('0x63')]){var _0x24e79f={'tls':{'rejectUnauthorized':![]}};if(_[_0x16dd('0x64')](_0x78ebef[_0x16dd('0x63')]['service'])){_0x24e79f[_0x16dd('0x65')]=_0x78ebef[_0x16dd('0x63')][_0x16dd('0x65')];_0x24e79f[_0x16dd('0x66')]=_0x78ebef[_0x16dd('0x63')][_0x16dd('0x66')];_0x24e79f[_0x16dd('0x67')]=_0x78ebef['Smtp'][_0x16dd('0x67')];if(_0x78ebef[_0x16dd('0x63')][_0x16dd('0x68')]){_0x24e79f['auth']={'user':_0x78ebef[_0x16dd('0x63')][_0x16dd('0x69')],'pass':_0x78ebef['Smtp'][_0x16dd('0x6a')]};}}else{_0x24e79f[_0x16dd('0x6b')]=_0x78ebef[_0x16dd('0x63')][_0x16dd('0x6b')];_0x24e79f[_0x16dd('0x6c')]={'user':_0x78ebef[_0x16dd('0x63')][_0x16dd('0x69')],'pass':_0x78ebef[_0x16dd('0x63')][_0x16dd('0x6a')]};_0x24e79f[_0x16dd('0x67')]=_0x78ebef['Smtp'][_0x16dd('0x67')];}if(_0x5845eb[_0x16dd('0x54')]['attachments']&&_0x5845eb[_0x16dd('0x54')][_0x16dd('0x6d')][_0x16dd('0x42')]){for(var _0x177c6=0x0;_0x177c6<_0x5845eb[_0x16dd('0x54')][_0x16dd('0x6d')]['length'];_0x177c6+=0x1){_0x5845eb[_0x16dd('0x54')][_0x16dd('0x6d')][_0x177c6]={'filename':_0x5845eb[_0x16dd('0x54')][_0x16dd('0x6d')][_0x177c6][_0x16dd('0x35')],'path':path['join'](config[_0x16dd('0x6e')],_0x16dd('0x6f'),_0x5845eb[_0x16dd('0x54')][_0x16dd('0x6d')][_0x177c6][_0x16dd('0x70')])};}}_0x5c6317={'account':_0x24e79f,'message':_0x5845eb['body']};return;}})[_0x16dd('0x20')](function(){if(_0x78ebef[_0x16dd('0x5e')]){if(_0x78ebef[_0x16dd('0x5e')][_0x16dd('0x60')]['length']){return _0x78ebef[_0x16dd('0x5e')][_0x16dd('0x60')][0x0];}else{return db['CmContact']['create'](_['defaults'](_0x5845eb[_0x16dd('0x54')],{'firstName':_0x5845eb['body']['to'],'email':_0x5845eb['body']['to'],'phone':_0x5845eb['body']['to'],'ListId':_0x78ebef['ListId']}));}}else{throw new Error(_0x16dd('0x71'));}})[_0x16dd('0x20')](function(){if(_0x5c6317){return respondWithRpcPromise(_0x16dd('0x72'),_0x16dd('0x73'),_0x5c6317,client9003)[_0x16dd('0x20')](function(_0x173e02){return _0xece166['update']({'read':!![],'messageId':_0x173e02[_0x16dd('0x74')],'sentAt':moment()['format'](_0x16dd('0x75'))});})['catch'](function(_0x1f1a87){logger[_0x16dd('0x26')]('%s',JSON[_0x16dd('0x25')](_0x1f1a87));return _0xece166;});}return _0xece166;});}return _0xece166;}})['then'](respondWithResult(_0x582acf,0xc9))['catch'](handleError(_0x582acf,null));};var interaction_log=require('../../config/logger')(_0x16dd('0x76'));exports['accept']=function(_0x3b09e8,_0x574d1a,_0x45779a){var _0x5a5473={'channel':_0x16dd('0x77')};if(_0x3b09e8['body']['id']){delete _0x3b09e8['body']['id'];}_0x3b09e8['body'][_0x16dd('0x78')]=!![];_0x3b09e8['body'][_0x16dd('0x79')]=moment()[_0x16dd('0x7a')](_0x16dd('0x75'));_0x3b09e8[_0x16dd('0x54')][_0x16dd('0x7b')]=_0x3b09e8[_0x16dd('0x54')][_0x16dd('0x7b')]||_0x3b09e8[_0x16dd('0x69')]['id'];return db[_0x16dd('0x38')][_0x16dd('0x56')]({'where':{'id':_0x3b09e8[_0x16dd('0x55')]['id'],'UserId':null},'include':[{'model':db[_0x16dd('0x5f')],'as':'Contact'}]})[_0x16dd('0x20')](handleEntityNotFound(_0x574d1a,null))['then'](saveUpdates(_0x3b09e8[_0x16dd('0x54')],null))[_0x16dd('0x20')](function(_0x2b670a){if(_0x2b670a){_0x5a5473[_0x16dd('0x28')]=_0x2b670a['get']({'plain':!![]});return db[_0x16dd('0x7c')]['find']({'where':{'id':_0x2b670a['MailInteractionId']}});}return null;})[_0x16dd('0x20')](handleEntityNotFound(_0x574d1a,null))['then'](function(_0x5c6fef){if(_0x5c6fef){return _0x5c6fef[_0x16dd('0x53')]({'UserId':_0x3b09e8[_0x16dd('0x54')]['UserId'],'read1stAt':_[_0x16dd('0x64')](_0x5c6fef[_0x16dd('0x7d')])?moment()[_0x16dd('0x7a')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x16dd('0x20')](function(_0x5a468e){if(_0x5a468e){_0x5a5473[_0x16dd('0x7e')]=_0x5a468e[_0x16dd('0x7f')]({'plain':!![]});interaction_log[_0x16dd('0x21')](_0x16dd('0x80'),_0x3b09e8[_0x16dd('0x69')]['id'],_0x3b09e8[_0x16dd('0x69')][_0x16dd('0x35')],_0x3b09e8[_0x16dd('0x69')]['role'],_0x5a5473[_0x16dd('0x7e')]['id'],_0x3b09e8[_0x16dd('0x54')]?JSON[_0x16dd('0x25')](_0x3b09e8[_0x16dd('0x54')]):'null');return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x5a5473);}return null;})['then'](function(_0x10bfcd){if(_0x10bfcd){if(_0x3b09e8[_0x16dd('0x54')][_0x16dd('0x81')]){_0x5a5473[_0x16dd('0x28')][_0x16dd('0x82')]=util[_0x16dd('0x7a')]('SIP/%s',_0x3b09e8[_0x16dd('0x69')][_0x16dd('0x35')]);_0x5a5473[_0x16dd('0x28')]['channel']=_0x5a5473['channel'];_0x5a5473['message'][_0x16dd('0x83')]=_0x16dd('0x84');return respondWithRpcPromise(_0x16dd('0x85'),_0x16dd('0x85'),{'event':_0x16dd('0x86'),'message':_0x5a5473['message']},client9002)[_0x16dd('0x20')](function(){return _0x5a5473;});}return _0x5a5473;}return null;})[_0x16dd('0x20')](respondWithResult(_0x574d1a,null))['catch'](handleError(_0x574d1a,null));};var interaction_log=require(_0x16dd('0x87'))(_0x16dd('0x76'));exports[_0x16dd('0x31')]=function(_0x29e5fe,_0x1bda75,_0x47fcd3){var _0x4d1983={'agent':{},'channel':'mail'};if(_0x29e5fe[_0x16dd('0x54')]['id']){delete _0x29e5fe[_0x16dd('0x54')]['id'];}_0x29e5fe[_0x16dd('0x54')][_0x16dd('0x7b')]=_0x29e5fe['body'][_0x16dd('0x7b')]||_0x29e5fe[_0x16dd('0x69')]['id'];_0x4d1983[_0x16dd('0x88')]['id']=_0x29e5fe[_0x16dd('0x54')][_0x16dd('0x7b')];return db[_0x16dd('0x38')]['find']({'where':{'id':_0x29e5fe[_0x16dd('0x55')]['id'],'UserId':null}})[_0x16dd('0x20')](handleEntityNotFound(_0x1bda75,null))[_0x16dd('0x20')](function(_0x2dc670){if(_0x2dc670){_0x4d1983[_0x16dd('0x28')]=_0x2dc670[_0x16dd('0x7f')]({'plain':!![]});return db[_0x16dd('0x7c')][_0x16dd('0x56')]({'where':{'id':_0x2dc670['MailInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x1bda75,null))['then'](function(_0x5d5d39){if(_0x5d5d39){_0x4d1983[_0x16dd('0x7e')]=_0x5d5d39[_0x16dd('0x7f')]({'plain':!![]});interaction_log[_0x16dd('0x21')](_0x16dd('0x89'),_0x29e5fe[_0x16dd('0x69')]['id'],_0x29e5fe[_0x16dd('0x69')]['name'],_0x29e5fe[_0x16dd('0x69')][_0x16dd('0x8a')],_0x4d1983['interaction']['id'],_0x29e5fe[_0x16dd('0x54')]?JSON[_0x16dd('0x25')](_0x29e5fe['body']):_0x16dd('0x8b'));return respondWithRpcPromise('RejectMessage',_0x16dd('0x8c'),_0x4d1983);}return null;})[_0x16dd('0x20')](function(_0xf2b994){if(_0xf2b994){_0xf2b994[_0x16dd('0x28')][_0x16dd('0x82')]=util['format'](_0x16dd('0x8d'),_0x29e5fe[_0x16dd('0x69')][_0x16dd('0x35')]);_0xf2b994['message']['channel']=_0x4d1983[_0x16dd('0x8e')];_0xf2b994[_0x16dd('0x28')][_0x16dd('0x83')]=_0x16dd('0x31');respondWithRpcPromise('EventManager',_0x16dd('0x85'),{'event':_0x16dd('0x8f'),'message':_0xf2b994[_0x16dd('0x28')]},client9002);return _0x4d1983;}return null;})[_0x16dd('0x20')](respondWithResult(_0x1bda75,null))[_0x16dd('0x4e')](handleError(_0x1bda75,null));};exports[_0x16dd('0x90')]=function(_0x24a069,_0x1e1002){var _0x3858de=moment()[_0x16dd('0x91')]()[_0x16dd('0x92')]();var _0x1b4af4=path['join'](config[_0x16dd('0x6e')],'server','files','tmp');var _0x54050f=path['join'](config['root'],_0x16dd('0x93'),_0x16dd('0x94'),'attachments');var _0x208d33=util['format'](_0x16dd('0x95'),_0x3858de);return db['MailMessage'][_0x16dd('0x56')]({'where':{'id':_0x24a069[_0x16dd('0x55')]['id']},'attributes':['id','body',_0x16dd('0x96'),'to','cc',_0x16dd('0x97'),_0x16dd('0x98'),'createdAt'],'include':_0x24a069[_0x16dd('0x3d')]['attachments']?[{'model':db['Attachment'],'as':_0x16dd('0x99')}]:undefined})['then'](handleEntityNotFound(_0x1e1002,null))[_0x16dd('0x20')](function(_0x4a1c1c){if(_0x4a1c1c){var _0x402250=_0x4a1c1c;var _0x38190a={'from':_0x402250[_0x16dd('0x96')],'to':_0x402250['to'],'subject':_0x402250[_0x16dd('0x98')],'html':_0x402250['body'],'headers':{'Date':moment(_0x402250[_0x16dd('0x9a')])[_0x16dd('0x7a')](_0x16dd('0x9b'))},'attachments':[]};if(_0x4a1c1c['cc']){_0x38190a[_0x16dd('0x9c')]['Cc']=_0x4a1c1c['cc'];}if(_0x4a1c1c[_0x16dd('0x97')]){_0x38190a['headers']['Bcc']=_0x4a1c1c[_0x16dd('0x97')];}return new BPromise(function(_0x252c4c,_0x405e49){if(_0x4a1c1c[_0x16dd('0x99')]){for(var _0x592fc4=0x0;_0x592fc4<_0x4a1c1c['Attachments'][_0x16dd('0x42')];_0x592fc4++){var _0x4e25be=_0x4a1c1c[_0x16dd('0x99')][_0x592fc4];var _0x356f36=path[_0x16dd('0x9d')](_0x54050f,_0x4e25be['basename']);if(fs[_0x16dd('0x9e')](_0x356f36)){_0x38190a[_0x16dd('0x6d')][_0x16dd('0x9f')]({'name':_0x4e25be[_0x16dd('0x35')],'contentType':_0x4e25be[_0x16dd('0x39')],'data':fs[_0x16dd('0xa0')](_0x356f36)});}}}emlformat['build'](_0x38190a,function(_0x2cd653,_0x35f536){if(_0x2cd653)return _0x405e49(_0x2cd653);fs[_0x16dd('0xa1')](path[_0x16dd('0x9d')](_0x1b4af4,_0x208d33),_0x35f536);return _0x252c4c(_0x35f536);});});}})[_0x16dd('0x20')](function(_0x3d59e2){if(_0x3d59e2){return _0x1e1002[_0x16dd('0x90')](path[_0x16dd('0x9d')](_0x1b4af4,_0x208d33),_0x208d33,function(_0x4ee4c3){if(_0x4ee4c3){console[_0x16dd('0xa2')](_0x16dd('0xa3'),_0x4ee4c3);}else{fs[_0x16dd('0xa4')](path['join'](_0x1b4af4,_0x208d33));}});}})[_0x16dd('0x4e')](handleError(_0x1e1002,null));};