92e1190ba6cd4bb8cdcd3a874cf5dd218c47acb8
[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 _0x5c1f=['where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','params','rawAttributes','find','describe','create','body','out','secret','split','MailAccount','findOne','MailAccountId','CmList','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','port','secure','authentication','auth','user','pass','attachments','join','root','basename','List','ListId','List\x20not\x20found','SendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','mail','read','readAt','Contact','MailInteraction','MailInteractionId','UserId','read1stAt','interaction','get','info','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','acceptMessage','manual','SIP/%s','channel','accept','EventManager','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','interface','event','download','unix','toString','server','files','tmp','message-%s.eml','from','bcc','Attachments','subject','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','push','readFileSync','build','writeFileSync','log','err','unlinkSync','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','sox','to-csv','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','register','jayson/promise','client','http','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','stack','name','send','map','MailMessage','type','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0x40f6d4,_0x5b116d){var _0x42a3ad=function(_0x3d7611){while(--_0x3d7611){_0x40f6d4['push'](_0x40f6d4['shift']());}};_0x42a3ad(++_0x5b116d);}(_0x5c1f,0x1b3));var _0xf5c1=function(_0x87239,_0x38c793){_0x87239=_0x87239-0x0;var _0x53af1e=_0x5c1f[_0x87239];return _0x53af1e;};'use strict';var pdf=require(_0xf5c1('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xf5c1('0x1'));var zipdir=require(_0xf5c1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf5c1('0x3'));var moment=require(_0xf5c1('0x4'));var BPromise=require(_0xf5c1('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xf5c1('0x6'));var csv=require(_0xf5c1('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf5c1('0x8'));var squel=require(_0xf5c1('0x9'));var crypto=require(_0xf5c1('0xa'));var jsforce=require(_0xf5c1('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xf5c1('0xc'));var authService=require(_0xf5c1('0xd'));var qs=require(_0xf5c1('0xe'));var as=require(_0xf5c1('0xf'));var hardwareService=require(_0xf5c1('0x10'));var logger=require(_0xf5c1('0x11'))(_0xf5c1('0x12'));var utils=require(_0xf5c1('0x13'));var config=require('../../config/environment');var db=require(_0xf5c1('0x14'))['db'];config[_0xf5c1('0x15')]=_[_0xf5c1('0x16')](config[_0xf5c1('0x15')],{'host':_0xf5c1('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xf5c1('0x15')]));require('./mailMessage.socket')[_0xf5c1('0x18')](socket);var jayson=require(_0xf5c1('0x19'));var client=jayson[_0xf5c1('0x1a')]['http']({'port':0x232c});var client9003=jayson[_0xf5c1('0x1a')][_0xf5c1('0x1b')]({'port':0x232b});var client9002=jayson[_0xf5c1('0x1a')][_0xf5c1('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x5891a9,_0x453d5b,_0x14934a){if(_0x14934a){var _0x312d6b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x312d6b[_0xf5c1('0x1c')](_0x453d5b)){return _0x5891a9;}else{throw new db[(_0xf5c1('0x1d'))]['ValidationError'](_0xf5c1('0x1e'));}}else{return _0x5891a9;}}function respondWithRpcPromise(_0x280727,_0x2d1db9,_0x17d627,_0x4055c4){return new BPromise(function(_0x31f1a8,_0x199e25){var _0xe73adc=_0x4055c4||client;return _0xe73adc['request'](_0x280727,_0x17d627)[_0xf5c1('0x1f')](function(_0x21c7f4){logger['info'](_0xf5c1('0x20'),_0x2d1db9,_0xf5c1('0x21'));logger[_0xf5c1('0x22')](_0xf5c1('0x23'),_0x2d1db9,_0xf5c1('0x21'),JSON[_0xf5c1('0x24')](_0x21c7f4));if(_0x21c7f4[_0xf5c1('0x25')]){if(_0x21c7f4['error'][_0xf5c1('0x26')]===0x1f4){logger[_0xf5c1('0x25')](_0xf5c1('0x20'),_0x2d1db9,_0x21c7f4['error'][_0xf5c1('0x27')]);return _0x199e25(_0x21c7f4[_0xf5c1('0x25')][_0xf5c1('0x27')]);}logger[_0xf5c1('0x25')]('MailMessage,\x20%s,\x20%s',_0x2d1db9,_0x21c7f4[_0xf5c1('0x25')][_0xf5c1('0x27')]);return _0x31f1a8(_0x21c7f4[_0xf5c1('0x25')][_0xf5c1('0x27')]);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x2d1db9,_0xf5c1('0x21'));_0x31f1a8(_0x21c7f4[_0xf5c1('0x28')][_0xf5c1('0x27')]);}})[_0xf5c1('0x29')](function(_0x5392be){logger[_0xf5c1('0x25')](_0xf5c1('0x20'),_0x2d1db9,_0x5392be);_0x199e25(_0x5392be);});});}function respondWithStatusCode(_0x579eea,_0x58c355){_0x58c355=_0x58c355||0xcc;return function(_0x3ac679){if(_0x3ac679){return _0x579eea[_0xf5c1('0x2a')](_0x58c355);}return _0x579eea[_0xf5c1('0x2b')](_0x58c355)[_0xf5c1('0x2c')]();};}function respondWithResult(_0x5eb7cd,_0x24ff24){_0x24ff24=_0x24ff24||0xc8;return function(_0x2cd483){if(_0x2cd483){return _0x5eb7cd[_0xf5c1('0x2b')](_0x24ff24)[_0xf5c1('0x2d')](_0x2cd483);}};}function respondWithFilteredResult(_0x4670ad,_0x220e31){return function(_0x5212a7){if(_0x5212a7){var _0x14ca67=_0x5212a7[_0xf5c1('0x2e')],_0x2a6ec1=_0x220e31['offset'],_0x50efb7=_0x220e31[_0xf5c1('0x2f')]+_0x220e31[_0xf5c1('0x30')],_0x5a8495;if(_0x50efb7>=_0x14ca67){_0x50efb7=_0x14ca67;_0x5a8495=0xc8;}else{_0x5a8495=0xce;}_0x4670ad[_0xf5c1('0x2b')](_0x5a8495);return _0x4670ad[_0xf5c1('0x31')](_0xf5c1('0x32'),_0x2a6ec1+'-'+_0x50efb7+'/'+_0x14ca67)[_0xf5c1('0x2d')](_0x5212a7);}return null;};}function patchUpdates(_0x1874e0){return function(_0x439104){try{jsonpatch[_0xf5c1('0x33')](_0x439104,_0x1874e0,!![]);}catch(_0x447b35){return BPromise['reject'](_0x447b35);}return _0x439104[_0xf5c1('0x34')]();};}function saveUpdates(_0xc16cd7,_0x129945){return function(_0x12510e){if(_0x12510e){return _0x12510e[_0xf5c1('0x35')](_0xc16cd7)[_0xf5c1('0x1f')](function(_0x2c6eab){return _0x2c6eab;});}return null;};}function removeEntity(_0x3ab69b,_0x33c7a9){return function(_0x47bc09){if(_0x47bc09){return _0x47bc09[_0xf5c1('0x36')]()[_0xf5c1('0x1f')](function(){_0x3ab69b[_0xf5c1('0x2b')](0xcc)[_0xf5c1('0x2c')]();});}};}function handleEntityNotFound(_0x2a1123,_0x25070f){return function(_0x7371f8){if(!_0x7371f8){_0x2a1123[_0xf5c1('0x2a')](0x194);}return _0x7371f8;};}function handleError(_0x5f2055,_0x7392fc){_0x7392fc=_0x7392fc||0x1f4;return function(_0x552994){logger[_0xf5c1('0x25')](_0x552994[_0xf5c1('0x37')]);if(_0x552994[_0xf5c1('0x38')]){delete _0x552994[_0xf5c1('0x38')];}_0x5f2055[_0xf5c1('0x2b')](_0x7392fc)[_0xf5c1('0x39')](_0x552994);};}exports['index']=function(_0xf5dd29,_0x28ebe3){var _0x18e751={},_0x1e536b={},_0x48c050={'count':0x0,'rows':[]};var _0x644960=_[_0xf5c1('0x3a')](db[_0xf5c1('0x3b')]['rawAttributes'],function(_0x44b397){return{'name':_0x44b397['fieldName'],'type':_0x44b397[_0xf5c1('0x3c')]['key']};});_0x1e536b[_0xf5c1('0x3d')]=_[_0xf5c1('0x3a')](_0x644960,_0xf5c1('0x38'));_0x1e536b[_0xf5c1('0x3e')]=_[_0xf5c1('0x3f')](_0xf5dd29[_0xf5c1('0x3e')]);_0x1e536b['filters']=_['intersection'](_0x1e536b['model'],_0x1e536b['query']);_0x18e751[_0xf5c1('0x40')]=_[_0xf5c1('0x41')](_0x1e536b[_0xf5c1('0x3d')],qs[_0xf5c1('0x42')](_0xf5dd29[_0xf5c1('0x3e')][_0xf5c1('0x42')]));_0x18e751[_0xf5c1('0x40')]=_0x18e751[_0xf5c1('0x40')][_0xf5c1('0x43')]?_0x18e751[_0xf5c1('0x40')]:_0x1e536b['model'];if(!_0xf5dd29[_0xf5c1('0x3e')][_0xf5c1('0x44')](_0xf5c1('0x45'))){_0x18e751[_0xf5c1('0x30')]=qs[_0xf5c1('0x30')](_0xf5dd29['query']['limit']);_0x18e751[_0xf5c1('0x2f')]=qs['offset'](_0xf5dd29[_0xf5c1('0x3e')][_0xf5c1('0x2f')]);}_0x18e751[_0xf5c1('0x46')]=qs['sort'](_0xf5dd29[_0xf5c1('0x3e')][_0xf5c1('0x47')]);_0x18e751[_0xf5c1('0x48')]=qs[_0xf5c1('0x49')](_[_0xf5c1('0x4a')](_0xf5dd29['query'],_0x1e536b[_0xf5c1('0x49')]),_0x644960);if(_0xf5dd29[_0xf5c1('0x3e')][_0xf5c1('0x4b')]){_0x18e751[_0xf5c1('0x48')]=_[_0xf5c1('0x4c')](_0x18e751[_0xf5c1('0x48')],{'$or':_['map'](_0x644960,function(_0x1cd41f){if(_0x1cd41f[_0xf5c1('0x3c')]!==_0xf5c1('0x4d')){var _0x5868cf={};_0x5868cf[_0x1cd41f[_0xf5c1('0x38')]]={'$like':'%'+_0xf5dd29[_0xf5c1('0x3e')]['filter']+'%'};return _0x5868cf;}})});}_0x18e751=_[_0xf5c1('0x4c')]({},_0x18e751,_0xf5dd29['options']);var _0x33ff54={'where':_0x18e751[_0xf5c1('0x48')]};return db[_0xf5c1('0x3b')][_0xf5c1('0x2e')](_0x33ff54)[_0xf5c1('0x1f')](function(_0xf2df6a){_0x48c050['count']=_0xf2df6a;if(_0xf5dd29['query'][_0xf5c1('0x4e')]){_0x18e751[_0xf5c1('0x4f')]=[{'all':!![]}];}return db[_0xf5c1('0x3b')][_0xf5c1('0x50')](_0x18e751);})[_0xf5c1('0x1f')](function(_0x11d912){_0x48c050[_0xf5c1('0x51')]=_0x11d912;return _0x48c050;})[_0xf5c1('0x1f')](respondWithFilteredResult(_0x28ebe3,_0x18e751))[_0xf5c1('0x29')](handleError(_0x28ebe3,null));};exports['show']=function(_0x5d6aaf,_0x231969){var _0x42bb91={'raw':!![],'where':{'id':_0x5d6aaf[_0xf5c1('0x52')]['id']}},_0x22e389={};_0x22e389[_0xf5c1('0x3d')]=_['keys'](db[_0xf5c1('0x3b')][_0xf5c1('0x53')]);_0x22e389[_0xf5c1('0x3e')]=_[_0xf5c1('0x3f')](_0x5d6aaf['query']);_0x22e389[_0xf5c1('0x49')]=_[_0xf5c1('0x41')](_0x22e389['model'],_0x22e389[_0xf5c1('0x3e')]);_0x42bb91['attributes']=_[_0xf5c1('0x41')](_0x22e389['model'],qs[_0xf5c1('0x42')](_0x5d6aaf[_0xf5c1('0x3e')][_0xf5c1('0x42')]));_0x42bb91[_0xf5c1('0x40')]=_0x42bb91[_0xf5c1('0x40')][_0xf5c1('0x43')]?_0x42bb91[_0xf5c1('0x40')]:_0x22e389[_0xf5c1('0x3d')];if(_0x5d6aaf[_0xf5c1('0x3e')][_0xf5c1('0x4e')]){_0x42bb91[_0xf5c1('0x4f')]=[{'all':!![]}];}_0x42bb91=_[_0xf5c1('0x4c')]({},_0x42bb91,_0x5d6aaf['options']);return db[_0xf5c1('0x3b')][_0xf5c1('0x54')](_0x42bb91)[_0xf5c1('0x1f')](handleEntityNotFound(_0x231969,null))[_0xf5c1('0x1f')](respondWithResult(_0x231969,null))[_0xf5c1('0x29')](handleError(_0x231969,null));};exports[_0xf5c1('0x35')]=function(_0xf26982,_0x437466){if(_0xf26982['body']['id']){delete _0xf26982['body']['id'];}return db[_0xf5c1('0x3b')]['find']({'where':{'id':_0xf26982[_0xf5c1('0x52')]['id']}})[_0xf5c1('0x1f')](handleEntityNotFound(_0x437466,null))[_0xf5c1('0x1f')](saveUpdates(_0xf26982['body'],null))['then'](respondWithResult(_0x437466,null))['catch'](handleError(_0x437466,null));};exports[_0xf5c1('0x36')]=function(_0x15f93f,_0x22cfd2){return db['MailMessage'][_0xf5c1('0x54')]({'where':{'id':_0x15f93f['params']['id']}})[_0xf5c1('0x1f')](handleEntityNotFound(_0x22cfd2,null))['then'](removeEntity(_0x22cfd2,null))[_0xf5c1('0x29')](handleError(_0x22cfd2,null));};exports['describe']=function(_0xda4e93,_0x17c807){return db[_0xf5c1('0x3b')][_0xf5c1('0x55')]()[_0xf5c1('0x1f')](respondWithResult(_0x17c807,null))[_0xf5c1('0x29')](handleError(_0x17c807,null));};exports[_0xf5c1('0x56')]=function(_0x5e2ee4,_0x5bd778){return db['MailMessage'][_0xf5c1('0x56')](_0x5e2ee4[_0xf5c1('0x57')])[_0xf5c1('0x1f')](function(_0x1a4a2d){if(_0x1a4a2d){if(_0x1a4a2d['direction']===_0xf5c1('0x58')&&!_0x1a4a2d[_0xf5c1('0x59')]){var _0x36fd86,_0x35ff76,_0x40c7de;if(_0x5e2ee4['body']['to']){_0x35ff76=_0x5e2ee4[_0xf5c1('0x57')]['to'][_0xf5c1('0x5a')](',')[0x0];}return db[_0xf5c1('0x5b')][_0xf5c1('0x5c')]({'where':{'id':_0x1a4a2d[_0xf5c1('0x5d')]},'include':[{'model':db[_0xf5c1('0x5e')],'as':'List','include':[{'model':db[_0xf5c1('0x5f')],'as':_0xf5c1('0x60'),'where':{'email':_0x35ff76},'limit':0x1,'order':[[_0xf5c1('0x61'),_0xf5c1('0x62')]]}]},{'model':db[_0xf5c1('0x63')],'as':'Smtp','raw':!![]}]})[_0xf5c1('0x1f')](function(_0x403e75){_0x36fd86=_0x403e75;if(_0x36fd86&&_0x36fd86[_0xf5c1('0x64')]){var _0x21bc08={'tls':{'rejectUnauthorized':![]}};if(_[_0xf5c1('0x65')](_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x66')])){_0x21bc08['host']=_0x36fd86['Smtp']['host'];_0x21bc08[_0xf5c1('0x67')]=_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x67')];_0x21bc08[_0xf5c1('0x68')]=_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x68')];if(_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x69')]){_0x21bc08[_0xf5c1('0x6a')]={'user':_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x6b')],'pass':_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x6c')]};}}else{_0x21bc08['service']=_0x36fd86[_0xf5c1('0x64')]['service'];_0x21bc08['auth']={'user':_0x36fd86[_0xf5c1('0x64')]['user'],'pass':_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x6c')]};_0x21bc08[_0xf5c1('0x68')]=_0x36fd86[_0xf5c1('0x64')][_0xf5c1('0x68')];}if(_0x5e2ee4[_0xf5c1('0x57')][_0xf5c1('0x6d')]&&_0x5e2ee4[_0xf5c1('0x57')][_0xf5c1('0x6d')]['length']){for(var _0x327ed7=0x0;_0x327ed7<_0x5e2ee4[_0xf5c1('0x57')]['attachments'][_0xf5c1('0x43')];_0x327ed7+=0x1){_0x5e2ee4['body'][_0xf5c1('0x6d')][_0x327ed7]={'filename':_0x5e2ee4['body']['attachments'][_0x327ed7][_0xf5c1('0x38')],'path':path[_0xf5c1('0x6e')](config[_0xf5c1('0x6f')],'server/files/attachments',_0x5e2ee4[_0xf5c1('0x57')][_0xf5c1('0x6d')][_0x327ed7][_0xf5c1('0x70')])};}}_0x40c7de={'account':_0x21bc08,'message':_0x5e2ee4[_0xf5c1('0x57')]};return;}})[_0xf5c1('0x1f')](function(){if(_0x36fd86[_0xf5c1('0x71')]){if(_0x36fd86[_0xf5c1('0x71')][_0xf5c1('0x60')][_0xf5c1('0x43')]){return _0x36fd86[_0xf5c1('0x71')][_0xf5c1('0x60')][0x0];}else{return db['CmContact'][_0xf5c1('0x56')](_[_0xf5c1('0x16')](_0x5e2ee4[_0xf5c1('0x57')],{'firstName':_0x5e2ee4[_0xf5c1('0x57')]['to'],'email':_0x5e2ee4['body']['to'],'phone':_0x5e2ee4[_0xf5c1('0x57')]['to'],'ListId':_0x36fd86[_0xf5c1('0x72')]}));}}else{throw new Error(_0xf5c1('0x73'));}})[_0xf5c1('0x1f')](function(){if(_0x40c7de){return respondWithRpcPromise(_0xf5c1('0x74'),'sendMail',_0x40c7de,client9003)['then'](function(_0x2c9994){return _0x1a4a2d['update']({'read':!![],'messageId':_0x2c9994[_0xf5c1('0x75')],'sentAt':moment()[_0xf5c1('0x76')](_0xf5c1('0x77'))});})[_0xf5c1('0x29')](function(_0x18ccc3){logger[_0xf5c1('0x25')]('%s',JSON[_0xf5c1('0x24')](_0x18ccc3));return _0x1a4a2d;});}return _0x1a4a2d;});}return _0x1a4a2d;}})[_0xf5c1('0x1f')](respondWithResult(_0x5bd778,0xc9))[_0xf5c1('0x29')](handleError(_0x5bd778,null));};var interaction_log=require('../../config/logger')(_0xf5c1('0x78'));exports['accept']=function(_0x57dcd3,_0x139025,_0x5cca57){var _0x34d676={'channel':_0xf5c1('0x79')};if(_0x57dcd3[_0xf5c1('0x57')]['id']){delete _0x57dcd3[_0xf5c1('0x57')]['id'];}_0x57dcd3[_0xf5c1('0x57')][_0xf5c1('0x7a')]=!![];_0x57dcd3['body'][_0xf5c1('0x7b')]=moment()['format'](_0xf5c1('0x77'));_0x57dcd3['body']['UserId']=_0x57dcd3[_0xf5c1('0x57')]['UserId']||_0x57dcd3[_0xf5c1('0x6b')]['id'];return db[_0xf5c1('0x3b')][_0xf5c1('0x54')]({'where':{'id':_0x57dcd3[_0xf5c1('0x52')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0xf5c1('0x7c')}]})['then'](handleEntityNotFound(_0x139025,null))[_0xf5c1('0x1f')](saveUpdates(_0x57dcd3[_0xf5c1('0x57')],null))[_0xf5c1('0x1f')](function(_0x4fab89){if(_0x4fab89){_0x34d676[_0xf5c1('0x27')]=_0x4fab89['get']({'plain':!![]});return db[_0xf5c1('0x7d')][_0xf5c1('0x54')]({'where':{'id':_0x4fab89[_0xf5c1('0x7e')]}});}return null;})[_0xf5c1('0x1f')](handleEntityNotFound(_0x139025,null))[_0xf5c1('0x1f')](function(_0x542853){if(_0x542853){return _0x542853['update']({'UserId':_0x57dcd3[_0xf5c1('0x57')][_0xf5c1('0x7f')],'read1stAt':_['isNil'](_0x542853[_0xf5c1('0x80')])?moment()[_0xf5c1('0x76')](_0xf5c1('0x77')):undefined});}return null;})['then'](function(_0x5a86fd){if(_0x5a86fd){_0x34d676[_0xf5c1('0x81')]=_0x5a86fd[_0xf5c1('0x82')]({'plain':!![]});interaction_log[_0xf5c1('0x83')](_0xf5c1('0x84'),_0x57dcd3[_0xf5c1('0x6b')]['id'],_0x57dcd3[_0xf5c1('0x6b')][_0xf5c1('0x38')],_0x57dcd3[_0xf5c1('0x6b')]['role'],_0x34d676[_0xf5c1('0x81')]['id'],_0x57dcd3['body']?JSON[_0xf5c1('0x24')](_0x57dcd3[_0xf5c1('0x57')]):_0xf5c1('0x85'));return respondWithRpcPromise(_0xf5c1('0x86'),_0xf5c1('0x87'),_0x34d676);}return null;})['then'](function(_0x3f6a20){if(_0x3f6a20){if(_0x57dcd3[_0xf5c1('0x57')][_0xf5c1('0x88')]){_0x34d676[_0xf5c1('0x27')]['interface']=util['format'](_0xf5c1('0x89'),_0x57dcd3[_0xf5c1('0x6b')][_0xf5c1('0x38')]);_0x34d676[_0xf5c1('0x27')]['channel']=_0x34d676[_0xf5c1('0x8a')];_0x34d676['message']['event']=_0xf5c1('0x8b');return respondWithRpcPromise(_0xf5c1('0x8c'),_0xf5c1('0x8c'),{'event':'acceptmessage','message':_0x34d676[_0xf5c1('0x27')]},client9002)[_0xf5c1('0x1f')](function(){return _0x34d676;});}return _0x34d676;}return null;})['then'](respondWithResult(_0x139025,null))[_0xf5c1('0x29')](handleError(_0x139025,null));};var interaction_log=require(_0xf5c1('0x11'))(_0xf5c1('0x78'));exports['reject']=function(_0xe134bf,_0x1223fe,_0x3ea1e3){var _0xb774b6={'agent':{},'channel':'mail'};if(_0xe134bf[_0xf5c1('0x57')]['id']){delete _0xe134bf[_0xf5c1('0x57')]['id'];}_0xe134bf[_0xf5c1('0x57')][_0xf5c1('0x7f')]=_0xe134bf['body']['UserId']||_0xe134bf['user']['id'];_0xb774b6[_0xf5c1('0x8d')]['id']=_0xe134bf['body'][_0xf5c1('0x7f')];return db['MailMessage'][_0xf5c1('0x54')]({'where':{'id':_0xe134bf[_0xf5c1('0x52')]['id'],'UserId':null}})[_0xf5c1('0x1f')](handleEntityNotFound(_0x1223fe,null))[_0xf5c1('0x1f')](function(_0x116169){if(_0x116169){_0xb774b6[_0xf5c1('0x27')]=_0x116169['get']({'plain':!![]});return db[_0xf5c1('0x7d')][_0xf5c1('0x54')]({'where':{'id':_0x116169[_0xf5c1('0x7e')]}});}return null;})[_0xf5c1('0x1f')](handleEntityNotFound(_0x1223fe,null))[_0xf5c1('0x1f')](function(_0x15437c){if(_0x15437c){_0xb774b6[_0xf5c1('0x81')]=_0x15437c[_0xf5c1('0x82')]({'plain':!![]});interaction_log[_0xf5c1('0x83')](_0xf5c1('0x8e'),_0xe134bf[_0xf5c1('0x6b')]['id'],_0xe134bf[_0xf5c1('0x6b')][_0xf5c1('0x38')],_0xe134bf[_0xf5c1('0x6b')]['role'],_0xb774b6[_0xf5c1('0x81')]['id'],_0xe134bf[_0xf5c1('0x57')]?JSON[_0xf5c1('0x24')](_0xe134bf[_0xf5c1('0x57')]):'null');return respondWithRpcPromise(_0xf5c1('0x8f'),_0xf5c1('0x90'),_0xb774b6);}return null;})[_0xf5c1('0x1f')](function(_0x3c2f58){if(_0x3c2f58){_0x3c2f58[_0xf5c1('0x27')][_0xf5c1('0x91')]=util['format']('SIP/%s',_0xe134bf[_0xf5c1('0x6b')]['name']);_0x3c2f58['message'][_0xf5c1('0x8a')]=_0xb774b6[_0xf5c1('0x8a')];_0x3c2f58[_0xf5c1('0x27')][_0xf5c1('0x92')]='reject';respondWithRpcPromise(_0xf5c1('0x8c'),_0xf5c1('0x8c'),{'event':'rejectmessage','message':_0x3c2f58[_0xf5c1('0x27')]},client9002);return _0xb774b6;}return null;})[_0xf5c1('0x1f')](respondWithResult(_0x1223fe,null))[_0xf5c1('0x29')](handleError(_0x1223fe,null));};exports[_0xf5c1('0x93')]=function(_0x430af2,_0x9949f2){var _0x21b2cb=moment()[_0xf5c1('0x94')]()[_0xf5c1('0x95')]();var _0x4d4316=path[_0xf5c1('0x6e')](config[_0xf5c1('0x6f')],_0xf5c1('0x96'),_0xf5c1('0x97'),_0xf5c1('0x98'));var _0x17d46a=path[_0xf5c1('0x6e')](config[_0xf5c1('0x6f')],_0xf5c1('0x96'),_0xf5c1('0x97'),_0xf5c1('0x6d'));var _0x10b2ac=util[_0xf5c1('0x76')](_0xf5c1('0x99'),_0x21b2cb);return db[_0xf5c1('0x3b')]['find']({'where':{'id':_0x430af2[_0xf5c1('0x52')]['id']},'attributes':['id',_0xf5c1('0x57'),_0xf5c1('0x9a'),'to','cc',_0xf5c1('0x9b'),'subject','createdAt'],'include':_0x430af2[_0xf5c1('0x3e')]['attachments']?[{'model':db['Attachment'],'as':_0xf5c1('0x9c')}]:undefined})['then'](handleEntityNotFound(_0x9949f2,null))[_0xf5c1('0x1f')](function(_0x2e62e7){if(_0x2e62e7){var _0x17b5ec=_0x2e62e7;var _0x212a77={'from':_0x17b5ec[_0xf5c1('0x9a')],'to':_0x17b5ec['to'],'subject':_0x17b5ec[_0xf5c1('0x9d')],'html':_0x17b5ec[_0xf5c1('0x57')],'headers':{'Date':moment(_0x17b5ec['createdAt'])[_0xf5c1('0x76')](_0xf5c1('0x9e'))},'attachments':[]};if(_0x2e62e7['cc']){_0x212a77[_0xf5c1('0x9f')]['Cc']=_0x2e62e7['cc'];}if(_0x2e62e7[_0xf5c1('0x9b')]){_0x212a77['headers'][_0xf5c1('0xa0')]=_0x2e62e7[_0xf5c1('0x9b')];}return new BPromise(function(_0xfe2632,_0x4a9b3b){if(_0x2e62e7[_0xf5c1('0x9c')]){for(var _0x189b3f=0x0;_0x189b3f<_0x2e62e7['Attachments']['length'];_0x189b3f++){var _0x34036d=_0x2e62e7[_0xf5c1('0x9c')][_0x189b3f];var _0x1dc66f=path[_0xf5c1('0x6e')](_0x17d46a,_0x34036d[_0xf5c1('0x70')]);if(fs[_0xf5c1('0xa1')](_0x1dc66f)){_0x212a77[_0xf5c1('0x6d')][_0xf5c1('0xa2')]({'name':_0x34036d[_0xf5c1('0x38')],'contentType':_0x34036d['type'],'data':fs[_0xf5c1('0xa3')](_0x1dc66f)});}}}emlformat[_0xf5c1('0xa4')](_0x212a77,function(_0x202117,_0x4fa5ce){if(_0x202117)return _0x4a9b3b(_0x202117);fs[_0xf5c1('0xa5')](path['join'](_0x4d4316,_0x10b2ac),_0x4fa5ce);return _0xfe2632(_0x4fa5ce);});});}})[_0xf5c1('0x1f')](function(_0x3371cd){if(_0x3371cd){return _0x9949f2[_0xf5c1('0x93')](path['join'](_0x4d4316,_0x10b2ac),_0x10b2ac,function(_0x331fce){if(_0x331fce){console[_0xf5c1('0xa6')](_0xf5c1('0xa7'),_0x331fce);}else{fs[_0xf5c1('0xa8')](path[_0xf5c1('0x6e')](_0x4d4316,_0x10b2ac));}});}})[_0xf5c1('0x29')](handleError(_0x9949f2,null));};