Built motion from commit 43538d75.|2.5.35
[motion2.git] / server / api / mailAccount / mailAccount.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 _0x88e7=['MailMessage','inlineCss','true','split','List','CmContact','Contacts','updatedAt','DESC','from','format','%s\x20<%s>','email','attachments','join','server/files/attachments','basename','auth','SendMail','sendMail','List\x20not\x20found','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','secure','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','omit','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','juice','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','client','request','then','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','sendStatus','status','end','json','undefined','limit','count','set','apply','save','update','get','MailAccounts','UserProfileResource','destroy','stack','name','send','index','MailServerIn','Imap','MailServerOut','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','model','length','nolimit','offset','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','MailAccount','findAll','rows','catch','show','params','Smtp','Pause','keys','fields','find','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','hasOwnProperty','pick','removeDispositions','addAnswer','CannedAnswer','findOne','removeAnswers','ids','ListId','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','getImap','addImap','setImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','Contact','User','Owner','fullname','internal','Tag','color','tag','addApplications','sequelize','MailApplication','bulkCreate','getApplications','$gte'];(function(_0x4dc761,_0x532aec){var _0x34c62d=function(_0xe846dc){while(--_0xe846dc){_0x4dc761['push'](_0x4dc761['shift']());}};_0x34c62d(++_0x532aec);}(_0x88e7,0x1a3));var _0x788e=function(_0x2112d4,_0x3c863c){_0x2112d4=_0x2112d4-0x0;var _0x434972=_0x88e7[_0x2112d4];return _0x434972;};'use strict';var emlformat=require(_0x788e('0x0'));var rimraf=require(_0x788e('0x1'));var zipdir=require(_0x788e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x788e('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x788e('0x4'));var path=require(_0x788e('0x5'));var sox=require(_0x788e('0x6'));var csv=require(_0x788e('0x7'));var ejs=require(_0x788e('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x788e('0x9'));var squel=require(_0x788e('0xa'));var crypto=require(_0x788e('0xb'));var jsforce=require(_0x788e('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x788e('0x7'));var querystring=require(_0x788e('0xd'));var Papa=require(_0x788e('0xe'));var htmlToText=require('html-to-text');var juice=require(_0x788e('0xf'));var Redis=require('ioredis');var authService=require(_0x788e('0x10'));var qs=require(_0x788e('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x788e('0x12'));var logger=require('../../config/logger')(_0x788e('0x13'));var utils=require(_0x788e('0x14'));var config=require(_0x788e('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x788e('0x16')]=_[_0x788e('0x17')](config[_0x788e('0x16')],{'host':_0x788e('0x18'),'port':0x18eb});var socket=require(_0x788e('0x19'))(new Redis(config[_0x788e('0x16')]));require('./mailAccount.socket')['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x788e('0x1a')]['http']({'port':0x232b});function respondWithRpcPromise(_0x3361df,_0x3cb45e,_0x5c1f9e,_0x4cbd82){return new BPromise(function(_0x9ae21e,_0x1a8fb4){var _0x1aaf2c=_0x4cbd82||client;return _0x1aaf2c[_0x788e('0x1b')](_0x3361df,_0x5c1f9e)[_0x788e('0x1c')](function(_0x3111fb){logger['info']('MailAccount,\x20%s,\x20%s',_0x3cb45e,_0x788e('0x1d'));logger[_0x788e('0x1e')](_0x788e('0x1f'),_0x3cb45e,'request\x20sent',JSON[_0x788e('0x20')](_0x3111fb));if(_0x3111fb[_0x788e('0x21')]){if(_0x3111fb['error'][_0x788e('0x22')]===0x1f4){logger[_0x788e('0x21')](_0x788e('0x23'),_0x3cb45e,_0x3111fb[_0x788e('0x21')][_0x788e('0x24')]);return _0x1a8fb4(_0x3111fb[_0x788e('0x21')][_0x788e('0x24')]);}logger[_0x788e('0x21')](_0x788e('0x23'),_0x3cb45e,_0x3111fb['error'][_0x788e('0x24')]);return _0x9ae21e(_0x3111fb['error'][_0x788e('0x24')]);}else{logger['info'](_0x788e('0x23'),_0x3cb45e,'request\x20sent');_0x9ae21e(_0x3111fb[_0x788e('0x25')][_0x788e('0x24')]);}})['catch'](function(_0x4de2f1){logger[_0x788e('0x21')]('MailAccount,\x20%s,\x20%s',_0x3cb45e,_0x4de2f1);_0x1a8fb4(_0x4de2f1);});});}function respondWithStatusCode(_0x26dbab,_0x3a1ed8){_0x3a1ed8=_0x3a1ed8||0xcc;return function(_0x25c7a2){if(_0x25c7a2){return _0x26dbab[_0x788e('0x26')](_0x3a1ed8);}return _0x26dbab[_0x788e('0x27')](_0x3a1ed8)[_0x788e('0x28')]();};}function respondWithResult(_0xf535ab,_0x103d08){_0x103d08=_0x103d08||0xc8;return function(_0x595b3e){if(_0x595b3e){return _0xf535ab[_0x788e('0x27')](_0x103d08)[_0x788e('0x29')](_0x595b3e);}};}function respondWithFilteredResult(_0x40fa6d,_0x17da47){return function(_0x1bdf58){if(_0x1bdf58){var _0x5b4fde=typeof _0x17da47['offset']===_0x788e('0x2a')&&typeof _0x17da47[_0x788e('0x2b')]===_0x788e('0x2a');var _0x2c05ae=_0x1bdf58[_0x788e('0x2c')];var _0x3dad70=_0x5b4fde?0x0:_0x17da47['offset'];var _0x3d63fa=_0x5b4fde?_0x1bdf58[_0x788e('0x2c')]:_0x17da47['offset']+_0x17da47[_0x788e('0x2b')];var _0x3df361;if(_0x3d63fa>=_0x2c05ae){_0x3d63fa=_0x2c05ae;_0x3df361=0xc8;}else{_0x3df361=0xce;}_0x40fa6d[_0x788e('0x27')](_0x3df361);return _0x40fa6d[_0x788e('0x2d')]('Content-Range',_0x3dad70+'-'+_0x3d63fa+'/'+_0x2c05ae)[_0x788e('0x29')](_0x1bdf58);}return null;};}function patchUpdates(_0xb7f941){return function(_0x3e0669){try{jsonpatch[_0x788e('0x2e')](_0x3e0669,_0xb7f941,!![]);}catch(_0x5ace9f){return BPromise['reject'](_0x5ace9f);}return _0x3e0669[_0x788e('0x2f')]();};}function saveUpdates(_0x48ab74,_0x12b857){return function(_0x7fba2b){if(_0x7fba2b){return _0x7fba2b[_0x788e('0x30')](_0x48ab74)[_0x788e('0x1c')](function(_0x58b42){return _0x58b42;});}return null;};}function removeEntity(_0x22b989,_0x3a89d4){return function(_0x4a48ef){if(_0x4a48ef){return _0x4a48ef['destroy']()[_0x788e('0x1c')](function(){var _0x2f0c12=_0x4a48ef[_0x788e('0x31')]({'plain':!![]});var _0x5730c8=_0x788e('0x32');return db[_0x788e('0x33')][_0x788e('0x34')]({'where':{'type':_0x5730c8,'resourceId':_0x2f0c12['id']}})[_0x788e('0x1c')](function(){return _0x4a48ef;});})[_0x788e('0x1c')](function(){_0x22b989[_0x788e('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5472a5,_0x4a95ca){return function(_0x2d0c44){if(!_0x2d0c44){_0x5472a5['sendStatus'](0x194);}return _0x2d0c44;};}function handleError(_0x40aaf7,_0x399301){_0x399301=_0x399301||0x1f4;return function(_0x51755d){logger[_0x788e('0x21')](_0x51755d[_0x788e('0x35')]);if(_0x51755d[_0x788e('0x36')]){delete _0x51755d[_0x788e('0x36')];}_0x40aaf7[_0x788e('0x27')](_0x399301)[_0x788e('0x37')](_0x51755d);};}exports[_0x788e('0x38')]=function(_0xc2045c,_0x9f2f2b){var _0xefb198={'include':[{'model':db[_0x788e('0x39')],'as':_0x788e('0x3a')},{'model':db[_0x788e('0x3b')],'as':'Smtp'},{'model':db['Pause'],'as':_0x788e('0x3c')}]},_0xc3974d={},_0x1c992b={'count':0x0,'rows':[]};var _0xe2955a=_[_0x788e('0x3d')](db['MailAccount'][_0x788e('0x3e')],function(_0x337e64){return{'name':_0x337e64[_0x788e('0x3f')],'type':_0x337e64[_0x788e('0x40')][_0x788e('0x41')]};});_0xc3974d['model']=_[_0x788e('0x3d')](_0xe2955a,_0x788e('0x36'));_0xc3974d[_0x788e('0x42')]=_['keys'](_0xc2045c[_0x788e('0x42')]);_0xc3974d[_0x788e('0x43')]=_[_0x788e('0x44')](_0xc3974d['model'],_0xc3974d[_0x788e('0x42')]);_0xefb198[_0x788e('0x45')]=_[_0x788e('0x44')](_0xc3974d[_0x788e('0x46')],qs['fields'](_0xc2045c[_0x788e('0x42')]['fields']));_0xefb198['attributes']=_0xefb198['attributes'][_0x788e('0x47')]?_0xefb198[_0x788e('0x45')]:_0xc3974d[_0x788e('0x46')];if(!_0xc2045c[_0x788e('0x42')]['hasOwnProperty'](_0x788e('0x48'))){_0xefb198[_0x788e('0x2b')]=qs[_0x788e('0x2b')](_0xc2045c[_0x788e('0x42')][_0x788e('0x2b')]);_0xefb198[_0x788e('0x49')]=qs[_0x788e('0x49')](_0xc2045c[_0x788e('0x42')][_0x788e('0x49')]);}_0xefb198[_0x788e('0x4a')]=qs[_0x788e('0x4b')](_0xc2045c[_0x788e('0x42')][_0x788e('0x4b')]);_0xefb198[_0x788e('0x4c')]=qs['filters'](_['pick'](_0xc2045c[_0x788e('0x42')],_0xc3974d['filters']),_0xe2955a);if(_0xc2045c['query'][_0x788e('0x4d')]){_0xefb198[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0xefb198['where'],{'$or':_[_0x788e('0x3d')](_0xe2955a,function(_0x547f45){if(_0x547f45[_0x788e('0x40')]!==_0x788e('0x4f')){var _0x5b6a32={};_0x5b6a32[_0x547f45[_0x788e('0x36')]]={'$like':'%'+_0xc2045c[_0x788e('0x42')][_0x788e('0x4d')]+'%'};return _0x5b6a32;}})});}_0xefb198=_[_0x788e('0x4e')]({},_0xefb198,_0xc2045c[_0x788e('0x50')]);var _0x53b044={'where':_0xefb198[_0x788e('0x4c')]};return db['MailAccount'][_0x788e('0x2c')](_0x53b044)[_0x788e('0x1c')](function(_0x4a9542){_0x1c992b[_0x788e('0x2c')]=_0x4a9542;if(_0xc2045c[_0x788e('0x42')][_0x788e('0x51')]){_0xefb198[_0x788e('0x52')]=[{'all':!![]}];}return db[_0x788e('0x53')][_0x788e('0x54')](_0xefb198);})['then'](function(_0x4c3a77){_0x1c992b[_0x788e('0x55')]=_0x4c3a77;return _0x1c992b;})[_0x788e('0x1c')](respondWithFilteredResult(_0x9f2f2b,_0xefb198))[_0x788e('0x56')](handleError(_0x9f2f2b,null));};exports[_0x788e('0x57')]=function(_0x55bde3,_0x2c0321){var _0x466888={'raw':![],'where':{'id':_0x55bde3[_0x788e('0x58')]['id']},'include':[{'model':db[_0x788e('0x39')],'as':_0x788e('0x3a')},{'model':db[_0x788e('0x3b')],'as':_0x788e('0x59')},{'model':db[_0x788e('0x5a')],'as':_0x788e('0x3c')}]},_0x2fd86f={};_0x2fd86f['model']=_[_0x788e('0x5b')](db[_0x788e('0x53')]['rawAttributes']);_0x2fd86f['query']=_[_0x788e('0x5b')](_0x55bde3[_0x788e('0x42')]);_0x2fd86f[_0x788e('0x43')]=_[_0x788e('0x44')](_0x2fd86f[_0x788e('0x46')],_0x2fd86f[_0x788e('0x42')]);_0x466888[_0x788e('0x45')]=_[_0x788e('0x44')](_0x2fd86f[_0x788e('0x46')],qs[_0x788e('0x5c')](_0x55bde3['query'][_0x788e('0x5c')]));_0x466888[_0x788e('0x45')]=_0x466888[_0x788e('0x45')][_0x788e('0x47')]?_0x466888[_0x788e('0x45')]:_0x2fd86f[_0x788e('0x46')];if(_0x55bde3['query'][_0x788e('0x51')]){_0x466888[_0x788e('0x52')]=[{'all':!![]}];}_0x466888=_['merge']({},_0x466888,_0x55bde3[_0x788e('0x50')]);return db[_0x788e('0x53')][_0x788e('0x5d')](_0x466888)['then'](handleEntityNotFound(_0x2c0321,null))[_0x788e('0x1c')](respondWithResult(_0x2c0321,null))[_0x788e('0x56')](handleError(_0x2c0321,null));};exports[_0x788e('0x30')]=function(_0x53cfcd,_0x5e0b9a){if(_0x53cfcd['body']['id']){delete _0x53cfcd[_0x788e('0x5e')]['id'];}return db[_0x788e('0x53')][_0x788e('0x5d')]({'where':{'id':_0x53cfcd[_0x788e('0x58')]['id']},'include':[{'model':db[_0x788e('0x39')],'as':'Imap'},{'model':db[_0x788e('0x3b')],'as':'Smtp'},{'model':db[_0x788e('0x5a')],'as':_0x788e('0x3c')}]})[_0x788e('0x1c')](handleEntityNotFound(_0x5e0b9a,null))[_0x788e('0x1c')](saveUpdates(_0x53cfcd[_0x788e('0x5e')],null))[_0x788e('0x1c')](function(_0x1a4546){if(_0x1a4546&&_0x53cfcd[_0x788e('0x5e')][_0x788e('0x3a')]){return db['MailServerIn']['update'](_0x53cfcd[_0x788e('0x5e')][_0x788e('0x3a')],{'where':{'MailAccountId':_0x1a4546['id']}})[_0x788e('0x1c')](function(){return _0x1a4546;});}return _0x1a4546;})[_0x788e('0x1c')](function(_0x595e2e){if(_0x595e2e&&_0x53cfcd['body'][_0x788e('0x59')]){return db['MailServerOut'][_0x788e('0x30')](_0x53cfcd[_0x788e('0x5e')][_0x788e('0x59')],{'where':{'MailAccountId':_0x595e2e['id']}})['then'](function(){return _0x595e2e;});}return _0x595e2e;})[_0x788e('0x1c')](respondWithResult(_0x5e0b9a,null))[_0x788e('0x56')](handleError(_0x5e0b9a,null));};exports[_0x788e('0x5f')]=function(_0x5769f7,_0x319c49){return db[_0x788e('0x53')][_0x788e('0x5f')]()[_0x788e('0x1c')](respondWithResult(_0x319c49,null))[_0x788e('0x56')](handleError(_0x319c49,null));};exports[_0x788e('0x60')]=function(_0x16b1bf,_0x3fbab3,_0x213933){if(_0x16b1bf[_0x788e('0x5e')]['id']){delete _0x16b1bf[_0x788e('0x5e')]['id'];}return db[_0x788e('0x53')][_0x788e('0x5d')]({'where':{'id':_0x16b1bf[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x3fbab3,null))[_0x788e('0x1c')](function(_0x58279e){if(_0x58279e){_0x16b1bf[_0x788e('0x5e')][_0x788e('0x61')]=_0x58279e['id'];return db[_0x788e('0x62')][_0x788e('0x63')](_0x16b1bf[_0x788e('0x5e')]);}})[_0x788e('0x1c')](respondWithResult(_0x3fbab3,null))[_0x788e('0x56')](handleError(_0x3fbab3,null));};exports[_0x788e('0x64')]=function(_0x298989,_0x3e64ee,_0x18b0b6){var _0x14c2d3={'raw':![],'where':{}};var _0x27e42e={};var _0x301e26={'count':0x0,'rows':[]};return db[_0x788e('0x53')]['findOne']({'where':{'id':_0x298989[_0x788e('0x58')]['id']}})['then'](handleEntityNotFound(_0x3e64ee,null))['then'](function(_0x6595a1){if(_0x6595a1){_0x27e42e['model']=_['keys'](db[_0x788e('0x62')][_0x788e('0x3e')]);_0x27e42e[_0x788e('0x42')]=_[_0x788e('0x5b')](_0x298989['query']);_0x27e42e[_0x788e('0x43')]=_[_0x788e('0x44')](_0x27e42e[_0x788e('0x46')],_0x27e42e['query']);_0x14c2d3[_0x788e('0x45')]=_[_0x788e('0x44')](_0x27e42e[_0x788e('0x46')],qs[_0x788e('0x5c')](_0x298989[_0x788e('0x42')][_0x788e('0x5c')]));_0x14c2d3[_0x788e('0x45')]=_0x14c2d3[_0x788e('0x45')]['length']?_0x14c2d3[_0x788e('0x45')]:_0x27e42e['model'];if(!_0x298989[_0x788e('0x42')][_0x788e('0x65')]('nolimit')){_0x14c2d3[_0x788e('0x2b')]=qs[_0x788e('0x2b')](_0x298989[_0x788e('0x42')][_0x788e('0x2b')]);_0x14c2d3[_0x788e('0x49')]=qs[_0x788e('0x49')](_0x298989[_0x788e('0x42')][_0x788e('0x49')]);}_0x14c2d3[_0x788e('0x4a')]=qs['sort'](_0x298989[_0x788e('0x42')][_0x788e('0x4b')]);_0x14c2d3[_0x788e('0x4c')]=qs['filters'](_[_0x788e('0x66')](_0x298989[_0x788e('0x42')],_0x27e42e[_0x788e('0x43')]));_0x14c2d3[_0x788e('0x4c')]['MailAccountId']=_0x6595a1['id'];if(_0x298989[_0x788e('0x42')][_0x788e('0x4d')]){_0x14c2d3[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0x14c2d3[_0x788e('0x4c')],{'$or':_[_0x788e('0x3d')](_0x14c2d3[_0x788e('0x45')],function(_0x25c037){var _0x1413a8={};_0x1413a8[_0x25c037]={'$like':'%'+_0x298989[_0x788e('0x42')][_0x788e('0x4d')]+'%'};return _0x1413a8;})});}_0x14c2d3=_[_0x788e('0x4e')]({},_0x14c2d3,_0x298989['options']);return db[_0x788e('0x62')][_0x788e('0x2c')]({'where':_0x14c2d3['where']})[_0x788e('0x1c')](function(_0x1c9360){_0x301e26['count']=_0x1c9360;if(_0x298989[_0x788e('0x42')]['includeAll']){_0x14c2d3[_0x788e('0x52')]=[{'all':!![]}];}return db[_0x788e('0x62')][_0x788e('0x54')](_0x14c2d3);})[_0x788e('0x1c')](function(_0x26da07){_0x301e26[_0x788e('0x55')]=_0x26da07;return _0x301e26;});}})[_0x788e('0x1c')](respondWithFilteredResult(_0x3e64ee,_0x14c2d3))['catch'](handleError(_0x3e64ee,null));};exports['removeDispositions']=function(_0x53004f,_0x77d52f,_0x2fbec8){return db[_0x788e('0x53')]['find']({'where':{'id':_0x53004f[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x77d52f,null))[_0x788e('0x1c')](function(_0x38f4b6){if(_0x38f4b6){return _0x38f4b6[_0x788e('0x67')](_0x53004f['query']['ids']);}})[_0x788e('0x1c')](respondWithStatusCode(_0x77d52f,null))[_0x788e('0x56')](handleError(_0x77d52f,null));};exports[_0x788e('0x68')]=function(_0x34b98e,_0x128223,_0x584255){if(_0x34b98e[_0x788e('0x5e')]['id']){delete _0x34b98e[_0x788e('0x5e')]['id'];}return db[_0x788e('0x53')]['find']({'where':{'id':_0x34b98e['params']['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x128223,null))['then'](function(_0x544ca5){if(_0x544ca5){_0x34b98e[_0x788e('0x5e')][_0x788e('0x61')]=_0x544ca5['id'];return db[_0x788e('0x69')]['create'](_0x34b98e['body']);}})[_0x788e('0x1c')](respondWithResult(_0x128223,null))['catch'](handleError(_0x128223,null));};exports['getAnswers']=function(_0x834df6,_0x5017fe,_0xaa11ee){var _0x858f47={'raw':![],'where':{}};var _0x44d3bc={};var _0x4ffa67={'count':0x0,'rows':[]};return db['MailAccount'][_0x788e('0x6a')]({'where':{'id':_0x834df6[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x5017fe,null))[_0x788e('0x1c')](function(_0x4c5f5f){if(_0x4c5f5f){_0x44d3bc[_0x788e('0x46')]=_[_0x788e('0x5b')](db[_0x788e('0x69')][_0x788e('0x3e')]);_0x44d3bc[_0x788e('0x42')]=_[_0x788e('0x5b')](_0x834df6[_0x788e('0x42')]);_0x44d3bc[_0x788e('0x43')]=_[_0x788e('0x44')](_0x44d3bc['model'],_0x44d3bc[_0x788e('0x42')]);_0x858f47[_0x788e('0x45')]=_[_0x788e('0x44')](_0x44d3bc[_0x788e('0x46')],qs[_0x788e('0x5c')](_0x834df6[_0x788e('0x42')][_0x788e('0x5c')]));_0x858f47[_0x788e('0x45')]=_0x858f47[_0x788e('0x45')]['length']?_0x858f47['attributes']:_0x44d3bc[_0x788e('0x46')];if(!_0x834df6['query']['hasOwnProperty']('nolimit')){_0x858f47[_0x788e('0x2b')]=qs[_0x788e('0x2b')](_0x834df6[_0x788e('0x42')][_0x788e('0x2b')]);_0x858f47['offset']=qs['offset'](_0x834df6[_0x788e('0x42')]['offset']);}_0x858f47[_0x788e('0x4a')]=qs[_0x788e('0x4b')](_0x834df6[_0x788e('0x42')][_0x788e('0x4b')]);_0x858f47['where']=qs[_0x788e('0x43')](_['pick'](_0x834df6['query'],_0x44d3bc[_0x788e('0x43')]));_0x858f47[_0x788e('0x4c')][_0x788e('0x61')]=_0x4c5f5f['id'];if(_0x834df6['query'][_0x788e('0x4d')]){_0x858f47[_0x788e('0x4c')]=_['merge'](_0x858f47[_0x788e('0x4c')],{'$or':_['map'](_0x858f47[_0x788e('0x45')],function(_0x4bbe65){var _0x3fec09={};_0x3fec09[_0x4bbe65]={'$like':'%'+_0x834df6[_0x788e('0x42')]['filter']+'%'};return _0x3fec09;})});}_0x858f47=_[_0x788e('0x4e')]({},_0x858f47,_0x834df6[_0x788e('0x50')]);return db['CannedAnswer'][_0x788e('0x2c')]({'where':_0x858f47[_0x788e('0x4c')]})['then'](function(_0x2d12f3){_0x4ffa67[_0x788e('0x2c')]=_0x2d12f3;if(_0x834df6[_0x788e('0x42')][_0x788e('0x51')]){_0x858f47['include']=[{'all':!![]}];}return db['CannedAnswer'][_0x788e('0x54')](_0x858f47);})['then'](function(_0x27ab93){_0x4ffa67[_0x788e('0x55')]=_0x27ab93;return _0x4ffa67;});}})[_0x788e('0x1c')](respondWithFilteredResult(_0x5017fe,_0x858f47))[_0x788e('0x56')](handleError(_0x5017fe,null));};exports['removeAnswers']=function(_0x3fb915,_0x3edd2e,_0x21eda1){return db[_0x788e('0x53')]['find']({'where':{'id':_0x3fb915['params']['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x3edd2e,null))[_0x788e('0x1c')](function(_0x3aa128){if(_0x3aa128){return _0x3aa128[_0x788e('0x6b')](_0x3fb915[_0x788e('0x42')][_0x788e('0x6c')]);}})[_0x788e('0x1c')](respondWithStatusCode(_0x3edd2e,null))[_0x788e('0x56')](handleError(_0x3edd2e,null));};exports[_0x788e('0x63')]=function(_0xe103da,_0x5cffff){var _0x1f2903={'name':_0xe103da[_0x788e('0x5e')][_0x788e('0x36')],'key':_0xe103da['body'][_0x788e('0x41')],'email':_0xe103da[_0x788e('0x5e')]['email'],'ListId':_0xe103da[_0x788e('0x5e')][_0x788e('0x6d')],'active':!_[_0x788e('0x6e')](_0xe103da[_0x788e('0x5e')][_0x788e('0x6f')])?_0xe103da[_0x788e('0x5e')][_0x788e('0x6f')]:!![],'description':_0xe103da['body'][_0x788e('0x70')]||null,'Imap':{},'Smtp':{}};if(_[_0x788e('0x6e')](_0xe103da[_0x788e('0x5e')][_0x788e('0x71')])){if(_0xe103da[_0x788e('0x5e')][_0x788e('0x72')]){_0x1f2903[_0x788e('0x3a')][_0x788e('0x73')]=_0x1f2903[_0x788e('0x59')][_0x788e('0x73')]=_0xe103da[_0x788e('0x5e')][_0x788e('0x74')];_0x1f2903['Imap'][_0x788e('0x75')]=_0x1f2903[_0x788e('0x59')][_0x788e('0x76')]=_0xe103da[_0x788e('0x5e')][_0x788e('0x77')];}else{_0x1f2903[_0x788e('0x3a')][_0x788e('0x78')]=_0x1f2903[_0x788e('0x59')][_0x788e('0x78')]=![];}_0x1f2903[_0x788e('0x3a')][_0x788e('0x79')]=_0xe103da[_0x788e('0x5e')][_0x788e('0x3a')][_0x788e('0x79')];_0x1f2903[_0x788e('0x3a')]['port']=_0xe103da['body']['Imap'][_0x788e('0x7a')];_0x1f2903[_0x788e('0x59')]['host']=_0xe103da[_0x788e('0x5e')]['Smtp']['host'];_0x1f2903[_0x788e('0x59')][_0x788e('0x7a')]=_0xe103da['body'][_0x788e('0x59')][_0x788e('0x7a')];}else{_0x1f2903[_0x788e('0x3a')][_0x788e('0x7b')]=_0x1f2903['Smtp'][_0x788e('0x7b')]=_0xe103da[_0x788e('0x5e')]['cservice'];_0x1f2903[_0x788e('0x3a')][_0x788e('0x73')]=_0x1f2903[_0x788e('0x59')]['user']=_0xe103da[_0x788e('0x5e')][_0x788e('0x74')];_0x1f2903[_0x788e('0x3a')][_0x788e('0x75')]=_0x1f2903['Smtp'][_0x788e('0x76')]=_0xe103da[_0x788e('0x5e')][_0x788e('0x77')];}return db[_0x788e('0x53')][_0x788e('0x63')](_0x1f2903,{'include':[{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x788e('0x39')],'as':'Imap'}]})[_0x788e('0x1c')](function(_0x1385c6){var _0x468a44=_0xe103da[_0x788e('0x73')][_0x788e('0x31')]({'plain':!![]});if(!_0x468a44)throw new Error(_0x788e('0x7c'));if(_0x468a44[_0x788e('0x7d')]==='user'){var _0xcf3c07=_0x1385c6[_0x788e('0x31')]({'plain':!![]});return db[_0x788e('0x7e')][_0x788e('0x5d')]({'where':{'name':_0x788e('0x32'),'userProfileId':_0x468a44[_0x788e('0x7f')]},'raw':!![]})[_0x788e('0x1c')](function(_0x4e67e2){if(_0x4e67e2&&_0x4e67e2['autoAssociation']===0x0){return db[_0x788e('0x33')][_0x788e('0x63')]({'name':_0xcf3c07[_0x788e('0x36')],'resourceId':_0xcf3c07['id'],'type':_0x4e67e2['name'],'sectionId':_0x4e67e2['id']},{})[_0x788e('0x1c')](function(){return _0x1385c6;});}else{return _0x1385c6;}})[_0x788e('0x56')](function(_0x365969){logger[_0x788e('0x21')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x365969);throw _0x365969;});}return _0x1385c6;})[_0x788e('0x1c')](respondWithResult(_0x5cffff,0xc9))[_0x788e('0x56')](handleError(_0x5cffff,null));};exports[_0x788e('0x80')]=function(_0x4dc2c6,_0x25bdaf,_0x1d6e85){return db[_0x788e('0x53')][_0x788e('0x6a')]({'where':{'id':_0x4dc2c6[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x25bdaf,null))[_0x788e('0x1c')](function(_0x4ad6ce){if(_0x4ad6ce){return _0x4ad6ce['getImap']();}return null;})[_0x788e('0x1c')](respondWithResult(_0x25bdaf,null))['catch'](handleError(_0x25bdaf,null));};exports[_0x788e('0x81')]=function(_0x26cd6f,_0x56c355,_0x592b0b){if(_0x26cd6f[_0x788e('0x5e')]['id']){delete _0x26cd6f[_0x788e('0x5e')]['id'];}return db[_0x788e('0x53')][_0x788e('0x5d')]({'where':{'id':_0x26cd6f[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x56c355,null))['then'](function(_0x22c5ad){if(_0x22c5ad){_0x26cd6f[_0x788e('0x5e')][_0x788e('0x61')]=_0x22c5ad['id'];return db[_0x788e('0x39')][_0x788e('0x63')](_0x26cd6f['body']);}})['then'](respondWithResult(_0x56c355,null))[_0x788e('0x56')](handleError(_0x56c355,null));};exports['removeImap']=function(_0x2040a4,_0x17e578,_0x55666d){return db['MailAccount'][_0x788e('0x6a')]({'where':{'id':_0x2040a4['params']['id']}})['then'](handleEntityNotFound(_0x17e578,null))['then'](function(_0x180352){if(_0x180352){return _0x180352[_0x788e('0x82')](null);}return null;})[_0x788e('0x1c')](respondWithStatusCode(_0x17e578,null))[_0x788e('0x56')](handleError(_0x17e578,null));};exports[_0x788e('0x83')]=function(_0x50ce8c,_0x40dd29,_0x4a5c24){return db['MailAccount'][_0x788e('0x6a')]({'where':{'id':_0x50ce8c[_0x788e('0x58')]['id']}})['then'](handleEntityNotFound(_0x40dd29,null))[_0x788e('0x1c')](function(_0x43d9bb){if(_0x43d9bb){return _0x43d9bb[_0x788e('0x83')]();}return null;})[_0x788e('0x1c')](respondWithResult(_0x40dd29,null))[_0x788e('0x56')](handleError(_0x40dd29,null));};exports['addSmtp']=function(_0xc8321c,_0x329712,_0x243d15){if(_0xc8321c[_0x788e('0x5e')]['id']){delete _0xc8321c[_0x788e('0x5e')]['id'];}return db['MailAccount'][_0x788e('0x5d')]({'where':{'id':_0xc8321c[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x329712,null))[_0x788e('0x1c')](function(_0x41c958){if(_0x41c958){_0xc8321c[_0x788e('0x5e')][_0x788e('0x61')]=_0x41c958['id'];return db['MailServerOut']['create'](_0xc8321c['body']);}})[_0x788e('0x1c')](respondWithResult(_0x329712,null))[_0x788e('0x56')](handleError(_0x329712,null));};exports[_0x788e('0x84')]=function(_0x4883de,_0x30186f,_0x4c9bcc){return db[_0x788e('0x53')]['findOne']({'where':{'id':_0x4883de[_0x788e('0x58')]['id']}})['then'](handleEntityNotFound(_0x30186f,null))[_0x788e('0x1c')](function(_0x547fdc){if(_0x547fdc){return _0x547fdc[_0x788e('0x85')](null);}return null;})[_0x788e('0x1c')](respondWithStatusCode(_0x30186f,null))[_0x788e('0x56')](handleError(_0x30186f,null));};exports[_0x788e('0x86')]=function(_0x5f10a0,_0x3de2b0,_0x5f12db){return db[_0x788e('0x87')][_0x788e('0x5d')]({'where':{'id':_0x5f10a0[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x3de2b0,null))[_0x788e('0x1c')](function(_0x1bbdfa){if(_0x1bbdfa){return _0x1bbdfa[_0x788e('0x86')](_0x5f10a0['body'][_0x788e('0x6c')],_['omit'](_0x5f10a0[_0x788e('0x5e')],[_0x788e('0x6c'),'id'])||{});}})[_0x788e('0x1c')](respondWithResult(_0x3de2b0,null))[_0x788e('0x56')](handleError(_0x3de2b0,null));};exports[_0x788e('0x88')]=function(_0x44bb62,_0x33e57d,_0x33d0fc){var _0x1624ae={'raw':![],'where':{}};var _0x13d73f={};var _0x1928d4={'count':0x0,'rows':[]};return db['MailAccount'][_0x788e('0x6a')]({'where':{'id':_0x44bb62[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x33e57d,null))[_0x788e('0x1c')](function(_0x19bf21){if(_0x19bf21){_0x13d73f[_0x788e('0x46')]=_[_0x788e('0x5b')](db[_0x788e('0x87')]['rawAttributes']);_0x13d73f[_0x788e('0x42')]=_['keys'](_0x44bb62[_0x788e('0x42')]);_0x13d73f[_0x788e('0x43')]=_[_0x788e('0x44')](_0x13d73f[_0x788e('0x46')],_0x13d73f[_0x788e('0x42')]);_0x1624ae[_0x788e('0x45')]=_[_0x788e('0x44')](_0x13d73f[_0x788e('0x46')],qs['fields'](_0x44bb62[_0x788e('0x42')][_0x788e('0x5c')]));_0x1624ae[_0x788e('0x45')]=_0x1624ae[_0x788e('0x45')][_0x788e('0x47')]?_0x1624ae[_0x788e('0x45')]:_0x13d73f['model'];if(!_0x44bb62[_0x788e('0x42')]['hasOwnProperty'](_0x788e('0x48'))){_0x1624ae['limit']=qs[_0x788e('0x2b')](_0x44bb62[_0x788e('0x42')]['limit']);_0x1624ae['offset']=qs['offset'](_0x44bb62[_0x788e('0x42')][_0x788e('0x49')]);}_0x1624ae['order']=qs['sort'](_0x44bb62[_0x788e('0x42')]['sort']);_0x1624ae[_0x788e('0x4c')]=qs['filters'](_['pick'](_0x44bb62[_0x788e('0x42')],_0x13d73f[_0x788e('0x43')]));_0x1624ae['where']['MailAccountId']=_0x19bf21['id'];if(_0x44bb62['query'][_0x788e('0x4d')]){_0x1624ae[_0x788e('0x4c')]=_['merge'](_0x1624ae[_0x788e('0x4c')],{'$or':_[_0x788e('0x3d')](_0x1624ae[_0x788e('0x45')],function(_0x3b8e03){var _0x45d717={};_0x45d717[_0x3b8e03]={'$like':'%'+_0x44bb62[_0x788e('0x42')][_0x788e('0x4d')]+'%'};return _0x45d717;})});}_0x1624ae=_[_0x788e('0x4e')]({},_0x1624ae,_0x44bb62[_0x788e('0x50')]);return db[_0x788e('0x87')]['count']({'where':_0x1624ae[_0x788e('0x4c')]})[_0x788e('0x1c')](function(_0x5a8d51){_0x1928d4[_0x788e('0x2c')]=_0x5a8d51;if(_0x44bb62[_0x788e('0x42')][_0x788e('0x51')]){_0x1624ae[_0x788e('0x52')]=[{'model':db['CmContact'],'as':_0x788e('0x89'),'required':![]},{'model':db[_0x788e('0x8a')],'as':_0x788e('0x8b'),'attributes':[_0x788e('0x36'),_0x788e('0x8c'),_0x788e('0x8d')],'required':![]},{'model':db[_0x788e('0x8e')],'as':'Tags','attributes':['id',_0x788e('0x36'),_0x788e('0x8f')],'where':_0x44bb62[_0x788e('0x42')][_0x788e('0x90')]?{'id':_0x44bb62[_0x788e('0x42')]['tag']}:undefined,'required':_0x44bb62['query'][_0x788e('0x90')]?!![]:![]}];}return db['MailInteraction'][_0x788e('0x54')](_0x1624ae);})[_0x788e('0x1c')](function(_0x3c014b){_0x1928d4['rows']=_0x3c014b;return _0x1928d4;});}})[_0x788e('0x1c')](respondWithFilteredResult(_0x33e57d,_0x1624ae))[_0x788e('0x56')](handleError(_0x33e57d,null));};exports[_0x788e('0x91')]=function(_0x19672f,_0x34b7be,_0x360a91){return db['MailAccount'][_0x788e('0x6a')]({'where':{'id':_0x19672f[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x34b7be,null))[_0x788e('0x1c')](function(_0x447c79){if(_0x447c79){return db[_0x788e('0x92')]['transaction'](function(_0x3b0076){return db[_0x788e('0x93')][_0x788e('0x34')]({'where':{'MailAccountId':_0x19672f[_0x788e('0x58')]['id']},'transaction':_0x3b0076})[_0x788e('0x1c')](function(_0x1c39ba){var _0x1b0fc3=_['map'](_0x19672f[_0x788e('0x5e')],function(_0x30b74f){_0x30b74f['MailAccountId']=_0x19672f[_0x788e('0x58')]['id'];return _0x30b74f;});return db['MailApplication'][_0x788e('0x94')](_0x1b0fc3,{'transaction':_0x3b0076});});})['then'](function(){return db[_0x788e('0x93')]['findAndCountAll']({'where':{'MailAccountId':_0x19672f[_0x788e('0x58')]['id']},'order':'priority'});});}})[_0x788e('0x1c')](respondWithResult(_0x34b7be,null))[_0x788e('0x56')](handleError(_0x34b7be,null));};exports[_0x788e('0x95')]=function(_0x4f5cc2,_0x38a1b5,_0x3d2f9b){var _0x6f6bd7={};var _0x22f0c0={};var _0x32051e;var _0x1f16c0;return db[_0x788e('0x53')][_0x788e('0x6a')]({'where':{'id':_0x4f5cc2[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x38a1b5,null))[_0x788e('0x1c')](function(_0x4faea9){if(_0x4faea9){_0x32051e=_0x4faea9;_0x22f0c0[_0x788e('0x46')]=_[_0x788e('0x5b')](db['MailApplication'][_0x788e('0x3e')]);_0x22f0c0[_0x788e('0x42')]=_[_0x788e('0x5b')](_0x4f5cc2[_0x788e('0x42')]);_0x22f0c0['filters']=_[_0x788e('0x44')](_0x22f0c0[_0x788e('0x46')],_0x22f0c0[_0x788e('0x42')]);_0x6f6bd7[_0x788e('0x45')]=_[_0x788e('0x44')](_0x22f0c0[_0x788e('0x46')],qs['fields'](_0x4f5cc2[_0x788e('0x42')][_0x788e('0x5c')]));_0x6f6bd7[_0x788e('0x45')]=_0x6f6bd7[_0x788e('0x45')][_0x788e('0x47')]?_0x6f6bd7['attributes']:_0x22f0c0[_0x788e('0x46')];_0x6f6bd7[_0x788e('0x4a')]=qs[_0x788e('0x4b')](_0x4f5cc2[_0x788e('0x42')][_0x788e('0x4b')]);_0x6f6bd7[_0x788e('0x4c')]=qs[_0x788e('0x43')](_[_0x788e('0x66')](_0x4f5cc2[_0x788e('0x42')],_0x22f0c0[_0x788e('0x43')]));if(_0x4f5cc2[_0x788e('0x42')]['filter']){_0x6f6bd7[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0x6f6bd7[_0x788e('0x4c')],{'$or':_[_0x788e('0x3d')](_0x6f6bd7[_0x788e('0x45')],function(_0x21c2b3){var _0x445344={};_0x445344[_0x21c2b3]={'$like':'%'+_0x4f5cc2[_0x788e('0x42')][_0x788e('0x4d')]+'%'};return _0x445344;})});}_0x6f6bd7=_['merge']({},_0x6f6bd7,_0x4f5cc2[_0x788e('0x50')]);return _0x32051e[_0x788e('0x95')](_0x6f6bd7);}})['then'](function(_0x311aae){if(_0x311aae){_0x1f16c0=_0x311aae[_0x788e('0x47')];if(!_0x4f5cc2[_0x788e('0x42')][_0x788e('0x65')]('nolimit')){_0x6f6bd7[_0x788e('0x2b')]=qs[_0x788e('0x2b')](_0x4f5cc2[_0x788e('0x42')][_0x788e('0x2b')]);_0x6f6bd7[_0x788e('0x49')]=qs[_0x788e('0x49')](_0x4f5cc2[_0x788e('0x42')][_0x788e('0x49')]);}return _0x32051e[_0x788e('0x95')](_0x6f6bd7);}})[_0x788e('0x1c')](function(_0x51b053){if(_0x51b053){return _0x51b053?{'count':_0x1f16c0,'rows':_0x51b053}:null;}})[_0x788e('0x1c')](respondWithResult(_0x38a1b5,null))['catch'](handleError(_0x38a1b5,null));};exports['getMessages']=function(_0xd07633,_0x472902,_0x1785c5){var _0x5d4af9={'raw':!![],'where':{}};var _0x10d9d1={};var _0xc16809={'count':0x0,'rows':[]};return db[_0x788e('0x53')][_0x788e('0x6a')]({'where':{'id':_0xd07633[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x472902,null))[_0x788e('0x1c')](function(_0x59b7c6){if(_0x59b7c6){_0x10d9d1['model']=_['keys'](db['MailMessage']['rawAttributes']);_0x10d9d1[_0x788e('0x42')]=_['keys'](_0xd07633[_0x788e('0x42')]);_0x10d9d1['filters']=_[_0x788e('0x44')](_0x10d9d1[_0x788e('0x46')],_0x10d9d1[_0x788e('0x42')]);_0x5d4af9[_0x788e('0x45')]=_[_0x788e('0x44')](_0x10d9d1[_0x788e('0x46')],qs[_0x788e('0x5c')](_0xd07633['query']['fields']));_0x5d4af9['attributes']=_0x5d4af9[_0x788e('0x45')][_0x788e('0x47')]?_0x5d4af9[_0x788e('0x45')]:_0x10d9d1[_0x788e('0x46')];if(!_0xd07633[_0x788e('0x42')][_0x788e('0x65')](_0x788e('0x48'))){_0x5d4af9['limit']=qs[_0x788e('0x2b')](_0xd07633[_0x788e('0x42')]['limit']);_0x5d4af9[_0x788e('0x49')]=qs[_0x788e('0x49')](_0xd07633[_0x788e('0x42')][_0x788e('0x49')]);}_0x5d4af9[_0x788e('0x4a')]=qs[_0x788e('0x4b')](_0xd07633[_0x788e('0x42')][_0x788e('0x4b')]);_0x5d4af9[_0x788e('0x4c')]=qs[_0x788e('0x43')](_['pick'](_0xd07633[_0x788e('0x42')],_0x10d9d1['filters']));_0x5d4af9['where'][_0x788e('0x61')]=_0x59b7c6['id'];if(_0xd07633['query'][_0x788e('0x4d')]){_0x5d4af9[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0x5d4af9[_0x788e('0x4c')],{'$or':_[_0x788e('0x3d')](_0x5d4af9[_0x788e('0x45')],function(_0x33bbfc){var _0xc7ba34={};_0xc7ba34[_0x33bbfc]={'$like':'%'+_0xd07633[_0x788e('0x42')]['filter']+'%'};return _0xc7ba34;})});}if(_0xd07633['query'][_0x788e('0x96')]){var _0x519441=_0xd07633[_0x788e('0x42')]['$gte']['split'](',');var _0x203aa3={};_0x203aa3[_0x519441[0x0]]={'$gte':moment(_0x519441[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x5d4af9[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0x5d4af9[_0x788e('0x4c')],_0x203aa3);}_0x5d4af9=_[_0x788e('0x4e')]({},_0x5d4af9,_0xd07633[_0x788e('0x50')]);return db[_0x788e('0x97')][_0x788e('0x2c')]({'where':_0x5d4af9['where']})[_0x788e('0x1c')](function(_0x1bbe2d){_0xc16809['count']=_0x1bbe2d;if(_0xd07633[_0x788e('0x42')][_0x788e('0x51')]){_0x5d4af9[_0x788e('0x52')]=[{'all':!![]}];}return db['MailMessage'][_0x788e('0x54')](_0x5d4af9);})['then'](function(_0x33533e){if(_0xd07633[_0x788e('0x42')][_0x788e('0x98')]===_0x788e('0x99')){for(var _0x8c0a3f=0x0;_0x8c0a3f<_0x33533e[_0x788e('0x47')];_0x8c0a3f++){_0x33533e[_0x8c0a3f]['body']=juice(_0x33533e[_0x8c0a3f]['body']);}}_0xc16809[_0x788e('0x55')]=_0x33533e;return _0xc16809;});}})[_0x788e('0x1c')](respondWithFilteredResult(_0x472902,_0x5d4af9))[_0x788e('0x56')](handleError(_0x472902,null));};exports['send']=function(_0x5621b2,_0x5bd38a,_0x2253be){var _0x40b294,_0xe5672b={},_0x3bd6d1;if(_0x5621b2['body']['to']){_0x3bd6d1=_0x5621b2[_0x788e('0x5e')]['to'][_0x788e('0x9a')](',')[0x0];}return db[_0x788e('0x53')]['find']({'where':{'id':_0x5621b2['params']['id']},'include':[{'model':db['CmList'],'as':_0x788e('0x9b'),'include':[{'model':db[_0x788e('0x9c')],'as':_0x788e('0x9d'),'where':{'email':_0x3bd6d1},'limit':0x1,'order':[[_0x788e('0x9e'),_0x788e('0x9f')]]}]},{'model':db[_0x788e('0x3b')],'as':_0x788e('0x59'),'raw':!![]}]})['then'](handleEntityNotFound(_0x5bd38a,null))[_0x788e('0x1c')](function(_0x2b4092){if(_0x2b4092){_0x40b294=_0x2b4092;if(_0x2b4092[_0x788e('0x59')]){if(_['isNil'](_0x5621b2['body'][_0x788e('0xa0')])){_0x5621b2[_0x788e('0x5e')][_0x788e('0xa0')]=util[_0x788e('0xa1')](_0x788e('0xa2'),_0x2b4092['name'],_0x2b4092[_0x788e('0xa3')]||_0x2b4092[_0x788e('0x59')][_0x788e('0x73')]);}if(_0x5621b2[_0x788e('0x5e')][_0x788e('0xa4')]&&_0x5621b2[_0x788e('0x5e')]['attachments'][_0x788e('0x47')]){for(var _0x35ed03=0x0;_0x35ed03<_0x5621b2[_0x788e('0x5e')]['attachments'][_0x788e('0x47')];_0x35ed03+=0x1){_0x5621b2[_0x788e('0x5e')][_0x788e('0xa4')][_0x35ed03]={'filename':_0x5621b2[_0x788e('0x5e')][_0x788e('0xa4')][_0x35ed03][_0x788e('0x36')],'path':path[_0x788e('0xa5')](config['root'],_0x788e('0xa6'),_0x5621b2[_0x788e('0x5e')][_0x788e('0xa4')][_0x35ed03][_0x788e('0xa7')])};}}var _0x7ddcfe={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x2b4092[_0x788e('0x59')][_0x788e('0x7b')])){if(_0x2b4092[_0x788e('0x59')]['authentication']){_0x7ddcfe['auth']={'user':_0x2b4092[_0x788e('0x59')][_0x788e('0x73')],'pass':_0x2b4092[_0x788e('0x59')][_0x788e('0x76')]};}_0x7ddcfe['host']=_0x2b4092[_0x788e('0x59')]['host'];_0x7ddcfe['port']=_0x2b4092[_0x788e('0x59')]['port'];_0x7ddcfe['secure']=_0x2b4092[_0x788e('0x59')]['secure'];}else{_0x7ddcfe['service']=_0x2b4092[_0x788e('0x59')][_0x788e('0x7b')];_0x7ddcfe[_0x788e('0xa8')]={'user':_0x2b4092[_0x788e('0x59')][_0x788e('0x73')],'pass':_0x2b4092[_0x788e('0x59')][_0x788e('0x76')]};}return respondWithRpcPromise(_0x788e('0xa9'),_0x788e('0xaa'),{'account':_0x7ddcfe,'message':_0x5621b2[_0x788e('0x5e')]});}else{throw new Error(_0x788e('0xab'));}}})[_0x788e('0x1c')](function(_0x35c049){if(_0x35c049){_0xe5672b=_0x35c049;if(_0x40b294[_0x788e('0x9b')]){if(_0x40b294['List'][_0x788e('0x9d')]['length']){return _0x40b294[_0x788e('0x9b')][_0x788e('0x9d')][0x0];}else{return db[_0x788e('0x9c')][_0x788e('0x63')](_[_0x788e('0x17')](_0x5621b2['body'],{'firstName':_0x5621b2[_0x788e('0x5e')]['to'],'email':_0x5621b2[_0x788e('0x5e')]['to'],'phone':_0x5621b2[_0x788e('0x5e')]['to'],'ListId':_0x40b294[_0x788e('0x6d')]}));}}else{throw new Error(_0x788e('0xab'));}}})['then'](function(_0x5f4beb){if(_0x5f4beb){var _0x2e0354={'UserId':_0x5621b2[_0x788e('0x73')]['id'],'ContactId':_0x5f4beb['id'],'MailAccountId':_0x40b294['id'],'inReplyTo':_0xe5672b['messageId'],'to':_0x5621b2[_0x788e('0x5e')][_0x788e('0xa0')],'cc':_0x5621b2[_0x788e('0x5e')]['cc'],'subject':_0x5621b2[_0x788e('0x5e')][_0x788e('0xac')],'attach':_0x5621b2[_0x788e('0x5e')][_0x788e('0xad')],'firstMsgDirection':_0x788e('0xae'),'lastMsgAt':moment()[_0x788e('0xa1')](_0x788e('0xaf')),'lastMsgDirection':_0x788e('0xae'),'Messages':[_[_0x788e('0x4e')](_0x5621b2[_0x788e('0x5e')],{'messageId':_0xe5672b['messageId'],'sentAt':moment()[_0x788e('0xa1')](_0x788e('0xaf')),'read':!![],'MailAccountId':_0x40b294['id'],'UserId':_0x5621b2[_0x788e('0x73')]['id'],'ContactId':_0x5f4beb['id']})]};if(_0x5621b2[_0x788e('0x5e')][_0x788e('0xb0')]){_0x2e0354=_[_0x788e('0x4e')](_0x2e0354,_0x5621b2['body'][_0x788e('0xb0')]);}return db[_0x788e('0x87')][_0x788e('0x63')](_0x2e0354,{'include':[{'model':db['MailMessage'],'as':_0x788e('0xb1')}]});}})[_0x788e('0x1c')](respondWithResult(_0x5bd38a,null))[_0x788e('0x56')](handleError(_0x5bd38a,null));};exports[_0x788e('0xb2')]=function(_0x500c50,_0x4de323,_0xc0b36c){return db[_0x788e('0x53')][_0x788e('0x5d')]({'where':{'id':_0x500c50['params']['id']},'include':[{'model':db[_0x788e('0x3b')],'as':'Smtp','raw':!![]}]})[_0x788e('0x1c')](handleEntityNotFound(_0x4de323,null))[_0x788e('0x1c')](function(_0x1b68d7){if(_0x1b68d7&&_0x1b68d7['Smtp']){var _0x3e4f92={'id':_0x1b68d7['id'],'tls':{'rejectUnauthorized':![]}};if(_0x1b68d7[_0x788e('0x59')]['service']){_0x3e4f92[_0x788e('0x7b')]=_0x1b68d7[_0x788e('0x59')][_0x788e('0x7b')];}else{_0x3e4f92['host']=_0x1b68d7[_0x788e('0x59')][_0x788e('0x79')];_0x3e4f92[_0x788e('0x7a')]=_0x1b68d7[_0x788e('0x59')][_0x788e('0x7a')];_0x3e4f92['secure']=_0x1b68d7[_0x788e('0x59')][_0x788e('0xb3')];}if(_0x1b68d7[_0x788e('0x59')][_0x788e('0x78')]){_0x3e4f92[_0x788e('0xa8')]={'user':_0x1b68d7[_0x788e('0x59')][_0x788e('0x73')],'pass':_0x1b68d7[_0x788e('0x59')][_0x788e('0x76')]};}return respondWithRpcPromise('VerifySmtp',_0x788e('0xb2'),{'account':_0x3e4f92});}})[_0x788e('0x1c')](respondWithResult(_0x4de323,null))[_0x788e('0x56')](handleError(_0x4de323,null));};exports[_0x788e('0x34')]=function(_0xe68663,_0x4cfdab){return db[_0x788e('0x53')]['find']({'where':{'id':_0xe68663[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x4cfdab,null))[_0x788e('0x1c')](function(_0x3e591b){if(_0x3e591b&&_0x3e591b[_0x788e('0x7b')]){throw new db[(_0x788e('0xb4'))]['ValidationError'](_0x788e('0xb5'));}return _0x3e591b;})['then'](removeEntity(_0x4cfdab,null))[_0x788e('0x56')](handleError(_0x4cfdab,null));};exports['addAgents']=function(_0x2dbe5f,_0x29e84c,_0x2e1996){return db['MailAccount'][_0x788e('0x5d')]({'where':{'id':_0x2dbe5f[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x29e84c,null))[_0x788e('0x1c')](function(_0x418e31){if(_0x418e31){return _0x418e31['addAgents'](_0x2dbe5f[_0x788e('0x5e')][_0x788e('0x6c')],_[_0x788e('0xb6')](_0x2dbe5f['body'],[_0x788e('0x6c'),'id'])||{})[_0x788e('0xb7')](function(_0x3ac0ba){for(var _0x245198=0x0;_0x245198<_0x2dbe5f[_0x788e('0x5e')][_0x788e('0x6c')][_0x788e('0x47')];_0x245198+=0x1){socket['emit'](_0x788e('0xb8'),{'UserId':Number(_0x2dbe5f[_0x788e('0x5e')]['ids'][_0x245198]),'MailAccountId':Number(_0x2dbe5f['params']['id'])});}return _0x3ac0ba;});}})[_0x788e('0x1c')](respondWithResult(_0x29e84c,null))[_0x788e('0x56')](handleError(_0x29e84c,null));};exports[_0x788e('0xb9')]=function(_0x7eb249,_0xae7ce8,_0x547adf){return db[_0x788e('0x53')][_0x788e('0x5d')]({'where':{'id':_0x7eb249[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0xae7ce8,null))[_0x788e('0x1c')](function(_0x5b8102){if(_0x5b8102){return _0x5b8102[_0x788e('0xb9')](_0x7eb249[_0x788e('0x42')][_0x788e('0x6c')])[_0x788e('0x1c')](function(){if(_[_0x788e('0xba')](_0x7eb249[_0x788e('0x42')][_0x788e('0x6c')])){for(var _0x544b28=0x0;_0x544b28<_0x7eb249['query'][_0x788e('0x6c')][_0x788e('0x47')];_0x544b28+=0x1){socket[_0x788e('0xbb')](_0x788e('0xbc'),{'UserId':Number(_0x7eb249['query'][_0x788e('0x6c')][_0x544b28]),'MailAccountId':Number(_0x7eb249[_0x788e('0x58')]['id'])});}}else{socket['emit'](_0x788e('0xbc'),{'UserId':Number(_0x7eb249[_0x788e('0x42')][_0x788e('0x6c')]),'MailAccountId':Number(_0x7eb249['params']['id'])});}});}})[_0x788e('0x1c')](respondWithStatusCode(_0xae7ce8,null))['catch'](handleError(_0xae7ce8,null));};exports['getAgents']=function(_0x367c93,_0x12f65f,_0x4a6b2e){var _0x5ea50f={};var _0x1c7f69={};var _0x32deda;var _0x545daf;return db[_0x788e('0x53')][_0x788e('0x6a')]({'where':{'id':_0x367c93[_0x788e('0x58')]['id']}})[_0x788e('0x1c')](handleEntityNotFound(_0x12f65f,null))['then'](function(_0x2a6a49){if(_0x2a6a49){_0x32deda=_0x2a6a49;_0x1c7f69[_0x788e('0x46')]=_[_0x788e('0x5b')](db[_0x788e('0x8a')][_0x788e('0x3e')]);_0x1c7f69['query']=_['keys'](_0x367c93['query']);_0x1c7f69[_0x788e('0x43')]=_[_0x788e('0x44')](_0x1c7f69[_0x788e('0x46')],_0x1c7f69[_0x788e('0x42')]);_0x5ea50f[_0x788e('0x45')]=_[_0x788e('0x44')](_0x1c7f69[_0x788e('0x46')],qs['fields'](_0x367c93[_0x788e('0x42')][_0x788e('0x5c')]));_0x5ea50f['attributes']=_0x5ea50f[_0x788e('0x45')][_0x788e('0x47')]?_0x5ea50f[_0x788e('0x45')]:_0x1c7f69[_0x788e('0x46')];_0x5ea50f[_0x788e('0x4a')]=qs[_0x788e('0x4b')](_0x367c93[_0x788e('0x42')]['sort']);_0x5ea50f[_0x788e('0x4c')]=qs['filters'](_[_0x788e('0x66')](_0x367c93['query'],_0x1c7f69[_0x788e('0x43')]));if(_0x367c93['query'][_0x788e('0x4d')]){_0x5ea50f[_0x788e('0x4c')]=_[_0x788e('0x4e')](_0x5ea50f['where'],{'$or':_[_0x788e('0x3d')](_0x5ea50f[_0x788e('0x45')],function(_0x2030ec){var _0x18033d={};_0x18033d[_0x2030ec]={'$like':'%'+_0x367c93['query']['filter']+'%'};return _0x18033d;})});}_0x5ea50f=_['merge']({},_0x5ea50f,_0x367c93[_0x788e('0x50')]);return _0x32deda['getAgents'](_0x5ea50f);}})['then'](function(_0x4ea3d1){if(_0x4ea3d1){_0x545daf=_0x4ea3d1[_0x788e('0x47')];if(!_0x367c93[_0x788e('0x42')][_0x788e('0x65')](_0x788e('0x48'))){_0x5ea50f[_0x788e('0x2b')]=qs['limit'](_0x367c93[_0x788e('0x42')][_0x788e('0x2b')]);_0x5ea50f[_0x788e('0x49')]=qs['offset'](_0x367c93[_0x788e('0x42')][_0x788e('0x49')]);}return _0x32deda[_0x788e('0xbd')](_0x5ea50f);}})[_0x788e('0x1c')](function(_0x2fb023){if(_0x2fb023){return _0x2fb023?{'count':_0x545daf,'rows':_0x2fb023}:null;}})['then'](respondWithResult(_0x12f65f,null))[_0x788e('0x56')](handleError(_0x12f65f,null));};