Built motion from commit (unavailable).|2.6.0
[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 _0x13c0=['name','index','map','MailMessage','rawAttributes','fieldName','type','key','keys','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','filter','where','merge','VIRTUAL','includeAll','findAll','rows','show','include','options','find','body','params','describe','create','direction','out','secret','split','MailAccount','CmList','updatedAt','DESC','MailServerOut','Smtp','isNil','host','port','secure','authentication','auth','pass','service','attachments','join','root','server/files/attachments','basename','List','Contacts','CmContact','ListId','List\x20not\x20found','SendMail','format','mail-interactions','accept','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','Contact','MailInteraction','MailInteractionId','interaction','get','role','null','AcceptMessage','acceptMessage','cf_','push','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','interface','SIP/%s','channel','event','EventManager','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','startsWith','download','unix','toString','tmp','server','files','message-%s.eml','bcc','subject','createdAt','Attachment','Attachments','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','readFileSync','writeFileSync','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','./mailMessage.socket','register','jayson/promise','client','http','request','then','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','info','catch','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','end','stack'];(function(_0x2fb903,_0x4d6537){var _0x2703f1=function(_0x4e18f9){while(--_0x4e18f9){_0x2fb903['push'](_0x2fb903['shift']());}};_0x2703f1(++_0x4d6537);}(_0x13c0,0x79));var _0x013c=function(_0x312ff8,_0x5d7167){_0x312ff8=_0x312ff8-0x0;var _0x4e144b=_0x13c0[_0x312ff8];return _0x4e144b;};'use strict';var emlformat=require(_0x013c('0x0'));var rimraf=require(_0x013c('0x1'));var zipdir=require(_0x013c('0x2'));var jsonpatch=require(_0x013c('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x013c('0x4'));var util=require(_0x013c('0x5'));var path=require(_0x013c('0x6'));var sox=require(_0x013c('0x7'));var csv=require(_0x013c('0x8'));var ejs=require(_0x013c('0x9'));var fs=require('fs');var fs_extra=require(_0x013c('0xa'));var _=require(_0x013c('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x013c('0xc'));var toCsv=require(_0x013c('0x8'));var querystring=require('querystring');var Papa=require(_0x013c('0xd'));var Redis=require(_0x013c('0xe'));var authService=require(_0x013c('0xf'));var qs=require(_0x013c('0x10'));var as=require(_0x013c('0x11'));var hardwareService=require(_0x013c('0x12'));var logger=require(_0x013c('0x13'))(_0x013c('0x14'));var utils=require(_0x013c('0x15'));var config=require(_0x013c('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x013c('0x17')]=_[_0x013c('0x18')](config[_0x013c('0x17')],{'host':_0x013c('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x013c('0x17')]));require(_0x013c('0x1a'))[_0x013c('0x1b')](socket);var jayson=require(_0x013c('0x1c'));var client=jayson[_0x013c('0x1d')]['http']({'port':0x232c});var client9003=jayson[_0x013c('0x1d')][_0x013c('0x1e')]({'port':0x232b});var client9002=jayson[_0x013c('0x1d')][_0x013c('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x1a5e16,_0x1038d6,_0x6b8b5,_0x305fd5){return new BPromise(function(_0x246f11,_0x271c9d){var _0x34d59f=_0x305fd5||client;return _0x34d59f[_0x013c('0x1f')](_0x1a5e16,_0x6b8b5)[_0x013c('0x20')](function(_0x5a9142){logger['info'](_0x013c('0x21'),_0x1038d6,_0x013c('0x22'));logger['debug'](_0x013c('0x23'),_0x1038d6,_0x013c('0x22'),JSON[_0x013c('0x24')](_0x5a9142));if(_0x5a9142[_0x013c('0x25')]){if(_0x5a9142[_0x013c('0x25')]['code']===0x1f4){logger[_0x013c('0x25')](_0x013c('0x21'),_0x1038d6,_0x5a9142['error'][_0x013c('0x26')]);return _0x271c9d(_0x5a9142[_0x013c('0x25')]['message']);}logger['error'](_0x013c('0x21'),_0x1038d6,_0x5a9142[_0x013c('0x25')][_0x013c('0x26')]);return _0x246f11(_0x5a9142[_0x013c('0x25')][_0x013c('0x26')]);}else{logger[_0x013c('0x27')](_0x013c('0x21'),_0x1038d6,_0x013c('0x22'));_0x246f11(_0x5a9142['result'][_0x013c('0x26')]);}})[_0x013c('0x28')](function(_0x1952d0){logger[_0x013c('0x25')](_0x013c('0x21'),_0x1038d6,_0x1952d0);_0x271c9d(_0x1952d0);});});}function respondWithStatusCode(_0x3cd072,_0x584ddf){_0x584ddf=_0x584ddf||0xcc;return function(_0xc1e719){if(_0xc1e719){return _0x3cd072[_0x013c('0x29')](_0x584ddf);}return _0x3cd072[_0x013c('0x2a')](_0x584ddf)['end']();};}function respondWithResult(_0xa74f05,_0x4f062f){_0x4f062f=_0x4f062f||0xc8;return function(_0x395081){if(_0x395081){return _0xa74f05[_0x013c('0x2a')](_0x4f062f)['json'](_0x395081);}};}function respondWithFilteredResult(_0x353cb7,_0x32da8c){return function(_0x16cdad){if(_0x16cdad){var _0x43dc43=typeof _0x32da8c[_0x013c('0x2b')]===_0x013c('0x2c')&&typeof _0x32da8c[_0x013c('0x2d')]===_0x013c('0x2c');var _0xba783b=_0x16cdad[_0x013c('0x2e')];var _0x556bdc=_0x43dc43?0x0:_0x32da8c[_0x013c('0x2b')];var _0x44d84c=_0x43dc43?_0x16cdad[_0x013c('0x2e')]:_0x32da8c[_0x013c('0x2b')]+_0x32da8c[_0x013c('0x2d')];var _0x5b42ac;if(_0x44d84c>=_0xba783b){_0x44d84c=_0xba783b;_0x5b42ac=0xc8;}else{_0x5b42ac=0xce;}_0x353cb7[_0x013c('0x2a')](_0x5b42ac);return _0x353cb7[_0x013c('0x2f')](_0x013c('0x30'),_0x556bdc+'-'+_0x44d84c+'/'+_0xba783b)[_0x013c('0x31')](_0x16cdad);}return null;};}function patchUpdates(_0x4f5f6a){return function(_0x4da083){try{jsonpatch['apply'](_0x4da083,_0x4f5f6a,!![]);}catch(_0x469b9e){return BPromise[_0x013c('0x32')](_0x469b9e);}return _0x4da083[_0x013c('0x33')]();};}function saveUpdates(_0x443275,_0x437b50){return function(_0x22cfc5){if(_0x22cfc5){return _0x22cfc5[_0x013c('0x34')](_0x443275)[_0x013c('0x20')](function(_0x3b95d8){return _0x3b95d8;});}return null;};}function removeEntity(_0x12724e,_0xc69c3f){return function(_0x9f2811){if(_0x9f2811){return _0x9f2811['destroy']()['then'](function(){_0x12724e[_0x013c('0x2a')](0xcc)[_0x013c('0x35')]();});}};}function handleEntityNotFound(_0x245086,_0x14b67f){return function(_0x5dc406){if(!_0x5dc406){_0x245086[_0x013c('0x29')](0x194);}return _0x5dc406;};}function handleError(_0xefb24b,_0x4707d3){_0x4707d3=_0x4707d3||0x1f4;return function(_0x2c584e){logger['error'](_0x2c584e[_0x013c('0x36')]);if(_0x2c584e[_0x013c('0x37')]){delete _0x2c584e['name'];}_0xefb24b[_0x013c('0x2a')](_0x4707d3)['send'](_0x2c584e);};}exports[_0x013c('0x38')]=function(_0x2ff0bb,_0x447aae){var _0x2b090c={},_0x4eda00={},_0x3f2fda={'count':0x0,'rows':[]};var _0x39b6b3=_[_0x013c('0x39')](db[_0x013c('0x3a')][_0x013c('0x3b')],function(_0x1c998e){return{'name':_0x1c998e[_0x013c('0x3c')],'type':_0x1c998e[_0x013c('0x3d')][_0x013c('0x3e')]};});_0x4eda00['model']=_[_0x013c('0x39')](_0x39b6b3,_0x013c('0x37'));_0x4eda00['query']=_[_0x013c('0x3f')](_0x2ff0bb[_0x013c('0x40')]);_0x4eda00['filters']=_[_0x013c('0x41')](_0x4eda00[_0x013c('0x42')],_0x4eda00[_0x013c('0x40')]);_0x2b090c[_0x013c('0x43')]=_[_0x013c('0x41')](_0x4eda00['model'],qs[_0x013c('0x44')](_0x2ff0bb['query']['fields']));_0x2b090c['attributes']=_0x2b090c['attributes'][_0x013c('0x45')]?_0x2b090c[_0x013c('0x43')]:_0x4eda00[_0x013c('0x42')];if(!_0x2ff0bb['query'][_0x013c('0x46')](_0x013c('0x47'))){_0x2b090c[_0x013c('0x2d')]=qs[_0x013c('0x2d')](_0x2ff0bb[_0x013c('0x40')]['limit']);_0x2b090c[_0x013c('0x2b')]=qs[_0x013c('0x2b')](_0x2ff0bb['query']['offset']);}_0x2b090c['order']=qs['sort'](_0x2ff0bb[_0x013c('0x40')][_0x013c('0x48')]);_0x2b090c['where']=qs[_0x013c('0x49')](_[_0x013c('0x4a')](_0x2ff0bb['query'],_0x4eda00[_0x013c('0x49')]),_0x39b6b3);if(_0x2ff0bb[_0x013c('0x40')][_0x013c('0x4b')]){_0x2b090c[_0x013c('0x4c')]=_[_0x013c('0x4d')](_0x2b090c[_0x013c('0x4c')],{'$or':_[_0x013c('0x39')](_0x39b6b3,function(_0x7e44ac){if(_0x7e44ac['type']!==_0x013c('0x4e')){var _0x499f0d={};_0x499f0d[_0x7e44ac[_0x013c('0x37')]]={'$like':'%'+_0x2ff0bb['query']['filter']+'%'};return _0x499f0d;}})});}_0x2b090c=_[_0x013c('0x4d')]({},_0x2b090c,_0x2ff0bb['options']);var _0x21cc50={'where':_0x2b090c[_0x013c('0x4c')]};return db[_0x013c('0x3a')][_0x013c('0x2e')](_0x21cc50)['then'](function(_0x5185a3){_0x3f2fda['count']=_0x5185a3;if(_0x2ff0bb['query'][_0x013c('0x4f')]){_0x2b090c['include']=[{'all':!![]}];}return db[_0x013c('0x3a')][_0x013c('0x50')](_0x2b090c);})[_0x013c('0x20')](function(_0x3c717c){_0x3f2fda[_0x013c('0x51')]=_0x3c717c;return _0x3f2fda;})[_0x013c('0x20')](respondWithFilteredResult(_0x447aae,_0x2b090c))[_0x013c('0x28')](handleError(_0x447aae,null));};exports[_0x013c('0x52')]=function(_0x1069eb,_0x5ca070){var _0x250c89={'raw':!![],'where':{'id':_0x1069eb['params']['id']}},_0x5163d8={};_0x5163d8[_0x013c('0x42')]=_['keys'](db['MailMessage'][_0x013c('0x3b')]);_0x5163d8[_0x013c('0x40')]=_['keys'](_0x1069eb[_0x013c('0x40')]);_0x5163d8[_0x013c('0x49')]=_[_0x013c('0x41')](_0x5163d8['model'],_0x5163d8[_0x013c('0x40')]);_0x250c89[_0x013c('0x43')]=_[_0x013c('0x41')](_0x5163d8[_0x013c('0x42')],qs[_0x013c('0x44')](_0x1069eb['query'][_0x013c('0x44')]));_0x250c89[_0x013c('0x43')]=_0x250c89[_0x013c('0x43')][_0x013c('0x45')]?_0x250c89['attributes']:_0x5163d8[_0x013c('0x42')];if(_0x1069eb[_0x013c('0x40')][_0x013c('0x4f')]){_0x250c89[_0x013c('0x53')]=[{'all':!![]}];}_0x250c89=_[_0x013c('0x4d')]({},_0x250c89,_0x1069eb[_0x013c('0x54')]);return db[_0x013c('0x3a')][_0x013c('0x55')](_0x250c89)[_0x013c('0x20')](handleEntityNotFound(_0x5ca070,null))['then'](respondWithResult(_0x5ca070,null))[_0x013c('0x28')](handleError(_0x5ca070,null));};exports[_0x013c('0x34')]=function(_0x5c8cc9,_0x55bf4a){if(_0x5c8cc9[_0x013c('0x56')]['id']){delete _0x5c8cc9['body']['id'];}return db[_0x013c('0x3a')][_0x013c('0x55')]({'where':{'id':_0x5c8cc9[_0x013c('0x57')]['id']}})[_0x013c('0x20')](handleEntityNotFound(_0x55bf4a,null))['then'](saveUpdates(_0x5c8cc9[_0x013c('0x56')],null))[_0x013c('0x20')](respondWithResult(_0x55bf4a,null))[_0x013c('0x28')](handleError(_0x55bf4a,null));};exports['destroy']=function(_0x261819,_0x5e81a6){return db[_0x013c('0x3a')]['find']({'where':{'id':_0x261819[_0x013c('0x57')]['id']}})[_0x013c('0x20')](handleEntityNotFound(_0x5e81a6,null))[_0x013c('0x20')](removeEntity(_0x5e81a6,null))['catch'](handleError(_0x5e81a6,null));};exports['describe']=function(_0x4105f8,_0x2c7a42){return db[_0x013c('0x3a')][_0x013c('0x58')]()[_0x013c('0x20')](respondWithResult(_0x2c7a42,null))['catch'](handleError(_0x2c7a42,null));};exports[_0x013c('0x59')]=function(_0x3a3c8b,_0x201adc){return db['MailMessage']['create'](_0x3a3c8b[_0x013c('0x56')])[_0x013c('0x20')](function(_0x4edae2){if(_0x4edae2){if(_0x4edae2[_0x013c('0x5a')]===_0x013c('0x5b')&&!_0x4edae2[_0x013c('0x5c')]){var _0x1d375c,_0x5594eb,_0xa8036a;if(_0x3a3c8b[_0x013c('0x56')]['to']){_0x5594eb=_0x3a3c8b[_0x013c('0x56')]['to'][_0x013c('0x5d')](',')[0x0];}return db[_0x013c('0x5e')]['findOne']({'where':{'id':_0x4edae2['MailAccountId']},'include':[{'model':db[_0x013c('0x5f')],'as':'List','include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x5594eb},'limit':0x1,'order':[[_0x013c('0x60'),_0x013c('0x61')]]}]},{'model':db[_0x013c('0x62')],'as':'Smtp','raw':!![]}]})['then'](function(_0x37acc2){_0x1d375c=_0x37acc2;if(_0x1d375c&&_0x1d375c[_0x013c('0x63')]){var _0x319235={'tls':{'rejectUnauthorized':![]}};if(_[_0x013c('0x64')](_0x1d375c[_0x013c('0x63')]['service'])){_0x319235[_0x013c('0x65')]=_0x1d375c[_0x013c('0x63')][_0x013c('0x65')];_0x319235[_0x013c('0x66')]=_0x1d375c[_0x013c('0x63')][_0x013c('0x66')];_0x319235[_0x013c('0x67')]=_0x1d375c[_0x013c('0x63')][_0x013c('0x67')];if(_0x1d375c['Smtp'][_0x013c('0x68')]){_0x319235[_0x013c('0x69')]={'user':_0x1d375c[_0x013c('0x63')]['user'],'pass':_0x1d375c[_0x013c('0x63')][_0x013c('0x6a')]};}}else{_0x319235[_0x013c('0x6b')]=_0x1d375c[_0x013c('0x63')][_0x013c('0x6b')];_0x319235[_0x013c('0x69')]={'user':_0x1d375c[_0x013c('0x63')]['user'],'pass':_0x1d375c['Smtp'][_0x013c('0x6a')]};_0x319235[_0x013c('0x67')]=_0x1d375c[_0x013c('0x63')][_0x013c('0x67')];}if(_0x3a3c8b[_0x013c('0x56')][_0x013c('0x6c')]&&_0x3a3c8b[_0x013c('0x56')][_0x013c('0x6c')][_0x013c('0x45')]){for(var _0x54d6b9=0x0;_0x54d6b9<_0x3a3c8b['body']['attachments'][_0x013c('0x45')];_0x54d6b9+=0x1){_0x3a3c8b['body'][_0x013c('0x6c')][_0x54d6b9]={'filename':_0x3a3c8b[_0x013c('0x56')]['attachments'][_0x54d6b9][_0x013c('0x37')],'path':path[_0x013c('0x6d')](config[_0x013c('0x6e')],_0x013c('0x6f'),_0x3a3c8b[_0x013c('0x56')][_0x013c('0x6c')][_0x54d6b9][_0x013c('0x70')])};}}_0xa8036a={'account':_0x319235,'message':_0x3a3c8b[_0x013c('0x56')]};return;}})['then'](function(){if(_0x1d375c['List']){if(_0x1d375c[_0x013c('0x71')][_0x013c('0x72')][_0x013c('0x45')]){return _0x1d375c['List'][_0x013c('0x72')][0x0];}else{return db[_0x013c('0x73')][_0x013c('0x59')](_[_0x013c('0x18')](_0x3a3c8b['body'],{'firstName':_0x3a3c8b[_0x013c('0x56')]['to'],'email':_0x3a3c8b[_0x013c('0x56')]['to'],'phone':_0x3a3c8b['body']['to'],'ListId':_0x1d375c[_0x013c('0x74')]}));}}else{throw new Error(_0x013c('0x75'));}})[_0x013c('0x20')](function(){if(_0xa8036a){return respondWithRpcPromise(_0x013c('0x76'),'sendMail',_0xa8036a,client9003)[_0x013c('0x20')](function(_0x4a307e){return _0x4edae2[_0x013c('0x34')]({'read':!![],'messageId':_0x4a307e['messageId'],'sentAt':moment()[_0x013c('0x77')]('YYYY-MM-DD\x20HH:mm:ss')});})['catch'](function(_0x5cccbb){logger[_0x013c('0x25')]('%s',JSON[_0x013c('0x24')](_0x5cccbb));return _0x4edae2;});}return _0x4edae2;});}return _0x4edae2;}})[_0x013c('0x20')](respondWithResult(_0x201adc,0xc9))[_0x013c('0x28')](handleError(_0x201adc,null));};var interaction_log=require(_0x013c('0x13'))(_0x013c('0x78'));exports[_0x013c('0x79')]=function(_0x5a86b6,_0x1bf7b5,_0x1a3442){var _0x2a337e={'agent':{},'channel':'mail'};if(_0x5a86b6[_0x013c('0x56')]['id']){delete _0x5a86b6[_0x013c('0x56')]['id'];}_0x5a86b6[_0x013c('0x56')][_0x013c('0x7a')]=!![];_0x5a86b6[_0x013c('0x56')][_0x013c('0x7b')]=moment()[_0x013c('0x77')](_0x013c('0x7c'));_0x5a86b6[_0x013c('0x56')][_0x013c('0x7d')]=_0x5a86b6[_0x013c('0x56')][_0x013c('0x7d')]||_0x5a86b6[_0x013c('0x7e')]['id'];_0x2a337e[_0x013c('0x7f')]['id']=_0x5a86b6[_0x013c('0x56')][_0x013c('0x7d')];return db[_0x013c('0x3a')][_0x013c('0x55')]({'where':{'id':_0x5a86b6[_0x013c('0x57')]['id'],'UserId':null},'include':[{'model':db[_0x013c('0x73')],'as':_0x013c('0x80')}]})[_0x013c('0x20')](handleEntityNotFound(_0x1bf7b5,null))[_0x013c('0x20')](saveUpdates(_0x5a86b6[_0x013c('0x56')],null))[_0x013c('0x20')](function(_0x52b563){if(_0x52b563){_0x2a337e[_0x013c('0x26')]=_0x52b563['get']({'plain':!![]});return db[_0x013c('0x81')]['find']({'where':{'id':_0x52b563[_0x013c('0x82')]}});}return null;})[_0x013c('0x20')](handleEntityNotFound(_0x1bf7b5,null))['then'](function(_0x3bd59c){if(_0x3bd59c){return _0x3bd59c[_0x013c('0x34')]({'UserId':_0x5a86b6[_0x013c('0x56')][_0x013c('0x7d')],'read1stAt':_['isNil'](_0x3bd59c['read1stAt'])?moment()['format'](_0x013c('0x7c')):undefined});}return null;})[_0x013c('0x20')](function(_0x257eb8){if(_0x257eb8){_0x2a337e[_0x013c('0x83')]=_0x257eb8[_0x013c('0x84')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x5a86b6[_0x013c('0x7e')]['id'],_0x5a86b6['user'][_0x013c('0x37')],_0x5a86b6[_0x013c('0x7e')][_0x013c('0x85')],_0x2a337e[_0x013c('0x83')]['id'],_0x5a86b6['body']?JSON[_0x013c('0x24')](_0x5a86b6[_0x013c('0x56')]):_0x013c('0x86'));return respondWithRpcPromise(_0x013c('0x87'),_0x013c('0x88'),_0x2a337e);}return null;})['then'](function(_0x9258a4){return db['CmContact']['describe']()[_0x013c('0x20')](function(_0xb84df2){var _0x5890a8=[];for(var _0x522044=0x0;_0x522044<Object[_0x013c('0x3f')](_0xb84df2)[_0x013c('0x45')];_0x522044++){var _0x380009=Object[_0x013c('0x3f')](_0xb84df2)[_0x522044];if(_['startsWith'](_0x380009,_0x013c('0x89'))){_0x5890a8[_0x013c('0x8a')](_0x380009);}}var _0x1187e4=_0x013c('0x8b')+_0x9258a4[_0x013c('0x26')][_0x013c('0x8c')];return db[_0x013c('0x8d')][_0x013c('0x40')](_0x1187e4,{'type':db[_0x013c('0x8e')][_0x013c('0x8f')][_0x013c('0x90')],'raw':!![]})['then'](function(_0xfa663d){return _0xfa663d;});});})[_0x013c('0x20')](function(_0x3946f3){if(_0x3946f3){_0x2a337e[_0x013c('0x26')][_0x013c('0x91')]=_0x3946f3[0x0];if(_0x5a86b6['body']['manual']){_0x2a337e['message'][_0x013c('0x92')]=util['format'](_0x013c('0x93'),_0x5a86b6[_0x013c('0x7e')][_0x013c('0x37')]);_0x2a337e[_0x013c('0x26')][_0x013c('0x94')]=_0x2a337e[_0x013c('0x94')];_0x2a337e[_0x013c('0x26')][_0x013c('0x95')]=_0x013c('0x79');return respondWithRpcPromise(_0x013c('0x96'),_0x013c('0x96'),{'event':'acceptmessage','message':_0x2a337e[_0x013c('0x26')]},client9002)[_0x013c('0x20')](function(){return _0x2a337e;});}return _0x2a337e;}return null;})[_0x013c('0x20')](respondWithResult(_0x1bf7b5,null))['catch'](handleError(_0x1bf7b5,null));};var interaction_log=require(_0x013c('0x13'))(_0x013c('0x78'));exports['reject']=function(_0x4e89da,_0x25b700,_0xd32d98){var _0x290ba1={'agent':{},'channel':'mail'};if(_0x4e89da[_0x013c('0x56')]['id']){delete _0x4e89da[_0x013c('0x56')]['id'];}_0x4e89da[_0x013c('0x56')][_0x013c('0x7d')]=_0x4e89da['body'][_0x013c('0x7d')]||_0x4e89da[_0x013c('0x7e')]['id'];_0x290ba1['agent']['id']=_0x4e89da[_0x013c('0x56')]['UserId'];return db['MailMessage']['find']({'where':{'id':_0x4e89da[_0x013c('0x57')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x25b700,null))[_0x013c('0x20')](function(_0x2f8969){if(_0x2f8969){_0x290ba1[_0x013c('0x26')]=_0x2f8969['get']({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x2f8969[_0x013c('0x82')]}});}return null;})[_0x013c('0x20')](handleEntityNotFound(_0x25b700,null))['then'](function(_0x2431bb){if(_0x2431bb){_0x290ba1[_0x013c('0x83')]=_0x2431bb[_0x013c('0x84')]({'plain':!![]});interaction_log['info'](_0x013c('0x97'),_0x4e89da[_0x013c('0x7e')]['id'],_0x4e89da['user'][_0x013c('0x37')],_0x4e89da['user'][_0x013c('0x85')],_0x290ba1['interaction']['id'],_0x4e89da[_0x013c('0x56')]?JSON[_0x013c('0x24')](_0x4e89da[_0x013c('0x56')]):_0x013c('0x86'));return respondWithRpcPromise(_0x013c('0x98'),_0x013c('0x99'),_0x290ba1);}return null;})[_0x013c('0x20')](function(_0x16fd6e){return db[_0x013c('0x73')][_0x013c('0x58')]()[_0x013c('0x20')](function(_0x6b41c6){var _0x17252f=[];for(var _0x3ad0bb=0x0;_0x3ad0bb<Object[_0x013c('0x3f')](_0x6b41c6)['length'];_0x3ad0bb++){var _0x5e2b76=Object[_0x013c('0x3f')](_0x6b41c6)[_0x3ad0bb];if(_[_0x013c('0x9a')](_0x5e2b76,'cf_')){_0x17252f[_0x013c('0x8a')](_0x5e2b76);}}var _0x38c7bf=_0x013c('0x8b')+_0x16fd6e[_0x013c('0x26')][_0x013c('0x8c')];return db[_0x013c('0x8d')]['query'](_0x38c7bf,{'type':db['Sequelize'][_0x013c('0x8f')][_0x013c('0x90')],'raw':!![]})[_0x013c('0x20')](function(_0x5dfed0){return _0x5dfed0;});});})['then'](function(_0x25e7dc){if(_0x25e7dc){_0x290ba1[_0x013c('0x26')][_0x013c('0x91')]=_0x25e7dc[0x0];_0x290ba1[_0x013c('0x26')][_0x013c('0x92')]=util['format'](_0x013c('0x93'),_0x4e89da[_0x013c('0x7e')][_0x013c('0x37')]);_0x290ba1['message'][_0x013c('0x94')]=_0x290ba1[_0x013c('0x94')];_0x290ba1[_0x013c('0x26')][_0x013c('0x95')]='reject';respondWithRpcPromise(_0x013c('0x96'),_0x013c('0x96'),{'event':'rejectmessage','message':_0x290ba1[_0x013c('0x26')]},client9002);return _0x290ba1;}return null;})['then'](respondWithResult(_0x25b700,null))['catch'](handleError(_0x25b700,null));};exports[_0x013c('0x9b')]=function(_0x82c4dd,_0x236712){var _0x4c0449=moment()[_0x013c('0x9c')]()[_0x013c('0x9d')]();var _0x18ab55=path[_0x013c('0x6d')](config[_0x013c('0x6e')],'server','files',_0x013c('0x9e'));var _0x5093cf=path[_0x013c('0x6d')](config['root'],_0x013c('0x9f'),_0x013c('0xa0'),_0x013c('0x6c'));var _0x3ebf8f=util['format'](_0x013c('0xa1'),_0x4c0449);return db[_0x013c('0x3a')]['find']({'where':{'id':_0x82c4dd[_0x013c('0x57')]['id']},'attributes':['id',_0x013c('0x56'),'from','to','cc',_0x013c('0xa2'),_0x013c('0xa3'),_0x013c('0xa4')],'include':_0x82c4dd[_0x013c('0x40')][_0x013c('0x6c')]?[{'model':db[_0x013c('0xa5')],'as':_0x013c('0xa6')}]:undefined})['then'](handleEntityNotFound(_0x236712,null))[_0x013c('0x20')](function(_0x559dac){if(_0x559dac){var _0x52dac2=_0x559dac;var _0x189e23={'from':_0x52dac2[_0x013c('0xa7')],'to':_0x52dac2['to'],'subject':_0x52dac2[_0x013c('0xa3')],'html':_0x52dac2[_0x013c('0x56')],'headers':{'Date':moment(_0x52dac2['createdAt'])[_0x013c('0x77')](_0x013c('0xa8'))},'attachments':[]};if(_0x559dac['cc']){_0x189e23['headers']['Cc']=_0x559dac['cc'];}if(_0x559dac[_0x013c('0xa2')]){_0x189e23[_0x013c('0xa9')][_0x013c('0xaa')]=_0x559dac[_0x013c('0xa2')];}return new BPromise(function(_0x149362,_0x39418f){if(_0x559dac[_0x013c('0xa6')]){for(var _0x15546c=0x0;_0x15546c<_0x559dac[_0x013c('0xa6')]['length'];_0x15546c++){var _0x31d019=_0x559dac[_0x013c('0xa6')][_0x15546c];var _0x2c667b=path['join'](_0x5093cf,_0x31d019[_0x013c('0x70')]);if(fs[_0x013c('0xab')](_0x2c667b)){_0x189e23[_0x013c('0x6c')][_0x013c('0x8a')]({'name':_0x31d019['name'],'contentType':_0x31d019[_0x013c('0x3d')],'data':fs[_0x013c('0xac')](_0x2c667b)});}}}emlformat['build'](_0x189e23,function(_0x4415f5,_0x4bc998){if(_0x4415f5)return _0x39418f(_0x4415f5);fs[_0x013c('0xad')](path[_0x013c('0x6d')](_0x18ab55,_0x3ebf8f),_0x4bc998);return _0x149362(_0x4bc998);});});}})['then'](function(_0x28bd40){if(_0x28bd40){return _0x236712[_0x013c('0x9b')](path[_0x013c('0x6d')](_0x18ab55,_0x3ebf8f),_0x3ebf8f,function(_0xfda645){if(_0xfda645){console['log'](_0x013c('0xae'),_0xfda645);}else{fs[_0x013c('0xaf')](path[_0x013c('0x6d')](_0x18ab55,_0x3ebf8f));}});}})[_0x013c('0x28')](handleError(_0x236712,null));};