Built motion from commit (unavailable).|2.5.26
[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 _0xe721=['limit','Content-Range','apply','reject','save','then','status','stack','name','send','index','MailMessage','rawAttributes','key','map','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','keys','find','update','params','destroy','describe','direction','out','secret','body','split','findOne','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','host','port','authentication','auth','user','pass','attachments','join','root','basename','create','ListId','List\x20not\x20found','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','../../config/logger','mail-interactions','accept','mail','read','readAt','UserId','agent','Contact','get','MailInteraction','MailInteractionId','read1stAt','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interaction','null','AcceptMessage','acceptMessage','SIP/%s','channel','event','EventManager','acceptmessage','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','interface','rejectmessage','download','unix','server','tmp','files','from','bcc','subject','Attachment','Attachments','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','readFileSync','writeFileSync','log','err','unlinkSync','eml-format','fast-json-patch','moment','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','./mailMessage.socket','register','jayson/promise','http','client','request','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','end','json','count','offset'];(function(_0x5a776b,_0x46f785){var _0xbbef59=function(_0x38313e){while(--_0x38313e){_0x5a776b['push'](_0x5a776b['shift']());}};_0xbbef59(++_0x46f785);}(_0xe721,0x1cf));var _0x1e72=function(_0x2521f2,_0x1346fa){_0x2521f2=_0x2521f2-0x0;var _0x106409=_0xe721[_0x2521f2];return _0x106409;};'use strict';var emlformat=require(_0x1e72('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x1e72('0x1'));var rp=require('request-promise');var moment=require(_0x1e72('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x1e72('0x3'));var util=require('util');var path=require('path');var sox=require(_0x1e72('0x4'));var csv=require(_0x1e72('0x5'));var ejs=require(_0x1e72('0x6'));var fs=require('fs');var fs_extra=require(_0x1e72('0x7'));var _=require(_0x1e72('0x8'));var squel=require(_0x1e72('0x9'));var crypto=require(_0x1e72('0xa'));var jsforce=require(_0x1e72('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x1e72('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1e72('0xc'));var authService=require(_0x1e72('0xd'));var qs=require(_0x1e72('0xe'));var as=require(_0x1e72('0xf'));var hardwareService=require(_0x1e72('0x10'));var logger=require('../../config/logger')(_0x1e72('0x11'));var utils=require(_0x1e72('0x12'));var config=require(_0x1e72('0x13'));var licenseUtil=require(_0x1e72('0x14'));var db=require(_0x1e72('0x15'))['db'];config['redis']=_['defaults'](config[_0x1e72('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x1e72('0x17'))(new Redis(config['redis']));require(_0x1e72('0x18'))[_0x1e72('0x19')](socket);var jayson=require(_0x1e72('0x1a'));var client=jayson['client'][_0x1e72('0x1b')]({'port':0x232c});var client9003=jayson['client'][_0x1e72('0x1b')]({'port':0x232b});var client9002=jayson[_0x1e72('0x1c')][_0x1e72('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x18d177,_0x496f76,_0xe4c6a5,_0x1fc4ac){return new BPromise(function(_0x1c355d,_0x531fe4){var _0x1ab5f8=_0x1fc4ac||client;return _0x1ab5f8[_0x1e72('0x1d')](_0x18d177,_0xe4c6a5)['then'](function(_0x34c4cf){logger[_0x1e72('0x1e')](_0x1e72('0x1f'),_0x496f76,_0x1e72('0x20'));logger['debug'](_0x1e72('0x21'),_0x496f76,_0x1e72('0x20'),JSON[_0x1e72('0x22')](_0x34c4cf));if(_0x34c4cf[_0x1e72('0x23')]){if(_0x34c4cf[_0x1e72('0x23')]['code']===0x1f4){logger[_0x1e72('0x23')]('MailMessage,\x20%s,\x20%s',_0x496f76,_0x34c4cf[_0x1e72('0x23')][_0x1e72('0x24')]);return _0x531fe4(_0x34c4cf[_0x1e72('0x23')][_0x1e72('0x24')]);}logger['error'](_0x1e72('0x1f'),_0x496f76,_0x34c4cf[_0x1e72('0x23')][_0x1e72('0x24')]);return _0x1c355d(_0x34c4cf[_0x1e72('0x23')]['message']);}else{logger[_0x1e72('0x1e')](_0x1e72('0x1f'),_0x496f76,_0x1e72('0x20'));_0x1c355d(_0x34c4cf[_0x1e72('0x25')][_0x1e72('0x24')]);}})[_0x1e72('0x26')](function(_0x212b9f){logger['error'](_0x1e72('0x1f'),_0x496f76,_0x212b9f);_0x531fe4(_0x212b9f);});});}function respondWithStatusCode(_0x429eea,_0x17299b){_0x17299b=_0x17299b||0xcc;return function(_0x13b97a){if(_0x13b97a){return _0x429eea[_0x1e72('0x27')](_0x17299b);}return _0x429eea['status'](_0x17299b)[_0x1e72('0x28')]();};}function respondWithResult(_0x220a21,_0x35078c){_0x35078c=_0x35078c||0xc8;return function(_0xceb647){if(_0xceb647){return _0x220a21['status'](_0x35078c)[_0x1e72('0x29')](_0xceb647);}};}function respondWithFilteredResult(_0x5d8ddf,_0x411885){return function(_0x1c36bf){if(_0x1c36bf){var _0xa29ae2=_0x1c36bf[_0x1e72('0x2a')],_0x214aab=_0x411885[_0x1e72('0x2b')],_0x1bb0d2=_0x411885[_0x1e72('0x2b')]+_0x411885[_0x1e72('0x2c')],_0x196572;if(_0x1bb0d2>=_0xa29ae2){_0x1bb0d2=_0xa29ae2;_0x196572=0xc8;}else{_0x196572=0xce;}_0x5d8ddf['status'](_0x196572);return _0x5d8ddf['set'](_0x1e72('0x2d'),_0x214aab+'-'+_0x1bb0d2+'/'+_0xa29ae2)['json'](_0x1c36bf);}return null;};}function patchUpdates(_0x58b1fb){return function(_0x4b7afb){try{jsonpatch[_0x1e72('0x2e')](_0x4b7afb,_0x58b1fb,!![]);}catch(_0x17616a){return BPromise[_0x1e72('0x2f')](_0x17616a);}return _0x4b7afb[_0x1e72('0x30')]();};}function saveUpdates(_0x803e60,_0xedbf94){return function(_0xdfd81c){if(_0xdfd81c){return _0xdfd81c['update'](_0x803e60)[_0x1e72('0x31')](function(_0xd783f){return _0xd783f;});}return null;};}function removeEntity(_0x2fadc4,_0x4cb032){return function(_0x1f87e6){if(_0x1f87e6){return _0x1f87e6['destroy']()[_0x1e72('0x31')](function(){_0x2fadc4[_0x1e72('0x32')](0xcc)[_0x1e72('0x28')]();});}};}function handleEntityNotFound(_0x5294f1,_0x4134fe){return function(_0x5813d6){if(!_0x5813d6){_0x5294f1['sendStatus'](0x194);}return _0x5813d6;};}function handleError(_0x50daaa,_0x39e1fe){_0x39e1fe=_0x39e1fe||0x1f4;return function(_0x5025b2){logger[_0x1e72('0x23')](_0x5025b2[_0x1e72('0x33')]);if(_0x5025b2['name']){delete _0x5025b2[_0x1e72('0x34')];}_0x50daaa[_0x1e72('0x32')](_0x39e1fe)[_0x1e72('0x35')](_0x5025b2);};}exports[_0x1e72('0x36')]=function(_0x38d00f,_0x3c0c1f){var _0x1f9300={},_0x20497b={},_0x21b8bd={'count':0x0,'rows':[]};var _0x243ef1=_['map'](db[_0x1e72('0x37')][_0x1e72('0x38')],function(_0x454e51){return{'name':_0x454e51['fieldName'],'type':_0x454e51['type'][_0x1e72('0x39')]};});_0x20497b['model']=_[_0x1e72('0x3a')](_0x243ef1,_0x1e72('0x34'));_0x20497b['query']=_['keys'](_0x38d00f['query']);_0x20497b['filters']=_['intersection'](_0x20497b[_0x1e72('0x3b')],_0x20497b[_0x1e72('0x3c')]);_0x1f9300[_0x1e72('0x3d')]=_[_0x1e72('0x3e')](_0x20497b[_0x1e72('0x3b')],qs[_0x1e72('0x3f')](_0x38d00f['query'][_0x1e72('0x3f')]));_0x1f9300['attributes']=_0x1f9300[_0x1e72('0x3d')][_0x1e72('0x40')]?_0x1f9300['attributes']:_0x20497b[_0x1e72('0x3b')];if(!_0x38d00f['query'][_0x1e72('0x41')](_0x1e72('0x42'))){_0x1f9300[_0x1e72('0x2c')]=qs[_0x1e72('0x2c')](_0x38d00f[_0x1e72('0x3c')][_0x1e72('0x2c')]);_0x1f9300[_0x1e72('0x2b')]=qs[_0x1e72('0x2b')](_0x38d00f[_0x1e72('0x3c')]['offset']);}_0x1f9300[_0x1e72('0x43')]=qs['sort'](_0x38d00f[_0x1e72('0x3c')][_0x1e72('0x44')]);_0x1f9300[_0x1e72('0x45')]=qs[_0x1e72('0x46')](_[_0x1e72('0x47')](_0x38d00f[_0x1e72('0x3c')],_0x20497b[_0x1e72('0x46')]),_0x243ef1);if(_0x38d00f[_0x1e72('0x3c')][_0x1e72('0x48')]){_0x1f9300[_0x1e72('0x45')]=_['merge'](_0x1f9300[_0x1e72('0x45')],{'$or':_[_0x1e72('0x3a')](_0x243ef1,function(_0x404249){if(_0x404249[_0x1e72('0x49')]!==_0x1e72('0x4a')){var _0x5529a4={};_0x5529a4[_0x404249[_0x1e72('0x34')]]={'$like':'%'+_0x38d00f[_0x1e72('0x3c')][_0x1e72('0x48')]+'%'};return _0x5529a4;}})});}_0x1f9300=_[_0x1e72('0x4b')]({},_0x1f9300,_0x38d00f[_0x1e72('0x4c')]);var _0x89609a={'where':_0x1f9300[_0x1e72('0x45')]};return db[_0x1e72('0x37')][_0x1e72('0x2a')](_0x89609a)['then'](function(_0x1f0124){_0x21b8bd[_0x1e72('0x2a')]=_0x1f0124;if(_0x38d00f['query'][_0x1e72('0x4d')]){_0x1f9300[_0x1e72('0x4e')]=[{'all':!![]}];}return db['MailMessage'][_0x1e72('0x4f')](_0x1f9300);})[_0x1e72('0x31')](function(_0x482b31){_0x21b8bd[_0x1e72('0x50')]=_0x482b31;return _0x21b8bd;})[_0x1e72('0x31')](respondWithFilteredResult(_0x3c0c1f,_0x1f9300))['catch'](handleError(_0x3c0c1f,null));};exports['show']=function(_0x225832,_0x2ada05){var _0x1f4053={'raw':!![],'where':{'id':_0x225832['params']['id']}},_0x329d01={};_0x329d01[_0x1e72('0x3b')]=_[_0x1e72('0x51')](db[_0x1e72('0x37')]['rawAttributes']);_0x329d01[_0x1e72('0x3c')]=_[_0x1e72('0x51')](_0x225832[_0x1e72('0x3c')]);_0x329d01[_0x1e72('0x46')]=_['intersection'](_0x329d01[_0x1e72('0x3b')],_0x329d01[_0x1e72('0x3c')]);_0x1f4053[_0x1e72('0x3d')]=_[_0x1e72('0x3e')](_0x329d01['model'],qs[_0x1e72('0x3f')](_0x225832['query']['fields']));_0x1f4053[_0x1e72('0x3d')]=_0x1f4053['attributes'][_0x1e72('0x40')]?_0x1f4053[_0x1e72('0x3d')]:_0x329d01['model'];if(_0x225832[_0x1e72('0x3c')]['includeAll']){_0x1f4053[_0x1e72('0x4e')]=[{'all':!![]}];}_0x1f4053=_[_0x1e72('0x4b')]({},_0x1f4053,_0x225832[_0x1e72('0x4c')]);return db[_0x1e72('0x37')][_0x1e72('0x52')](_0x1f4053)['then'](handleEntityNotFound(_0x2ada05,null))[_0x1e72('0x31')](respondWithResult(_0x2ada05,null))[_0x1e72('0x26')](handleError(_0x2ada05,null));};exports[_0x1e72('0x53')]=function(_0x57d29e,_0xcba62a){if(_0x57d29e['body']['id']){delete _0x57d29e['body']['id'];}return db['MailMessage'][_0x1e72('0x52')]({'where':{'id':_0x57d29e[_0x1e72('0x54')]['id']}})[_0x1e72('0x31')](handleEntityNotFound(_0xcba62a,null))[_0x1e72('0x31')](saveUpdates(_0x57d29e['body'],null))['then'](respondWithResult(_0xcba62a,null))[_0x1e72('0x26')](handleError(_0xcba62a,null));};exports[_0x1e72('0x55')]=function(_0x68cab8,_0x13678c){return db[_0x1e72('0x37')][_0x1e72('0x52')]({'where':{'id':_0x68cab8[_0x1e72('0x54')]['id']}})['then'](handleEntityNotFound(_0x13678c,null))[_0x1e72('0x31')](removeEntity(_0x13678c,null))['catch'](handleError(_0x13678c,null));};exports[_0x1e72('0x56')]=function(_0x493c1c,_0x230a7c){return db['MailMessage'][_0x1e72('0x56')]()['then'](respondWithResult(_0x230a7c,null))['catch'](handleError(_0x230a7c,null));};exports['create']=function(_0x42b903,_0x3c2320){return db[_0x1e72('0x37')]['create'](_0x42b903['body'])[_0x1e72('0x31')](function(_0x19fb70){if(_0x19fb70){if(_0x19fb70[_0x1e72('0x57')]===_0x1e72('0x58')&&!_0x19fb70[_0x1e72('0x59')]){var _0x360218,_0x1ddec4,_0x5cdd83;if(_0x42b903[_0x1e72('0x5a')]['to']){_0x1ddec4=_0x42b903[_0x1e72('0x5a')]['to'][_0x1e72('0x5b')](',')[0x0];}return db['MailAccount'][_0x1e72('0x5c')]({'where':{'id':_0x19fb70[_0x1e72('0x5d')]},'include':[{'model':db[_0x1e72('0x5e')],'as':_0x1e72('0x5f'),'include':[{'model':db[_0x1e72('0x60')],'as':_0x1e72('0x61'),'where':{'email':_0x1ddec4},'limit':0x1,'order':[[_0x1e72('0x62'),_0x1e72('0x63')]]}]},{'model':db[_0x1e72('0x64')],'as':_0x1e72('0x65'),'raw':!![]}]})[_0x1e72('0x31')](function(_0x2ed1b1){_0x360218=_0x2ed1b1;if(_0x360218&&_0x360218[_0x1e72('0x65')]){var _0xa060fb={'tls':{'rejectUnauthorized':![]}};if(_[_0x1e72('0x66')](_0x360218[_0x1e72('0x65')][_0x1e72('0x67')])){_0xa060fb[_0x1e72('0x68')]=_0x360218[_0x1e72('0x65')][_0x1e72('0x68')];_0xa060fb[_0x1e72('0x69')]=_0x360218[_0x1e72('0x65')][_0x1e72('0x69')];_0xa060fb['secure']=_0x360218[_0x1e72('0x65')]['secure'];if(_0x360218[_0x1e72('0x65')][_0x1e72('0x6a')]){_0xa060fb[_0x1e72('0x6b')]={'user':_0x360218[_0x1e72('0x65')][_0x1e72('0x6c')],'pass':_0x360218[_0x1e72('0x65')][_0x1e72('0x6d')]};}}else{_0xa060fb[_0x1e72('0x67')]=_0x360218[_0x1e72('0x65')]['service'];_0xa060fb[_0x1e72('0x6b')]={'user':_0x360218[_0x1e72('0x65')]['user'],'pass':_0x360218['Smtp'][_0x1e72('0x6d')]};_0xa060fb['secure']=_0x360218[_0x1e72('0x65')]['secure'];}if(_0x42b903[_0x1e72('0x5a')]['attachments']&&_0x42b903[_0x1e72('0x5a')][_0x1e72('0x6e')][_0x1e72('0x40')]){for(var _0x1dd3c4=0x0;_0x1dd3c4<_0x42b903['body'][_0x1e72('0x6e')][_0x1e72('0x40')];_0x1dd3c4+=0x1){_0x42b903['body'][_0x1e72('0x6e')][_0x1dd3c4]={'filename':_0x42b903[_0x1e72('0x5a')][_0x1e72('0x6e')][_0x1dd3c4]['name'],'path':path[_0x1e72('0x6f')](config[_0x1e72('0x70')],'server/files/attachments',_0x42b903['body'][_0x1e72('0x6e')][_0x1dd3c4][_0x1e72('0x71')])};}}_0x5cdd83={'account':_0xa060fb,'message':_0x42b903[_0x1e72('0x5a')]};return;}})['then'](function(){if(_0x360218['List']){if(_0x360218[_0x1e72('0x5f')][_0x1e72('0x61')][_0x1e72('0x40')]){return _0x360218[_0x1e72('0x5f')]['Contacts'][0x0];}else{return db[_0x1e72('0x60')][_0x1e72('0x72')](_['defaults'](_0x42b903['body'],{'firstName':_0x42b903[_0x1e72('0x5a')]['to'],'email':_0x42b903[_0x1e72('0x5a')]['to'],'phone':_0x42b903['body']['to'],'ListId':_0x360218[_0x1e72('0x73')]}));}}else{throw new Error(_0x1e72('0x74'));}})[_0x1e72('0x31')](function(){if(_0x5cdd83){return respondWithRpcPromise('SendMail',_0x1e72('0x75'),_0x5cdd83,client9003)['then'](function(_0x21da9c){return _0x19fb70[_0x1e72('0x53')]({'read':!![],'messageId':_0x21da9c[_0x1e72('0x76')],'sentAt':moment()[_0x1e72('0x77')](_0x1e72('0x78'))});})[_0x1e72('0x26')](function(_0x42ea59){logger[_0x1e72('0x23')]('%s',JSON[_0x1e72('0x22')](_0x42ea59));return _0x19fb70;});}return _0x19fb70;});}return _0x19fb70;}})[_0x1e72('0x31')](respondWithResult(_0x3c2320,0xc9))['catch'](handleError(_0x3c2320,null));};var interaction_log=require(_0x1e72('0x79'))(_0x1e72('0x7a'));exports[_0x1e72('0x7b')]=function(_0x52610a,_0x53b9f2,_0x285c46){var _0x197c8a={'agent':{},'channel':_0x1e72('0x7c')};if(_0x52610a[_0x1e72('0x5a')]['id']){delete _0x52610a[_0x1e72('0x5a')]['id'];}_0x52610a[_0x1e72('0x5a')][_0x1e72('0x7d')]=!![];_0x52610a[_0x1e72('0x5a')][_0x1e72('0x7e')]=moment()[_0x1e72('0x77')]('YYYY-MM-DD\x20HH:mm:ss');_0x52610a[_0x1e72('0x5a')][_0x1e72('0x7f')]=_0x52610a[_0x1e72('0x5a')][_0x1e72('0x7f')]||_0x52610a['user']['id'];_0x197c8a[_0x1e72('0x80')]['id']=_0x52610a[_0x1e72('0x5a')]['UserId'];return db[_0x1e72('0x37')][_0x1e72('0x52')]({'where':{'id':_0x52610a[_0x1e72('0x54')]['id'],'UserId':null},'include':[{'model':db[_0x1e72('0x60')],'as':_0x1e72('0x81')}]})[_0x1e72('0x31')](handleEntityNotFound(_0x53b9f2,null))['then'](saveUpdates(_0x52610a[_0x1e72('0x5a')],null))[_0x1e72('0x31')](function(_0x14cc8e){if(_0x14cc8e){_0x197c8a[_0x1e72('0x24')]=_0x14cc8e[_0x1e72('0x82')]({'plain':!![]});return db[_0x1e72('0x83')]['find']({'where':{'id':_0x14cc8e[_0x1e72('0x84')]}});}return null;})[_0x1e72('0x31')](handleEntityNotFound(_0x53b9f2,null))[_0x1e72('0x31')](function(_0x2c1772){if(_0x2c1772){return _0x2c1772[_0x1e72('0x53')]({'UserId':_0x52610a[_0x1e72('0x5a')][_0x1e72('0x7f')],'read1stAt':_[_0x1e72('0x66')](_0x2c1772[_0x1e72('0x85')])?moment()['format'](_0x1e72('0x78')):undefined});}return null;})[_0x1e72('0x31')](function(_0x4aa446){if(_0x4aa446){_0x197c8a['interaction']=_0x4aa446['get']({'plain':!![]});interaction_log[_0x1e72('0x1e')](_0x1e72('0x86'),_0x52610a[_0x1e72('0x6c')]['id'],_0x52610a[_0x1e72('0x6c')][_0x1e72('0x34')],_0x52610a[_0x1e72('0x6c')][_0x1e72('0x87')],_0x197c8a[_0x1e72('0x88')]['id'],_0x52610a[_0x1e72('0x5a')]?JSON['stringify'](_0x52610a[_0x1e72('0x5a')]):_0x1e72('0x89'));return respondWithRpcPromise(_0x1e72('0x8a'),_0x1e72('0x8b'),_0x197c8a);}return null;})[_0x1e72('0x31')](function(_0x48f49b){if(_0x48f49b){if(_0x52610a[_0x1e72('0x5a')]['manual']){_0x197c8a[_0x1e72('0x24')]['interface']=util[_0x1e72('0x77')](_0x1e72('0x8c'),_0x52610a[_0x1e72('0x6c')][_0x1e72('0x34')]);_0x197c8a[_0x1e72('0x24')][_0x1e72('0x8d')]=_0x197c8a[_0x1e72('0x8d')];_0x197c8a[_0x1e72('0x24')][_0x1e72('0x8e')]='accept';return respondWithRpcPromise('EventManager',_0x1e72('0x8f'),{'event':_0x1e72('0x90'),'message':_0x197c8a[_0x1e72('0x24')]},client9002)[_0x1e72('0x31')](function(){return _0x197c8a;});}return _0x197c8a;}return null;})[_0x1e72('0x31')](respondWithResult(_0x53b9f2,null))['catch'](handleError(_0x53b9f2,null));};var interaction_log=require(_0x1e72('0x79'))('mail-interactions');exports[_0x1e72('0x2f')]=function(_0x498492,_0xbc7eb7,_0x16c9e7){var _0x58e4e0={'agent':{},'channel':'mail'};if(_0x498492[_0x1e72('0x5a')]['id']){delete _0x498492['body']['id'];}_0x498492[_0x1e72('0x5a')][_0x1e72('0x7f')]=_0x498492['body'][_0x1e72('0x7f')]||_0x498492['user']['id'];_0x58e4e0['agent']['id']=_0x498492[_0x1e72('0x5a')]['UserId'];return db[_0x1e72('0x37')]['find']({'where':{'id':_0x498492[_0x1e72('0x54')]['id'],'UserId':null}})[_0x1e72('0x31')](handleEntityNotFound(_0xbc7eb7,null))['then'](function(_0x3cea0c){if(_0x3cea0c){_0x58e4e0[_0x1e72('0x24')]=_0x3cea0c[_0x1e72('0x82')]({'plain':!![]});return db[_0x1e72('0x83')][_0x1e72('0x52')]({'where':{'id':_0x3cea0c[_0x1e72('0x84')]}});}return null;})[_0x1e72('0x31')](handleEntityNotFound(_0xbc7eb7,null))[_0x1e72('0x31')](function(_0xf2fbbb){if(_0xf2fbbb){_0x58e4e0[_0x1e72('0x88')]=_0xf2fbbb[_0x1e72('0x82')]({'plain':!![]});interaction_log[_0x1e72('0x1e')](_0x1e72('0x91'),_0x498492[_0x1e72('0x6c')]['id'],_0x498492[_0x1e72('0x6c')][_0x1e72('0x34')],_0x498492[_0x1e72('0x6c')]['role'],_0x58e4e0[_0x1e72('0x88')]['id'],_0x498492[_0x1e72('0x5a')]?JSON[_0x1e72('0x22')](_0x498492[_0x1e72('0x5a')]):_0x1e72('0x89'));return respondWithRpcPromise('RejectMessage',_0x1e72('0x92'),_0x58e4e0);}return null;})[_0x1e72('0x31')](function(_0xfd523b){if(_0xfd523b){_0xfd523b[_0x1e72('0x24')][_0x1e72('0x93')]=util[_0x1e72('0x77')]('SIP/%s',_0x498492['user']['name']);_0xfd523b[_0x1e72('0x24')][_0x1e72('0x8d')]=_0x58e4e0[_0x1e72('0x8d')];_0xfd523b[_0x1e72('0x24')][_0x1e72('0x8e')]=_0x1e72('0x2f');respondWithRpcPromise(_0x1e72('0x8f'),_0x1e72('0x8f'),{'event':_0x1e72('0x94'),'message':_0xfd523b[_0x1e72('0x24')]},client9002);return _0x58e4e0;}return null;})[_0x1e72('0x31')](respondWithResult(_0xbc7eb7,null))[_0x1e72('0x26')](handleError(_0xbc7eb7,null));};exports[_0x1e72('0x95')]=function(_0x9f49f,_0x594223){var _0xca314f=moment()[_0x1e72('0x96')]()['toString']();var _0x31caa1=path['join'](config['root'],_0x1e72('0x97'),'files',_0x1e72('0x98'));var _0x29f948=path[_0x1e72('0x6f')](config['root'],'server',_0x1e72('0x99'),'attachments');var _0x545cdb=util[_0x1e72('0x77')]('message-%s.eml',_0xca314f);return db[_0x1e72('0x37')]['find']({'where':{'id':_0x9f49f[_0x1e72('0x54')]['id']},'attributes':['id','body',_0x1e72('0x9a'),'to','cc',_0x1e72('0x9b'),_0x1e72('0x9c'),'createdAt'],'include':_0x9f49f[_0x1e72('0x3c')]['attachments']?[{'model':db[_0x1e72('0x9d')],'as':_0x1e72('0x9e')}]:undefined})[_0x1e72('0x31')](handleEntityNotFound(_0x594223,null))['then'](function(_0xbff7d3){if(_0xbff7d3){var _0x4d39ee=_0xbff7d3;var _0x51192b={'from':_0x4d39ee[_0x1e72('0x9a')],'to':_0x4d39ee['to'],'subject':_0x4d39ee[_0x1e72('0x9c')],'html':_0x4d39ee[_0x1e72('0x5a')],'headers':{'Date':moment(_0x4d39ee[_0x1e72('0x9f')])[_0x1e72('0x77')](_0x1e72('0xa0'))},'attachments':[]};if(_0xbff7d3['cc']){_0x51192b[_0x1e72('0xa1')]['Cc']=_0xbff7d3['cc'];}if(_0xbff7d3[_0x1e72('0x9b')]){_0x51192b[_0x1e72('0xa1')][_0x1e72('0xa2')]=_0xbff7d3['bcc'];}return new BPromise(function(_0x5bced0,_0x3a8ef0){if(_0xbff7d3[_0x1e72('0x9e')]){for(var _0x493e43=0x0;_0x493e43<_0xbff7d3[_0x1e72('0x9e')][_0x1e72('0x40')];_0x493e43++){var _0x4c6731=_0xbff7d3[_0x1e72('0x9e')][_0x493e43];var _0x33d4da=path['join'](_0x29f948,_0x4c6731[_0x1e72('0x71')]);if(fs[_0x1e72('0xa3')](_0x33d4da)){_0x51192b[_0x1e72('0x6e')]['push']({'name':_0x4c6731[_0x1e72('0x34')],'contentType':_0x4c6731['type'],'data':fs[_0x1e72('0xa4')](_0x33d4da)});}}}emlformat['build'](_0x51192b,function(_0xb46313,_0x534a9a){if(_0xb46313)return _0x3a8ef0(_0xb46313);fs[_0x1e72('0xa5')](path[_0x1e72('0x6f')](_0x31caa1,_0x545cdb),_0x534a9a);return _0x5bced0(_0x534a9a);});});}})[_0x1e72('0x31')](function(_0x11df58){if(_0x11df58){return _0x594223[_0x1e72('0x95')](path['join'](_0x31caa1,_0x545cdb),_0x545cdb,function(_0x497ef2){if(_0x497ef2){console[_0x1e72('0xa6')](_0x1e72('0xa7'),_0x497ef2);}else{fs[_0x1e72('0xa8')](path[_0x1e72('0x6f')](_0x31caa1,_0x545cdb));}});}})[_0x1e72('0x26')](handleError(_0x594223,null));};