b4ef46dd915117a83f89e1e131bf9dafe5d8e3d3
[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 _0x5ef1=['filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','type','merge','options','includeAll','findAll','rows','params','MailServerIn','rawAttributes','include','find','body','describe','MailAccountId','Disposition','getDispositions','findOne','order','removeDispositions','addAnswer','create','getAnswers','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','cpassword','authentication','host','port','service','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','removeSmtp','setSmtp','MailInteraction','ids','CmContact','Contact','User','fullname','internal','Tag','Tags','color','tag','addApplications','transaction','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','CmList','List','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','MailAccounts','UserProfileResource','sendStatus','name','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','fieldName','key','model','keys','query'];(function(_0x40162a,_0x265b0c){var _0x488161=function(_0x9307e6){while(--_0x9307e6){_0x40162a['push'](_0x40162a['shift']());}};_0x488161(++_0x265b0c);}(_0x5ef1,0x138));var _0x15ef=function(_0x3748ab,_0x13059e){_0x3748ab=_0x3748ab-0x0;var _0x3aca73=_0x5ef1[_0x3748ab];return _0x3aca73;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x15ef('0x0'));var rimraf=require(_0x15ef('0x1'));var zipdir=require(_0x15ef('0x2'));var jsonpatch=require(_0x15ef('0x3'));var rp=require('request-promise');var moment=require(_0x15ef('0x4'));var BPromise=require(_0x15ef('0x5'));var Mustache=require(_0x15ef('0x6'));var util=require(_0x15ef('0x7'));var path=require(_0x15ef('0x8'));var sox=require('sox');var csv=require(_0x15ef('0x9'));var ejs=require(_0x15ef('0xa'));var fs=require('fs');var _=require(_0x15ef('0xb'));var squel=require(_0x15ef('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x15ef('0xd'));var toCsv=require(_0x15ef('0x9'));var querystring=require(_0x15ef('0xe'));var Papa=require(_0x15ef('0xf'));var Redis=require(_0x15ef('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x15ef('0x11'));var as=require(_0x15ef('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x15ef('0x13'))(_0x15ef('0x14'));var utils=require(_0x15ef('0x15'));var config=require(_0x15ef('0x16'));var licenseUtil=require(_0x15ef('0x17'));var db=require(_0x15ef('0x18'))['db'];config[_0x15ef('0x19')]=_[_0x15ef('0x1a')](config[_0x15ef('0x19')],{'host':_0x15ef('0x1b'),'port':0x18eb});var socket=require(_0x15ef('0x1c'))(new Redis(config[_0x15ef('0x19')]));require('./mailAccount.socket')[_0x15ef('0x1d')](socket);var jayson=require(_0x15ef('0x1e'));var client=jayson[_0x15ef('0x1f')][_0x15ef('0x20')]({'port':0x232b});function respondWithRpcPromise(_0x48a6c6,_0x578608,_0x4ec1ca,_0x6200e8){return new BPromise(function(_0x974563,_0x5f19b2){var _0x17cc77=_0x6200e8||client;return _0x17cc77[_0x15ef('0x21')](_0x48a6c6,_0x4ec1ca)['then'](function(_0x4e4e44){logger[_0x15ef('0x22')](_0x15ef('0x23'),_0x578608,_0x15ef('0x24'));logger[_0x15ef('0x25')](_0x15ef('0x26'),_0x578608,'request\x20sent',JSON[_0x15ef('0x27')](_0x4e4e44));if(_0x4e4e44['error']){if(_0x4e4e44[_0x15ef('0x28')][_0x15ef('0x29')]===0x1f4){logger['error']('MailAccount,\x20%s,\x20%s',_0x578608,_0x4e4e44[_0x15ef('0x28')][_0x15ef('0x2a')]);return _0x5f19b2(_0x4e4e44['error'][_0x15ef('0x2a')]);}logger[_0x15ef('0x28')]('MailAccount,\x20%s,\x20%s',_0x578608,_0x4e4e44[_0x15ef('0x28')][_0x15ef('0x2a')]);return _0x974563(_0x4e4e44['error'][_0x15ef('0x2a')]);}else{logger[_0x15ef('0x22')](_0x15ef('0x23'),_0x578608,_0x15ef('0x24'));_0x974563(_0x4e4e44[_0x15ef('0x2b')][_0x15ef('0x2a')]);}})[_0x15ef('0x2c')](function(_0x14b785){logger[_0x15ef('0x28')](_0x15ef('0x23'),_0x578608,_0x14b785);_0x5f19b2(_0x14b785);});});}function respondWithStatusCode(_0x3ddf42,_0x48db78){_0x48db78=_0x48db78||0xcc;return function(_0x193b48){if(_0x193b48){return _0x3ddf42['sendStatus'](_0x48db78);}return _0x3ddf42['status'](_0x48db78)[_0x15ef('0x2d')]();};}function respondWithResult(_0x4665b6,_0x1f39ee){_0x1f39ee=_0x1f39ee||0xc8;return function(_0x21ec8c){if(_0x21ec8c){return _0x4665b6[_0x15ef('0x2e')](_0x1f39ee)[_0x15ef('0x2f')](_0x21ec8c);}};}function respondWithFilteredResult(_0x3538ba,_0x36f7a2){return function(_0x1e363b){if(_0x1e363b){var _0x5b8649=_0x1e363b[_0x15ef('0x30')],_0x494912=_0x36f7a2[_0x15ef('0x31')],_0x17df3a=_0x36f7a2[_0x15ef('0x31')]+_0x36f7a2[_0x15ef('0x32')],_0x1f8607;if(_0x17df3a>=_0x5b8649){_0x17df3a=_0x5b8649;_0x1f8607=0xc8;}else{_0x1f8607=0xce;}_0x3538ba[_0x15ef('0x2e')](_0x1f8607);return _0x3538ba[_0x15ef('0x33')](_0x15ef('0x34'),_0x494912+'-'+_0x17df3a+'/'+_0x5b8649)[_0x15ef('0x2f')](_0x1e363b);}return null;};}function patchUpdates(_0x2b9ac9){return function(_0x11de39){try{jsonpatch[_0x15ef('0x35')](_0x11de39,_0x2b9ac9,!![]);}catch(_0x450709){return BPromise[_0x15ef('0x36')](_0x450709);}return _0x11de39[_0x15ef('0x37')]();};}function saveUpdates(_0x3aef86,_0x5e39cc){return function(_0x2e1733){if(_0x2e1733){return _0x2e1733[_0x15ef('0x38')](_0x3aef86)[_0x15ef('0x39')](function(_0x20e0ab){return _0x20e0ab;});}return null;};}function removeEntity(_0x2d7d8b,_0x44d7e9){return function(_0xdc43f0){if(_0xdc43f0){return _0xdc43f0[_0x15ef('0x3a')]()[_0x15ef('0x39')](function(){var _0x3f8b33=_0xdc43f0[_0x15ef('0x3b')]({'plain':!![]});var _0x4daf7e=_0x15ef('0x3c');return db[_0x15ef('0x3d')][_0x15ef('0x3a')]({'where':{'type':_0x4daf7e,'resourceId':_0x3f8b33['id']}})[_0x15ef('0x39')](function(){return _0xdc43f0;});})[_0x15ef('0x39')](function(){_0x2d7d8b[_0x15ef('0x2e')](0xcc)[_0x15ef('0x2d')]();});}};}function handleEntityNotFound(_0x5e5ac5,_0x23332d){return function(_0x3b59b8){if(!_0x3b59b8){_0x5e5ac5[_0x15ef('0x3e')](0x194);}return _0x3b59b8;};}function handleError(_0x540237,_0x34abaf){_0x34abaf=_0x34abaf||0x1f4;return function(_0x5926f6){logger[_0x15ef('0x28')](_0x5926f6['stack']);if(_0x5926f6['name']){delete _0x5926f6[_0x15ef('0x3f')];}_0x540237[_0x15ef('0x2e')](_0x34abaf)['send'](_0x5926f6);};}exports['index']=function(_0x3e1e63,_0x156f1f){var _0x5963d7={'include':[{'model':db['MailServerIn'],'as':_0x15ef('0x40')},{'model':db[_0x15ef('0x41')],'as':_0x15ef('0x42')},{'model':db[_0x15ef('0x43')],'as':_0x15ef('0x44')}]},_0x4f145c={},_0x2a321f={'count':0x0,'rows':[]};var _0x32c9ab=_[_0x15ef('0x45')](db[_0x15ef('0x46')]['rawAttributes'],function(_0x540d5e){return{'name':_0x540d5e[_0x15ef('0x47')],'type':_0x540d5e['type'][_0x15ef('0x48')]};});_0x4f145c[_0x15ef('0x49')]=_[_0x15ef('0x45')](_0x32c9ab,_0x15ef('0x3f'));_0x4f145c['query']=_[_0x15ef('0x4a')](_0x3e1e63[_0x15ef('0x4b')]);_0x4f145c[_0x15ef('0x4c')]=_[_0x15ef('0x4d')](_0x4f145c['model'],_0x4f145c[_0x15ef('0x4b')]);_0x5963d7[_0x15ef('0x4e')]=_[_0x15ef('0x4d')](_0x4f145c['model'],qs[_0x15ef('0x4f')](_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x5963d7['attributes']=_0x5963d7[_0x15ef('0x4e')][_0x15ef('0x50')]?_0x5963d7['attributes']:_0x4f145c[_0x15ef('0x49')];if(!_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x51')](_0x15ef('0x52'))){_0x5963d7[_0x15ef('0x32')]=qs['limit'](_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x32')]);_0x5963d7[_0x15ef('0x31')]=qs[_0x15ef('0x31')](_0x3e1e63[_0x15ef('0x4b')]['offset']);}_0x5963d7['order']=qs['sort'](_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x53')]);_0x5963d7['where']=qs[_0x15ef('0x4c')](_[_0x15ef('0x54')](_0x3e1e63['query'],_0x4f145c['filters']),_0x32c9ab);if(_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x5963d7[_0x15ef('0x56')]=_['merge'](_0x5963d7['where'],{'$or':_[_0x15ef('0x45')](_0x32c9ab,function(_0x2195f3){if(_0x2195f3[_0x15ef('0x57')]!=='VIRTUAL'){var _0x362c79={};_0x362c79[_0x2195f3['name']]={'$like':'%'+_0x3e1e63['query'][_0x15ef('0x55')]+'%'};return _0x362c79;}})});}_0x5963d7=_[_0x15ef('0x58')]({},_0x5963d7,_0x3e1e63[_0x15ef('0x59')]);var _0x5bc923={'where':_0x5963d7[_0x15ef('0x56')]};return db['MailAccount'][_0x15ef('0x30')](_0x5bc923)[_0x15ef('0x39')](function(_0x154941){_0x2a321f[_0x15ef('0x30')]=_0x154941;if(_0x3e1e63[_0x15ef('0x4b')][_0x15ef('0x5a')]){_0x5963d7['include']=[{'all':!![]}];}return db[_0x15ef('0x46')][_0x15ef('0x5b')](_0x5963d7);})[_0x15ef('0x39')](function(_0x2b9fd4){_0x2a321f[_0x15ef('0x5c')]=_0x2b9fd4;return _0x2a321f;})[_0x15ef('0x39')](respondWithFilteredResult(_0x156f1f,_0x5963d7))['catch'](handleError(_0x156f1f,null));};exports['show']=function(_0x196962,_0x17186f){var _0x3e171b={'raw':![],'where':{'id':_0x196962[_0x15ef('0x5d')]['id']},'include':[{'model':db[_0x15ef('0x5e')],'as':'Imap'},{'model':db[_0x15ef('0x41')],'as':'Smtp'},{'model':db[_0x15ef('0x43')],'as':_0x15ef('0x44')}]},_0x5e0cb2={};_0x5e0cb2['model']=_['keys'](db[_0x15ef('0x46')][_0x15ef('0x5f')]);_0x5e0cb2['query']=_[_0x15ef('0x4a')](_0x196962[_0x15ef('0x4b')]);_0x5e0cb2[_0x15ef('0x4c')]=_[_0x15ef('0x4d')](_0x5e0cb2[_0x15ef('0x49')],_0x5e0cb2['query']);_0x3e171b[_0x15ef('0x4e')]=_[_0x15ef('0x4d')](_0x5e0cb2['model'],qs[_0x15ef('0x4f')](_0x196962[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x3e171b[_0x15ef('0x4e')]=_0x3e171b[_0x15ef('0x4e')][_0x15ef('0x50')]?_0x3e171b[_0x15ef('0x4e')]:_0x5e0cb2[_0x15ef('0x49')];if(_0x196962[_0x15ef('0x4b')][_0x15ef('0x5a')]){_0x3e171b[_0x15ef('0x60')]=[{'all':!![]}];}_0x3e171b=_[_0x15ef('0x58')]({},_0x3e171b,_0x196962[_0x15ef('0x59')]);return db[_0x15ef('0x46')][_0x15ef('0x61')](_0x3e171b)['then'](handleEntityNotFound(_0x17186f,null))[_0x15ef('0x39')](respondWithResult(_0x17186f,null))['catch'](handleError(_0x17186f,null));};exports[_0x15ef('0x38')]=function(_0x673f47,_0x1b081d){if(_0x673f47[_0x15ef('0x62')]['id']){delete _0x673f47[_0x15ef('0x62')]['id'];}return db[_0x15ef('0x46')]['find']({'where':{'id':_0x673f47[_0x15ef('0x5d')]['id']},'include':[{'model':db[_0x15ef('0x5e')],'as':_0x15ef('0x40')},{'model':db[_0x15ef('0x41')],'as':_0x15ef('0x42')},{'model':db['Pause'],'as':_0x15ef('0x44')}]})[_0x15ef('0x39')](handleEntityNotFound(_0x1b081d,null))[_0x15ef('0x39')](saveUpdates(_0x673f47[_0x15ef('0x62')],null))[_0x15ef('0x39')](function(_0x6d774){if(_0x6d774&&_0x673f47['body'][_0x15ef('0x40')]){return db['MailServerIn'][_0x15ef('0x38')](_0x673f47[_0x15ef('0x62')][_0x15ef('0x40')],{'where':{'MailAccountId':_0x6d774['id']}})[_0x15ef('0x39')](function(){return _0x6d774;});}return _0x6d774;})[_0x15ef('0x39')](function(_0x4dcbaf){if(_0x4dcbaf&&_0x673f47[_0x15ef('0x62')][_0x15ef('0x42')]){return db['MailServerOut'][_0x15ef('0x38')](_0x673f47[_0x15ef('0x62')][_0x15ef('0x42')],{'where':{'MailAccountId':_0x4dcbaf['id']}})['then'](function(){return _0x4dcbaf;});}return _0x4dcbaf;})[_0x15ef('0x39')](respondWithResult(_0x1b081d,null))[_0x15ef('0x2c')](handleError(_0x1b081d,null));};exports[_0x15ef('0x63')]=function(_0x59fcce,_0x12ebf4){return db[_0x15ef('0x46')][_0x15ef('0x63')]()[_0x15ef('0x39')](respondWithResult(_0x12ebf4,null))['catch'](handleError(_0x12ebf4,null));};exports['addDisposition']=function(_0xa8abeb,_0x2285a7,_0x8dc1dc){if(_0xa8abeb['body']['id']){delete _0xa8abeb[_0x15ef('0x62')]['id'];}return db['MailAccount']['find']({'where':{'id':_0xa8abeb[_0x15ef('0x5d')]['id']}})['then'](handleEntityNotFound(_0x2285a7,null))[_0x15ef('0x39')](function(_0x1814e7){if(_0x1814e7){_0xa8abeb[_0x15ef('0x62')][_0x15ef('0x64')]=_0x1814e7['id'];return db[_0x15ef('0x65')]['create'](_0xa8abeb['body']);}})[_0x15ef('0x39')](respondWithResult(_0x2285a7,null))[_0x15ef('0x2c')](handleError(_0x2285a7,null));};exports[_0x15ef('0x66')]=function(_0x3f1925,_0xef7d6e,_0x18c17b){var _0x1d14dd={'raw':![],'where':{}};var _0x1cd334={};var _0x1a6ba1={'count':0x0,'rows':[]};return db['MailAccount'][_0x15ef('0x67')]({'where':{'id':_0x3f1925[_0x15ef('0x5d')]['id']}})['then'](handleEntityNotFound(_0xef7d6e,null))[_0x15ef('0x39')](function(_0x599f85){if(_0x599f85){_0x1cd334[_0x15ef('0x49')]=_[_0x15ef('0x4a')](db[_0x15ef('0x65')][_0x15ef('0x5f')]);_0x1cd334[_0x15ef('0x4b')]=_[_0x15ef('0x4a')](_0x3f1925['query']);_0x1cd334[_0x15ef('0x4c')]=_['intersection'](_0x1cd334[_0x15ef('0x49')],_0x1cd334[_0x15ef('0x4b')]);_0x1d14dd['attributes']=_[_0x15ef('0x4d')](_0x1cd334[_0x15ef('0x49')],qs[_0x15ef('0x4f')](_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x1d14dd['attributes']=_0x1d14dd[_0x15ef('0x4e')][_0x15ef('0x50')]?_0x1d14dd[_0x15ef('0x4e')]:_0x1cd334[_0x15ef('0x49')];if(!_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x51')](_0x15ef('0x52'))){_0x1d14dd[_0x15ef('0x32')]=qs['limit'](_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x32')]);_0x1d14dd[_0x15ef('0x31')]=qs[_0x15ef('0x31')](_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x31')]);}_0x1d14dd[_0x15ef('0x68')]=qs[_0x15ef('0x53')](_0x3f1925['query'][_0x15ef('0x53')]);_0x1d14dd[_0x15ef('0x56')]=qs['filters'](_[_0x15ef('0x54')](_0x3f1925[_0x15ef('0x4b')],_0x1cd334[_0x15ef('0x4c')]));_0x1d14dd[_0x15ef('0x56')][_0x15ef('0x64')]=_0x599f85['id'];if(_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x1d14dd['where']=_[_0x15ef('0x58')](_0x1d14dd[_0x15ef('0x56')],{'$or':_['map'](_0x1d14dd[_0x15ef('0x4e')],function(_0x59b7b7){var _0x1e64aa={};_0x1e64aa[_0x59b7b7]={'$like':'%'+_0x3f1925[_0x15ef('0x4b')]['filter']+'%'};return _0x1e64aa;})});}_0x1d14dd=_['merge']({},_0x1d14dd,_0x3f1925['options']);return db[_0x15ef('0x65')][_0x15ef('0x30')]({'where':_0x1d14dd['where']})['then'](function(_0xce8511){_0x1a6ba1['count']=_0xce8511;if(_0x3f1925[_0x15ef('0x4b')][_0x15ef('0x5a')]){_0x1d14dd['include']=[{'all':!![]}];}return db[_0x15ef('0x65')][_0x15ef('0x5b')](_0x1d14dd);})['then'](function(_0x23cd85){_0x1a6ba1[_0x15ef('0x5c')]=_0x23cd85;return _0x1a6ba1;});}})[_0x15ef('0x39')](respondWithFilteredResult(_0xef7d6e,_0x1d14dd))[_0x15ef('0x2c')](handleError(_0xef7d6e,null));};exports['removeDispositions']=function(_0x31b3a3,_0x33cf58,_0x1c9254){return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x31b3a3[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x33cf58,null))[_0x15ef('0x39')](function(_0x4c4a85){if(_0x4c4a85){return _0x4c4a85[_0x15ef('0x69')](_0x31b3a3[_0x15ef('0x4b')]['ids']);}})[_0x15ef('0x39')](respondWithStatusCode(_0x33cf58,null))[_0x15ef('0x2c')](handleError(_0x33cf58,null));};exports[_0x15ef('0x6a')]=function(_0x8b399e,_0x512a40,_0x344210){if(_0x8b399e['body']['id']){delete _0x8b399e[_0x15ef('0x62')]['id'];}return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x8b399e[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x512a40,null))['then'](function(_0x26268d){if(_0x26268d){_0x8b399e['body']['MailAccountId']=_0x26268d['id'];return db['CannedAnswer'][_0x15ef('0x6b')](_0x8b399e[_0x15ef('0x62')]);}})[_0x15ef('0x39')](respondWithResult(_0x512a40,null))[_0x15ef('0x2c')](handleError(_0x512a40,null));};exports[_0x15ef('0x6c')]=function(_0x2fe810,_0x8ba065,_0x3687c3){var _0x3b8676={'raw':![],'where':{}};var _0x3c393f={};var _0x251f98={'count':0x0,'rows':[]};return db['MailAccount'][_0x15ef('0x67')]({'where':{'id':_0x2fe810[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x8ba065,null))['then'](function(_0x117e8d){if(_0x117e8d){_0x3c393f[_0x15ef('0x49')]=_[_0x15ef('0x4a')](db[_0x15ef('0x6d')][_0x15ef('0x5f')]);_0x3c393f[_0x15ef('0x4b')]=_[_0x15ef('0x4a')](_0x2fe810[_0x15ef('0x4b')]);_0x3c393f[_0x15ef('0x4c')]=_[_0x15ef('0x4d')](_0x3c393f[_0x15ef('0x49')],_0x3c393f['query']);_0x3b8676[_0x15ef('0x4e')]=_['intersection'](_0x3c393f[_0x15ef('0x49')],qs[_0x15ef('0x4f')](_0x2fe810[_0x15ef('0x4b')]['fields']));_0x3b8676[_0x15ef('0x4e')]=_0x3b8676['attributes'][_0x15ef('0x50')]?_0x3b8676[_0x15ef('0x4e')]:_0x3c393f['model'];if(!_0x2fe810[_0x15ef('0x4b')][_0x15ef('0x51')](_0x15ef('0x52'))){_0x3b8676[_0x15ef('0x32')]=qs[_0x15ef('0x32')](_0x2fe810[_0x15ef('0x4b')]['limit']);_0x3b8676['offset']=qs[_0x15ef('0x31')](_0x2fe810['query'][_0x15ef('0x31')]);}_0x3b8676[_0x15ef('0x68')]=qs['sort'](_0x2fe810[_0x15ef('0x4b')][_0x15ef('0x53')]);_0x3b8676['where']=qs[_0x15ef('0x4c')](_['pick'](_0x2fe810[_0x15ef('0x4b')],_0x3c393f['filters']));_0x3b8676[_0x15ef('0x56')][_0x15ef('0x64')]=_0x117e8d['id'];if(_0x2fe810[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x3b8676[_0x15ef('0x56')]=_[_0x15ef('0x58')](_0x3b8676[_0x15ef('0x56')],{'$or':_[_0x15ef('0x45')](_0x3b8676[_0x15ef('0x4e')],function(_0x40d216){var _0x4a0d33={};_0x4a0d33[_0x40d216]={'$like':'%'+_0x2fe810[_0x15ef('0x4b')][_0x15ef('0x55')]+'%'};return _0x4a0d33;})});}_0x3b8676=_[_0x15ef('0x58')]({},_0x3b8676,_0x2fe810['options']);return db[_0x15ef('0x6d')][_0x15ef('0x30')]({'where':_0x3b8676[_0x15ef('0x56')]})[_0x15ef('0x39')](function(_0x1b11a7){_0x251f98['count']=_0x1b11a7;if(_0x2fe810[_0x15ef('0x4b')]['includeAll']){_0x3b8676[_0x15ef('0x60')]=[{'all':!![]}];}return db['CannedAnswer'][_0x15ef('0x5b')](_0x3b8676);})[_0x15ef('0x39')](function(_0x5178cb){_0x251f98[_0x15ef('0x5c')]=_0x5178cb;return _0x251f98;});}})[_0x15ef('0x39')](respondWithFilteredResult(_0x8ba065,_0x3b8676))[_0x15ef('0x2c')](handleError(_0x8ba065,null));};exports['removeAnswers']=function(_0x287f38,_0x56a874,_0x28e6c4){return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x287f38[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x56a874,null))[_0x15ef('0x39')](function(_0x5647bd){if(_0x5647bd){return _0x5647bd[_0x15ef('0x6e')](_0x287f38[_0x15ef('0x4b')]['ids']);}})[_0x15ef('0x39')](respondWithStatusCode(_0x56a874,null))[_0x15ef('0x2c')](handleError(_0x56a874,null));};exports[_0x15ef('0x6b')]=function(_0x2cf712,_0x347aea){var _0x30cd40={'name':_0x2cf712['body']['name'],'key':_0x2cf712[_0x15ef('0x62')][_0x15ef('0x48')],'email':_0x2cf712[_0x15ef('0x62')][_0x15ef('0x6f')],'ListId':_0x2cf712[_0x15ef('0x62')][_0x15ef('0x70')],'active':!_[_0x15ef('0x71')](_0x2cf712['body']['active'])?_0x2cf712[_0x15ef('0x62')][_0x15ef('0x72')]:!![],'description':_0x2cf712[_0x15ef('0x62')][_0x15ef('0x73')]||null,'Imap':{},'Smtp':{}};if(_[_0x15ef('0x71')](_0x2cf712[_0x15ef('0x62')][_0x15ef('0x74')])){if(_0x2cf712[_0x15ef('0x62')][_0x15ef('0x75')]){_0x30cd40['Imap'][_0x15ef('0x76')]=_0x30cd40['Smtp'][_0x15ef('0x76')]=_0x2cf712['body'][_0x15ef('0x77')];_0x30cd40[_0x15ef('0x40')][_0x15ef('0x78')]=_0x30cd40[_0x15ef('0x42')][_0x15ef('0x79')]=_0x2cf712[_0x15ef('0x62')][_0x15ef('0x7a')];}else{_0x30cd40[_0x15ef('0x40')][_0x15ef('0x7b')]=_0x30cd40[_0x15ef('0x42')]['authentication']=![];}_0x30cd40[_0x15ef('0x40')][_0x15ef('0x7c')]=_0x2cf712[_0x15ef('0x62')][_0x15ef('0x40')][_0x15ef('0x7c')];_0x30cd40[_0x15ef('0x40')][_0x15ef('0x7d')]=_0x2cf712[_0x15ef('0x62')]['Imap'][_0x15ef('0x7d')];_0x30cd40['Smtp'][_0x15ef('0x7c')]=_0x2cf712[_0x15ef('0x62')][_0x15ef('0x42')][_0x15ef('0x7c')];_0x30cd40[_0x15ef('0x42')][_0x15ef('0x7d')]=_0x2cf712['body']['Smtp'][_0x15ef('0x7d')];}else{_0x30cd40['Imap'][_0x15ef('0x7e')]=_0x30cd40[_0x15ef('0x42')]['service']=_0x2cf712[_0x15ef('0x62')]['cservice'];_0x30cd40[_0x15ef('0x40')][_0x15ef('0x76')]=_0x30cd40[_0x15ef('0x42')][_0x15ef('0x76')]=_0x2cf712[_0x15ef('0x62')][_0x15ef('0x77')];_0x30cd40[_0x15ef('0x40')]['password']=_0x30cd40[_0x15ef('0x42')]['pass']=_0x2cf712[_0x15ef('0x62')][_0x15ef('0x7a')];}return db[_0x15ef('0x46')][_0x15ef('0x6b')](_0x30cd40,{'include':[{'model':db[_0x15ef('0x41')],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0x15ef('0x40')}]})[_0x15ef('0x39')](function(_0x2fc162){var _0x1fa51f=_0x2cf712['user'][_0x15ef('0x3b')]({'plain':!![]});if(!_0x1fa51f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1fa51f['role']===_0x15ef('0x76')){var _0xa6697c=_0x2fc162[_0x15ef('0x3b')]({'plain':!![]});return db[_0x15ef('0x7f')][_0x15ef('0x61')]({'where':{'name':_0x15ef('0x3c'),'userProfileId':_0x1fa51f[_0x15ef('0x80')]},'raw':!![]})[_0x15ef('0x39')](function(_0x2bfeaa){if(_0x2bfeaa&&_0x2bfeaa[_0x15ef('0x81')]===0x0){return db[_0x15ef('0x3d')][_0x15ef('0x6b')]({'name':_0xa6697c[_0x15ef('0x3f')],'resourceId':_0xa6697c['id'],'type':_0x2bfeaa[_0x15ef('0x3f')],'sectionId':_0x2bfeaa['id']},{})['then'](function(){return _0x2fc162;});}else{return _0x2fc162;}})[_0x15ef('0x2c')](function(_0x3f2e98){logger[_0x15ef('0x28')](_0x15ef('0x82'),_0x3f2e98);throw _0x3f2e98;});}return _0x2fc162;})[_0x15ef('0x39')](respondWithResult(_0x347aea,0xc9))[_0x15ef('0x2c')](handleError(_0x347aea,null));};exports[_0x15ef('0x83')]=function(_0x55ea54,_0x5834d2,_0x44361b){return db[_0x15ef('0x46')]['findOne']({'where':{'id':_0x55ea54['params']['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x5834d2,null))[_0x15ef('0x39')](function(_0x55a9fc){if(_0x55a9fc){return _0x55a9fc['getImap']();}return null;})[_0x15ef('0x39')](respondWithResult(_0x5834d2,null))[_0x15ef('0x2c')](handleError(_0x5834d2,null));};exports[_0x15ef('0x84')]=function(_0x19d63c,_0x91954a,_0x41b703){if(_0x19d63c[_0x15ef('0x62')]['id']){delete _0x19d63c[_0x15ef('0x62')]['id'];}return db[_0x15ef('0x46')]['find']({'where':{'id':_0x19d63c[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x91954a,null))[_0x15ef('0x39')](function(_0x22cd4e){if(_0x22cd4e){_0x19d63c['body'][_0x15ef('0x64')]=_0x22cd4e['id'];return db['MailServerIn'][_0x15ef('0x6b')](_0x19d63c[_0x15ef('0x62')]);}})['then'](respondWithResult(_0x91954a,null))[_0x15ef('0x2c')](handleError(_0x91954a,null));};exports[_0x15ef('0x85')]=function(_0x48b4e7,_0x4146ea,_0x385bfb){return db[_0x15ef('0x46')]['findOne']({'where':{'id':_0x48b4e7['params']['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x4146ea,null))['then'](function(_0x4c29cf){if(_0x4c29cf){return _0x4c29cf[_0x15ef('0x86')](null);}return null;})[_0x15ef('0x39')](respondWithStatusCode(_0x4146ea,null))[_0x15ef('0x2c')](handleError(_0x4146ea,null));};exports['getSmtp']=function(_0x43e9e1,_0x568731,_0x3ecacf){return db[_0x15ef('0x46')][_0x15ef('0x67')]({'where':{'id':_0x43e9e1[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x568731,null))['then'](function(_0x5cf697){if(_0x5cf697){return _0x5cf697[_0x15ef('0x87')]();}return null;})[_0x15ef('0x39')](respondWithResult(_0x568731,null))[_0x15ef('0x2c')](handleError(_0x568731,null));};exports['addSmtp']=function(_0x35d00f,_0x5635e6,_0x46d8f8){if(_0x35d00f[_0x15ef('0x62')]['id']){delete _0x35d00f['body']['id'];}return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x35d00f['params']['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x5635e6,null))[_0x15ef('0x39')](function(_0x130ff7){if(_0x130ff7){_0x35d00f[_0x15ef('0x62')][_0x15ef('0x64')]=_0x130ff7['id'];return db[_0x15ef('0x41')][_0x15ef('0x6b')](_0x35d00f['body']);}})[_0x15ef('0x39')](respondWithResult(_0x5635e6,null))['catch'](handleError(_0x5635e6,null));};exports[_0x15ef('0x88')]=function(_0x36d43c,_0x4292ee,_0x3935bb){return db['MailAccount'][_0x15ef('0x67')]({'where':{'id':_0x36d43c[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x4292ee,null))[_0x15ef('0x39')](function(_0x7e5fa8){if(_0x7e5fa8){return _0x7e5fa8[_0x15ef('0x89')](null);}return null;})[_0x15ef('0x39')](respondWithStatusCode(_0x4292ee,null))[_0x15ef('0x2c')](handleError(_0x4292ee,null));};exports['addInteraction']=function(_0x598528,_0x36035e,_0xc34459){return db[_0x15ef('0x8a')]['find']({'where':{'id':_0x598528[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x36035e,null))['then'](function(_0x4a298a){if(_0x4a298a){return _0x4a298a['addInteraction'](_0x598528[_0x15ef('0x62')][_0x15ef('0x8b')],_['omit'](_0x598528[_0x15ef('0x62')],[_0x15ef('0x8b'),'id'])||{});}})[_0x15ef('0x39')](respondWithResult(_0x36035e,null))[_0x15ef('0x2c')](handleError(_0x36035e,null));};exports['getInteractions']=function(_0x36620e,_0x56d22c,_0x54f086){var _0x1f00f0={'raw':![],'where':{}};var _0x40d0d5={};var _0x2dacb4={'count':0x0,'rows':[]};return db[_0x15ef('0x46')][_0x15ef('0x67')]({'where':{'id':_0x36620e['params']['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x56d22c,null))[_0x15ef('0x39')](function(_0x6e49a8){if(_0x6e49a8){_0x40d0d5[_0x15ef('0x49')]=_['keys'](db[_0x15ef('0x8a')][_0x15ef('0x5f')]);_0x40d0d5['query']=_[_0x15ef('0x4a')](_0x36620e[_0x15ef('0x4b')]);_0x40d0d5[_0x15ef('0x4c')]=_['intersection'](_0x40d0d5[_0x15ef('0x49')],_0x40d0d5[_0x15ef('0x4b')]);_0x1f00f0[_0x15ef('0x4e')]=_[_0x15ef('0x4d')](_0x40d0d5[_0x15ef('0x49')],qs[_0x15ef('0x4f')](_0x36620e[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x1f00f0[_0x15ef('0x4e')]=_0x1f00f0[_0x15ef('0x4e')]['length']?_0x1f00f0[_0x15ef('0x4e')]:_0x40d0d5[_0x15ef('0x49')];if(!_0x36620e[_0x15ef('0x4b')][_0x15ef('0x51')]('nolimit')){_0x1f00f0[_0x15ef('0x32')]=qs[_0x15ef('0x32')](_0x36620e['query']['limit']);_0x1f00f0[_0x15ef('0x31')]=qs[_0x15ef('0x31')](_0x36620e[_0x15ef('0x4b')][_0x15ef('0x31')]);}_0x1f00f0[_0x15ef('0x68')]=qs[_0x15ef('0x53')](_0x36620e['query']['sort']);_0x1f00f0[_0x15ef('0x56')]=qs[_0x15ef('0x4c')](_[_0x15ef('0x54')](_0x36620e[_0x15ef('0x4b')],_0x40d0d5['filters']));_0x1f00f0[_0x15ef('0x56')][_0x15ef('0x64')]=_0x6e49a8['id'];if(_0x36620e[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x1f00f0['where']=_['merge'](_0x1f00f0['where'],{'$or':_[_0x15ef('0x45')](_0x1f00f0[_0x15ef('0x4e')],function(_0x19f106){var _0xbfa5d9={};_0xbfa5d9[_0x19f106]={'$like':'%'+_0x36620e[_0x15ef('0x4b')][_0x15ef('0x55')]+'%'};return _0xbfa5d9;})});}_0x1f00f0=_[_0x15ef('0x58')]({},_0x1f00f0,_0x36620e[_0x15ef('0x59')]);return db[_0x15ef('0x8a')][_0x15ef('0x30')]({'where':_0x1f00f0['where']})[_0x15ef('0x39')](function(_0x185cfe){_0x2dacb4[_0x15ef('0x30')]=_0x185cfe;if(_0x36620e['query'][_0x15ef('0x5a')]){_0x1f00f0[_0x15ef('0x60')]=[{'model':db[_0x15ef('0x8c')],'as':_0x15ef('0x8d'),'required':![]},{'model':db[_0x15ef('0x8e')],'as':'Owner','attributes':['name',_0x15ef('0x8f'),_0x15ef('0x90')],'required':![]},{'model':db[_0x15ef('0x91')],'as':_0x15ef('0x92'),'attributes':['id',_0x15ef('0x3f'),_0x15ef('0x93')],'where':_0x36620e[_0x15ef('0x4b')][_0x15ef('0x94')]?{'id':_0x36620e['query'][_0x15ef('0x94')]}:undefined,'required':_0x36620e[_0x15ef('0x4b')][_0x15ef('0x94')]?!![]:![]}];}return db[_0x15ef('0x8a')][_0x15ef('0x5b')](_0x1f00f0);})[_0x15ef('0x39')](function(_0x57ba27){_0x2dacb4['rows']=_0x57ba27;return _0x2dacb4;});}})['then'](respondWithFilteredResult(_0x56d22c,_0x1f00f0))[_0x15ef('0x2c')](handleError(_0x56d22c,null));};exports[_0x15ef('0x95')]=function(_0x2062f4,_0x49021d,_0x42f9bd){return db[_0x15ef('0x46')]['findOne']({'where':{'id':_0x2062f4[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x49021d,null))['then'](function(_0x4a9c73){if(_0x4a9c73){return db['sequelize'][_0x15ef('0x96')](function(_0x33ebfc){return db[_0x15ef('0x97')][_0x15ef('0x3a')]({'where':{'MailAccountId':_0x2062f4[_0x15ef('0x5d')]['id']},'transaction':_0x33ebfc})[_0x15ef('0x39')](function(_0x180ace){var _0x5b0251=_[_0x15ef('0x45')](_0x2062f4[_0x15ef('0x62')],function(_0x4a4744){_0x4a4744[_0x15ef('0x64')]=_0x2062f4[_0x15ef('0x5d')]['id'];return _0x4a4744;});return db[_0x15ef('0x97')]['bulkCreate'](_0x5b0251,{'transaction':_0x33ebfc});});})[_0x15ef('0x39')](function(){return db['MailApplication'][_0x15ef('0x98')]({'where':{'MailAccountId':_0x2062f4['params']['id']},'order':_0x15ef('0x99')});});}})[_0x15ef('0x39')](respondWithResult(_0x49021d,null))[_0x15ef('0x2c')](handleError(_0x49021d,null));};exports[_0x15ef('0x9a')]=function(_0x37d51c,_0x2066a1,_0xb215a9){var _0x36ee12={};var _0x4cb05c={};var _0xe6770c;var _0x4ed2b5;return db['MailAccount'][_0x15ef('0x67')]({'where':{'id':_0x37d51c[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x2066a1,null))[_0x15ef('0x39')](function(_0x16f1ad){if(_0x16f1ad){_0xe6770c=_0x16f1ad;_0x4cb05c[_0x15ef('0x49')]=_[_0x15ef('0x4a')](db[_0x15ef('0x97')][_0x15ef('0x5f')]);_0x4cb05c[_0x15ef('0x4b')]=_[_0x15ef('0x4a')](_0x37d51c[_0x15ef('0x4b')]);_0x4cb05c[_0x15ef('0x4c')]=_[_0x15ef('0x4d')](_0x4cb05c[_0x15ef('0x49')],_0x4cb05c[_0x15ef('0x4b')]);_0x36ee12[_0x15ef('0x4e')]=_['intersection'](_0x4cb05c[_0x15ef('0x49')],qs[_0x15ef('0x4f')](_0x37d51c[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x36ee12[_0x15ef('0x4e')]=_0x36ee12[_0x15ef('0x4e')][_0x15ef('0x50')]?_0x36ee12[_0x15ef('0x4e')]:_0x4cb05c[_0x15ef('0x49')];_0x36ee12[_0x15ef('0x68')]=qs[_0x15ef('0x53')](_0x37d51c['query']['sort']);_0x36ee12[_0x15ef('0x56')]=qs['filters'](_[_0x15ef('0x54')](_0x37d51c[_0x15ef('0x4b')],_0x4cb05c['filters']));if(_0x37d51c[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x36ee12[_0x15ef('0x56')]=_[_0x15ef('0x58')](_0x36ee12[_0x15ef('0x56')],{'$or':_[_0x15ef('0x45')](_0x36ee12[_0x15ef('0x4e')],function(_0x13240d){var _0x229b2c={};_0x229b2c[_0x13240d]={'$like':'%'+_0x37d51c[_0x15ef('0x4b')]['filter']+'%'};return _0x229b2c;})});}_0x36ee12=_[_0x15ef('0x58')]({},_0x36ee12,_0x37d51c[_0x15ef('0x59')]);return _0xe6770c[_0x15ef('0x9a')](_0x36ee12);}})['then'](function(_0x4ef4e7){if(_0x4ef4e7){_0x4ed2b5=_0x4ef4e7[_0x15ef('0x50')];if(!_0x37d51c[_0x15ef('0x4b')][_0x15ef('0x51')](_0x15ef('0x52'))){_0x36ee12[_0x15ef('0x32')]=qs[_0x15ef('0x32')](_0x37d51c[_0x15ef('0x4b')][_0x15ef('0x32')]);_0x36ee12[_0x15ef('0x31')]=qs['offset'](_0x37d51c[_0x15ef('0x4b')][_0x15ef('0x31')]);}return _0xe6770c[_0x15ef('0x9a')](_0x36ee12);}})[_0x15ef('0x39')](function(_0x5efe11){if(_0x5efe11){return _0x5efe11?{'count':_0x4ed2b5,'rows':_0x5efe11}:null;}})[_0x15ef('0x39')](respondWithResult(_0x2066a1,null))[_0x15ef('0x2c')](handleError(_0x2066a1,null));};exports[_0x15ef('0x9b')]=function(_0x6e273d,_0x1dddc1,_0xd81620){var _0xd3e68d={'raw':!![],'where':{}};var _0x215c34={};var _0x5e0434={'count':0x0,'rows':[]};return db[_0x15ef('0x46')][_0x15ef('0x67')]({'where':{'id':_0x6e273d[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x1dddc1,null))[_0x15ef('0x39')](function(_0x1fab46){if(_0x1fab46){_0x215c34[_0x15ef('0x49')]=_[_0x15ef('0x4a')](db[_0x15ef('0x9c')]['rawAttributes']);_0x215c34[_0x15ef('0x4b')]=_[_0x15ef('0x4a')](_0x6e273d[_0x15ef('0x4b')]);_0x215c34['filters']=_[_0x15ef('0x4d')](_0x215c34[_0x15ef('0x49')],_0x215c34['query']);_0xd3e68d[_0x15ef('0x4e')]=_['intersection'](_0x215c34['model'],qs[_0x15ef('0x4f')](_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0xd3e68d[_0x15ef('0x4e')]=_0xd3e68d[_0x15ef('0x4e')][_0x15ef('0x50')]?_0xd3e68d[_0x15ef('0x4e')]:_0x215c34['model'];if(!_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x51')]('nolimit')){_0xd3e68d[_0x15ef('0x32')]=qs['limit'](_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x32')]);_0xd3e68d[_0x15ef('0x31')]=qs[_0x15ef('0x31')](_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x31')]);}_0xd3e68d['order']=qs['sort'](_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x53')]);_0xd3e68d[_0x15ef('0x56')]=qs['filters'](_[_0x15ef('0x54')](_0x6e273d[_0x15ef('0x4b')],_0x215c34[_0x15ef('0x4c')]));_0xd3e68d['where'][_0x15ef('0x64')]=_0x1fab46['id'];if(_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x55')]){_0xd3e68d[_0x15ef('0x56')]=_[_0x15ef('0x58')](_0xd3e68d['where'],{'$or':_[_0x15ef('0x45')](_0xd3e68d[_0x15ef('0x4e')],function(_0xb271ec){var _0x43d6ea={};_0x43d6ea[_0xb271ec]={'$like':'%'+_0x6e273d['query'][_0x15ef('0x55')]+'%'};return _0x43d6ea;})});}if(_0x6e273d['query'][_0x15ef('0x9d')]){var _0x45713f=_0x6e273d[_0x15ef('0x4b')]['$gte'][_0x15ef('0x9e')](',');var _0x3ef1e9={};_0x3ef1e9[_0x45713f[0x0]]={'$gte':moment(_0x45713f[0x1])[_0x15ef('0x9f')]('YYYY-MM-DD\x20HH:mm:ss')};_0xd3e68d[_0x15ef('0x56')]=_['merge'](_0xd3e68d[_0x15ef('0x56')],_0x3ef1e9);}_0xd3e68d=_[_0x15ef('0x58')]({},_0xd3e68d,_0x6e273d['options']);return db[_0x15ef('0x9c')][_0x15ef('0x30')]({'where':_0xd3e68d[_0x15ef('0x56')]})['then'](function(_0x48f75e){_0x5e0434[_0x15ef('0x30')]=_0x48f75e;if(_0x6e273d[_0x15ef('0x4b')][_0x15ef('0x5a')]){_0xd3e68d['include']=[{'all':!![]}];}return db[_0x15ef('0x9c')]['findAll'](_0xd3e68d);})[_0x15ef('0x39')](function(_0x4c4b01){_0x5e0434[_0x15ef('0x5c')]=_0x4c4b01;return _0x5e0434;});}})[_0x15ef('0x39')](respondWithFilteredResult(_0x1dddc1,_0xd3e68d))[_0x15ef('0x2c')](handleError(_0x1dddc1,null));};exports['send']=function(_0x3964a9,_0x16632a,_0x1a2a90){var _0x52a943,_0x42ff37={},_0x59f110;if(_0x3964a9['body']['to']){_0x59f110=_0x3964a9[_0x15ef('0x62')]['to'][_0x15ef('0x9e')](',')[0x0];}return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x3964a9[_0x15ef('0x5d')]['id']},'include':[{'model':db[_0x15ef('0xa0')],'as':_0x15ef('0xa1'),'include':[{'model':db['CmContact'],'as':_0x15ef('0xa2'),'where':{'email':_0x59f110},'limit':0x1,'order':[[_0x15ef('0xa3'),_0x15ef('0xa4')]]}]},{'model':db['MailServerOut'],'as':_0x15ef('0x42'),'raw':!![]}]})[_0x15ef('0x39')](handleEntityNotFound(_0x16632a,null))[_0x15ef('0x39')](function(_0x321e75){if(_0x321e75){_0x52a943=_0x321e75;if(_0x321e75[_0x15ef('0x42')]){if(_[_0x15ef('0x71')](_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa5')])){_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa5')]=util[_0x15ef('0x9f')](_0x15ef('0xa6'),_0x321e75[_0x15ef('0x3f')],_0x321e75[_0x15ef('0x6f')]||_0x321e75[_0x15ef('0x42')][_0x15ef('0x76')]);}if(_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa7')]&&_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa7')][_0x15ef('0x50')]){for(var _0x1e0672=0x0;_0x1e0672<_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa7')]['length'];_0x1e0672+=0x1){_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa7')][_0x1e0672]={'filename':_0x3964a9[_0x15ef('0x62')]['attachments'][_0x1e0672][_0x15ef('0x3f')],'path':path[_0x15ef('0xa8')](config[_0x15ef('0xa9')],_0x15ef('0xaa'),_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa7')][_0x1e0672]['basename'])};}}var _0x299b5f={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x321e75[_0x15ef('0x42')][_0x15ef('0x7e')])){if(_0x321e75[_0x15ef('0x42')][_0x15ef('0x7b')]){_0x299b5f[_0x15ef('0xab')]={'user':_0x321e75[_0x15ef('0x42')][_0x15ef('0x76')],'pass':_0x321e75[_0x15ef('0x42')]['pass']};}_0x299b5f['host']=_0x321e75['Smtp']['host'];_0x299b5f['port']=_0x321e75['Smtp'][_0x15ef('0x7d')];_0x299b5f[_0x15ef('0xac')]=_0x321e75[_0x15ef('0x42')]['secure'];}else{_0x299b5f[_0x15ef('0x7e')]=_0x321e75[_0x15ef('0x42')][_0x15ef('0x7e')];_0x299b5f['auth']={'user':_0x321e75[_0x15ef('0x42')][_0x15ef('0x76')],'pass':_0x321e75[_0x15ef('0x42')][_0x15ef('0x79')]};}return respondWithRpcPromise(_0x15ef('0xad'),_0x15ef('0xae'),{'account':_0x299b5f,'message':_0x3964a9[_0x15ef('0x62')]});}else{throw new Error(_0x15ef('0xaf'));}}})['then'](function(_0x19741f){if(_0x19741f){_0x42ff37=_0x19741f;if(_0x52a943[_0x15ef('0xa1')]){if(_0x52a943['List']['Contacts']['length']){return _0x52a943[_0x15ef('0xa1')][_0x15ef('0xa2')][0x0];}else{return db[_0x15ef('0x8c')]['create'](_[_0x15ef('0x1a')](_0x3964a9['body'],{'firstName':_0x3964a9['body']['to'],'email':_0x3964a9['body']['to'],'phone':_0x3964a9['body']['to'],'ListId':_0x52a943[_0x15ef('0x70')]}));}}else{throw new Error(_0x15ef('0xaf'));}}})[_0x15ef('0x39')](function(_0x55552c){if(_0x55552c){var _0x5b629c={'UserId':_0x3964a9['user']['id'],'ContactId':_0x55552c['id'],'MailAccountId':_0x52a943['id'],'inReplyTo':_0x42ff37[_0x15ef('0xb0')],'to':_0x3964a9[_0x15ef('0x62')][_0x15ef('0xa5')],'cc':_0x3964a9[_0x15ef('0x62')]['cc'],'subject':_0x3964a9[_0x15ef('0x62')][_0x15ef('0xb1')],'attach':_0x3964a9[_0x15ef('0x62')][_0x15ef('0xb2')],'firstMsgDirection':_0x15ef('0xb3'),'lastMsgAt':moment()[_0x15ef('0x9f')](_0x15ef('0xb4')),'lastMsgDirection':'out','lastMsgBody':_0x3964a9[_0x15ef('0x62')][_0x15ef('0x62')],'Messages':[_[_0x15ef('0x58')](_0x3964a9[_0x15ef('0x62')],{'messageId':_0x42ff37[_0x15ef('0xb0')],'sentAt':moment()[_0x15ef('0x9f')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x52a943['id'],'UserId':_0x3964a9['user']['id'],'ContactId':_0x55552c['id']})]};if(_0x3964a9['body'][_0x15ef('0xb5')]){_0x5b629c=_['merge'](_0x5b629c,_0x3964a9[_0x15ef('0x62')]['Interaction']);}return db[_0x15ef('0x8a')][_0x15ef('0x6b')](_0x5b629c,{'include':[{'model':db[_0x15ef('0x9c')],'as':_0x15ef('0xb6')}]});}})['then'](respondWithResult(_0x16632a,null))['catch'](handleError(_0x16632a,null));};exports[_0x15ef('0xb7')]=function(_0x48a0a0,_0x54ac62,_0x20b97a){return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x48a0a0['params']['id']},'include':[{'model':db['MailServerOut'],'as':_0x15ef('0x42'),'raw':!![]}]})[_0x15ef('0x39')](handleEntityNotFound(_0x54ac62,null))[_0x15ef('0x39')](function(_0x5f48b3){if(_0x5f48b3&&_0x5f48b3[_0x15ef('0x42')]){var _0x37328e={'id':_0x5f48b3['id'],'tls':{'rejectUnauthorized':![]}};if(_0x5f48b3[_0x15ef('0x42')]['service']){_0x37328e[_0x15ef('0x7e')]=_0x5f48b3['Smtp'][_0x15ef('0x7e')];}else{_0x37328e['host']=_0x5f48b3['Smtp'][_0x15ef('0x7c')];_0x37328e['port']=_0x5f48b3[_0x15ef('0x42')][_0x15ef('0x7d')];_0x37328e[_0x15ef('0xac')]=_0x5f48b3[_0x15ef('0x42')][_0x15ef('0xac')];}if(_0x5f48b3[_0x15ef('0x42')][_0x15ef('0x7b')]){_0x37328e[_0x15ef('0xab')]={'user':_0x5f48b3[_0x15ef('0x42')][_0x15ef('0x76')],'pass':_0x5f48b3[_0x15ef('0x42')][_0x15ef('0x79')]};}return respondWithRpcPromise(_0x15ef('0xb8'),_0x15ef('0xb7'),{'account':_0x37328e});}})[_0x15ef('0x39')](respondWithResult(_0x54ac62,null))[_0x15ef('0x2c')](handleError(_0x54ac62,null));};exports[_0x15ef('0x3a')]=function(_0x502078,_0xe7e026){return db['MailAccount']['find']({'where':{'id':_0x502078[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0xe7e026,null))[_0x15ef('0x39')](function(_0x2ea66b){if(_0x2ea66b&&_0x2ea66b[_0x15ef('0x7e')]){throw new db[(_0x15ef('0xb9'))]['ValidationError'](_0x15ef('0xba'));}return _0x2ea66b;})[_0x15ef('0x39')](removeEntity(_0xe7e026,null))['catch'](handleError(_0xe7e026,null));};exports['addAgents']=function(_0x17f177,_0x514380,_0x3f96b3){return db['MailAccount'][_0x15ef('0x61')]({'where':{'id':_0x17f177[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x514380,null))['then'](function(_0x3d4baa){if(_0x3d4baa){return _0x3d4baa[_0x15ef('0xbb')](_0x17f177[_0x15ef('0x62')][_0x15ef('0x8b')],_['omit'](_0x17f177[_0x15ef('0x62')],['ids','id'])||{})['spread'](function(_0x501215){for(var _0x1ffd50=0x0;_0x1ffd50<_0x17f177[_0x15ef('0x62')][_0x15ef('0x8b')][_0x15ef('0x50')];_0x1ffd50+=0x1){socket['emit'](_0x15ef('0xbc'),{'UserId':_0x17f177[_0x15ef('0x62')][_0x15ef('0x8b')][_0x1ffd50],'MailAccountId':_0x17f177[_0x15ef('0x5d')]['id']});}return _0x501215;});}})['then'](respondWithResult(_0x514380,null))[_0x15ef('0x2c')](handleError(_0x514380,null));};exports[_0x15ef('0xbd')]=function(_0x31ff04,_0x3997d3,_0x1b2bf0){return db[_0x15ef('0x46')][_0x15ef('0x61')]({'where':{'id':_0x31ff04[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x3997d3,null))['then'](function(_0x470629){if(_0x470629){return _0x470629[_0x15ef('0xbd')](_0x31ff04[_0x15ef('0x4b')][_0x15ef('0x8b')])[_0x15ef('0x39')](function(){if(_[_0x15ef('0xbe')](_0x31ff04[_0x15ef('0x4b')]['ids'])){for(var _0x3505a6=0x0;_0x3505a6<_0x31ff04[_0x15ef('0x4b')][_0x15ef('0x8b')]['length'];_0x3505a6+=0x1){socket[_0x15ef('0xbf')](_0x15ef('0xc0'),{'UserId':Number(_0x31ff04[_0x15ef('0x4b')][_0x15ef('0x8b')][_0x3505a6]),'MailAccountId':Number(_0x31ff04[_0x15ef('0x5d')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x31ff04['query'][_0x15ef('0x8b')]),'MailAccountId':Number(_0x31ff04['params']['id'])});}});}})['then'](respondWithStatusCode(_0x3997d3,null))[_0x15ef('0x2c')](handleError(_0x3997d3,null));};exports[_0x15ef('0xc1')]=function(_0x30df69,_0x3efae4,_0x4937c1){var _0x1ff481={};var _0x285ce5={};var _0x9f48a1;var _0x51ae2a;return db[_0x15ef('0x46')]['findOne']({'where':{'id':_0x30df69[_0x15ef('0x5d')]['id']}})[_0x15ef('0x39')](handleEntityNotFound(_0x3efae4,null))[_0x15ef('0x39')](function(_0x5c04cb){if(_0x5c04cb){_0x9f48a1=_0x5c04cb;_0x285ce5[_0x15ef('0x49')]=_[_0x15ef('0x4a')](db['User'][_0x15ef('0x5f')]);_0x285ce5[_0x15ef('0x4b')]=_['keys'](_0x30df69[_0x15ef('0x4b')]);_0x285ce5[_0x15ef('0x4c')]=_['intersection'](_0x285ce5[_0x15ef('0x49')],_0x285ce5[_0x15ef('0x4b')]);_0x1ff481[_0x15ef('0x4e')]=_[_0x15ef('0x4d')](_0x285ce5[_0x15ef('0x49')],qs[_0x15ef('0x4f')](_0x30df69[_0x15ef('0x4b')][_0x15ef('0x4f')]));_0x1ff481[_0x15ef('0x4e')]=_0x1ff481['attributes'][_0x15ef('0x50')]?_0x1ff481[_0x15ef('0x4e')]:_0x285ce5[_0x15ef('0x49')];_0x1ff481[_0x15ef('0x68')]=qs[_0x15ef('0x53')](_0x30df69[_0x15ef('0x4b')][_0x15ef('0x53')]);_0x1ff481[_0x15ef('0x56')]=qs['filters'](_[_0x15ef('0x54')](_0x30df69['query'],_0x285ce5[_0x15ef('0x4c')]));if(_0x30df69[_0x15ef('0x4b')][_0x15ef('0x55')]){_0x1ff481['where']=_[_0x15ef('0x58')](_0x1ff481[_0x15ef('0x56')],{'$or':_['map'](_0x1ff481[_0x15ef('0x4e')],function(_0x3b458d){var _0x1eec8b={};_0x1eec8b[_0x3b458d]={'$like':'%'+_0x30df69['query']['filter']+'%'};return _0x1eec8b;})});}_0x1ff481=_[_0x15ef('0x58')]({},_0x1ff481,_0x30df69[_0x15ef('0x59')]);return _0x9f48a1[_0x15ef('0xc1')](_0x1ff481);}})[_0x15ef('0x39')](function(_0x5ce162){if(_0x5ce162){_0x51ae2a=_0x5ce162['length'];if(!_0x30df69[_0x15ef('0x4b')][_0x15ef('0x51')]('nolimit')){_0x1ff481['limit']=qs['limit'](_0x30df69['query']['limit']);_0x1ff481[_0x15ef('0x31')]=qs[_0x15ef('0x31')](_0x30df69[_0x15ef('0x4b')][_0x15ef('0x31')]);}return _0x9f48a1['getAgents'](_0x1ff481);}})['then'](function(_0x1be80d){if(_0x1be80d){return _0x1be80d?{'count':_0x51ae2a,'rows':_0x1be80d}:null;}})[_0x15ef('0x39')](respondWithResult(_0x3efae4,null))[_0x15ef('0x2c')](handleError(_0x3efae4,null));};