e53b042d19ace3d5a15fe575dba2d899310eb34b
[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 _0xc793=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','then','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','MailMessage,\x20%s,\x20%s','message','result','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','update','destroy','stack','name','index','map','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','options','MailMessage','includeAll','include','findAll','rows','show','params','find','body','catch','describe','create','out','secret','split','MailAccount','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','Smtp','service','host','port','secure','authentication','auth','user','pass','attachments','join','server/files/attachments','basename','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','readAt','UserId','agent','Contact','get','MailInteraction','MailInteractionId','read1stAt','interaction','null','AcceptMessage','acceptMessage','manual','interface','channel','EventManager','acceptmessage','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','event','rejectmessage','download','unix','root','server','tmp','message-%s.eml','bcc','subject','Attachments','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','push','readFileSync','build','writeFileSync','log','unlinkSync','eml-format','rimraf','zip-dir','request-promise','bluebird','path','sox','to-csv','ejs'];(function(_0x1a7846,_0x59723e){var _0x48049=function(_0x203ff6){while(--_0x203ff6){_0x1a7846['push'](_0x1a7846['shift']());}};_0x48049(++_0x59723e);}(_0xc793,0xa2));var _0x3c79=function(_0x323a2e,_0x3c0082){_0x323a2e=_0x323a2e-0x0;var _0x2a0b2c=_0xc793[_0x323a2e];return _0x2a0b2c;};'use strict';var emlformat=require(_0x3c79('0x0'));var rimraf=require(_0x3c79('0x1'));var zipdir=require(_0x3c79('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3c79('0x3'));var moment=require('moment');var BPromise=require(_0x3c79('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x3c79('0x5'));var sox=require(_0x3c79('0x6'));var csv=require(_0x3c79('0x7'));var ejs=require(_0x3c79('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3c79('0x9'));var squel=require(_0x3c79('0xa'));var crypto=require(_0x3c79('0xb'));var jsforce=require(_0x3c79('0xc'));var deskjs=require(_0x3c79('0xd'));var toCsv=require(_0x3c79('0x7'));var querystring=require(_0x3c79('0xe'));var Papa=require(_0x3c79('0xf'));var Redis=require(_0x3c79('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x3c79('0x11'));var as=require(_0x3c79('0x12'));var hardwareService=require(_0x3c79('0x13'));var logger=require(_0x3c79('0x14'))(_0x3c79('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x3c79('0x16'));var db=require(_0x3c79('0x17'))['db'];config[_0x3c79('0x18')]=_[_0x3c79('0x19')](config[_0x3c79('0x18')],{'host':_0x3c79('0x1a'),'port':0x18eb});var socket=require(_0x3c79('0x1b'))(new Redis(config[_0x3c79('0x18')]));require(_0x3c79('0x1c'))[_0x3c79('0x1d')](socket);var jayson=require(_0x3c79('0x1e'));var client=jayson[_0x3c79('0x1f')][_0x3c79('0x20')]({'port':0x232c});var client9003=jayson[_0x3c79('0x1f')][_0x3c79('0x20')]({'port':0x232b});var client9002=jayson[_0x3c79('0x1f')][_0x3c79('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x1b75ff,_0xb1837e,_0x14ec9b,_0x25a562){return new BPromise(function(_0x39fb0d,_0x1de330){var _0x39d062=_0x25a562||client;return _0x39d062['request'](_0x1b75ff,_0x14ec9b)[_0x3c79('0x21')](function(_0x262bb8){logger[_0x3c79('0x22')]('MailMessage,\x20%s,\x20%s',_0xb1837e,_0x3c79('0x23'));logger[_0x3c79('0x24')](_0x3c79('0x25'),_0xb1837e,'request\x20sent',JSON[_0x3c79('0x26')](_0x262bb8));if(_0x262bb8['error']){if(_0x262bb8[_0x3c79('0x27')][_0x3c79('0x28')]===0x1f4){logger[_0x3c79('0x27')](_0x3c79('0x29'),_0xb1837e,_0x262bb8[_0x3c79('0x27')]['message']);return _0x1de330(_0x262bb8['error'][_0x3c79('0x2a')]);}logger[_0x3c79('0x27')]('MailMessage,\x20%s,\x20%s',_0xb1837e,_0x262bb8[_0x3c79('0x27')][_0x3c79('0x2a')]);return _0x39fb0d(_0x262bb8[_0x3c79('0x27')]['message']);}else{logger[_0x3c79('0x22')](_0x3c79('0x29'),_0xb1837e,_0x3c79('0x23'));_0x39fb0d(_0x262bb8[_0x3c79('0x2b')]['message']);}})['catch'](function(_0x2eb39e){logger['error'](_0x3c79('0x29'),_0xb1837e,_0x2eb39e);_0x1de330(_0x2eb39e);});});}function respondWithStatusCode(_0x16653d,_0x2765b5){_0x2765b5=_0x2765b5||0xcc;return function(_0xb93d3b){if(_0xb93d3b){return _0x16653d[_0x3c79('0x2c')](_0x2765b5);}return _0x16653d['status'](_0x2765b5)['end']();};}function respondWithResult(_0x90a297,_0x4ff995){_0x4ff995=_0x4ff995||0xc8;return function(_0x25d8a){if(_0x25d8a){return _0x90a297[_0x3c79('0x2d')](_0x4ff995)[_0x3c79('0x2e')](_0x25d8a);}};}function respondWithFilteredResult(_0x55572d,_0x810c3b){return function(_0x2b1745){if(_0x2b1745){var _0x373aa7=typeof _0x810c3b[_0x3c79('0x2f')]===_0x3c79('0x30')&&typeof _0x810c3b[_0x3c79('0x31')]===_0x3c79('0x30');var _0x48b63d=_0x2b1745['count'];var _0x34306d=_0x373aa7?0x0:_0x810c3b[_0x3c79('0x2f')];var _0x22221a=_0x373aa7?_0x2b1745[_0x3c79('0x32')]:_0x810c3b[_0x3c79('0x2f')]+_0x810c3b[_0x3c79('0x31')];var _0x2cab2a;if(_0x22221a>=_0x48b63d){_0x22221a=_0x48b63d;_0x2cab2a=0xc8;}else{_0x2cab2a=0xce;}_0x55572d['status'](_0x2cab2a);return _0x55572d[_0x3c79('0x33')](_0x3c79('0x34'),_0x34306d+'-'+_0x22221a+'/'+_0x48b63d)[_0x3c79('0x2e')](_0x2b1745);}return null;};}function patchUpdates(_0x33315b){return function(_0xb71b5){try{jsonpatch[_0x3c79('0x35')](_0xb71b5,_0x33315b,!![]);}catch(_0x91f9af){return BPromise['reject'](_0x91f9af);}return _0xb71b5['save']();};}function saveUpdates(_0x458e6b,_0x329d4f){return function(_0x12b349){if(_0x12b349){return _0x12b349[_0x3c79('0x36')](_0x458e6b)[_0x3c79('0x21')](function(_0x4aa176){return _0x4aa176;});}return null;};}function removeEntity(_0x29e8c5,_0x488e3f){return function(_0x43c22f){if(_0x43c22f){return _0x43c22f[_0x3c79('0x37')]()[_0x3c79('0x21')](function(){_0x29e8c5[_0x3c79('0x2d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3a2777,_0x50c574){return function(_0x1eb481){if(!_0x1eb481){_0x3a2777[_0x3c79('0x2c')](0x194);}return _0x1eb481;};}function handleError(_0x51f754,_0x5b346f){_0x5b346f=_0x5b346f||0x1f4;return function(_0x140422){logger[_0x3c79('0x27')](_0x140422[_0x3c79('0x38')]);if(_0x140422[_0x3c79('0x39')]){delete _0x140422[_0x3c79('0x39')];}_0x51f754['status'](_0x5b346f)['send'](_0x140422);};}exports[_0x3c79('0x3a')]=function(_0x4335f0,_0x2e235a){var _0x414cd1={},_0x1fc061={},_0x2436cf={'count':0x0,'rows':[]};var _0x2f061f=_[_0x3c79('0x3b')](db['MailMessage'][_0x3c79('0x3c')],function(_0x1653c0){return{'name':_0x1653c0[_0x3c79('0x3d')],'type':_0x1653c0[_0x3c79('0x3e')][_0x3c79('0x3f')]};});_0x1fc061['model']=_['map'](_0x2f061f,_0x3c79('0x39'));_0x1fc061['query']=_[_0x3c79('0x40')](_0x4335f0[_0x3c79('0x41')]);_0x1fc061[_0x3c79('0x42')]=_[_0x3c79('0x43')](_0x1fc061[_0x3c79('0x44')],_0x1fc061[_0x3c79('0x41')]);_0x414cd1[_0x3c79('0x45')]=_['intersection'](_0x1fc061['model'],qs[_0x3c79('0x46')](_0x4335f0[_0x3c79('0x41')]['fields']));_0x414cd1[_0x3c79('0x45')]=_0x414cd1[_0x3c79('0x45')][_0x3c79('0x47')]?_0x414cd1[_0x3c79('0x45')]:_0x1fc061[_0x3c79('0x44')];if(!_0x4335f0[_0x3c79('0x41')][_0x3c79('0x48')](_0x3c79('0x49'))){_0x414cd1['limit']=qs[_0x3c79('0x31')](_0x4335f0[_0x3c79('0x41')][_0x3c79('0x31')]);_0x414cd1[_0x3c79('0x2f')]=qs[_0x3c79('0x2f')](_0x4335f0[_0x3c79('0x41')]['offset']);}_0x414cd1[_0x3c79('0x4a')]=qs[_0x3c79('0x4b')](_0x4335f0[_0x3c79('0x41')][_0x3c79('0x4b')]);_0x414cd1[_0x3c79('0x4c')]=qs[_0x3c79('0x42')](_['pick'](_0x4335f0[_0x3c79('0x41')],_0x1fc061[_0x3c79('0x42')]),_0x2f061f);if(_0x4335f0[_0x3c79('0x41')]['filter']){_0x414cd1[_0x3c79('0x4c')]=_[_0x3c79('0x4d')](_0x414cd1[_0x3c79('0x4c')],{'$or':_[_0x3c79('0x3b')](_0x2f061f,function(_0x360a76){if(_0x360a76['type']!==_0x3c79('0x4e')){var _0x5eeabf={};_0x5eeabf[_0x360a76[_0x3c79('0x39')]]={'$like':'%'+_0x4335f0[_0x3c79('0x41')][_0x3c79('0x4f')]+'%'};return _0x5eeabf;}})});}_0x414cd1=_[_0x3c79('0x4d')]({},_0x414cd1,_0x4335f0[_0x3c79('0x50')]);var _0x516e47={'where':_0x414cd1[_0x3c79('0x4c')]};return db[_0x3c79('0x51')][_0x3c79('0x32')](_0x516e47)[_0x3c79('0x21')](function(_0x289aaf){_0x2436cf[_0x3c79('0x32')]=_0x289aaf;if(_0x4335f0[_0x3c79('0x41')][_0x3c79('0x52')]){_0x414cd1[_0x3c79('0x53')]=[{'all':!![]}];}return db[_0x3c79('0x51')][_0x3c79('0x54')](_0x414cd1);})[_0x3c79('0x21')](function(_0x17c0d2){_0x2436cf[_0x3c79('0x55')]=_0x17c0d2;return _0x2436cf;})[_0x3c79('0x21')](respondWithFilteredResult(_0x2e235a,_0x414cd1))['catch'](handleError(_0x2e235a,null));};exports[_0x3c79('0x56')]=function(_0x3f4dd7,_0x21b5bc){var _0x221457={'raw':!![],'where':{'id':_0x3f4dd7[_0x3c79('0x57')]['id']}},_0x561717={};_0x561717[_0x3c79('0x44')]=_['keys'](db[_0x3c79('0x51')][_0x3c79('0x3c')]);_0x561717[_0x3c79('0x41')]=_[_0x3c79('0x40')](_0x3f4dd7[_0x3c79('0x41')]);_0x561717[_0x3c79('0x42')]=_['intersection'](_0x561717[_0x3c79('0x44')],_0x561717['query']);_0x221457[_0x3c79('0x45')]=_['intersection'](_0x561717[_0x3c79('0x44')],qs[_0x3c79('0x46')](_0x3f4dd7[_0x3c79('0x41')][_0x3c79('0x46')]));_0x221457[_0x3c79('0x45')]=_0x221457[_0x3c79('0x45')][_0x3c79('0x47')]?_0x221457[_0x3c79('0x45')]:_0x561717[_0x3c79('0x44')];if(_0x3f4dd7[_0x3c79('0x41')][_0x3c79('0x52')]){_0x221457['include']=[{'all':!![]}];}_0x221457=_[_0x3c79('0x4d')]({},_0x221457,_0x3f4dd7[_0x3c79('0x50')]);return db[_0x3c79('0x51')][_0x3c79('0x58')](_0x221457)[_0x3c79('0x21')](handleEntityNotFound(_0x21b5bc,null))[_0x3c79('0x21')](respondWithResult(_0x21b5bc,null))['catch'](handleError(_0x21b5bc,null));};exports[_0x3c79('0x36')]=function(_0x441acd,_0x2586f5){if(_0x441acd[_0x3c79('0x59')]['id']){delete _0x441acd[_0x3c79('0x59')]['id'];}return db[_0x3c79('0x51')]['find']({'where':{'id':_0x441acd[_0x3c79('0x57')]['id']}})[_0x3c79('0x21')](handleEntityNotFound(_0x2586f5,null))[_0x3c79('0x21')](saveUpdates(_0x441acd['body'],null))['then'](respondWithResult(_0x2586f5,null))[_0x3c79('0x5a')](handleError(_0x2586f5,null));};exports[_0x3c79('0x37')]=function(_0x5466a6,_0x45e95a){return db[_0x3c79('0x51')]['find']({'where':{'id':_0x5466a6['params']['id']}})[_0x3c79('0x21')](handleEntityNotFound(_0x45e95a,null))[_0x3c79('0x21')](removeEntity(_0x45e95a,null))[_0x3c79('0x5a')](handleError(_0x45e95a,null));};exports[_0x3c79('0x5b')]=function(_0x3f06d8,_0xd63a78){return db[_0x3c79('0x51')]['describe']()['then'](respondWithResult(_0xd63a78,null))['catch'](handleError(_0xd63a78,null));};exports[_0x3c79('0x5c')]=function(_0x584b51,_0xc8e0b2){return db[_0x3c79('0x51')][_0x3c79('0x5c')](_0x584b51[_0x3c79('0x59')])[_0x3c79('0x21')](function(_0x3dc3ca){if(_0x3dc3ca){if(_0x3dc3ca['direction']===_0x3c79('0x5d')&&!_0x3dc3ca[_0x3c79('0x5e')]){var _0x45bd4f,_0x6ead67,_0x1b021c;if(_0x584b51[_0x3c79('0x59')]['to']){_0x6ead67=_0x584b51[_0x3c79('0x59')]['to'][_0x3c79('0x5f')](',')[0x0];}return db[_0x3c79('0x60')]['findOne']({'where':{'id':_0x3dc3ca[_0x3c79('0x61')]},'include':[{'model':db[_0x3c79('0x62')],'as':_0x3c79('0x63'),'include':[{'model':db[_0x3c79('0x64')],'as':_0x3c79('0x65'),'where':{'email':_0x6ead67},'limit':0x1,'order':[[_0x3c79('0x66'),_0x3c79('0x67')]]}]},{'model':db['MailServerOut'],'as':_0x3c79('0x68'),'raw':!![]}]})[_0x3c79('0x21')](function(_0x3110fa){_0x45bd4f=_0x3110fa;if(_0x45bd4f&&_0x45bd4f[_0x3c79('0x68')]){var _0x28c9e0={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x69')])){_0x28c9e0[_0x3c79('0x6a')]=_0x45bd4f['Smtp'][_0x3c79('0x6a')];_0x28c9e0[_0x3c79('0x6b')]=_0x45bd4f['Smtp'][_0x3c79('0x6b')];_0x28c9e0[_0x3c79('0x6c')]=_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x6c')];if(_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x6d')]){_0x28c9e0[_0x3c79('0x6e')]={'user':_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x6f')],'pass':_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x70')]};}}else{_0x28c9e0['service']=_0x45bd4f[_0x3c79('0x68')]['service'];_0x28c9e0[_0x3c79('0x6e')]={'user':_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x6f')],'pass':_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x70')]};_0x28c9e0[_0x3c79('0x6c')]=_0x45bd4f[_0x3c79('0x68')][_0x3c79('0x6c')];}if(_0x584b51[_0x3c79('0x59')]['attachments']&&_0x584b51[_0x3c79('0x59')][_0x3c79('0x71')][_0x3c79('0x47')]){for(var _0x1bce42=0x0;_0x1bce42<_0x584b51[_0x3c79('0x59')]['attachments']['length'];_0x1bce42+=0x1){_0x584b51[_0x3c79('0x59')][_0x3c79('0x71')][_0x1bce42]={'filename':_0x584b51[_0x3c79('0x59')][_0x3c79('0x71')][_0x1bce42][_0x3c79('0x39')],'path':path[_0x3c79('0x72')](config['root'],_0x3c79('0x73'),_0x584b51[_0x3c79('0x59')][_0x3c79('0x71')][_0x1bce42][_0x3c79('0x74')])};}}_0x1b021c={'account':_0x28c9e0,'message':_0x584b51[_0x3c79('0x59')]};return;}})['then'](function(){if(_0x45bd4f[_0x3c79('0x63')]){if(_0x45bd4f[_0x3c79('0x63')][_0x3c79('0x65')][_0x3c79('0x47')]){return _0x45bd4f[_0x3c79('0x63')][_0x3c79('0x65')][0x0];}else{return db['CmContact'][_0x3c79('0x5c')](_['defaults'](_0x584b51[_0x3c79('0x59')],{'firstName':_0x584b51['body']['to'],'email':_0x584b51[_0x3c79('0x59')]['to'],'phone':_0x584b51[_0x3c79('0x59')]['to'],'ListId':_0x45bd4f[_0x3c79('0x75')]}));}}else{throw new Error(_0x3c79('0x76'));}})['then'](function(){if(_0x1b021c){return respondWithRpcPromise(_0x3c79('0x77'),_0x3c79('0x78'),_0x1b021c,client9003)[_0x3c79('0x21')](function(_0xfea1dd){return _0x3dc3ca['update']({'read':!![],'messageId':_0xfea1dd[_0x3c79('0x79')],'sentAt':moment()[_0x3c79('0x7a')](_0x3c79('0x7b'))});})[_0x3c79('0x5a')](function(_0x56c1e8){logger[_0x3c79('0x27')]('%s',JSON[_0x3c79('0x26')](_0x56c1e8));return _0x3dc3ca;});}return _0x3dc3ca;});}return _0x3dc3ca;}})[_0x3c79('0x21')](respondWithResult(_0xc8e0b2,0xc9))[_0x3c79('0x5a')](handleError(_0xc8e0b2,null));};var interaction_log=require(_0x3c79('0x14'))(_0x3c79('0x7c'));exports[_0x3c79('0x7d')]=function(_0x2ebaa1,_0x7f152e,_0x2d8a9b){var _0x257774={'agent':{},'channel':_0x3c79('0x7e')};if(_0x2ebaa1['body']['id']){delete _0x2ebaa1[_0x3c79('0x59')]['id'];}_0x2ebaa1[_0x3c79('0x59')][_0x3c79('0x7f')]=!![];_0x2ebaa1[_0x3c79('0x59')][_0x3c79('0x80')]=moment()[_0x3c79('0x7a')](_0x3c79('0x7b'));_0x2ebaa1[_0x3c79('0x59')][_0x3c79('0x81')]=_0x2ebaa1['body']['UserId']||_0x2ebaa1['user']['id'];_0x257774[_0x3c79('0x82')]['id']=_0x2ebaa1['body']['UserId'];return db[_0x3c79('0x51')]['find']({'where':{'id':_0x2ebaa1['params']['id'],'UserId':null},'include':[{'model':db[_0x3c79('0x64')],'as':_0x3c79('0x83')}]})[_0x3c79('0x21')](handleEntityNotFound(_0x7f152e,null))[_0x3c79('0x21')](saveUpdates(_0x2ebaa1[_0x3c79('0x59')],null))[_0x3c79('0x21')](function(_0x544b7d){if(_0x544b7d){_0x257774[_0x3c79('0x2a')]=_0x544b7d[_0x3c79('0x84')]({'plain':!![]});return db[_0x3c79('0x85')][_0x3c79('0x58')]({'where':{'id':_0x544b7d[_0x3c79('0x86')]}});}return null;})[_0x3c79('0x21')](handleEntityNotFound(_0x7f152e,null))['then'](function(_0x3621d4){if(_0x3621d4){return _0x3621d4[_0x3c79('0x36')]({'UserId':_0x2ebaa1[_0x3c79('0x59')][_0x3c79('0x81')],'read1stAt':_['isNil'](_0x3621d4[_0x3c79('0x87')])?moment()['format']('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x3c79('0x21')](function(_0x34b45e){if(_0x34b45e){_0x257774[_0x3c79('0x88')]=_0x34b45e[_0x3c79('0x84')]({'plain':!![]});interaction_log[_0x3c79('0x22')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2ebaa1[_0x3c79('0x6f')]['id'],_0x2ebaa1['user'][_0x3c79('0x39')],_0x2ebaa1[_0x3c79('0x6f')]['role'],_0x257774[_0x3c79('0x88')]['id'],_0x2ebaa1[_0x3c79('0x59')]?JSON[_0x3c79('0x26')](_0x2ebaa1['body']):_0x3c79('0x89'));return respondWithRpcPromise(_0x3c79('0x8a'),_0x3c79('0x8b'),_0x257774);}return null;})[_0x3c79('0x21')](function(_0x2eba05){if(_0x2eba05){if(_0x2ebaa1[_0x3c79('0x59')][_0x3c79('0x8c')]){_0x257774[_0x3c79('0x2a')][_0x3c79('0x8d')]=util[_0x3c79('0x7a')]('SIP/%s',_0x2ebaa1[_0x3c79('0x6f')][_0x3c79('0x39')]);_0x257774[_0x3c79('0x2a')][_0x3c79('0x8e')]=_0x257774[_0x3c79('0x8e')];_0x257774[_0x3c79('0x2a')]['event']=_0x3c79('0x7d');return respondWithRpcPromise('EventManager',_0x3c79('0x8f'),{'event':_0x3c79('0x90'),'message':_0x257774[_0x3c79('0x2a')]},client9002)[_0x3c79('0x21')](function(){return _0x257774;});}return _0x257774;}return null;})[_0x3c79('0x21')](respondWithResult(_0x7f152e,null))[_0x3c79('0x5a')](handleError(_0x7f152e,null));};var interaction_log=require(_0x3c79('0x14'))(_0x3c79('0x7c'));exports[_0x3c79('0x91')]=function(_0x3b038a,_0x3f1b8a,_0x4d237e){var _0x5046d8={'agent':{},'channel':'mail'};if(_0x3b038a['body']['id']){delete _0x3b038a[_0x3c79('0x59')]['id'];}_0x3b038a[_0x3c79('0x59')][_0x3c79('0x81')]=_0x3b038a['body'][_0x3c79('0x81')]||_0x3b038a[_0x3c79('0x6f')]['id'];_0x5046d8[_0x3c79('0x82')]['id']=_0x3b038a[_0x3c79('0x59')][_0x3c79('0x81')];return db[_0x3c79('0x51')][_0x3c79('0x58')]({'where':{'id':_0x3b038a['params']['id'],'UserId':null}})[_0x3c79('0x21')](handleEntityNotFound(_0x3f1b8a,null))[_0x3c79('0x21')](function(_0x80b93c){if(_0x80b93c){_0x5046d8[_0x3c79('0x2a')]=_0x80b93c['get']({'plain':!![]});return db[_0x3c79('0x85')][_0x3c79('0x58')]({'where':{'id':_0x80b93c[_0x3c79('0x86')]}});}return null;})[_0x3c79('0x21')](handleEntityNotFound(_0x3f1b8a,null))[_0x3c79('0x21')](function(_0x1875e1){if(_0x1875e1){_0x5046d8[_0x3c79('0x88')]=_0x1875e1['get']({'plain':!![]});interaction_log['info'](_0x3c79('0x92'),_0x3b038a[_0x3c79('0x6f')]['id'],_0x3b038a[_0x3c79('0x6f')][_0x3c79('0x39')],_0x3b038a[_0x3c79('0x6f')][_0x3c79('0x93')],_0x5046d8['interaction']['id'],_0x3b038a[_0x3c79('0x59')]?JSON['stringify'](_0x3b038a[_0x3c79('0x59')]):_0x3c79('0x89'));return respondWithRpcPromise(_0x3c79('0x94'),_0x3c79('0x95'),_0x5046d8);}return null;})[_0x3c79('0x21')](function(_0x1159a){if(_0x1159a){_0x1159a['message'][_0x3c79('0x8d')]=util[_0x3c79('0x7a')]('SIP/%s',_0x3b038a[_0x3c79('0x6f')][_0x3c79('0x39')]);_0x1159a[_0x3c79('0x2a')][_0x3c79('0x8e')]=_0x5046d8[_0x3c79('0x8e')];_0x1159a[_0x3c79('0x2a')][_0x3c79('0x96')]=_0x3c79('0x91');respondWithRpcPromise(_0x3c79('0x8f'),_0x3c79('0x8f'),{'event':_0x3c79('0x97'),'message':_0x1159a[_0x3c79('0x2a')]},client9002);return _0x5046d8;}return null;})[_0x3c79('0x21')](respondWithResult(_0x3f1b8a,null))[_0x3c79('0x5a')](handleError(_0x3f1b8a,null));};exports[_0x3c79('0x98')]=function(_0xbf509d,_0x327768){var _0x2f8db3=moment()[_0x3c79('0x99')]()['toString']();var _0x529358=path[_0x3c79('0x72')](config[_0x3c79('0x9a')],_0x3c79('0x9b'),'files',_0x3c79('0x9c'));var _0xbd573b=path[_0x3c79('0x72')](config[_0x3c79('0x9a')],'server','files',_0x3c79('0x71'));var _0x7d7b88=util[_0x3c79('0x7a')](_0x3c79('0x9d'),_0x2f8db3);return db[_0x3c79('0x51')][_0x3c79('0x58')]({'where':{'id':_0xbf509d[_0x3c79('0x57')]['id']},'attributes':['id',_0x3c79('0x59'),'from','to','cc',_0x3c79('0x9e'),_0x3c79('0x9f'),'createdAt'],'include':_0xbf509d['query'][_0x3c79('0x71')]?[{'model':db['Attachment'],'as':_0x3c79('0xa0')}]:undefined})[_0x3c79('0x21')](handleEntityNotFound(_0x327768,null))[_0x3c79('0x21')](function(_0x10a8ee){if(_0x10a8ee){var _0x31b6ba=_0x10a8ee;var _0xee7696={'from':_0x31b6ba[_0x3c79('0xa1')],'to':_0x31b6ba['to'],'subject':_0x31b6ba[_0x3c79('0x9f')],'html':_0x31b6ba[_0x3c79('0x59')],'headers':{'Date':moment(_0x31b6ba['createdAt'])[_0x3c79('0x7a')](_0x3c79('0xa2'))},'attachments':[]};if(_0x10a8ee['cc']){_0xee7696[_0x3c79('0xa3')]['Cc']=_0x10a8ee['cc'];}if(_0x10a8ee[_0x3c79('0x9e')]){_0xee7696[_0x3c79('0xa3')][_0x3c79('0xa4')]=_0x10a8ee[_0x3c79('0x9e')];}return new BPromise(function(_0xcfe682,_0x1d3df4){if(_0x10a8ee[_0x3c79('0xa0')]){for(var _0x1c5377=0x0;_0x1c5377<_0x10a8ee[_0x3c79('0xa0')]['length'];_0x1c5377++){var _0x22bc1e=_0x10a8ee[_0x3c79('0xa0')][_0x1c5377];var _0x319553=path[_0x3c79('0x72')](_0xbd573b,_0x22bc1e[_0x3c79('0x74')]);if(fs['existsSync'](_0x319553)){_0xee7696['attachments'][_0x3c79('0xa5')]({'name':_0x22bc1e[_0x3c79('0x39')],'contentType':_0x22bc1e[_0x3c79('0x3e')],'data':fs[_0x3c79('0xa6')](_0x319553)});}}}emlformat[_0x3c79('0xa7')](_0xee7696,function(_0x52408f,_0x3d706c){if(_0x52408f)return _0x1d3df4(_0x52408f);fs[_0x3c79('0xa8')](path[_0x3c79('0x72')](_0x529358,_0x7d7b88),_0x3d706c);return _0xcfe682(_0x3d706c);});});}})['then'](function(_0x335270){if(_0x335270){return _0x327768[_0x3c79('0x98')](path[_0x3c79('0x72')](_0x529358,_0x7d7b88),_0x7d7b88,function(_0x32b791){if(_0x32b791){console[_0x3c79('0xa9')]('err',_0x32b791);}else{fs[_0x3c79('0xaa')](path[_0x3c79('0x72')](_0x529358,_0x7d7b88));}});}})[_0x3c79('0x5a')](handleError(_0x327768,null));};