Built motion from commit (unavailable).|2.3.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 _0x3e74=['isNil','host','port','secure','authentication','auth','user','pass','service','attachments','server/files/attachments','basename','SendMail','sendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','../../config/logger','mail-interactions','mail','read','readAt','format','UserId','MailInteraction','MailInteractionId','read1stAt','interaction','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','event','accept','EventManager','acceptmessage','agent','RejectMessage','rejectMessage','rejectmessage','download','unix','toString','join','files','tmp','root','message-%s.eml','createdAt','Attachment','Attachments','from','subject','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','existsSync','push','build','writeFileSync','log','err','html-pdf','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','end','name','send','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','findAll','show','params','include','MailMessage','body','find','describe','create','out','secret','findOne','MailAccountId','MailServerOut','Smtp'];(function(_0x4ec216,_0xa8ac4d){var _0x24d4d5=function(_0x166eb7){while(--_0x166eb7){_0x4ec216['push'](_0x4ec216['shift']());}};_0x24d4d5(++_0xa8ac4d);}(_0x3e74,0x175));var _0x43e7=function(_0x5e2a76,_0x1ddc6e){_0x5e2a76=_0x5e2a76-0x0;var _0x5342eb=_0x3e74[_0x5e2a76];return _0x5342eb;};'use strict';var pdf=require(_0x43e7('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x43e7('0x1'));var zipdir=require(_0x43e7('0x2'));var jsonpatch=require(_0x43e7('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x43e7('0x4'));var Mustache=require('mustache');var util=require(_0x43e7('0x5'));var path=require(_0x43e7('0x6'));var sox=require(_0x43e7('0x7'));var csv=require(_0x43e7('0x8'));var ejs=require(_0x43e7('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x43e7('0xa'));var crypto=require(_0x43e7('0xb'));var jsforce=require(_0x43e7('0xc'));var deskjs=require(_0x43e7('0xd'));var toCsv=require(_0x43e7('0x8'));var querystring=require('querystring');var Papa=require(_0x43e7('0xe'));var authService=require('../../components/auth/service');var hardwareService=require('../../config/license/hardware');var Redis=require(_0x43e7('0xf'));var qs=require(_0x43e7('0x10'));var logger=require('../../config/logger')(_0x43e7('0x11'));var utils=require('../../config/utils');var config=require(_0x43e7('0x12'));var db=require(_0x43e7('0x13'))['db'];config['redis']=_[_0x43e7('0x14')](config[_0x43e7('0x15')],{'host':_0x43e7('0x16'),'port':0x18eb});var socket=require(_0x43e7('0x17'))(new Redis(config['redis']));require('./mailMessage.socket')[_0x43e7('0x18')](socket);var jayson=require(_0x43e7('0x19'));var client=jayson[_0x43e7('0x1a')]['http']({'port':0x232c});var client9003=jayson['client'][_0x43e7('0x1b')]({'port':0x232b});var client9002=jayson[_0x43e7('0x1a')][_0x43e7('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x328445,_0x4de324,_0x5c4eaa,_0xdf16c){return new BPromise(function(_0x264575,_0x273a32){var _0x5d346f=_0xdf16c||client;return _0x5d346f['request'](_0x328445,_0x5c4eaa)[_0x43e7('0x1c')](function(_0x1ca758){logger[_0x43e7('0x1d')](_0x43e7('0x1e'),_0x4de324,_0x43e7('0x1f'));logger[_0x43e7('0x20')](_0x43e7('0x21'),_0x4de324,_0x43e7('0x1f'),JSON[_0x43e7('0x22')](_0x1ca758));if(_0x1ca758[_0x43e7('0x23')]){if(_0x1ca758[_0x43e7('0x23')][_0x43e7('0x24')]===0x1f4){logger['error'](_0x43e7('0x1e'),_0x4de324,_0x1ca758[_0x43e7('0x23')]['message']);return _0x273a32(_0x1ca758[_0x43e7('0x23')][_0x43e7('0x25')]);}logger[_0x43e7('0x23')](_0x43e7('0x1e'),_0x4de324,_0x1ca758[_0x43e7('0x23')][_0x43e7('0x25')]);return _0x264575(_0x1ca758['error'][_0x43e7('0x25')]);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x4de324,_0x43e7('0x1f'));_0x264575(_0x1ca758[_0x43e7('0x26')]['message']);}})[_0x43e7('0x27')](function(_0x4ca5cf){logger[_0x43e7('0x23')]('MailMessage,\x20%s,\x20%s',_0x4de324,_0x4ca5cf);_0x273a32(_0x4ca5cf);});});}function respondWithStatusCode(_0x1af208,_0x1b5f50){_0x1b5f50=_0x1b5f50||0xcc;return function(_0x20888b){if(_0x20888b){return _0x1af208[_0x43e7('0x28')](_0x1b5f50);}return _0x1af208['status'](_0x1b5f50)['end']();};}function respondWithResult(_0x805b54,_0x501551){_0x501551=_0x501551||0xc8;return function(_0x2dd5f){if(_0x2dd5f){return _0x805b54[_0x43e7('0x29')](_0x501551)[_0x43e7('0x2a')](_0x2dd5f);}};}function respondWithFilteredResult(_0xb1fc63,_0x5087d7){return function(_0x33a1a5){if(_0x33a1a5){var _0x4690a6=_0x33a1a5[_0x43e7('0x2b')],_0x45b675=_0x5087d7[_0x43e7('0x2c')],_0x50f9f5=_0x5087d7[_0x43e7('0x2c')]+_0x5087d7[_0x43e7('0x2d')],_0x442c3b;if(_0x50f9f5>=_0x4690a6){_0x50f9f5=_0x4690a6;_0x442c3b=0xc8;}else{_0x442c3b=0xce;}_0xb1fc63[_0x43e7('0x29')](_0x442c3b);return _0xb1fc63[_0x43e7('0x2e')](_0x43e7('0x2f'),_0x45b675+'-'+_0x50f9f5+'/'+_0x4690a6)[_0x43e7('0x2a')](_0x33a1a5);}return null;};}function patchUpdates(_0x208706){return function(_0x4bdb17){try{jsonpatch[_0x43e7('0x30')](_0x4bdb17,_0x208706,!![]);}catch(_0x44f6b0){return BPromise[_0x43e7('0x31')](_0x44f6b0);}return _0x4bdb17[_0x43e7('0x32')]();};}function saveUpdates(_0x4251c8,_0x4c8650){return function(_0x1eba65){if(_0x1eba65){return _0x1eba65[_0x43e7('0x33')](_0x4251c8)[_0x43e7('0x1c')](function(_0x3f280d){return _0x3f280d;});}return null;};}function removeEntity(_0x4c61b9,_0x5a7342){return function(_0x5e203f){if(_0x5e203f){return _0x5e203f[_0x43e7('0x34')]()[_0x43e7('0x1c')](function(){_0x4c61b9[_0x43e7('0x29')](0xcc)[_0x43e7('0x35')]();});}};}function handleEntityNotFound(_0x108313,_0xde7ed){return function(_0x485c6c){if(!_0x485c6c){_0x108313['sendStatus'](0x194);}return _0x485c6c;};}function handleError(_0x4ac23d,_0x59e5b2){_0x59e5b2=_0x59e5b2||0x1f4;return function(_0x4e8e86){logger['error'](_0x4e8e86['stack']);if(_0x4e8e86[_0x43e7('0x36')]){delete _0x4e8e86['name'];}_0x4ac23d[_0x43e7('0x29')](_0x59e5b2)[_0x43e7('0x37')](_0x4e8e86);};}exports[_0x43e7('0x38')]=function(_0x50a2d0,_0x40f72f){var _0x449803={},_0x101d45={},_0x4f1a5f={'count':0x0,'rows':[]};var _0x5332d9=db['MailMessage'][_0x43e7('0x39')];_0x101d45[_0x43e7('0x3a')]=_[_0x43e7('0x3b')](_0x5332d9);_0x101d45[_0x43e7('0x3c')]=_[_0x43e7('0x3b')](_0x50a2d0[_0x43e7('0x3c')]);_0x101d45[_0x43e7('0x3d')]=_[_0x43e7('0x3e')](_0x101d45['model'],_0x101d45[_0x43e7('0x3c')]);_0x449803[_0x43e7('0x3f')]=_['intersection'](_0x101d45[_0x43e7('0x3a')],qs['fields'](_0x50a2d0[_0x43e7('0x3c')][_0x43e7('0x40')]));_0x449803[_0x43e7('0x3f')]=_0x449803[_0x43e7('0x3f')][_0x43e7('0x41')]?_0x449803[_0x43e7('0x3f')]:_0x101d45['model'];if(!_0x50a2d0['query'][_0x43e7('0x42')](_0x43e7('0x43'))){_0x449803[_0x43e7('0x2d')]=qs[_0x43e7('0x2d')](_0x50a2d0[_0x43e7('0x3c')]['limit']);_0x449803[_0x43e7('0x2c')]=qs[_0x43e7('0x2c')](_0x50a2d0['query'][_0x43e7('0x2c')]);}_0x449803['order']=qs[_0x43e7('0x44')](_0x50a2d0['query'][_0x43e7('0x44')]);_0x449803[_0x43e7('0x45')]=qs[_0x43e7('0x3d')](_[_0x43e7('0x46')](_0x50a2d0['query'],_0x101d45['filters']));if(_0x50a2d0[_0x43e7('0x3c')][_0x43e7('0x47')]){_0x449803[_0x43e7('0x45')]=_[_0x43e7('0x48')](_0x449803['where'],{'$or':_['map'](_0x5332d9,function(_0x5dd988){if(_0x5dd988[_0x43e7('0x49')]['key']!==_0x43e7('0x4a')){var _0x4b3a59={};_0x4b3a59[_0x5dd988['field']]={'$like':'%'+_0x50a2d0[_0x43e7('0x3c')]['filter']+'%'};return _0x4b3a59;}})});}_0x449803=_[_0x43e7('0x48')]({},_0x449803,_0x50a2d0[_0x43e7('0x4b')]);var _0x257bd8={'where':_0x449803[_0x43e7('0x45')]};return db['MailMessage'][_0x43e7('0x2b')](_0x257bd8)[_0x43e7('0x1c')](function(_0x23a611){_0x4f1a5f[_0x43e7('0x2b')]=_0x23a611;if(_0x50a2d0[_0x43e7('0x3c')][_0x43e7('0x4c')]){_0x449803['include']=[{'all':!![]}];}return db['MailMessage'][_0x43e7('0x4d')](_0x449803);})[_0x43e7('0x1c')](function(_0x212841){_0x4f1a5f['rows']=_0x212841;return _0x4f1a5f;})['then'](respondWithFilteredResult(_0x40f72f,_0x449803))['catch'](handleError(_0x40f72f,null));};exports[_0x43e7('0x4e')]=function(_0x42ed10,_0x52b098){var _0x351ca2={'raw':!![],'where':{'id':_0x42ed10[_0x43e7('0x4f')]['id']}},_0x47686e={};_0x47686e['model']=_['keys'](db['MailMessage']['rawAttributes']);_0x47686e[_0x43e7('0x3c')]=_[_0x43e7('0x3b')](_0x42ed10['query']);_0x47686e[_0x43e7('0x3d')]=_[_0x43e7('0x3e')](_0x47686e[_0x43e7('0x3a')],_0x47686e[_0x43e7('0x3c')]);_0x351ca2['attributes']=_[_0x43e7('0x3e')](_0x47686e['model'],qs['fields'](_0x42ed10[_0x43e7('0x3c')][_0x43e7('0x40')]));_0x351ca2[_0x43e7('0x3f')]=_0x351ca2[_0x43e7('0x3f')][_0x43e7('0x41')]?_0x351ca2[_0x43e7('0x3f')]:_0x47686e[_0x43e7('0x3a')];if(_0x42ed10[_0x43e7('0x3c')][_0x43e7('0x4c')]){_0x351ca2[_0x43e7('0x50')]=[{'all':!![]}];}_0x351ca2=_['merge']({},_0x351ca2,_0x42ed10[_0x43e7('0x4b')]);return db[_0x43e7('0x51')]['find'](_0x351ca2)[_0x43e7('0x1c')](handleEntityNotFound(_0x52b098,null))['then'](respondWithResult(_0x52b098,null))[_0x43e7('0x27')](handleError(_0x52b098,null));};exports[_0x43e7('0x33')]=function(_0x34e2ec,_0x1f561f){if(_0x34e2ec[_0x43e7('0x52')]['id']){delete _0x34e2ec['body']['id'];}return db['MailMessage'][_0x43e7('0x53')]({'where':{'id':_0x34e2ec[_0x43e7('0x4f')]['id']}})[_0x43e7('0x1c')](handleEntityNotFound(_0x1f561f,null))[_0x43e7('0x1c')](saveUpdates(_0x34e2ec[_0x43e7('0x52')],null))[_0x43e7('0x1c')](respondWithResult(_0x1f561f,null))[_0x43e7('0x27')](handleError(_0x1f561f,null));};exports[_0x43e7('0x34')]=function(_0x26d86c,_0x24e758){return db[_0x43e7('0x51')]['find']({'where':{'id':_0x26d86c[_0x43e7('0x4f')]['id']}})[_0x43e7('0x1c')](handleEntityNotFound(_0x24e758,null))['then'](removeEntity(_0x24e758,null))[_0x43e7('0x27')](handleError(_0x24e758,null));};exports[_0x43e7('0x54')]=function(_0x2d0052,_0x558d54){return db['MailMessage'][_0x43e7('0x54')]()[_0x43e7('0x1c')](respondWithResult(_0x558d54,null))['catch'](handleError(_0x558d54,null));};exports[_0x43e7('0x55')]=function(_0x54506d,_0x49a6ce){return db[_0x43e7('0x51')][_0x43e7('0x55')](_0x54506d[_0x43e7('0x52')])[_0x43e7('0x1c')](function(_0x68697){if(_0x68697){if(_0x68697['direction']===_0x43e7('0x56')&&!_0x68697[_0x43e7('0x57')]){return db['MailAccount'][_0x43e7('0x58')]({'where':{'id':_0x68697[_0x43e7('0x59')]},'include':[{'model':db[_0x43e7('0x5a')],'as':'Smtp','raw':!![]}]})['then'](function(_0x557a47){if(_0x557a47&&_0x557a47[_0x43e7('0x5b')]){var _0x4058ce={'tls':{'rejectUnauthorized':![]}};if(_[_0x43e7('0x5c')](_0x557a47[_0x43e7('0x5b')]['service'])){_0x4058ce['host']=_0x557a47[_0x43e7('0x5b')][_0x43e7('0x5d')];_0x4058ce[_0x43e7('0x5e')]=_0x557a47[_0x43e7('0x5b')]['port'];_0x4058ce[_0x43e7('0x5f')]=_0x557a47[_0x43e7('0x5b')][_0x43e7('0x5f')];if(_0x557a47[_0x43e7('0x5b')][_0x43e7('0x60')]){_0x4058ce[_0x43e7('0x61')]={'user':_0x557a47[_0x43e7('0x5b')][_0x43e7('0x62')],'pass':_0x557a47[_0x43e7('0x5b')][_0x43e7('0x63')]};}}else{_0x4058ce[_0x43e7('0x64')]=_0x557a47['Smtp']['service'];_0x4058ce[_0x43e7('0x61')]={'user':_0x557a47['Smtp']['user'],'pass':_0x557a47['Smtp'][_0x43e7('0x63')]};_0x4058ce[_0x43e7('0x5f')]=_0x557a47['Smtp'][_0x43e7('0x5f')];}if(_0x54506d[_0x43e7('0x52')][_0x43e7('0x65')]&&_0x54506d['body'][_0x43e7('0x65')][_0x43e7('0x41')]){for(var _0x289f86=0x0;_0x289f86<_0x54506d[_0x43e7('0x52')][_0x43e7('0x65')][_0x43e7('0x41')];_0x289f86+=0x1){_0x54506d[_0x43e7('0x52')]['attachments'][_0x289f86]={'filename':_0x54506d[_0x43e7('0x52')][_0x43e7('0x65')][_0x289f86][_0x43e7('0x36')],'path':path['join'](config['root'],_0x43e7('0x66'),_0x54506d['body']['attachments'][_0x289f86][_0x43e7('0x67')])};}}return{'account':_0x4058ce,'message':_0x54506d[_0x43e7('0x52')]};}})['then'](function(_0x88c7f){if(_0x88c7f){return respondWithRpcPromise(_0x43e7('0x68'),_0x43e7('0x69'),_0x88c7f,client9003)[_0x43e7('0x1c')](function(_0x16499c){return _0x68697[_0x43e7('0x33')]({'read':!![],'messageId':_0x16499c[_0x43e7('0x6a')],'sentAt':moment()['format'](_0x43e7('0x6b'))});})[_0x43e7('0x27')](function(_0x4e5956){logger[_0x43e7('0x23')]('%s',JSON['stringify'](_0x4e5956));return _0x68697;});}return _0x68697;});}return _0x68697;}})[_0x43e7('0x1c')](respondWithResult(_0x49a6ce,0xc9))[_0x43e7('0x27')](handleError(_0x49a6ce,null));};var interaction_log=require(_0x43e7('0x6c'))(_0x43e7('0x6d'));exports['accept']=function(_0x2d25b5,_0x2646c2,_0xf929a5){var _0x556001={'channel':_0x43e7('0x6e')};if(_0x2d25b5[_0x43e7('0x52')]['id']){delete _0x2d25b5[_0x43e7('0x52')]['id'];}_0x2d25b5[_0x43e7('0x52')][_0x43e7('0x6f')]=!![];_0x2d25b5['body'][_0x43e7('0x70')]=moment()[_0x43e7('0x71')](_0x43e7('0x6b'));_0x2d25b5[_0x43e7('0x52')][_0x43e7('0x72')]=_0x2d25b5[_0x43e7('0x52')][_0x43e7('0x72')]||_0x2d25b5['user']['id'];return db['MailMessage'][_0x43e7('0x53')]({'where':{'id':_0x2d25b5['params']['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':'Contact'}]})[_0x43e7('0x1c')](handleEntityNotFound(_0x2646c2,null))[_0x43e7('0x1c')](saveUpdates(_0x2d25b5[_0x43e7('0x52')],null))[_0x43e7('0x1c')](function(_0x18713b){if(_0x18713b){_0x556001[_0x43e7('0x25')]=_0x18713b['get']({'plain':!![]});return db[_0x43e7('0x73')][_0x43e7('0x53')]({'where':{'id':_0x18713b[_0x43e7('0x74')]}});}return null;})['then'](handleEntityNotFound(_0x2646c2,null))[_0x43e7('0x1c')](function(_0xea84ec){if(_0xea84ec){return _0xea84ec[_0x43e7('0x33')]({'UserId':_0x2d25b5[_0x43e7('0x52')][_0x43e7('0x72')],'read1stAt':_[_0x43e7('0x5c')](_0xea84ec[_0x43e7('0x75')])?moment()[_0x43e7('0x71')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})['then'](function(_0x55990c){if(_0x55990c){_0x556001[_0x43e7('0x76')]=_0x55990c[_0x43e7('0x77')]({'plain':!![]});interaction_log['info'](_0x43e7('0x78'),_0x2d25b5[_0x43e7('0x62')]['id'],_0x2d25b5[_0x43e7('0x62')][_0x43e7('0x36')],_0x2d25b5['user']['role'],_0x556001['interaction']['id'],_0x2d25b5[_0x43e7('0x52')]?JSON[_0x43e7('0x22')](_0x2d25b5['body']):'null');return respondWithRpcPromise(_0x43e7('0x79'),_0x43e7('0x7a'),_0x556001);}return null;})[_0x43e7('0x1c')](function(_0x4ae26f){if(_0x4ae26f){if(_0x2d25b5[_0x43e7('0x52')][_0x43e7('0x7b')]){_0x556001[_0x43e7('0x25')][_0x43e7('0x7c')]=util['format'](_0x43e7('0x7d'),_0x2d25b5['user'][_0x43e7('0x36')]);_0x556001[_0x43e7('0x25')][_0x43e7('0x7e')]=_0x556001[_0x43e7('0x7e')];_0x556001[_0x43e7('0x25')][_0x43e7('0x7f')]=_0x43e7('0x80');return respondWithRpcPromise('EventManager',_0x43e7('0x81'),{'event':_0x43e7('0x82'),'message':_0x556001[_0x43e7('0x25')]},client9002)[_0x43e7('0x1c')](function(){return _0x556001;});}return _0x556001;}return null;})['then'](respondWithResult(_0x2646c2,null))['catch'](handleError(_0x2646c2,null));};var interaction_log=require('../../config/logger')(_0x43e7('0x6d'));exports['reject']=function(_0x240f0d,_0x36b768,_0x2d02bf){var _0x7387f6={'agent':{},'channel':_0x43e7('0x6e')};if(_0x240f0d[_0x43e7('0x52')]['id']){delete _0x240f0d[_0x43e7('0x52')]['id'];}_0x240f0d[_0x43e7('0x52')][_0x43e7('0x72')]=_0x240f0d[_0x43e7('0x52')][_0x43e7('0x72')]||_0x240f0d['user']['id'];_0x7387f6[_0x43e7('0x83')]['id']=_0x240f0d[_0x43e7('0x52')][_0x43e7('0x72')];return db[_0x43e7('0x51')][_0x43e7('0x53')]({'where':{'id':_0x240f0d['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x36b768,null))[_0x43e7('0x1c')](function(_0x3e3c82){if(_0x3e3c82){_0x7387f6['message']=_0x3e3c82[_0x43e7('0x77')]({'plain':!![]});return db[_0x43e7('0x73')]['find']({'where':{'id':_0x3e3c82['MailInteractionId']}});}return null;})[_0x43e7('0x1c')](handleEntityNotFound(_0x36b768,null))[_0x43e7('0x1c')](function(_0x22947e){if(_0x22947e){_0x7387f6[_0x43e7('0x76')]=_0x22947e[_0x43e7('0x77')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x240f0d[_0x43e7('0x62')]['id'],_0x240f0d[_0x43e7('0x62')][_0x43e7('0x36')],_0x240f0d[_0x43e7('0x62')]['role'],_0x7387f6[_0x43e7('0x76')]['id'],_0x240f0d[_0x43e7('0x52')]?JSON[_0x43e7('0x22')](_0x240f0d[_0x43e7('0x52')]):'null');return respondWithRpcPromise(_0x43e7('0x84'),_0x43e7('0x85'),_0x7387f6);}return null;})[_0x43e7('0x1c')](function(_0x2ba752){if(_0x2ba752){_0x2ba752[_0x43e7('0x25')]['interface']=util[_0x43e7('0x71')](_0x43e7('0x7d'),_0x240f0d['user'][_0x43e7('0x36')]);_0x2ba752[_0x43e7('0x25')][_0x43e7('0x7e')]=_0x7387f6[_0x43e7('0x7e')];_0x2ba752['message'][_0x43e7('0x7f')]='reject';respondWithRpcPromise(_0x43e7('0x81'),_0x43e7('0x81'),{'event':_0x43e7('0x86'),'message':_0x2ba752[_0x43e7('0x25')]},client9002);return _0x7387f6;}return null;})[_0x43e7('0x1c')](respondWithResult(_0x36b768,null))[_0x43e7('0x27')](handleError(_0x36b768,null));};exports[_0x43e7('0x87')]=function(_0x350d0f,_0xa693a3){var _0x5460cf=moment()[_0x43e7('0x88')]()[_0x43e7('0x89')]();var _0x376256=path[_0x43e7('0x8a')](config['root'],'server',_0x43e7('0x8b'),_0x43e7('0x8c'));var _0x213dea=path['join'](config[_0x43e7('0x8d')],'server','files','attachments');var _0x472075=util['format'](_0x43e7('0x8e'),_0x5460cf);return db[_0x43e7('0x51')][_0x43e7('0x53')]({'where':{'id':_0x350d0f[_0x43e7('0x4f')]['id']},'attributes':['id',_0x43e7('0x52'),'from','to','cc','subject',_0x43e7('0x8f')],'include':_0x350d0f[_0x43e7('0x3c')]['attachments']?[{'model':db[_0x43e7('0x90')],'as':_0x43e7('0x91')}]:undefined})[_0x43e7('0x1c')](handleEntityNotFound(_0xa693a3,null))[_0x43e7('0x1c')](function(_0xc83a14){if(_0xc83a14){var _0x1dbbb9=_0xc83a14;var _0x399253={'from':_0x1dbbb9[_0x43e7('0x92')],'to':_0x1dbbb9['to'],'subject':_0x1dbbb9[_0x43e7('0x93')],'html':_0x1dbbb9[_0x43e7('0x52')],'headers':{'Date':moment(_0x1dbbb9[_0x43e7('0x8f')])[_0x43e7('0x71')](_0x43e7('0x94'))},'attachments':[]};return new BPromise(function(_0x277b80,_0x37ee16){if(_0xc83a14[_0x43e7('0x91')]){for(var _0x3286b1=0x0;_0x3286b1<_0xc83a14[_0x43e7('0x91')][_0x43e7('0x41')];_0x3286b1++){var _0x3bdcc9=_0xc83a14[_0x43e7('0x91')][_0x3286b1];var _0x11f7d8=path['join'](_0x213dea,_0x3bdcc9[_0x43e7('0x67')]);if(fs[_0x43e7('0x95')](_0x11f7d8)){_0x399253[_0x43e7('0x65')][_0x43e7('0x96')]({'name':_0x3bdcc9['name'],'contentType':_0x3bdcc9[_0x43e7('0x49')],'data':fs['readFileSync'](_0x11f7d8)});}}}emlformat[_0x43e7('0x97')](_0x399253,function(_0x42413e,_0x328646){if(_0x42413e)return _0x37ee16(_0x42413e);fs[_0x43e7('0x98')](path[_0x43e7('0x8a')](_0x376256,_0x472075),_0x328646);return _0x277b80(_0x328646);});});}})[_0x43e7('0x1c')](function(_0x4cdfcf){if(_0x4cdfcf){return _0xa693a3[_0x43e7('0x87')](path[_0x43e7('0x8a')](_0x376256,_0x472075),_0x472075,function(_0x9d146b){if(_0x9d146b){console[_0x43e7('0x99')](_0x43e7('0x9a'),_0x9d146b);}else{fs['unlinkSync'](path['join'](_0x376256,_0x472075));}});}})[_0x43e7('0x27')](handleError(_0xa693a3,null));};