Built motion from commit 3e059bc2.|2.5.32
[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 _0xab19=['count','limit','set','Content-Range','apply','reject','save','update','destroy','stack','send','index','map','rawAttributes','fieldName','key','model','name','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','type','options','MailMessage','includeAll','include','findAll','rows','catch','params','keys','find','body','describe','create','direction','out','secret','split','MailAccount','findOne','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','MailServerOut','Smtp','isNil','service','host','port','authentication','user','pass','auth','secure','attachments','length','join','root','server/files/attachments','basename','ListId','SendMail','messageId','format','mail-interactions','accept','mail','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','agent','get','MailInteraction','MailInteractionId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','acceptMessage','ContactId','sequelize','Sequelize','QueryTypes','SELECT','User','fullname','email','internal','manual','interface','SIP/%s','channel','role','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','event','fromString','EventManager','rejectmessage','download','unix','toString','files','tmp','server','message-%s.eml','from','bcc','subject','Attachment','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','push','writeFileSync','log','unlinkSync','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','sox','lodash','squel','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','redis','defaults','localhost','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','MailMessage,\x20%s,\x20%s','message','sendStatus','status','end','json','offset','undefined'];(function(_0x1798f5,_0x4010a4){var _0x189541=function(_0x21f65c){while(--_0x21f65c){_0x1798f5['push'](_0x1798f5['shift']());}};_0x189541(++_0x4010a4);}(_0xab19,0x13c));var _0x9ab1=function(_0xde3149,_0x14baf9){_0xde3149=_0xde3149-0x0;var _0x4e09a4=_0xab19[_0xde3149];return _0x4e09a4;};'use strict';var emlformat=require(_0x9ab1('0x0'));var rimraf=require(_0x9ab1('0x1'));var zipdir=require(_0x9ab1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9ab1('0x3'));var moment=require(_0x9ab1('0x4'));var BPromise=require(_0x9ab1('0x5'));var Mustache=require(_0x9ab1('0x6'));var util=require('util');var path=require('path');var sox=require(_0x9ab1('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9ab1('0x8'));var squel=require(_0x9ab1('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x9ab1('0xa'));var querystring=require('querystring');var Papa=require(_0x9ab1('0xb'));var Redis=require(_0x9ab1('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x9ab1('0xd'));var as=require(_0x9ab1('0xe'));var hardwareService=require(_0x9ab1('0xf'));var logger=require(_0x9ab1('0x10'))(_0x9ab1('0x11'));var utils=require('../../config/utils');var config=require(_0x9ab1('0x12'));var licenseUtil=require(_0x9ab1('0x13'));var htmlToText=require('html-to-text');var db=require('../../mysqldb')['db'];config[_0x9ab1('0x14')]=_[_0x9ab1('0x15')](config[_0x9ab1('0x14')],{'host':_0x9ab1('0x16'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9ab1('0x14')]));require('./mailMessage.socket')[_0x9ab1('0x17')](socket);var jayson=require(_0x9ab1('0x18'));var client=jayson[_0x9ab1('0x19')][_0x9ab1('0x1a')]({'port':0x232c});var client9003=jayson[_0x9ab1('0x19')][_0x9ab1('0x1a')]({'port':0x232b});var client9002=jayson[_0x9ab1('0x19')]['http']({'port':0x232a});function respondWithRpcPromise(_0x4f4995,_0x402285,_0x2e3eab,_0x36a5f0){return new BPromise(function(_0x3869cc,_0x4dd313){var _0x330425=_0x36a5f0||client;return _0x330425[_0x9ab1('0x1b')](_0x4f4995,_0x2e3eab)[_0x9ab1('0x1c')](function(_0x5ac65e){logger[_0x9ab1('0x1d')]('MailMessage,\x20%s,\x20%s',_0x402285,_0x9ab1('0x1e'));logger[_0x9ab1('0x1f')](_0x9ab1('0x20'),_0x402285,'request\x20sent',JSON[_0x9ab1('0x21')](_0x5ac65e));if(_0x5ac65e[_0x9ab1('0x22')]){if(_0x5ac65e[_0x9ab1('0x22')][_0x9ab1('0x23')]===0x1f4){logger['error'](_0x9ab1('0x24'),_0x402285,_0x5ac65e['error'][_0x9ab1('0x25')]);return _0x4dd313(_0x5ac65e[_0x9ab1('0x22')][_0x9ab1('0x25')]);}logger[_0x9ab1('0x22')](_0x9ab1('0x24'),_0x402285,_0x5ac65e[_0x9ab1('0x22')]['message']);return _0x3869cc(_0x5ac65e[_0x9ab1('0x22')][_0x9ab1('0x25')]);}else{logger[_0x9ab1('0x1d')](_0x9ab1('0x24'),_0x402285,_0x9ab1('0x1e'));_0x3869cc(_0x5ac65e['result'][_0x9ab1('0x25')]);}})['catch'](function(_0x3f9eb2){logger['error'](_0x9ab1('0x24'),_0x402285,_0x3f9eb2);_0x4dd313(_0x3f9eb2);});});}function respondWithStatusCode(_0x4c3cbf,_0xca4d6b){_0xca4d6b=_0xca4d6b||0xcc;return function(_0x32b034){if(_0x32b034){return _0x4c3cbf[_0x9ab1('0x26')](_0xca4d6b);}return _0x4c3cbf[_0x9ab1('0x27')](_0xca4d6b)[_0x9ab1('0x28')]();};}function respondWithResult(_0x1e592c,_0x45168b){_0x45168b=_0x45168b||0xc8;return function(_0x218203){if(_0x218203){return _0x1e592c[_0x9ab1('0x27')](_0x45168b)[_0x9ab1('0x29')](_0x218203);}};}function respondWithFilteredResult(_0x5484e1,_0x230320){return function(_0x4fc8d2){if(_0x4fc8d2){var _0x227956=typeof _0x230320[_0x9ab1('0x2a')]===_0x9ab1('0x2b')&&typeof _0x230320['limit']===_0x9ab1('0x2b');var _0x3356aa=_0x4fc8d2['count'];var _0x242b81=_0x227956?0x0:_0x230320['offset'];var _0x2d0123=_0x227956?_0x4fc8d2[_0x9ab1('0x2c')]:_0x230320['offset']+_0x230320[_0x9ab1('0x2d')];var _0x4138d8;if(_0x2d0123>=_0x3356aa){_0x2d0123=_0x3356aa;_0x4138d8=0xc8;}else{_0x4138d8=0xce;}_0x5484e1[_0x9ab1('0x27')](_0x4138d8);return _0x5484e1[_0x9ab1('0x2e')](_0x9ab1('0x2f'),_0x242b81+'-'+_0x2d0123+'/'+_0x3356aa)[_0x9ab1('0x29')](_0x4fc8d2);}return null;};}function patchUpdates(_0x42b798){return function(_0x158956){try{jsonpatch[_0x9ab1('0x30')](_0x158956,_0x42b798,!![]);}catch(_0x9f2bca){return BPromise[_0x9ab1('0x31')](_0x9f2bca);}return _0x158956[_0x9ab1('0x32')]();};}function saveUpdates(_0x3c7c4b,_0x3c64a4){return function(_0x430293){if(_0x430293){return _0x430293[_0x9ab1('0x33')](_0x3c7c4b)['then'](function(_0x204bfd){return _0x204bfd;});}return null;};}function removeEntity(_0x17788a,_0x85e0b7){return function(_0x17d9a6){if(_0x17d9a6){return _0x17d9a6[_0x9ab1('0x34')]()[_0x9ab1('0x1c')](function(){_0x17788a['status'](0xcc)[_0x9ab1('0x28')]();});}};}function handleEntityNotFound(_0x563eef,_0xa1e7e5){return function(_0x580918){if(!_0x580918){_0x563eef[_0x9ab1('0x26')](0x194);}return _0x580918;};}function handleError(_0xb5ab75,_0x3dc7f5){_0x3dc7f5=_0x3dc7f5||0x1f4;return function(_0x11de62){logger[_0x9ab1('0x22')](_0x11de62[_0x9ab1('0x35')]);if(_0x11de62['name']){delete _0x11de62['name'];}_0xb5ab75[_0x9ab1('0x27')](_0x3dc7f5)[_0x9ab1('0x36')](_0x11de62);};}exports[_0x9ab1('0x37')]=function(_0x330313,_0x8f22cf){var _0x28f0cc={},_0xa39b8={},_0x84552a={'count':0x0,'rows':[]};var _0x244d42=_[_0x9ab1('0x38')](db['MailMessage'][_0x9ab1('0x39')],function(_0x1ac871){return{'name':_0x1ac871[_0x9ab1('0x3a')],'type':_0x1ac871['type'][_0x9ab1('0x3b')]};});_0xa39b8[_0x9ab1('0x3c')]=_[_0x9ab1('0x38')](_0x244d42,_0x9ab1('0x3d'));_0xa39b8[_0x9ab1('0x3e')]=_['keys'](_0x330313[_0x9ab1('0x3e')]);_0xa39b8['filters']=_[_0x9ab1('0x3f')](_0xa39b8[_0x9ab1('0x3c')],_0xa39b8[_0x9ab1('0x3e')]);_0x28f0cc[_0x9ab1('0x40')]=_[_0x9ab1('0x3f')](_0xa39b8[_0x9ab1('0x3c')],qs['fields'](_0x330313['query'][_0x9ab1('0x41')]));_0x28f0cc['attributes']=_0x28f0cc[_0x9ab1('0x40')]['length']?_0x28f0cc[_0x9ab1('0x40')]:_0xa39b8[_0x9ab1('0x3c')];if(!_0x330313[_0x9ab1('0x3e')][_0x9ab1('0x42')](_0x9ab1('0x43'))){_0x28f0cc[_0x9ab1('0x2d')]=qs[_0x9ab1('0x2d')](_0x330313[_0x9ab1('0x3e')][_0x9ab1('0x2d')]);_0x28f0cc[_0x9ab1('0x2a')]=qs[_0x9ab1('0x2a')](_0x330313['query'][_0x9ab1('0x2a')]);}_0x28f0cc[_0x9ab1('0x44')]=qs[_0x9ab1('0x45')](_0x330313[_0x9ab1('0x3e')]['sort']);_0x28f0cc['where']=qs[_0x9ab1('0x46')](_[_0x9ab1('0x47')](_0x330313[_0x9ab1('0x3e')],_0xa39b8['filters']),_0x244d42);if(_0x330313['query'][_0x9ab1('0x48')]){_0x28f0cc[_0x9ab1('0x49')]=_[_0x9ab1('0x4a')](_0x28f0cc[_0x9ab1('0x49')],{'$or':_[_0x9ab1('0x38')](_0x244d42,function(_0x15f0ac){if(_0x15f0ac[_0x9ab1('0x4b')]!=='VIRTUAL'){var _0x3ca3ae={};_0x3ca3ae[_0x15f0ac[_0x9ab1('0x3d')]]={'$like':'%'+_0x330313[_0x9ab1('0x3e')][_0x9ab1('0x48')]+'%'};return _0x3ca3ae;}})});}_0x28f0cc=_['merge']({},_0x28f0cc,_0x330313[_0x9ab1('0x4c')]);var _0x413d24={'where':_0x28f0cc[_0x9ab1('0x49')]};return db[_0x9ab1('0x4d')][_0x9ab1('0x2c')](_0x413d24)['then'](function(_0x1b2f3b){_0x84552a[_0x9ab1('0x2c')]=_0x1b2f3b;if(_0x330313['query'][_0x9ab1('0x4e')]){_0x28f0cc[_0x9ab1('0x4f')]=[{'all':!![]}];}return db[_0x9ab1('0x4d')][_0x9ab1('0x50')](_0x28f0cc);})[_0x9ab1('0x1c')](function(_0x4cf895){_0x84552a[_0x9ab1('0x51')]=_0x4cf895;return _0x84552a;})['then'](respondWithFilteredResult(_0x8f22cf,_0x28f0cc))[_0x9ab1('0x52')](handleError(_0x8f22cf,null));};exports['show']=function(_0x3e69d0,_0x2e7108){var _0x2ea0a3={'raw':!![],'where':{'id':_0x3e69d0[_0x9ab1('0x53')]['id']}},_0x2fc9a8={};_0x2fc9a8[_0x9ab1('0x3c')]=_[_0x9ab1('0x54')](db[_0x9ab1('0x4d')][_0x9ab1('0x39')]);_0x2fc9a8[_0x9ab1('0x3e')]=_[_0x9ab1('0x54')](_0x3e69d0[_0x9ab1('0x3e')]);_0x2fc9a8[_0x9ab1('0x46')]=_[_0x9ab1('0x3f')](_0x2fc9a8[_0x9ab1('0x3c')],_0x2fc9a8['query']);_0x2ea0a3[_0x9ab1('0x40')]=_[_0x9ab1('0x3f')](_0x2fc9a8[_0x9ab1('0x3c')],qs['fields'](_0x3e69d0[_0x9ab1('0x3e')][_0x9ab1('0x41')]));_0x2ea0a3['attributes']=_0x2ea0a3['attributes']['length']?_0x2ea0a3[_0x9ab1('0x40')]:_0x2fc9a8['model'];if(_0x3e69d0[_0x9ab1('0x3e')][_0x9ab1('0x4e')]){_0x2ea0a3[_0x9ab1('0x4f')]=[{'all':!![]}];}_0x2ea0a3=_[_0x9ab1('0x4a')]({},_0x2ea0a3,_0x3e69d0[_0x9ab1('0x4c')]);return db[_0x9ab1('0x4d')][_0x9ab1('0x55')](_0x2ea0a3)[_0x9ab1('0x1c')](handleEntityNotFound(_0x2e7108,null))[_0x9ab1('0x1c')](respondWithResult(_0x2e7108,null))[_0x9ab1('0x52')](handleError(_0x2e7108,null));};exports['update']=function(_0x1b44ef,_0x4b8dd8){if(_0x1b44ef['body']['id']){delete _0x1b44ef[_0x9ab1('0x56')]['id'];}return db[_0x9ab1('0x4d')]['find']({'where':{'id':_0x1b44ef[_0x9ab1('0x53')]['id']}})[_0x9ab1('0x1c')](handleEntityNotFound(_0x4b8dd8,null))[_0x9ab1('0x1c')](saveUpdates(_0x1b44ef[_0x9ab1('0x56')],null))['then'](respondWithResult(_0x4b8dd8,null))[_0x9ab1('0x52')](handleError(_0x4b8dd8,null));};exports[_0x9ab1('0x34')]=function(_0x47391b,_0x19e8c3){return db['MailMessage']['find']({'where':{'id':_0x47391b[_0x9ab1('0x53')]['id']}})['then'](handleEntityNotFound(_0x19e8c3,null))[_0x9ab1('0x1c')](removeEntity(_0x19e8c3,null))[_0x9ab1('0x52')](handleError(_0x19e8c3,null));};exports[_0x9ab1('0x57')]=function(_0x1b8463,_0x2c9046){return db[_0x9ab1('0x4d')][_0x9ab1('0x57')]()['then'](respondWithResult(_0x2c9046,null))['catch'](handleError(_0x2c9046,null));};exports[_0x9ab1('0x58')]=function(_0x4c13d0,_0x2d094d){return db[_0x9ab1('0x4d')][_0x9ab1('0x58')](_0x4c13d0[_0x9ab1('0x56')])[_0x9ab1('0x1c')](function(_0x1690b2){if(_0x1690b2){if(_0x1690b2[_0x9ab1('0x59')]===_0x9ab1('0x5a')&&!_0x1690b2[_0x9ab1('0x5b')]){var _0x510e54,_0x181bd2,_0x2cf3f5;if(_0x4c13d0[_0x9ab1('0x56')]['to']){_0x181bd2=_0x4c13d0[_0x9ab1('0x56')]['to'][_0x9ab1('0x5c')](',')[0x0];}return db[_0x9ab1('0x5d')][_0x9ab1('0x5e')]({'where':{'id':_0x1690b2[_0x9ab1('0x5f')]},'include':[{'model':db[_0x9ab1('0x60')],'as':_0x9ab1('0x61'),'include':[{'model':db[_0x9ab1('0x62')],'as':_0x9ab1('0x63'),'where':{'email':_0x181bd2},'limit':0x1,'order':[[_0x9ab1('0x64'),'DESC']]}]},{'model':db[_0x9ab1('0x65')],'as':_0x9ab1('0x66'),'raw':!![]}]})['then'](function(_0x1efe56){_0x510e54=_0x1efe56;if(_0x510e54&&_0x510e54[_0x9ab1('0x66')]){var _0x126439={'tls':{'rejectUnauthorized':![]}};if(_[_0x9ab1('0x67')](_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x68')])){_0x126439[_0x9ab1('0x69')]=_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x69')];_0x126439[_0x9ab1('0x6a')]=_0x510e54['Smtp'][_0x9ab1('0x6a')];_0x126439['secure']=_0x510e54[_0x9ab1('0x66')]['secure'];if(_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x6b')]){_0x126439['auth']={'user':_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x6c')],'pass':_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x6d')]};}}else{_0x126439[_0x9ab1('0x68')]=_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x68')];_0x126439[_0x9ab1('0x6e')]={'user':_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x6c')],'pass':_0x510e54[_0x9ab1('0x66')]['pass']};_0x126439[_0x9ab1('0x6f')]=_0x510e54[_0x9ab1('0x66')][_0x9ab1('0x6f')];}if(_0x4c13d0[_0x9ab1('0x56')]['attachments']&&_0x4c13d0[_0x9ab1('0x56')][_0x9ab1('0x70')]['length']){for(var _0x292fd5=0x0;_0x292fd5<_0x4c13d0[_0x9ab1('0x56')][_0x9ab1('0x70')][_0x9ab1('0x71')];_0x292fd5+=0x1){_0x4c13d0[_0x9ab1('0x56')][_0x9ab1('0x70')][_0x292fd5]={'filename':_0x4c13d0[_0x9ab1('0x56')][_0x9ab1('0x70')][_0x292fd5][_0x9ab1('0x3d')],'path':path[_0x9ab1('0x72')](config[_0x9ab1('0x73')],_0x9ab1('0x74'),_0x4c13d0['body'][_0x9ab1('0x70')][_0x292fd5][_0x9ab1('0x75')])};}}_0x2cf3f5={'account':_0x126439,'message':_0x4c13d0[_0x9ab1('0x56')]};return;}})['then'](function(){if(_0x510e54['List']){if(_0x510e54[_0x9ab1('0x61')][_0x9ab1('0x63')][_0x9ab1('0x71')]){return _0x510e54['List'][_0x9ab1('0x63')][0x0];}else{return db[_0x9ab1('0x62')]['create'](_['defaults'](_0x4c13d0[_0x9ab1('0x56')],{'firstName':_0x4c13d0['body']['to'],'email':_0x4c13d0[_0x9ab1('0x56')]['to'],'phone':_0x4c13d0[_0x9ab1('0x56')]['to'],'ListId':_0x510e54[_0x9ab1('0x76')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x9ab1('0x1c')](function(){if(_0x2cf3f5){return respondWithRpcPromise(_0x9ab1('0x77'),'sendMail',_0x2cf3f5,client9003)[_0x9ab1('0x1c')](function(_0x12b269){return _0x1690b2[_0x9ab1('0x33')]({'read':!![],'messageId':_0x12b269[_0x9ab1('0x78')],'sentAt':moment()[_0x9ab1('0x79')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x9ab1('0x52')](function(_0x5d7217){logger[_0x9ab1('0x22')]('%s',JSON[_0x9ab1('0x21')](_0x5d7217));return _0x1690b2;});}return _0x1690b2;});}return _0x1690b2;}})[_0x9ab1('0x1c')](respondWithResult(_0x2d094d,0xc9))[_0x9ab1('0x52')](handleError(_0x2d094d,null));};var interaction_log=require('../../config/logger')(_0x9ab1('0x7a'));exports[_0x9ab1('0x7b')]=function(_0x2e9a56,_0x29836e,_0x407a93){var _0x4dbd50={'agent':{},'channel':_0x9ab1('0x7c')};if(_0x2e9a56['body']['id']){delete _0x2e9a56[_0x9ab1('0x56')]['id'];}_0x2e9a56[_0x9ab1('0x56')]['read']=!![];_0x2e9a56[_0x9ab1('0x56')][_0x9ab1('0x7d')]=moment()[_0x9ab1('0x79')](_0x9ab1('0x7e'));_0x2e9a56[_0x9ab1('0x56')][_0x9ab1('0x7f')]=_0x2e9a56['body'][_0x9ab1('0x7f')]||_0x2e9a56['user']['id'];_0x4dbd50[_0x9ab1('0x80')]['id']=_0x2e9a56[_0x9ab1('0x56')]['UserId'];return db[_0x9ab1('0x4d')][_0x9ab1('0x55')]({'where':{'id':_0x2e9a56[_0x9ab1('0x53')]['id'],'UserId':null}})[_0x9ab1('0x1c')](handleEntityNotFound(_0x29836e,null))[_0x9ab1('0x1c')](saveUpdates(_0x2e9a56[_0x9ab1('0x56')],null))[_0x9ab1('0x1c')](function(_0x13d1b1){if(_0x13d1b1){_0x4dbd50['message']=_0x13d1b1[_0x9ab1('0x81')]({'plain':!![]});return db[_0x9ab1('0x82')]['find']({'where':{'id':_0x13d1b1[_0x9ab1('0x83')]}});}return null;})['then'](handleEntityNotFound(_0x29836e,null))[_0x9ab1('0x1c')](function(_0x43a16e){if(_0x43a16e){return _0x43a16e[_0x9ab1('0x33')]({'UserId':_0x2e9a56[_0x9ab1('0x56')][_0x9ab1('0x7f')],'read1stAt':_['isNil'](_0x43a16e[_0x9ab1('0x84')])?moment()[_0x9ab1('0x79')](_0x9ab1('0x7e')):undefined});}return null;})[_0x9ab1('0x1c')](function(_0x282d3b){if(_0x282d3b){_0x4dbd50[_0x9ab1('0x85')]=_0x282d3b[_0x9ab1('0x81')]({'plain':!![]});interaction_log['info'](_0x9ab1('0x86'),_0x2e9a56[_0x9ab1('0x6c')]['id'],_0x2e9a56[_0x9ab1('0x6c')][_0x9ab1('0x3d')],_0x2e9a56[_0x9ab1('0x6c')]['role'],_0x4dbd50['interaction']['id'],_0x2e9a56[_0x9ab1('0x56')]?JSON[_0x9ab1('0x21')](_0x2e9a56[_0x9ab1('0x56')]):_0x9ab1('0x87'));return respondWithRpcPromise(_0x9ab1('0x88'),_0x9ab1('0x89'),_0x4dbd50);}return null;})['then'](function(_0x3b0350){var _0x45cc12='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x3b0350[_0x9ab1('0x25')][_0x9ab1('0x8a')];return db[_0x9ab1('0x8b')][_0x9ab1('0x3e')](_0x45cc12,{'type':db[_0x9ab1('0x8c')][_0x9ab1('0x8d')][_0x9ab1('0x8e')],'raw':!![]})['then'](function(_0x3a889b){return _0x3a889b;});})[_0x9ab1('0x1c')](function(_0x4f42f6){if(_0x4f42f6){_0x4dbd50[_0x9ab1('0x25')]['contact']=_0x4f42f6[0x0];if(!_0x2e9a56[_0x9ab1('0x56')]['UserId'])return;return db[_0x9ab1('0x8f')][_0x9ab1('0x55')]({'where':{'id':_0x2e9a56[_0x9ab1('0x56')][_0x9ab1('0x7f')],'role':'agent'},'attributes':['id','name',_0x9ab1('0x90'),_0x9ab1('0x91'),_0x9ab1('0x92')],'raw':!![]});}return null;})[_0x9ab1('0x1c')](function(_0x16a5b0){if(!_0x16a5b0)return null;_0x4dbd50[_0x9ab1('0x25')][_0x9ab1('0x80')]=_0x16a5b0;return _0x4dbd50;})[_0x9ab1('0x1c')](function(_0x587334){if(_0x587334){if(_0x2e9a56['body'][_0x9ab1('0x93')]){_0x4dbd50[_0x9ab1('0x25')][_0x9ab1('0x94')]=util[_0x9ab1('0x79')](_0x9ab1('0x95'),_0x2e9a56[_0x9ab1('0x6c')][_0x9ab1('0x3d')]);_0x4dbd50[_0x9ab1('0x25')][_0x9ab1('0x96')]=_0x4dbd50[_0x9ab1('0x96')];_0x4dbd50['message']['event']='accept';_0x4dbd50['message']['body']=htmlToText['fromString'](_0x4dbd50[_0x9ab1('0x25')][_0x9ab1('0x56')]);return respondWithRpcPromise('EventManager','EventManager',{'event':'acceptmessage','message':_0x4dbd50[_0x9ab1('0x25')]},client9002)[_0x9ab1('0x1c')](function(){return _0x4dbd50;});}return _0x4dbd50;}return null;})[_0x9ab1('0x1c')](respondWithResult(_0x29836e,null))[_0x9ab1('0x52')](handleError(_0x29836e,null));};var interaction_log=require('../../config/logger')(_0x9ab1('0x7a'));exports['reject']=function(_0x2a1165,_0x5ee272,_0x2a82b9){var _0x50dcf8={'agent':{},'channel':_0x9ab1('0x7c')};if(_0x2a1165[_0x9ab1('0x56')]['id']){delete _0x2a1165[_0x9ab1('0x56')]['id'];}_0x2a1165[_0x9ab1('0x56')][_0x9ab1('0x7f')]=_0x2a1165['body']['UserId']||_0x2a1165[_0x9ab1('0x6c')]['id'];_0x50dcf8[_0x9ab1('0x80')]['id']=_0x2a1165[_0x9ab1('0x56')][_0x9ab1('0x7f')];return db['MailMessage']['find']({'where':{'id':_0x2a1165[_0x9ab1('0x53')]['id'],'UserId':null}})[_0x9ab1('0x1c')](handleEntityNotFound(_0x5ee272,null))[_0x9ab1('0x1c')](function(_0x549690){if(_0x549690){_0x50dcf8[_0x9ab1('0x25')]=_0x549690[_0x9ab1('0x81')]({'plain':!![]});return db[_0x9ab1('0x82')][_0x9ab1('0x55')]({'where':{'id':_0x549690['MailInteractionId']}});}return null;})[_0x9ab1('0x1c')](handleEntityNotFound(_0x5ee272,null))[_0x9ab1('0x1c')](function(_0x5cfb35){if(_0x5cfb35){_0x50dcf8[_0x9ab1('0x85')]=_0x5cfb35[_0x9ab1('0x81')]({'plain':!![]});interaction_log[_0x9ab1('0x1d')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2a1165[_0x9ab1('0x6c')]['id'],_0x2a1165[_0x9ab1('0x6c')]['name'],_0x2a1165[_0x9ab1('0x6c')][_0x9ab1('0x97')],_0x50dcf8[_0x9ab1('0x85')]['id'],_0x2a1165[_0x9ab1('0x56')]?JSON[_0x9ab1('0x21')](_0x2a1165[_0x9ab1('0x56')]):'null');return respondWithRpcPromise(_0x9ab1('0x98'),_0x9ab1('0x99'),_0x50dcf8);}return null;})[_0x9ab1('0x1c')](function(_0x5e0cd6){var _0xb0a0fa=_0x9ab1('0x9a')+_0x5e0cd6[_0x9ab1('0x25')][_0x9ab1('0x8a')];return db[_0x9ab1('0x8b')]['query'](_0xb0a0fa,{'type':db[_0x9ab1('0x8c')]['QueryTypes']['SELECT'],'raw':!![]})[_0x9ab1('0x1c')](function(_0x35e8e9){return _0x35e8e9;});})[_0x9ab1('0x1c')](function(_0x16ea42){if(_0x16ea42){_0x50dcf8[_0x9ab1('0x25')]['contact']=_0x16ea42[0x0];if(!_0x2a1165[_0x9ab1('0x56')][_0x9ab1('0x7f')])return;return db['User'][_0x9ab1('0x55')]({'where':{'id':_0x2a1165[_0x9ab1('0x56')][_0x9ab1('0x7f')],'role':_0x9ab1('0x80')},'attributes':['id',_0x9ab1('0x3d'),_0x9ab1('0x90'),_0x9ab1('0x91'),_0x9ab1('0x92')],'raw':!![]});}return null;})[_0x9ab1('0x1c')](function(_0x45e7a5){if(!_0x45e7a5)return null;_0x50dcf8[_0x9ab1('0x25')][_0x9ab1('0x80')]=_0x45e7a5;return _0x50dcf8;})[_0x9ab1('0x1c')](function(_0x53651a){if(_0x53651a){_0x53651a[_0x9ab1('0x25')]['interface']=util[_0x9ab1('0x79')](_0x9ab1('0x95'),_0x2a1165[_0x9ab1('0x6c')]['name']);_0x53651a[_0x9ab1('0x25')]['channel']=_0x50dcf8['channel'];_0x53651a[_0x9ab1('0x25')][_0x9ab1('0x9b')]=_0x9ab1('0x31');_0x53651a[_0x9ab1('0x25')]['body']=htmlToText[_0x9ab1('0x9c')](_0x50dcf8[_0x9ab1('0x25')]['body']);respondWithRpcPromise(_0x9ab1('0x9d'),'EventManager',{'event':_0x9ab1('0x9e'),'message':_0x53651a['message']},client9002);return _0x50dcf8;}return null;})[_0x9ab1('0x1c')](respondWithResult(_0x5ee272,null))[_0x9ab1('0x52')](handleError(_0x5ee272,null));};exports[_0x9ab1('0x9f')]=function(_0x55a316,_0x762ceb){var _0x15a84d=moment()[_0x9ab1('0xa0')]()[_0x9ab1('0xa1')]();var _0x2a59bb=path[_0x9ab1('0x72')](config[_0x9ab1('0x73')],'server',_0x9ab1('0xa2'),_0x9ab1('0xa3'));var _0x200a5c=path[_0x9ab1('0x72')](config[_0x9ab1('0x73')],_0x9ab1('0xa4'),'files','attachments');var _0x3bb208=util[_0x9ab1('0x79')](_0x9ab1('0xa5'),_0x15a84d);return db[_0x9ab1('0x4d')]['find']({'where':{'id':_0x55a316[_0x9ab1('0x53')]['id']},'attributes':['id','body',_0x9ab1('0xa6'),'to','cc',_0x9ab1('0xa7'),_0x9ab1('0xa8'),'createdAt'],'include':_0x55a316[_0x9ab1('0x3e')][_0x9ab1('0x70')]?[{'model':db[_0x9ab1('0xa9')],'as':'Attachments'}]:undefined})['then'](handleEntityNotFound(_0x762ceb,null))['then'](function(_0x2faaa4){if(_0x2faaa4){var _0x3c1581=_0x2faaa4;var _0x207972={'from':_0x3c1581[_0x9ab1('0xa6')],'to':_0x3c1581['to'],'subject':_0x3c1581['subject'],'html':_0x3c1581['body'],'headers':{'Date':moment(_0x3c1581[_0x9ab1('0xaa')])['format'](_0x9ab1('0xab'))},'attachments':[]};if(_0x2faaa4['cc']){_0x207972[_0x9ab1('0xac')]['Cc']=_0x2faaa4['cc'];}if(_0x2faaa4[_0x9ab1('0xa7')]){_0x207972[_0x9ab1('0xac')][_0x9ab1('0xad')]=_0x2faaa4['bcc'];}return new BPromise(function(_0x269e87,_0x1a2cf1){if(_0x2faaa4[_0x9ab1('0xae')]){for(var _0x4e9792=0x0;_0x4e9792<_0x2faaa4[_0x9ab1('0xae')][_0x9ab1('0x71')];_0x4e9792++){var _0x32c027=_0x2faaa4['Attachments'][_0x4e9792];var _0x33d1c0=path['join'](_0x200a5c,_0x32c027[_0x9ab1('0x75')]);if(fs[_0x9ab1('0xaf')](_0x33d1c0)){_0x207972[_0x9ab1('0x70')][_0x9ab1('0xb0')]({'name':_0x32c027[_0x9ab1('0x3d')],'contentType':_0x32c027[_0x9ab1('0x4b')],'data':fs['readFileSync'](_0x33d1c0)});}}}emlformat['build'](_0x207972,function(_0x4fa684,_0x15e49b){if(_0x4fa684)return _0x1a2cf1(_0x4fa684);fs[_0x9ab1('0xb1')](path[_0x9ab1('0x72')](_0x2a59bb,_0x3bb208),_0x15e49b);return _0x269e87(_0x15e49b);});});}})['then'](function(_0x357acd){if(_0x357acd){return _0x762ceb[_0x9ab1('0x9f')](path[_0x9ab1('0x72')](_0x2a59bb,_0x3bb208),_0x3bb208,function(_0x2049b5){if(_0x2049b5){console[_0x9ab1('0xb2')]('err',_0x2049b5);}else{fs[_0x9ab1('0xb3')](path[_0x9ab1('0x72')](_0x2a59bb,_0x3bb208));}});}})[_0x9ab1('0x52')](handleError(_0x762ceb,null));};