Built motion from commit (unavailable).|2.4.15
[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 _0x201d=['ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','result','message','status','end','json','count','offset','set','Content-Range','apply','reject','save','sendStatus','name','send','index','MailMessage','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','length','nolimit','limit','order','where','pick','filter','type','merge','options','includeAll','findAll','rows','include','find','catch','update','body','params','destroy','describe','create','direction','out','secret','MailAccount','findOne','MailAccountId','CmList','CmContact','updatedAt','DESC','Smtp','isNil','host','port','secure','authentication','pass','service','auth','user','attachments','join','root','server/files/attachments','basename','List','Contacts','defaults','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','mail','readAt','UserId','Contact','get','MailInteraction','MailInteractionId','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','manual','interface','channel','event','accept','EventManager','acceptmessage','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','SIP/%s','rejectmessage','download','unix','server','tmp','files','message-%s.eml','from','subject','createdAt','Attachment','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','bcc','Attachments','existsSync','readFileSync','build','writeFileSync','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','http','client','test','Sequelize'];(function(_0x38fc79,_0x4be067){var _0x40e617=function(_0x40e0f4){while(--_0x40e0f4){_0x38fc79['push'](_0x38fc79['shift']());}};_0x40e617(++_0x4be067);}(_0x201d,0x1eb));var _0xd201=function(_0x33e9c6,_0xf660bd){_0x33e9c6=_0x33e9c6-0x0;var _0x1adb94=_0x201d[_0x33e9c6];return _0x1adb94;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd201('0x0'));var rimraf=require(_0xd201('0x1'));var zipdir=require(_0xd201('0x2'));var jsonpatch=require(_0xd201('0x3'));var rp=require(_0xd201('0x4'));var moment=require(_0xd201('0x5'));var BPromise=require(_0xd201('0x6'));var Mustache=require(_0xd201('0x7'));var util=require('util');var path=require(_0xd201('0x8'));var sox=require(_0xd201('0x9'));var csv=require(_0xd201('0xa'));var ejs=require(_0xd201('0xb'));var fs=require('fs');var _=require(_0xd201('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xd201('0xd'));var toCsv=require(_0xd201('0xa'));var querystring=require(_0xd201('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd201('0xf'));var as=require(_0xd201('0x10'));var hardwareService=require(_0xd201('0x11'));var logger=require(_0xd201('0x12'))('api');var utils=require(_0xd201('0x13'));var config=require(_0xd201('0x14'));var db=require(_0xd201('0x15'))['db'];config[_0xd201('0x16')]=_['defaults'](config[_0xd201('0x16')],{'host':_0xd201('0x17'),'port':0x18eb});var socket=require(_0xd201('0x18'))(new Redis(config[_0xd201('0x16')]));require('./mailMessage.socket')[_0xd201('0x19')](socket);var jayson=require(_0xd201('0x1a'));var client=jayson['client'][_0xd201('0x1b')]({'port':0x232c});var client9003=jayson[_0xd201('0x1c')][_0xd201('0x1b')]({'port':0x232b});var client9002=jayson['client'][_0xd201('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x435027,_0x45b54a,_0x4bd9f2){if(_0x4bd9f2){var _0x49f85f=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x49f85f[_0xd201('0x1d')](_0x45b54a)){return _0x435027;}else{throw new db[(_0xd201('0x1e'))][(_0xd201('0x1f'))](_0xd201('0x20'));}}else{return _0x435027;}}function respondWithRpcPromise(_0x39611f,_0x392116,_0x1d8231,_0x30b126){return new BPromise(function(_0x21d2c3,_0x40c7c0){var _0x51bd8e=_0x30b126||client;return _0x51bd8e[_0xd201('0x21')](_0x39611f,_0x1d8231)[_0xd201('0x22')](function(_0x1910f6){logger[_0xd201('0x23')](_0xd201('0x24'),_0x392116,_0xd201('0x25'));logger['debug'](_0xd201('0x26'),_0x392116,_0xd201('0x25'),JSON[_0xd201('0x27')](_0x1910f6));if(_0x1910f6[_0xd201('0x28')]){if(_0x1910f6[_0xd201('0x28')]['code']===0x1f4){logger[_0xd201('0x28')](_0xd201('0x24'),_0x392116,_0x1910f6[_0xd201('0x28')]['message']);return _0x40c7c0(_0x1910f6['error']['message']);}logger[_0xd201('0x28')](_0xd201('0x24'),_0x392116,_0x1910f6[_0xd201('0x28')]['message']);return _0x21d2c3(_0x1910f6[_0xd201('0x28')]['message']);}else{logger['info'](_0xd201('0x24'),_0x392116,_0xd201('0x25'));_0x21d2c3(_0x1910f6[_0xd201('0x29')][_0xd201('0x2a')]);}})['catch'](function(_0x293070){logger[_0xd201('0x28')](_0xd201('0x24'),_0x392116,_0x293070);_0x40c7c0(_0x293070);});});}function respondWithStatusCode(_0x3eea40,_0x580b13){_0x580b13=_0x580b13||0xcc;return function(_0x3c05fd){if(_0x3c05fd){return _0x3eea40['sendStatus'](_0x580b13);}return _0x3eea40[_0xd201('0x2b')](_0x580b13)[_0xd201('0x2c')]();};}function respondWithResult(_0x36da03,_0x5ca6e7){_0x5ca6e7=_0x5ca6e7||0xc8;return function(_0x97adf){if(_0x97adf){return _0x36da03[_0xd201('0x2b')](_0x5ca6e7)[_0xd201('0x2d')](_0x97adf);}};}function respondWithFilteredResult(_0xf19c49,_0xbf39ef){return function(_0x1afced){if(_0x1afced){var _0x2a22af=_0x1afced[_0xd201('0x2e')],_0x53f589=_0xbf39ef[_0xd201('0x2f')],_0x15eb63=_0xbf39ef[_0xd201('0x2f')]+_0xbf39ef['limit'],_0x7685d8;if(_0x15eb63>=_0x2a22af){_0x15eb63=_0x2a22af;_0x7685d8=0xc8;}else{_0x7685d8=0xce;}_0xf19c49[_0xd201('0x2b')](_0x7685d8);return _0xf19c49[_0xd201('0x30')](_0xd201('0x31'),_0x53f589+'-'+_0x15eb63+'/'+_0x2a22af)['json'](_0x1afced);}return null;};}function patchUpdates(_0x4608f4){return function(_0x585968){try{jsonpatch[_0xd201('0x32')](_0x585968,_0x4608f4,!![]);}catch(_0x4fd260){return BPromise[_0xd201('0x33')](_0x4fd260);}return _0x585968[_0xd201('0x34')]();};}function saveUpdates(_0x4199dc,_0x4c1962){return function(_0x398eac){if(_0x398eac){return _0x398eac['update'](_0x4199dc)[_0xd201('0x22')](function(_0x1e26d4){return _0x1e26d4;});}return null;};}function removeEntity(_0x566501,_0x321dc4){return function(_0x90bc77){if(_0x90bc77){return _0x90bc77['destroy']()[_0xd201('0x22')](function(){_0x566501['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a3039,_0xe6e240){return function(_0x121eb0){if(!_0x121eb0){_0x4a3039[_0xd201('0x35')](0x194);}return _0x121eb0;};}function handleError(_0x5b2634,_0x2b1f48){_0x2b1f48=_0x2b1f48||0x1f4;return function(_0x4ae002){logger[_0xd201('0x28')](_0x4ae002['stack']);if(_0x4ae002[_0xd201('0x36')]){delete _0x4ae002[_0xd201('0x36')];}_0x5b2634[_0xd201('0x2b')](_0x2b1f48)[_0xd201('0x37')](_0x4ae002);};}exports[_0xd201('0x38')]=function(_0x66c2a9,_0x59cf49){var _0xc90264={},_0x5ba4f2={},_0x9acea6={'count':0x0,'rows':[]};var _0xa21a69=_['map'](db[_0xd201('0x39')][_0xd201('0x3a')],function(_0x116aa7){return{'name':_0x116aa7[_0xd201('0x3b')],'type':_0x116aa7['type'][_0xd201('0x3c')]};});_0x5ba4f2[_0xd201('0x3d')]=_[_0xd201('0x3e')](_0xa21a69,_0xd201('0x36'));_0x5ba4f2[_0xd201('0x3f')]=_[_0xd201('0x40')](_0x66c2a9[_0xd201('0x3f')]);_0x5ba4f2[_0xd201('0x41')]=_[_0xd201('0x42')](_0x5ba4f2['model'],_0x5ba4f2[_0xd201('0x3f')]);_0xc90264['attributes']=_[_0xd201('0x42')](_0x5ba4f2['model'],qs[_0xd201('0x43')](_0x66c2a9[_0xd201('0x3f')][_0xd201('0x43')]));_0xc90264[_0xd201('0x44')]=_0xc90264[_0xd201('0x44')][_0xd201('0x45')]?_0xc90264['attributes']:_0x5ba4f2['model'];if(!_0x66c2a9[_0xd201('0x3f')]['hasOwnProperty'](_0xd201('0x46'))){_0xc90264[_0xd201('0x47')]=qs[_0xd201('0x47')](_0x66c2a9[_0xd201('0x3f')][_0xd201('0x47')]);_0xc90264[_0xd201('0x2f')]=qs[_0xd201('0x2f')](_0x66c2a9[_0xd201('0x3f')][_0xd201('0x2f')]);}_0xc90264[_0xd201('0x48')]=qs['sort'](_0x66c2a9[_0xd201('0x3f')]['sort']);_0xc90264[_0xd201('0x49')]=qs[_0xd201('0x41')](_[_0xd201('0x4a')](_0x66c2a9[_0xd201('0x3f')],_0x5ba4f2['filters']));if(_0x66c2a9['query'][_0xd201('0x4b')]){_0xc90264[_0xd201('0x49')]=_['merge'](_0xc90264[_0xd201('0x49')],{'$or':_[_0xd201('0x3e')](_0xa21a69,function(_0x4dd5b4){if(_0x4dd5b4[_0xd201('0x4c')]!=='VIRTUAL'){var _0x5deb02={};_0x5deb02[_0x4dd5b4[_0xd201('0x36')]]={'$like':'%'+_0x66c2a9['query'][_0xd201('0x4b')]+'%'};return _0x5deb02;}})});}_0xc90264=_[_0xd201('0x4d')]({},_0xc90264,_0x66c2a9[_0xd201('0x4e')]);var _0x37563c={'where':_0xc90264[_0xd201('0x49')]};return db[_0xd201('0x39')][_0xd201('0x2e')](_0x37563c)[_0xd201('0x22')](function(_0x295d04){_0x9acea6[_0xd201('0x2e')]=_0x295d04;if(_0x66c2a9[_0xd201('0x3f')][_0xd201('0x4f')]){_0xc90264['include']=[{'all':!![]}];}return db['MailMessage'][_0xd201('0x50')](_0xc90264);})[_0xd201('0x22')](function(_0x1c917a){_0x9acea6[_0xd201('0x51')]=_0x1c917a;return _0x9acea6;})[_0xd201('0x22')](respondWithFilteredResult(_0x59cf49,_0xc90264))['catch'](handleError(_0x59cf49,null));};exports['show']=function(_0x3da421,_0x3ab0d2){var _0x4d151c={'raw':!![],'where':{'id':_0x3da421['params']['id']}},_0x37ed00={};_0x37ed00[_0xd201('0x3d')]=_[_0xd201('0x40')](db['MailMessage']['rawAttributes']);_0x37ed00['query']=_[_0xd201('0x40')](_0x3da421['query']);_0x37ed00[_0xd201('0x41')]=_[_0xd201('0x42')](_0x37ed00[_0xd201('0x3d')],_0x37ed00['query']);_0x4d151c[_0xd201('0x44')]=_['intersection'](_0x37ed00[_0xd201('0x3d')],qs[_0xd201('0x43')](_0x3da421[_0xd201('0x3f')][_0xd201('0x43')]));_0x4d151c['attributes']=_0x4d151c[_0xd201('0x44')]['length']?_0x4d151c['attributes']:_0x37ed00['model'];if(_0x3da421['query'][_0xd201('0x4f')]){_0x4d151c[_0xd201('0x52')]=[{'all':!![]}];}_0x4d151c=_[_0xd201('0x4d')]({},_0x4d151c,_0x3da421[_0xd201('0x4e')]);return db[_0xd201('0x39')][_0xd201('0x53')](_0x4d151c)['then'](handleEntityNotFound(_0x3ab0d2,null))[_0xd201('0x22')](respondWithResult(_0x3ab0d2,null))[_0xd201('0x54')](handleError(_0x3ab0d2,null));};exports[_0xd201('0x55')]=function(_0x3ed22f,_0x3c5f99){if(_0x3ed22f[_0xd201('0x56')]['id']){delete _0x3ed22f[_0xd201('0x56')]['id'];}return db['MailMessage'][_0xd201('0x53')]({'where':{'id':_0x3ed22f[_0xd201('0x57')]['id']}})['then'](handleEntityNotFound(_0x3c5f99,null))[_0xd201('0x22')](saveUpdates(_0x3ed22f[_0xd201('0x56')],null))[_0xd201('0x22')](respondWithResult(_0x3c5f99,null))[_0xd201('0x54')](handleError(_0x3c5f99,null));};exports[_0xd201('0x58')]=function(_0x358e2f,_0xaac9b5){return db[_0xd201('0x39')][_0xd201('0x53')]({'where':{'id':_0x358e2f[_0xd201('0x57')]['id']}})[_0xd201('0x22')](handleEntityNotFound(_0xaac9b5,null))[_0xd201('0x22')](removeEntity(_0xaac9b5,null))['catch'](handleError(_0xaac9b5,null));};exports[_0xd201('0x59')]=function(_0xf1520,_0x505e9f){return db[_0xd201('0x39')][_0xd201('0x59')]()['then'](respondWithResult(_0x505e9f,null))[_0xd201('0x54')](handleError(_0x505e9f,null));};exports['create']=function(_0x378916,_0x12b19f){return db[_0xd201('0x39')][_0xd201('0x5a')](_0x378916[_0xd201('0x56')])[_0xd201('0x22')](function(_0x458e99){if(_0x458e99){if(_0x458e99[_0xd201('0x5b')]===_0xd201('0x5c')&&!_0x458e99[_0xd201('0x5d')]){var _0x1c0434,_0x12084e,_0x48b256;if(_0x378916[_0xd201('0x56')]['to']){_0x12084e=_0x378916[_0xd201('0x56')]['to']['split'](',')[0x0];}return db[_0xd201('0x5e')][_0xd201('0x5f')]({'where':{'id':_0x458e99[_0xd201('0x60')]},'include':[{'model':db[_0xd201('0x61')],'as':'List','include':[{'model':db[_0xd201('0x62')],'as':'Contacts','where':{'email':_0x12084e},'limit':0x1,'order':[[_0xd201('0x63'),_0xd201('0x64')]]}]},{'model':db['MailServerOut'],'as':_0xd201('0x65'),'raw':!![]}]})[_0xd201('0x22')](function(_0x210dc4){_0x1c0434=_0x210dc4;if(_0x1c0434&&_0x1c0434[_0xd201('0x65')]){var _0x39da9e={'tls':{'rejectUnauthorized':![]}};if(_[_0xd201('0x66')](_0x1c0434[_0xd201('0x65')]['service'])){_0x39da9e[_0xd201('0x67')]=_0x1c0434['Smtp'][_0xd201('0x67')];_0x39da9e[_0xd201('0x68')]=_0x1c0434['Smtp'][_0xd201('0x68')];_0x39da9e[_0xd201('0x69')]=_0x1c0434[_0xd201('0x65')][_0xd201('0x69')];if(_0x1c0434['Smtp'][_0xd201('0x6a')]){_0x39da9e['auth']={'user':_0x1c0434[_0xd201('0x65')]['user'],'pass':_0x1c0434[_0xd201('0x65')][_0xd201('0x6b')]};}}else{_0x39da9e[_0xd201('0x6c')]=_0x1c0434['Smtp'][_0xd201('0x6c')];_0x39da9e[_0xd201('0x6d')]={'user':_0x1c0434[_0xd201('0x65')][_0xd201('0x6e')],'pass':_0x1c0434[_0xd201('0x65')][_0xd201('0x6b')]};_0x39da9e[_0xd201('0x69')]=_0x1c0434['Smtp'][_0xd201('0x69')];}if(_0x378916[_0xd201('0x56')][_0xd201('0x6f')]&&_0x378916['body'][_0xd201('0x6f')]['length']){for(var _0x1bc325=0x0;_0x1bc325<_0x378916[_0xd201('0x56')][_0xd201('0x6f')]['length'];_0x1bc325+=0x1){_0x378916[_0xd201('0x56')][_0xd201('0x6f')][_0x1bc325]={'filename':_0x378916[_0xd201('0x56')][_0xd201('0x6f')][_0x1bc325][_0xd201('0x36')],'path':path[_0xd201('0x70')](config[_0xd201('0x71')],_0xd201('0x72'),_0x378916['body'][_0xd201('0x6f')][_0x1bc325][_0xd201('0x73')])};}}_0x48b256={'account':_0x39da9e,'message':_0x378916[_0xd201('0x56')]};return;}})[_0xd201('0x22')](function(){if(_0x1c0434[_0xd201('0x74')]){if(_0x1c0434['List'][_0xd201('0x75')]['length']){return _0x1c0434['List'][_0xd201('0x75')][0x0];}else{return db[_0xd201('0x62')][_0xd201('0x5a')](_[_0xd201('0x76')](_0x378916[_0xd201('0x56')],{'firstName':_0x378916[_0xd201('0x56')]['to'],'email':_0x378916[_0xd201('0x56')]['to'],'phone':_0x378916[_0xd201('0x56')]['to'],'ListId':_0x1c0434[_0xd201('0x77')]}));}}else{throw new Error(_0xd201('0x78'));}})[_0xd201('0x22')](function(){if(_0x48b256){return respondWithRpcPromise(_0xd201('0x79'),_0xd201('0x7a'),_0x48b256,client9003)[_0xd201('0x22')](function(_0x292107){return _0x458e99[_0xd201('0x55')]({'read':!![],'messageId':_0x292107[_0xd201('0x7b')],'sentAt':moment()[_0xd201('0x7c')](_0xd201('0x7d'))});})[_0xd201('0x54')](function(_0x443bbf){logger['error']('%s',JSON[_0xd201('0x27')](_0x443bbf));return _0x458e99;});}return _0x458e99;});}return _0x458e99;}})[_0xd201('0x22')](respondWithResult(_0x12b19f,0xc9))[_0xd201('0x54')](handleError(_0x12b19f,null));};var interaction_log=require('../../config/logger')(_0xd201('0x7e'));exports['accept']=function(_0x348569,_0x91c336,_0x2d30e4){var _0x43a128={'channel':_0xd201('0x7f')};if(_0x348569[_0xd201('0x56')]['id']){delete _0x348569[_0xd201('0x56')]['id'];}_0x348569[_0xd201('0x56')]['read']=!![];_0x348569[_0xd201('0x56')][_0xd201('0x80')]=moment()[_0xd201('0x7c')](_0xd201('0x7d'));_0x348569[_0xd201('0x56')][_0xd201('0x81')]=_0x348569['body'][_0xd201('0x81')]||_0x348569[_0xd201('0x6e')]['id'];return db[_0xd201('0x39')][_0xd201('0x53')]({'where':{'id':_0x348569[_0xd201('0x57')]['id'],'UserId':null},'include':[{'model':db[_0xd201('0x62')],'as':_0xd201('0x82')}]})[_0xd201('0x22')](handleEntityNotFound(_0x91c336,null))[_0xd201('0x22')](saveUpdates(_0x348569[_0xd201('0x56')],null))[_0xd201('0x22')](function(_0xc1a554){if(_0xc1a554){_0x43a128[_0xd201('0x2a')]=_0xc1a554[_0xd201('0x83')]({'plain':!![]});return db[_0xd201('0x84')]['find']({'where':{'id':_0xc1a554[_0xd201('0x85')]}});}return null;})[_0xd201('0x22')](handleEntityNotFound(_0x91c336,null))['then'](function(_0x229c83){if(_0x229c83){return _0x229c83[_0xd201('0x55')]({'UserId':_0x348569[_0xd201('0x56')][_0xd201('0x81')],'read1stAt':_[_0xd201('0x66')](_0x229c83['read1stAt'])?moment()[_0xd201('0x7c')](_0xd201('0x7d')):undefined});}return null;})[_0xd201('0x22')](function(_0x35f6dc){if(_0x35f6dc){_0x43a128[_0xd201('0x86')]=_0x35f6dc[_0xd201('0x83')]({'plain':!![]});interaction_log['info'](_0xd201('0x87'),_0x348569['user']['id'],_0x348569[_0xd201('0x6e')][_0xd201('0x36')],_0x348569[_0xd201('0x6e')]['role'],_0x43a128[_0xd201('0x86')]['id'],_0x348569[_0xd201('0x56')]?JSON['stringify'](_0x348569[_0xd201('0x56')]):_0xd201('0x88'));return respondWithRpcPromise(_0xd201('0x89'),'acceptMessage',_0x43a128);}return null;})[_0xd201('0x22')](function(_0x3cf4de){if(_0x3cf4de){if(_0x348569[_0xd201('0x56')][_0xd201('0x8a')]){_0x43a128[_0xd201('0x2a')][_0xd201('0x8b')]=util[_0xd201('0x7c')]('SIP/%s',_0x348569[_0xd201('0x6e')][_0xd201('0x36')]);_0x43a128[_0xd201('0x2a')]['channel']=_0x43a128[_0xd201('0x8c')];_0x43a128[_0xd201('0x2a')][_0xd201('0x8d')]=_0xd201('0x8e');return respondWithRpcPromise(_0xd201('0x8f'),_0xd201('0x8f'),{'event':_0xd201('0x90'),'message':_0x43a128[_0xd201('0x2a')]},client9002)[_0xd201('0x22')](function(){return _0x43a128;});}return _0x43a128;}return null;})[_0xd201('0x22')](respondWithResult(_0x91c336,null))[_0xd201('0x54')](handleError(_0x91c336,null));};var interaction_log=require(_0xd201('0x12'))('mail-interactions');exports[_0xd201('0x33')]=function(_0x5e36d8,_0x146a73,_0x47daf9){var _0x37a647={'agent':{},'channel':_0xd201('0x7f')};if(_0x5e36d8[_0xd201('0x56')]['id']){delete _0x5e36d8[_0xd201('0x56')]['id'];}_0x5e36d8[_0xd201('0x56')]['UserId']=_0x5e36d8[_0xd201('0x56')][_0xd201('0x81')]||_0x5e36d8[_0xd201('0x6e')]['id'];_0x37a647[_0xd201('0x91')]['id']=_0x5e36d8[_0xd201('0x56')][_0xd201('0x81')];return db[_0xd201('0x39')][_0xd201('0x53')]({'where':{'id':_0x5e36d8[_0xd201('0x57')]['id'],'UserId':null}})[_0xd201('0x22')](handleEntityNotFound(_0x146a73,null))['then'](function(_0x708740){if(_0x708740){_0x37a647[_0xd201('0x2a')]=_0x708740[_0xd201('0x83')]({'plain':!![]});return db['MailInteraction'][_0xd201('0x53')]({'where':{'id':_0x708740[_0xd201('0x85')]}});}return null;})[_0xd201('0x22')](handleEntityNotFound(_0x146a73,null))[_0xd201('0x22')](function(_0x4f5a29){if(_0x4f5a29){_0x37a647[_0xd201('0x86')]=_0x4f5a29[_0xd201('0x83')]({'plain':!![]});interaction_log['info'](_0xd201('0x92'),_0x5e36d8[_0xd201('0x6e')]['id'],_0x5e36d8[_0xd201('0x6e')][_0xd201('0x36')],_0x5e36d8['user'][_0xd201('0x93')],_0x37a647[_0xd201('0x86')]['id'],_0x5e36d8['body']?JSON[_0xd201('0x27')](_0x5e36d8[_0xd201('0x56')]):'null');return respondWithRpcPromise(_0xd201('0x94'),_0xd201('0x95'),_0x37a647);}return null;})[_0xd201('0x22')](function(_0x432f53){if(_0x432f53){_0x432f53[_0xd201('0x2a')][_0xd201('0x8b')]=util[_0xd201('0x7c')](_0xd201('0x96'),_0x5e36d8['user'][_0xd201('0x36')]);_0x432f53[_0xd201('0x2a')][_0xd201('0x8c')]=_0x37a647[_0xd201('0x8c')];_0x432f53[_0xd201('0x2a')][_0xd201('0x8d')]='reject';respondWithRpcPromise(_0xd201('0x8f'),_0xd201('0x8f'),{'event':_0xd201('0x97'),'message':_0x432f53[_0xd201('0x2a')]},client9002);return _0x37a647;}return null;})[_0xd201('0x22')](respondWithResult(_0x146a73,null))['catch'](handleError(_0x146a73,null));};exports[_0xd201('0x98')]=function(_0x53eadd,_0x3ded2f){var _0x23d6bc=moment()[_0xd201('0x99')]()['toString']();var _0x3dab3f=path[_0xd201('0x70')](config[_0xd201('0x71')],_0xd201('0x9a'),'files',_0xd201('0x9b'));var _0xef4f9a=path[_0xd201('0x70')](config[_0xd201('0x71')],'server',_0xd201('0x9c'),_0xd201('0x6f'));var _0xe5f541=util[_0xd201('0x7c')](_0xd201('0x9d'),_0x23d6bc);return db[_0xd201('0x39')]['find']({'where':{'id':_0x53eadd[_0xd201('0x57')]['id']},'attributes':['id',_0xd201('0x56'),_0xd201('0x9e'),'to','cc','bcc',_0xd201('0x9f'),_0xd201('0xa0')],'include':_0x53eadd['query'][_0xd201('0x6f')]?[{'model':db[_0xd201('0xa1')],'as':'Attachments'}]:undefined})[_0xd201('0x22')](handleEntityNotFound(_0x3ded2f,null))[_0xd201('0x22')](function(_0x55de9f){if(_0x55de9f){var _0x450448=_0x55de9f;var _0x624198={'from':_0x450448[_0xd201('0x9e')],'to':_0x450448['to'],'subject':_0x450448['subject'],'html':_0x450448[_0xd201('0x56')],'headers':{'Date':moment(_0x450448[_0xd201('0xa0')])['format'](_0xd201('0xa2'))},'attachments':[]};if(_0x55de9f['cc']){_0x624198[_0xd201('0xa3')]['Cc']=_0x55de9f['cc'];}if(_0x55de9f['bcc']){_0x624198[_0xd201('0xa3')][_0xd201('0xa4')]=_0x55de9f[_0xd201('0xa5')];}return new BPromise(function(_0x4bdb0d,_0x4a0007){if(_0x55de9f[_0xd201('0xa6')]){for(var _0x4b53f8=0x0;_0x4b53f8<_0x55de9f[_0xd201('0xa6')]['length'];_0x4b53f8++){var _0x57c325=_0x55de9f[_0xd201('0xa6')][_0x4b53f8];var _0x36b446=path[_0xd201('0x70')](_0xef4f9a,_0x57c325['basename']);if(fs[_0xd201('0xa7')](_0x36b446)){_0x624198[_0xd201('0x6f')]['push']({'name':_0x57c325['name'],'contentType':_0x57c325[_0xd201('0x4c')],'data':fs[_0xd201('0xa8')](_0x36b446)});}}}emlformat[_0xd201('0xa9')](_0x624198,function(_0xc06e8d,_0x34bf45){if(_0xc06e8d)return _0x4a0007(_0xc06e8d);fs[_0xd201('0xaa')](path[_0xd201('0x70')](_0x3dab3f,_0xe5f541),_0x34bf45);return _0x4bdb0d(_0x34bf45);});});}})[_0xd201('0x22')](function(_0x36b933){if(_0x36b933){return _0x3ded2f[_0xd201('0x98')](path['join'](_0x3dab3f,_0xe5f541),_0xe5f541,function(_0xefc846){if(_0xefc846){console[_0xd201('0xab')](_0xd201('0xac'),_0xefc846);}else{fs[_0xd201('0xad')](path[_0xd201('0x70')](_0x3dab3f,_0xe5f541));}});}})[_0xd201('0x54')](handleError(_0x3ded2f,null));};