67b3131b361b179cb2a8fb784bdbeb848e8a590d
[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 _0x6903=['getInteractions','Contact','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','send','getApplications','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','MailMessage','true','CmList','List','CmContact','Contacts','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','email','attachments','join','root','SendMail','messageId','subject','format','Interaction','Messages','getSmtpOptions','VerifySmtp','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','User','getAgents','moment','util','path','lodash','ioredis','api','../../mysqldb','defaults','redis','socket.io-emitter','./mailAccount.socket','register','client','http','request','MailAccount,\x20%s,\x20%s','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','info','result','catch','status','end','json','offset','undefined','limit','Content-Range','update','then','destroy','get','MailAccounts','UserProfileResource','sendStatus','stack','name','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','outlook365','smtp.office365.com','user','username','pass','password','modernAuthentication','CloudProviderId','host','port','service','authentication','Imap','index','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','key','model','keys','filters','query','attributes','intersection','fields','hasOwnProperty','nolimit','order','where','pick','filter','type','VIRTUAL','merge','options','MailAccount','count','includeAll','include','findAll','rows','show','params','MailServerIn','length','body','custom','provider','secure','find','Mail\x20Account\x20not\x20found','addDisposition','MailAccountId','Disposition','create','getDispositions','removeDispositions','ids','addAnswer','getAnswers','findOne','CannedAnswer','sort','removeAnswers','isNil','active','description','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit'];(function(_0x261062,_0x4145b9){var _0x38ef4f=function(_0x125c76){while(--_0x125c76){_0x261062['push'](_0x261062['shift']());}};_0x38ef4f(++_0x4145b9);}(_0x6903,0xf6));var _0x3690=function(_0x4922b2,_0x39e418){_0x4922b2=_0x4922b2-0x0;var _0x34bfe9=_0x6903[_0x4922b2];return _0x34bfe9;};'use strict';var moment=require(_0x3690('0x0'));var BPromise=require('bluebird');var util=require(_0x3690('0x1'));var path=require(_0x3690('0x2'));var _=require(_0x3690('0x3'));var juice=require('juice');var Redis=require(_0x3690('0x4'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x3690('0x5'));var config=require('../../config/environment');var db=require(_0x3690('0x6'))['db'];config['redis']=_[_0x3690('0x7')](config[_0x3690('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x3690('0x9'))(new Redis(config[_0x3690('0x8')]));require(_0x3690('0xa'))[_0x3690('0xb')](socket);var jayson=require('jayson/promise');var client=jayson[_0x3690('0xc')][_0x3690('0xd')]({'port':0x232b});function respondWithRpcPromise(_0x1f3459,_0x202a49,_0x278f99,_0x1dfe42){return new BPromise(function(_0x5eb5e1,_0x514e1c){var _0x385e70=_0x1dfe42||client;return _0x385e70[_0x3690('0xe')](_0x1f3459,_0x278f99)['then'](function(_0x2d8583){logger['info'](_0x3690('0xf'),_0x202a49,_0x3690('0x10'));logger['debug'](_0x3690('0x11'),_0x202a49,'request\x20sent',JSON[_0x3690('0x12')](_0x2d8583));if(_0x2d8583['error']){if(_0x2d8583['error']['code']===0x1f4){logger[_0x3690('0x13')](_0x3690('0xf'),_0x202a49,_0x2d8583[_0x3690('0x13')]['message']);return _0x514e1c(_0x2d8583[_0x3690('0x13')][_0x3690('0x14')]);}logger['error'](_0x3690('0xf'),_0x202a49,_0x2d8583[_0x3690('0x13')][_0x3690('0x14')]);return _0x5eb5e1(_0x2d8583[_0x3690('0x13')][_0x3690('0x14')]);}else{logger[_0x3690('0x15')](_0x3690('0xf'),_0x202a49,_0x3690('0x10'));_0x5eb5e1(_0x2d8583[_0x3690('0x16')][_0x3690('0x14')]);}})[_0x3690('0x17')](function(_0x2c577a){logger[_0x3690('0x13')](_0x3690('0xf'),_0x202a49,_0x2c577a);_0x514e1c(_0x2c577a);});});}function respondWithStatusCode(_0x11821f,_0x3427d3){_0x3427d3=_0x3427d3||0xcc;return function(_0x7f0258){if(_0x7f0258){return _0x11821f['sendStatus'](_0x3427d3);}return _0x11821f[_0x3690('0x18')](_0x3427d3)[_0x3690('0x19')]();};}function respondWithResult(_0x2a440c,_0x632df5){_0x632df5=_0x632df5||0xc8;return function(_0x212808){if(_0x212808){return _0x2a440c[_0x3690('0x18')](_0x632df5)[_0x3690('0x1a')](_0x212808);}};}function respondWithFilteredResult(_0x4609c9,_0x285169){return function(_0x149a6d){if(_0x149a6d){var _0x4e615f=typeof _0x285169[_0x3690('0x1b')]===_0x3690('0x1c')&&typeof _0x285169[_0x3690('0x1d')]===_0x3690('0x1c');var _0x3c84cf=_0x149a6d['count'];var _0x4a0fc3=_0x4e615f?0x0:_0x285169['offset'];var _0x53e32e=_0x4e615f?_0x149a6d['count']:_0x285169['offset']+_0x285169[_0x3690('0x1d')];var _0x3a8b81;if(_0x53e32e>=_0x3c84cf){_0x53e32e=_0x3c84cf;_0x3a8b81=0xc8;}else{_0x3a8b81=0xce;}_0x4609c9[_0x3690('0x18')](_0x3a8b81);return _0x4609c9['set'](_0x3690('0x1e'),_0x4a0fc3+'-'+_0x53e32e+'/'+_0x3c84cf)[_0x3690('0x1a')](_0x149a6d);}return null;};}function saveUpdates(_0x41ebc8){return function(_0x2d041a){if(_0x2d041a){return _0x2d041a[_0x3690('0x1f')](_0x41ebc8)[_0x3690('0x20')](function(_0x1655b8){return _0x1655b8;});}return null;};}function removeEntity(_0x289163){return function(_0xc38278){if(_0xc38278){return _0xc38278[_0x3690('0x21')]()[_0x3690('0x20')](function(){var _0x5ad0fa=_0xc38278[_0x3690('0x22')]({'plain':!![]});var _0x3d0078=_0x3690('0x23');return db[_0x3690('0x24')]['destroy']({'where':{'type':_0x3d0078,'resourceId':_0x5ad0fa['id']}})[_0x3690('0x20')](function(){return _0xc38278;});})[_0x3690('0x20')](function(){_0x289163[_0x3690('0x18')](0xcc)[_0x3690('0x19')]();});}};}function handleEntityNotFound(_0x2fb4e6){return function(_0x5ea2d4){if(!_0x5ea2d4){_0x2fb4e6[_0x3690('0x25')](0x194);}return _0x5ea2d4;};}function handleError(_0x15696c,_0x46eb63){_0x46eb63=_0x46eb63||0x1f4;return function(_0x121a53){logger[_0x3690('0x13')](_0x121a53[_0x3690('0x26')]);if(_0x121a53[_0x3690('0x27')]){delete _0x121a53[_0x3690('0x27')];}_0x15696c['status'](_0x46eb63)['send'](_0x121a53);};}function getImapHost(_0x5c2623){switch(_0x5c2623){case _0x3690('0x28'):return _0x3690('0x29');case _0x3690('0x2a'):return _0x3690('0x2b');case _0x3690('0x2c'):return'imap-mail.outlook.com';case'outlook365':return _0x3690('0x2d');}throw new Error(_0x3690('0x2e'),_0x5c2623);}function getSmtpHost(_0x23ab33){switch(_0x23ab33){case'gmail':return _0x3690('0x2f');case _0x3690('0x2a'):return'smtp.mail.yahoo.com';case _0x3690('0x2c'):return'smtp-mail.outlook.com';case _0x3690('0x30'):return _0x3690('0x31');}throw new Error(_0x3690('0x2e'),_0x23ab33);}function getAuthenticationOptions(_0x541238,_0xf11544){var _0x6fa561={};var _0x22960d={};if(_0x541238){_0x6fa561[_0x3690('0x32')]=_0x22960d[_0x3690('0x32')]=_0xf11544[_0x3690('0x33')];_0x6fa561['password']=_0x22960d[_0x3690('0x34')]=_0xf11544[_0x3690('0x35')];if(_0xf11544[_0x3690('0x36')]){_0x6fa561[_0x3690('0x36')]=_0x22960d['modernAuthentication']=!![];_0x6fa561['CloudProviderId']=_0x22960d['CloudProviderId']=_0xf11544['CloudProviderId'];_0x6fa561['password']=_0x22960d[_0x3690('0x34')]=null;}else{_0x6fa561['CloudProviderId']=_0x22960d[_0x3690('0x37')]=null;}_0x6fa561[_0x3690('0x38')]=getImapHost(_0x541238);_0x6fa561[_0x3690('0x39')]=0x3e1;_0x22960d[_0x3690('0x38')]=getSmtpHost(_0x541238);_0x22960d['port']=0x24b;_0x22960d['secure']=![];_0x6fa561[_0x3690('0x3a')]=_0x22960d[_0x3690('0x3a')]=null;}else{if(_0xf11544[_0x3690('0x3b')]){_0x6fa561[_0x3690('0x32')]=_0x22960d[_0x3690('0x32')]=_0xf11544['username'];_0x6fa561[_0x3690('0x35')]=_0x22960d[_0x3690('0x34')]=_0xf11544[_0x3690('0x35')];}else{_0x6fa561[_0x3690('0x3b')]=_0x22960d[_0x3690('0x3b')]=![];_0x6fa561[_0x3690('0x32')]=_0x22960d['user']=null;_0x6fa561[_0x3690('0x35')]=_0x22960d['pass']=null;}_0x6fa561[_0x3690('0x38')]=_0xf11544[_0x3690('0x3c')]['host'];_0x6fa561['port']=_0xf11544['Imap'][_0x3690('0x39')];_0x22960d[_0x3690('0x38')]=_0xf11544['Smtp']['host'];_0x22960d['port']=_0xf11544['Smtp']['port'];}return{'Imap':_0x6fa561,'Smtp':_0x22960d};}exports[_0x3690('0x3d')]=function(_0x372288,_0x8426a2){var _0x534853={'include':[{'model':db['MailServerIn'],'as':_0x3690('0x3c')},{'model':db[_0x3690('0x3e')],'as':_0x3690('0x3f')},{'model':db[_0x3690('0x40')],'as':_0x3690('0x41')}]},_0x24f4fb={},_0x4bd7d8={'count':0x0,'rows':[]};var _0x197203=_[_0x3690('0x42')](db['MailAccount'][_0x3690('0x43')],function(_0xc9aa){return{'name':_0xc9aa[_0x3690('0x44')],'type':_0xc9aa['type'][_0x3690('0x45')]};});_0x24f4fb[_0x3690('0x46')]=_[_0x3690('0x42')](_0x197203,_0x3690('0x27'));_0x24f4fb['query']=_[_0x3690('0x47')](_0x372288['query']);_0x24f4fb[_0x3690('0x48')]=_['intersection'](_0x24f4fb[_0x3690('0x46')],_0x24f4fb[_0x3690('0x49')]);_0x534853[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0x24f4fb[_0x3690('0x46')],qs['fields'](_0x372288[_0x3690('0x49')][_0x3690('0x4c')]));_0x534853['attributes']=_0x534853['attributes']['length']?_0x534853['attributes']:_0x24f4fb[_0x3690('0x46')];if(!_0x372288['query'][_0x3690('0x4d')](_0x3690('0x4e'))){_0x534853[_0x3690('0x1d')]=qs[_0x3690('0x1d')](_0x372288['query'][_0x3690('0x1d')]);_0x534853[_0x3690('0x1b')]=qs['offset'](_0x372288[_0x3690('0x49')][_0x3690('0x1b')]);}_0x534853[_0x3690('0x4f')]=qs['sort'](_0x372288['query']['sort']);_0x534853[_0x3690('0x50')]=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x372288[_0x3690('0x49')],_0x24f4fb[_0x3690('0x48')]),_0x197203);if(_0x372288[_0x3690('0x49')][_0x3690('0x52')]){_0x534853[_0x3690('0x50')]=_['merge'](_0x534853[_0x3690('0x50')],{'$or':_[_0x3690('0x42')](_0x197203,function(_0x2a6990){if(_0x2a6990[_0x3690('0x53')]!==_0x3690('0x54')){var _0x4854ee={};_0x4854ee[_0x2a6990[_0x3690('0x27')]]={'$like':'%'+_0x372288[_0x3690('0x49')][_0x3690('0x52')]+'%'};return _0x4854ee;}})});}_0x534853=_[_0x3690('0x55')]({},_0x534853,_0x372288[_0x3690('0x56')]);var _0x25b965={'where':_0x534853[_0x3690('0x50')]};return db[_0x3690('0x57')][_0x3690('0x58')](_0x25b965)[_0x3690('0x20')](function(_0x16ac51){_0x4bd7d8[_0x3690('0x58')]=_0x16ac51;if(_0x372288[_0x3690('0x49')][_0x3690('0x59')]){_0x534853[_0x3690('0x5a')]=[{'all':!![]}];}return db[_0x3690('0x57')][_0x3690('0x5b')](_0x534853);})[_0x3690('0x20')](function(_0x47adf7){_0x4bd7d8[_0x3690('0x5c')]=_0x47adf7;return _0x4bd7d8;})['then'](respondWithFilteredResult(_0x8426a2,_0x534853))['catch'](handleError(_0x8426a2,null));};exports[_0x3690('0x5d')]=function(_0x3b354c,_0x509b76){var _0x1ff416={'raw':![],'where':{'id':_0x3b354c[_0x3690('0x5e')]['id']},'include':[{'model':db[_0x3690('0x5f')],'as':_0x3690('0x3c')},{'model':db['MailServerOut'],'as':_0x3690('0x3f')},{'model':db['Pause'],'as':_0x3690('0x41')}]},_0x9e6827={};_0x9e6827['model']=_['keys'](db[_0x3690('0x57')][_0x3690('0x43')]);_0x9e6827[_0x3690('0x49')]=_[_0x3690('0x47')](_0x3b354c['query']);_0x9e6827[_0x3690('0x48')]=_['intersection'](_0x9e6827[_0x3690('0x46')],_0x9e6827[_0x3690('0x49')]);_0x1ff416['attributes']=_[_0x3690('0x4b')](_0x9e6827[_0x3690('0x46')],qs[_0x3690('0x4c')](_0x3b354c[_0x3690('0x49')]['fields']));_0x1ff416[_0x3690('0x4a')]=_0x1ff416[_0x3690('0x4a')][_0x3690('0x60')]?_0x1ff416[_0x3690('0x4a')]:_0x9e6827[_0x3690('0x46')];if(_0x3b354c[_0x3690('0x49')][_0x3690('0x59')]){_0x1ff416[_0x3690('0x5a')]=[{'all':!![]}];}_0x1ff416=_[_0x3690('0x55')]({},_0x1ff416,_0x3b354c[_0x3690('0x56')]);return db[_0x3690('0x57')]['find'](_0x1ff416)[_0x3690('0x20')](handleEntityNotFound(_0x509b76,null))['then'](respondWithResult(_0x509b76,null))[_0x3690('0x17')](handleError(_0x509b76,null));};exports['update']=function(_0x3ca9a0,_0x3c3e9a){if(_0x3ca9a0['body']['id']){delete _0x3ca9a0[_0x3690('0x61')]['id'];}var _0x467e5c=_0x3ca9a0['body']['provider']===_0x3690('0x62')?null:_0x3ca9a0[_0x3690('0x61')][_0x3690('0x63')];var _0x38a4e1=_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3c')]||{};var _0x286502=_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3f')]||{};if(_0x467e5c){_0x38a4e1[_0x3690('0x38')]=getImapHost(_0x467e5c);_0x38a4e1[_0x3690('0x39')]=0x3e1;_0x286502[_0x3690('0x38')]=getSmtpHost(_0x467e5c);_0x286502['port']=0x24b;_0x286502[_0x3690('0x64')]=![];}if(_0x286502[_0x3690('0x36')]){_0x286502[_0x3690('0x64')]=![];}else{_0x286502[_0x3690('0x37')]=null;}if(!_0x38a4e1[_0x3690('0x36')])_0x38a4e1['CloudProviderId']=null;_0x3ca9a0['body'][_0x3690('0x3c')]=_0x38a4e1;_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3f')]=_0x286502;return db[_0x3690('0x57')][_0x3690('0x65')]({'where':{'id':_0x3ca9a0[_0x3690('0x5e')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x3690('0x3c')},{'model':db[_0x3690('0x3e')],'as':_0x3690('0x3f')},{'model':db[_0x3690('0x40')],'as':_0x3690('0x41')}]})[_0x3690('0x20')](handleEntityNotFound(_0x3c3e9a,null))[_0x3690('0x20')](function(_0x1cb5db){if(!_0x1cb5db)throw new Error(_0x3690('0x66'));if(_0x1cb5db[_0x3690('0x3a')])delete _0x3ca9a0[_0x3690('0x61')][_0x3690('0x3c')];return _0x1cb5db;})[_0x3690('0x20')](saveUpdates(_0x3ca9a0[_0x3690('0x61')],null))['then'](function(_0x5d1d4f){if(!_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3c')])return _0x5d1d4f;return db[_0x3690('0x5f')][_0x3690('0x1f')](_0x3ca9a0['body']['Imap'],{'where':{'MailAccountId':_0x5d1d4f['id']}})[_0x3690('0x20')](function(){return _0x5d1d4f;});})[_0x3690('0x20')](function(_0x2c49bf){if(!_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3f')])return _0x2c49bf;return db[_0x3690('0x3e')][_0x3690('0x1f')](_0x3ca9a0[_0x3690('0x61')][_0x3690('0x3f')],{'where':{'MailAccountId':_0x2c49bf['id']}})[_0x3690('0x20')](function(){return _0x2c49bf;});})[_0x3690('0x20')](respondWithResult(_0x3c3e9a,null))[_0x3690('0x17')](handleError(_0x3c3e9a,null));};exports['describe']=function(_0x46a0e5,_0x40dd92){return db['MailAccount']['describe']()[_0x3690('0x20')](respondWithResult(_0x40dd92,null))[_0x3690('0x17')](handleError(_0x40dd92,null));};exports[_0x3690('0x67')]=function(_0x159e77,_0x2c6510){if(_0x159e77[_0x3690('0x61')]['id']){delete _0x159e77[_0x3690('0x61')]['id'];}return db['MailAccount'][_0x3690('0x65')]({'where':{'id':_0x159e77[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x2c6510,null))[_0x3690('0x20')](function(_0x5c86b5){if(_0x5c86b5){_0x159e77['body'][_0x3690('0x68')]=_0x5c86b5['id'];return db[_0x3690('0x69')][_0x3690('0x6a')](_0x159e77[_0x3690('0x61')]);}})[_0x3690('0x20')](respondWithResult(_0x2c6510,null))[_0x3690('0x17')](handleError(_0x2c6510,null));};exports[_0x3690('0x6b')]=function(_0x599888,_0x16bb63){var _0x3b7738={'raw':![],'where':{}};var _0x4804b3={};var _0x35901f={'count':0x0,'rows':[]};return db[_0x3690('0x57')]['findOne']({'where':{'id':_0x599888[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x16bb63,null))[_0x3690('0x20')](function(_0x27269a){if(_0x27269a){_0x4804b3[_0x3690('0x46')]=_['keys'](db[_0x3690('0x69')][_0x3690('0x43')]);_0x4804b3[_0x3690('0x49')]=_[_0x3690('0x47')](_0x599888['query']);_0x4804b3['filters']=_[_0x3690('0x4b')](_0x4804b3[_0x3690('0x46')],_0x4804b3['query']);_0x3b7738[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0x4804b3['model'],qs[_0x3690('0x4c')](_0x599888[_0x3690('0x49')][_0x3690('0x4c')]));_0x3b7738['attributes']=_0x3b7738[_0x3690('0x4a')][_0x3690('0x60')]?_0x3b7738[_0x3690('0x4a')]:_0x4804b3['model'];if(!_0x599888[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0x3b7738[_0x3690('0x1d')]=qs['limit'](_0x599888[_0x3690('0x49')][_0x3690('0x1d')]);_0x3b7738[_0x3690('0x1b')]=qs['offset'](_0x599888[_0x3690('0x49')][_0x3690('0x1b')]);}_0x3b7738[_0x3690('0x4f')]=qs['sort'](_0x599888['query']['sort']);_0x3b7738['where']=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x599888[_0x3690('0x49')],_0x4804b3[_0x3690('0x48')]));_0x3b7738['where'][_0x3690('0x68')]=_0x27269a['id'];if(_0x599888[_0x3690('0x49')]['filter']){_0x3b7738[_0x3690('0x50')]=_[_0x3690('0x55')](_0x3b7738[_0x3690('0x50')],{'$or':_[_0x3690('0x42')](_0x3b7738[_0x3690('0x4a')],function(_0x40d5c8){var _0x51224d={};_0x51224d[_0x40d5c8]={'$like':'%'+_0x599888[_0x3690('0x49')]['filter']+'%'};return _0x51224d;})});}_0x3b7738=_['merge']({},_0x3b7738,_0x599888[_0x3690('0x56')]);return db[_0x3690('0x69')][_0x3690('0x58')]({'where':_0x3b7738[_0x3690('0x50')]})[_0x3690('0x20')](function(_0x59b5f8){_0x35901f[_0x3690('0x58')]=_0x59b5f8;if(_0x599888[_0x3690('0x49')][_0x3690('0x59')]){_0x3b7738[_0x3690('0x5a')]=[{'all':!![]}];}return db[_0x3690('0x69')][_0x3690('0x5b')](_0x3b7738);})['then'](function(_0xf57dbf){_0x35901f[_0x3690('0x5c')]=_0xf57dbf;return _0x35901f;});}})[_0x3690('0x20')](respondWithFilteredResult(_0x16bb63,_0x3b7738))[_0x3690('0x17')](handleError(_0x16bb63,null));};exports['removeDispositions']=function(_0x1d6ff0,_0x39d4bd){return db[_0x3690('0x57')][_0x3690('0x65')]({'where':{'id':_0x1d6ff0['params']['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x39d4bd,null))['then'](function(_0xa03a6d){if(_0xa03a6d){return _0xa03a6d[_0x3690('0x6c')](_0x1d6ff0[_0x3690('0x49')][_0x3690('0x6d')]);}})['then'](respondWithStatusCode(_0x39d4bd,null))[_0x3690('0x17')](handleError(_0x39d4bd,null));};exports[_0x3690('0x6e')]=function(_0x24267d,_0x4e68bf){if(_0x24267d['body']['id']){delete _0x24267d[_0x3690('0x61')]['id'];}return db[_0x3690('0x57')][_0x3690('0x65')]({'where':{'id':_0x24267d['params']['id']}})['then'](handleEntityNotFound(_0x4e68bf,null))[_0x3690('0x20')](function(_0x2fac11){if(_0x2fac11){_0x24267d[_0x3690('0x61')][_0x3690('0x68')]=_0x2fac11['id'];return db['CannedAnswer'][_0x3690('0x6a')](_0x24267d[_0x3690('0x61')]);}})[_0x3690('0x20')](respondWithResult(_0x4e68bf,null))['catch'](handleError(_0x4e68bf,null));};exports[_0x3690('0x6f')]=function(_0x566e0b,_0x1abf09){var _0x2774bf={'raw':![],'where':{}};var _0x2afb16={};var _0x266b8c={'count':0x0,'rows':[]};return db[_0x3690('0x57')][_0x3690('0x70')]({'where':{'id':_0x566e0b[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x1abf09,null))['then'](function(_0x123255){if(_0x123255){_0x2afb16[_0x3690('0x46')]=_[_0x3690('0x47')](db[_0x3690('0x71')][_0x3690('0x43')]);_0x2afb16[_0x3690('0x49')]=_[_0x3690('0x47')](_0x566e0b[_0x3690('0x49')]);_0x2afb16[_0x3690('0x48')]=_['intersection'](_0x2afb16['model'],_0x2afb16['query']);_0x2774bf[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0x2afb16[_0x3690('0x46')],qs[_0x3690('0x4c')](_0x566e0b[_0x3690('0x49')][_0x3690('0x4c')]));_0x2774bf['attributes']=_0x2774bf[_0x3690('0x4a')][_0x3690('0x60')]?_0x2774bf[_0x3690('0x4a')]:_0x2afb16[_0x3690('0x46')];if(!_0x566e0b[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0x2774bf['limit']=qs['limit'](_0x566e0b[_0x3690('0x49')][_0x3690('0x1d')]);_0x2774bf[_0x3690('0x1b')]=qs[_0x3690('0x1b')](_0x566e0b[_0x3690('0x49')][_0x3690('0x1b')]);}_0x2774bf[_0x3690('0x4f')]=qs[_0x3690('0x72')](_0x566e0b['query'][_0x3690('0x72')]);_0x2774bf[_0x3690('0x50')]=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x566e0b[_0x3690('0x49')],_0x2afb16['filters']));_0x2774bf['where'][_0x3690('0x68')]=_0x123255['id'];if(_0x566e0b[_0x3690('0x49')]['filter']){_0x2774bf[_0x3690('0x50')]=_[_0x3690('0x55')](_0x2774bf[_0x3690('0x50')],{'$or':_[_0x3690('0x42')](_0x2774bf[_0x3690('0x4a')],function(_0x3069b9){var _0x18581e={};_0x18581e[_0x3069b9]={'$like':'%'+_0x566e0b[_0x3690('0x49')][_0x3690('0x52')]+'%'};return _0x18581e;})});}_0x2774bf=_[_0x3690('0x55')]({},_0x2774bf,_0x566e0b[_0x3690('0x56')]);return db[_0x3690('0x71')][_0x3690('0x58')]({'where':_0x2774bf[_0x3690('0x50')]})[_0x3690('0x20')](function(_0x544c4f){_0x266b8c[_0x3690('0x58')]=_0x544c4f;if(_0x566e0b['query'][_0x3690('0x59')]){_0x2774bf[_0x3690('0x5a')]=[{'all':!![]}];}return db['CannedAnswer'][_0x3690('0x5b')](_0x2774bf);})[_0x3690('0x20')](function(_0x4cd056){_0x266b8c[_0x3690('0x5c')]=_0x4cd056;return _0x266b8c;});}})['then'](respondWithFilteredResult(_0x1abf09,_0x2774bf))[_0x3690('0x17')](handleError(_0x1abf09,null));};exports[_0x3690('0x73')]=function(_0x51e150,_0x16a6af){return db['MailAccount'][_0x3690('0x65')]({'where':{'id':_0x51e150[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x16a6af,null))['then'](function(_0x4df706){if(_0x4df706){return _0x4df706[_0x3690('0x73')](_0x51e150[_0x3690('0x49')][_0x3690('0x6d')]);}})[_0x3690('0x20')](respondWithStatusCode(_0x16a6af,null))[_0x3690('0x17')](handleError(_0x16a6af,null));};exports[_0x3690('0x6a')]=function(_0x2f2928,_0x491447){var _0x18393c={'name':_0x2f2928[_0x3690('0x61')][_0x3690('0x27')],'key':_0x2f2928['body'][_0x3690('0x45')],'provider':_0x2f2928[_0x3690('0x61')][_0x3690('0x63')]==='custom'?null:_0x2f2928['body'][_0x3690('0x63')],'email':_0x2f2928[_0x3690('0x61')]['email'],'ListId':_0x2f2928[_0x3690('0x61')]['ListId'],'active':!_[_0x3690('0x74')](_0x2f2928['body'][_0x3690('0x75')])?_0x2f2928[_0x3690('0x61')]['active']:!![],'description':_0x2f2928[_0x3690('0x61')][_0x3690('0x76')]||null};var _0x56de17=getAuthenticationOptions(_0x18393c[_0x3690('0x63')],_0x2f2928[_0x3690('0x61')]);_0x18393c[_0x3690('0x3c')]=_0x56de17[_0x3690('0x3c')];_0x18393c[_0x3690('0x3f')]=_0x56de17['Smtp'];return db[_0x3690('0x57')][_0x3690('0x6a')](_0x18393c,{'include':[{'model':db[_0x3690('0x3e')],'as':_0x3690('0x3f')},{'model':db[_0x3690('0x5f')],'as':_0x3690('0x3c')}]})[_0x3690('0x20')](function(_0xdd0c80){var _0x4f042a=_0x2f2928[_0x3690('0x32')][_0x3690('0x22')]({'plain':!![]});if(!_0x4f042a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4f042a[_0x3690('0x77')]==='user'){var _0x149ced=_0xdd0c80[_0x3690('0x22')]({'plain':!![]});return db[_0x3690('0x78')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x4f042a[_0x3690('0x79')]},'raw':!![]})[_0x3690('0x20')](function(_0x3e97a6){if(_0x3e97a6&&_0x3e97a6[_0x3690('0x7a')]===0x0){return db[_0x3690('0x24')][_0x3690('0x6a')]({'name':_0x149ced[_0x3690('0x27')],'resourceId':_0x149ced['id'],'type':_0x3e97a6[_0x3690('0x27')],'sectionId':_0x3e97a6['id']},{})['then'](function(){return _0xdd0c80;});}else{return _0xdd0c80;}})['catch'](function(_0x5e5de9){logger[_0x3690('0x13')](_0x3690('0x7b'),_0x5e5de9);throw _0x5e5de9;});}return _0xdd0c80;})[_0x3690('0x20')](respondWithResult(_0x491447,0xc9))[_0x3690('0x17')](handleError(_0x491447,null));};exports[_0x3690('0x7c')]=function(_0x43a473,_0x47652f){return db[_0x3690('0x57')]['findOne']({'where':{'id':_0x43a473[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x47652f,null))[_0x3690('0x20')](function(_0x493c3a){if(_0x493c3a){return _0x493c3a['getImap']();}return null;})[_0x3690('0x20')](respondWithResult(_0x47652f,null))['catch'](handleError(_0x47652f,null));};exports[_0x3690('0x7d')]=function(_0x19f33a,_0xda2180){if(_0x19f33a[_0x3690('0x61')]['id']){delete _0x19f33a[_0x3690('0x61')]['id'];}return db[_0x3690('0x57')][_0x3690('0x65')]({'where':{'id':_0x19f33a['params']['id']}})['then'](handleEntityNotFound(_0xda2180,null))[_0x3690('0x20')](function(_0x30b7cf){if(_0x30b7cf){_0x19f33a[_0x3690('0x61')][_0x3690('0x68')]=_0x30b7cf['id'];return db['MailServerIn'][_0x3690('0x6a')](_0x19f33a[_0x3690('0x61')]);}})['then'](respondWithResult(_0xda2180,null))['catch'](handleError(_0xda2180,null));};exports['removeImap']=function(_0xe69255,_0x48c453){return db[_0x3690('0x57')]['findOne']({'where':{'id':_0xe69255[_0x3690('0x5e')]['id']}})['then'](handleEntityNotFound(_0x48c453,null))['then'](function(_0x291126){if(_0x291126){return _0x291126['setImap'](null);}return null;})[_0x3690('0x20')](respondWithStatusCode(_0x48c453,null))[_0x3690('0x17')](handleError(_0x48c453,null));};exports[_0x3690('0x7e')]=function(_0x1206a2,_0x2af699){return db[_0x3690('0x57')]['findOne']({'where':{'id':_0x1206a2[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x2af699,null))[_0x3690('0x20')](function(_0x1e0b4e){if(_0x1e0b4e){return _0x1e0b4e[_0x3690('0x7e')]();}return null;})[_0x3690('0x20')](respondWithResult(_0x2af699,null))['catch'](handleError(_0x2af699,null));};exports['addSmtp']=function(_0xe00209,_0x5548ea){if(_0xe00209[_0x3690('0x61')]['id']){delete _0xe00209['body']['id'];}return db['MailAccount'][_0x3690('0x65')]({'where':{'id':_0xe00209['params']['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x5548ea,null))[_0x3690('0x20')](function(_0x1e99dc){if(_0x1e99dc){_0xe00209[_0x3690('0x61')][_0x3690('0x68')]=_0x1e99dc['id'];return db[_0x3690('0x3e')][_0x3690('0x6a')](_0xe00209[_0x3690('0x61')]);}})[_0x3690('0x20')](respondWithResult(_0x5548ea,null))[_0x3690('0x17')](handleError(_0x5548ea,null));};exports[_0x3690('0x7f')]=function(_0x3e9788,_0x22c82d){return db[_0x3690('0x57')][_0x3690('0x70')]({'where':{'id':_0x3e9788[_0x3690('0x5e')]['id']}})['then'](handleEntityNotFound(_0x22c82d,null))[_0x3690('0x20')](function(_0x86e93e){if(_0x86e93e){return _0x86e93e[_0x3690('0x80')](null);}return null;})[_0x3690('0x20')](respondWithStatusCode(_0x22c82d,null))[_0x3690('0x17')](handleError(_0x22c82d,null));};exports[_0x3690('0x81')]=function(_0x4d6a77,_0x412b0d){return db[_0x3690('0x82')][_0x3690('0x65')]({'where':{'id':_0x4d6a77[_0x3690('0x5e')]['id']}})['then'](handleEntityNotFound(_0x412b0d,null))[_0x3690('0x20')](function(_0x1eaecd){if(_0x1eaecd){return _0x1eaecd[_0x3690('0x81')](_0x4d6a77[_0x3690('0x61')][_0x3690('0x6d')],_[_0x3690('0x83')](_0x4d6a77['body'],[_0x3690('0x6d'),'id'])||{});}})[_0x3690('0x20')](respondWithResult(_0x412b0d,null))['catch'](handleError(_0x412b0d,null));};exports[_0x3690('0x84')]=function(_0x5be12b,_0x5b6596){var _0xe5813e={'raw':![],'where':{}};var _0x5d9372={};var _0x152240={'count':0x0,'rows':[]};return db[_0x3690('0x57')][_0x3690('0x70')]({'where':{'id':_0x5be12b[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x5b6596,null))['then'](function(_0x563ba3){if(_0x563ba3){_0x5d9372['model']=_[_0x3690('0x47')](db[_0x3690('0x82')]['rawAttributes']);_0x5d9372['query']=_['keys'](_0x5be12b[_0x3690('0x49')]);_0x5d9372[_0x3690('0x48')]=_[_0x3690('0x4b')](_0x5d9372[_0x3690('0x46')],_0x5d9372[_0x3690('0x49')]);_0xe5813e[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0x5d9372[_0x3690('0x46')],qs[_0x3690('0x4c')](_0x5be12b[_0x3690('0x49')][_0x3690('0x4c')]));_0xe5813e['attributes']=_0xe5813e[_0x3690('0x4a')][_0x3690('0x60')]?_0xe5813e[_0x3690('0x4a')]:_0x5d9372['model'];if(!_0x5be12b[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0xe5813e[_0x3690('0x1d')]=qs[_0x3690('0x1d')](_0x5be12b['query'][_0x3690('0x1d')]);_0xe5813e[_0x3690('0x1b')]=qs[_0x3690('0x1b')](_0x5be12b['query'][_0x3690('0x1b')]);}_0xe5813e[_0x3690('0x4f')]=qs[_0x3690('0x72')](_0x5be12b[_0x3690('0x49')][_0x3690('0x72')]);_0xe5813e['where']=qs[_0x3690('0x48')](_['pick'](_0x5be12b[_0x3690('0x49')],_0x5d9372[_0x3690('0x48')]));_0xe5813e[_0x3690('0x50')][_0x3690('0x68')]=_0x563ba3['id'];if(_0x5be12b[_0x3690('0x49')][_0x3690('0x52')]){_0xe5813e[_0x3690('0x50')]=_[_0x3690('0x55')](_0xe5813e[_0x3690('0x50')],{'$or':_[_0x3690('0x42')](_0xe5813e['attributes'],function(_0x356d55){var _0x594f56={};_0x594f56[_0x356d55]={'$like':'%'+_0x5be12b['query'][_0x3690('0x52')]+'%'};return _0x594f56;})});}_0xe5813e=_['merge']({},_0xe5813e,_0x5be12b[_0x3690('0x56')]);return db[_0x3690('0x82')][_0x3690('0x58')]({'where':_0xe5813e[_0x3690('0x50')]})['then'](function(_0x3c5fbf){_0x152240[_0x3690('0x58')]=_0x3c5fbf;if(_0x5be12b[_0x3690('0x49')]['includeAll']){_0xe5813e[_0x3690('0x5a')]=[{'model':db['CmContact'],'as':_0x3690('0x85'),'required':![]},{'model':db['User'],'as':_0x3690('0x86'),'attributes':['name',_0x3690('0x87'),_0x3690('0x88')],'required':![]},{'model':db[_0x3690('0x89')],'as':_0x3690('0x8a'),'attributes':['id',_0x3690('0x27'),_0x3690('0x8b')],'where':_0x5be12b[_0x3690('0x49')][_0x3690('0x8c')]?{'id':_0x5be12b[_0x3690('0x49')][_0x3690('0x8c')]}:undefined,'required':_0x5be12b[_0x3690('0x49')]['tag']?!![]:![]}];}return db[_0x3690('0x82')][_0x3690('0x5b')](_0xe5813e);})[_0x3690('0x20')](function(_0x5763ab){_0x152240[_0x3690('0x5c')]=_0x5763ab;return _0x152240;});}})[_0x3690('0x20')](respondWithFilteredResult(_0x5b6596,_0xe5813e))[_0x3690('0x17')](handleError(_0x5b6596,null));};exports[_0x3690('0x8d')]=function addApplications(_0x32a693,_0x1b178f){var _0x26577f=_0x32a693[_0x3690('0x5e')]['id'];var _0x441967=_0x32a693['body'];var _0x26c71d=0xc8;var _0x42ab98=null;return db[_0x3690('0x8e')][_0x3690('0x8f')]({'isolationLevel':db['sequelize'][_0x3690('0x90')][_0x3690('0x91')][_0x3690('0x92')]},function(_0x5cedfd){return db[_0x3690('0x57')][_0x3690('0x70')]({'where':{'id':_0x26577f},'transaction':_0x5cedfd})[_0x3690('0x20')](function(_0x1ae674){if(_0x1ae674){return db[_0x3690('0x93')][_0x3690('0x21')]({'where':{'MailAccountId':_0x26577f},'transaction':_0x5cedfd})[_0x3690('0x20')](function(){var _0x1187f8=_['map'](_0x441967,function(_0x487354){_0x487354['MailAccountId']=_0x26577f;return _0x487354;});return db['MailApplication'][_0x3690('0x94')](_0x1187f8,{'transaction':_0x5cedfd});});}else{_0x26c71d=0x194;_0x42ab98=[];}});})[_0x3690('0x20')](function(){if(_0x26c71d!==0x194){return db[_0x3690('0x93')][_0x3690('0x95')]({'where':{'MailAccountId':_0x26577f},'order':'priority'})['then'](function(_0x10bc8c){_0x42ab98=_0x10bc8c;});}})[_0x3690('0x17')](function(_0x30fcf3){_0x26c71d=0x1f4;logger[_0x3690('0x13')](_0x30fcf3['stack']);if(_0x30fcf3[_0x3690('0x27')]){delete _0x30fcf3[_0x3690('0x27')];}_0x42ab98=_0x30fcf3;})['finally'](function(){if(_0x42ab98===null){_0x1b178f[_0x3690('0x25')](_0x26c71d);}else{if(_0x26c71d===0x1f4){_0x1b178f[_0x3690('0x18')](_0x26c71d)[_0x3690('0x96')](_0x42ab98);}else{_0x1b178f['status'](_0x26c71d)[_0x3690('0x1a')](_0x42ab98);}}});};exports[_0x3690('0x97')]=function(_0x400063,_0x17fc81){var _0x1fc104={};var _0x35664f={};var _0x5822b2;var _0xb3b813;return db['MailAccount'][_0x3690('0x70')]({'where':{'id':_0x400063[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x17fc81,null))[_0x3690('0x20')](function(_0x3d0953){if(_0x3d0953){_0x5822b2=_0x3d0953;_0x35664f[_0x3690('0x46')]=_['keys'](db[_0x3690('0x93')][_0x3690('0x43')]);_0x35664f[_0x3690('0x49')]=_[_0x3690('0x47')](_0x400063[_0x3690('0x49')]);_0x35664f[_0x3690('0x48')]=_[_0x3690('0x4b')](_0x35664f[_0x3690('0x46')],_0x35664f['query']);_0x1fc104[_0x3690('0x4a')]=_['intersection'](_0x35664f[_0x3690('0x46')],qs['fields'](_0x400063['query'][_0x3690('0x4c')]));_0x1fc104['attributes']=_0x1fc104['attributes'][_0x3690('0x60')]?_0x1fc104[_0x3690('0x4a')]:_0x35664f[_0x3690('0x46')];_0x1fc104[_0x3690('0x4f')]=qs['sort'](_0x400063['query'][_0x3690('0x72')]);_0x1fc104[_0x3690('0x50')]=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x400063['query'],_0x35664f[_0x3690('0x48')]));if(_0x400063[_0x3690('0x49')][_0x3690('0x52')]){_0x1fc104['where']=_[_0x3690('0x55')](_0x1fc104['where'],{'$or':_['map'](_0x1fc104[_0x3690('0x4a')],function(_0x5d9dc9){var _0x333bbd={};_0x333bbd[_0x5d9dc9]={'$like':'%'+_0x400063[_0x3690('0x49')][_0x3690('0x52')]+'%'};return _0x333bbd;})});}_0x1fc104=_['merge']({},_0x1fc104,_0x400063[_0x3690('0x56')]);return _0x5822b2['getApplications'](_0x1fc104);}})[_0x3690('0x20')](function(_0x4ace53){if(_0x4ace53){_0xb3b813=_0x4ace53['length'];if(!_0x400063[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0x1fc104[_0x3690('0x1d')]=qs['limit'](_0x400063[_0x3690('0x49')][_0x3690('0x1d')]);_0x1fc104['offset']=qs[_0x3690('0x1b')](_0x400063[_0x3690('0x49')][_0x3690('0x1b')]);}return _0x5822b2[_0x3690('0x97')](_0x1fc104);}})[_0x3690('0x20')](function(_0x52fe21){if(_0x52fe21){return _0x52fe21?{'count':_0xb3b813,'rows':_0x52fe21}:null;}})[_0x3690('0x20')](respondWithResult(_0x17fc81,null))[_0x3690('0x17')](handleError(_0x17fc81,null));};exports[_0x3690('0x98')]=function(_0x340db6,_0x36bd4e){var _0x5ef195={'raw':!![],'where':{}};var _0x455d1c={};var _0x2162a6={'count':0x0,'rows':[]};return db[_0x3690('0x57')]['findOne']({'where':{'id':_0x340db6['params']['id']}})['then'](handleEntityNotFound(_0x36bd4e,null))[_0x3690('0x20')](function(_0x24dd82){if(_0x24dd82){_0x455d1c[_0x3690('0x46')]=_[_0x3690('0x47')](db['MailMessage'][_0x3690('0x43')]);_0x455d1c[_0x3690('0x49')]=_[_0x3690('0x47')](_0x340db6['query']);_0x455d1c['filters']=_[_0x3690('0x4b')](_0x455d1c[_0x3690('0x46')],_0x455d1c['query']);_0x5ef195[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0x455d1c['model'],qs[_0x3690('0x4c')](_0x340db6[_0x3690('0x49')][_0x3690('0x4c')]));_0x5ef195[_0x3690('0x4a')]=_0x5ef195[_0x3690('0x4a')][_0x3690('0x60')]?_0x5ef195[_0x3690('0x4a')]:_0x455d1c['model'];if(!_0x340db6[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0x5ef195[_0x3690('0x1d')]=qs[_0x3690('0x1d')](_0x340db6[_0x3690('0x49')][_0x3690('0x1d')]);_0x5ef195['offset']=qs[_0x3690('0x1b')](_0x340db6['query'][_0x3690('0x1b')]);}_0x5ef195[_0x3690('0x4f')]=qs['sort'](_0x340db6[_0x3690('0x49')]['sort']);_0x5ef195[_0x3690('0x50')]=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x340db6[_0x3690('0x49')],_0x455d1c['filters']));_0x5ef195['where'][_0x3690('0x68')]=_0x24dd82['id'];if(_0x340db6[_0x3690('0x49')]['filter']){_0x5ef195[_0x3690('0x50')]=_[_0x3690('0x55')](_0x5ef195['where'],{'$or':_[_0x3690('0x42')](_0x5ef195[_0x3690('0x4a')],function(_0x24915a){var _0x5980b5={};_0x5980b5[_0x24915a]={'$like':'%'+_0x340db6[_0x3690('0x49')]['filter']+'%'};return _0x5980b5;})});}if(_0x340db6[_0x3690('0x49')][_0x3690('0x99')]){var _0x77b6f5=_0x340db6[_0x3690('0x49')]['$gte'][_0x3690('0x9a')](',');var _0x1c2f5e={};_0x1c2f5e[_0x77b6f5[0x0]]={'$gte':moment(_0x77b6f5[0x1])['format'](_0x3690('0x9b'))};_0x5ef195['where']=_[_0x3690('0x55')](_0x5ef195[_0x3690('0x50')],_0x1c2f5e);}_0x5ef195=_[_0x3690('0x55')]({},_0x5ef195,_0x340db6[_0x3690('0x56')]);return db['MailMessage']['count']({'where':_0x5ef195[_0x3690('0x50')]})[_0x3690('0x20')](function(_0x25a672){_0x2162a6['count']=_0x25a672;if(_0x340db6[_0x3690('0x49')][_0x3690('0x59')]){_0x5ef195['include']=[{'all':!![]}];}return db[_0x3690('0x9c')]['findAll'](_0x5ef195);})[_0x3690('0x20')](function(_0x552628){if(_0x340db6[_0x3690('0x49')]['inlineCss']===_0x3690('0x9d')){for(var _0x3c92cc=0x0;_0x3c92cc<_0x552628[_0x3690('0x60')];_0x3c92cc++){_0x552628[_0x3c92cc][_0x3690('0x61')]=juice(_0x552628[_0x3c92cc][_0x3690('0x61')]);}}_0x2162a6['rows']=_0x552628;return _0x2162a6;});}})[_0x3690('0x20')](respondWithFilteredResult(_0x36bd4e,_0x5ef195))[_0x3690('0x17')](handleError(_0x36bd4e,null));};exports[_0x3690('0x96')]=function(_0x7d89c5,_0x4bc6d1){var _0x8617fb,_0x592dfe={},_0x5d1ad5;if(_0x7d89c5[_0x3690('0x61')]['to']){_0x5d1ad5=_0x7d89c5[_0x3690('0x61')]['to']['split'](',')[0x0];}return db['MailAccount'][_0x3690('0x65')]({'where':{'id':_0x7d89c5[_0x3690('0x5e')]['id']},'include':[{'model':db[_0x3690('0x9e')],'as':_0x3690('0x9f'),'include':[{'model':db[_0x3690('0xa0')],'as':_0x3690('0xa1'),'where':{'email':_0x5d1ad5},'limit':0x1,'order':[['updatedAt',_0x3690('0xa2')]]}]},{'model':db[_0x3690('0x3e')],'as':_0x3690('0x3f'),'raw':!![],'include':[{'model':db[_0x3690('0xa3')],'as':_0x3690('0xa3'),'raw':!![]}]}]})[_0x3690('0x20')](handleEntityNotFound(_0x4bc6d1,null))[_0x3690('0x20')](function(_0x2c8a02){if(!_0x2c8a02)return;_0x8617fb=_0x2c8a02;if(!_0x2c8a02[_0x3690('0x3f')])throw new Error(_0x3690('0xa4'));if(_[_0x3690('0x74')](_0x7d89c5[_0x3690('0x61')]['from'])){_0x7d89c5[_0x3690('0x61')][_0x3690('0xa5')]=util['format']('%s\x20<%s>',_0x2c8a02[_0x3690('0x27')],_0x2c8a02[_0x3690('0xa6')]||_0x2c8a02[_0x3690('0x3f')][_0x3690('0x32')]);}if(_0x7d89c5[_0x3690('0x61')][_0x3690('0xa7')]&&_0x7d89c5[_0x3690('0x61')]['attachments'][_0x3690('0x60')]){for(var _0x339f03=0x0;_0x339f03<_0x7d89c5[_0x3690('0x61')][_0x3690('0xa7')][_0x3690('0x60')];_0x339f03+=0x1){_0x7d89c5['body'][_0x3690('0xa7')][_0x339f03]={'filename':_0x7d89c5[_0x3690('0x61')]['attachments'][_0x339f03][_0x3690('0x27')],'path':path[_0x3690('0xa8')](config[_0x3690('0xa9')],'server/files/attachments',_0x7d89c5[_0x3690('0x61')][_0x3690('0xa7')][_0x339f03]['basename'])};}}var _0x2879b2=_0x2c8a02['getSmtpOptions']();return respondWithRpcPromise(_0x3690('0xaa'),'sendMail',{'account':_0x2879b2,'message':_0x7d89c5[_0x3690('0x61')]});})[_0x3690('0x20')](function(_0x441150){if(!_0x441150)return;_0x592dfe=_0x441150;if(!_0x8617fb[_0x3690('0x9f')])throw new Error('List\x20not\x20found');if(_0x8617fb[_0x3690('0x9f')][_0x3690('0xa1')][_0x3690('0x60')])return _0x8617fb[_0x3690('0x9f')][_0x3690('0xa1')][0x0];return db[_0x3690('0xa0')]['create'](_[_0x3690('0x7')](_0x7d89c5[_0x3690('0x61')],{'firstName':_0x7d89c5[_0x3690('0x61')]['to'],'email':_0x7d89c5[_0x3690('0x61')]['to'],'phone':_0x7d89c5['body']['to'],'ListId':_0x8617fb['ListId']}));})[_0x3690('0x20')](function(_0x113d32){if(!_0x113d32)return;var _0x42048a={'UserId':_0x7d89c5[_0x3690('0x32')]['id'],'ContactId':_0x113d32['id'],'MailAccountId':_0x8617fb['id'],'inReplyTo':_0x592dfe[_0x3690('0xab')],'to':_0x7d89c5[_0x3690('0x61')]['from'],'cc':_0x7d89c5[_0x3690('0x61')]['cc'],'subject':_0x7d89c5[_0x3690('0x61')][_0x3690('0xac')],'attach':_0x7d89c5[_0x3690('0x61')]['attach'],'firstMsgDirection':'out','lastMsgAt':moment()[_0x3690('0xad')](_0x3690('0x9b')),'lastMsgDirection':'out','Messages':[_[_0x3690('0x55')](_0x7d89c5[_0x3690('0x61')],{'messageId':_0x592dfe[_0x3690('0xab')],'sentAt':moment()['format'](_0x3690('0x9b')),'read':!![],'MailAccountId':_0x8617fb['id'],'UserId':_0x7d89c5['user']['id'],'ContactId':_0x113d32['id']})]};if(_0x7d89c5['body'][_0x3690('0xae')]){_0x42048a=_[_0x3690('0x55')](_0x42048a,_0x7d89c5[_0x3690('0x61')][_0x3690('0xae')]);}return db[_0x3690('0x82')]['create'](_0x42048a,{'include':[{'model':db['MailMessage'],'as':_0x3690('0xaf')}]});})[_0x3690('0x20')](respondWithResult(_0x4bc6d1,null))['catch'](handleError(_0x4bc6d1,null));};exports['verifySmtp']=function(_0x4a5cb6,_0x498657){return db[_0x3690('0x57')][_0x3690('0x65')]({'where':{'id':_0x4a5cb6[_0x3690('0x5e')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x3690('0x3f'),'raw':!![],'include':[{'model':db[_0x3690('0xa3')],'as':_0x3690('0xa3'),'raw':!![]}]}]})[_0x3690('0x20')](handleEntityNotFound(_0x498657,null))[_0x3690('0x20')](function(_0x548e30){if(!_0x548e30[_0x3690('0x3f')])return;var _0xf10a68=_0x548e30[_0x3690('0xb0')]();return respondWithRpcPromise(_0x3690('0xb1'),_0x3690('0xb2'),{'account':_0xf10a68});})[_0x3690('0x20')](respondWithResult(_0x498657,null))[_0x3690('0x17')](handleError(_0x498657,null));};exports[_0x3690('0x21')]=function(_0x2d6f61,_0x130173){return db['MailAccount'][_0x3690('0x65')]({'where':{'id':_0x2d6f61[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x130173,null))[_0x3690('0x20')](function(_0x4a3dc9){if(_0x4a3dc9&&_0x4a3dc9[_0x3690('0x3a')]){throw new db['Sequelize'][(_0x3690('0xb3'))](_0x3690('0xb4'));}return _0x4a3dc9;})[_0x3690('0x20')](removeEntity(_0x130173,null))[_0x3690('0x17')](handleError(_0x130173,null));};exports[_0x3690('0xb5')]=function(_0x585616,_0x259089){return db[_0x3690('0x57')]['find']({'where':{'id':_0x585616[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x259089,null))[_0x3690('0x20')](function(_0x3da4e6){if(_0x3da4e6){return _0x3da4e6['addAgents'](_0x585616[_0x3690('0x61')]['ids'],_['omit'](_0x585616[_0x3690('0x61')],[_0x3690('0x6d'),'id'])||{})['spread'](function(_0x565667){for(var _0x1bad1e=0x0;_0x1bad1e<_0x585616[_0x3690('0x61')][_0x3690('0x6d')][_0x3690('0x60')];_0x1bad1e+=0x1){socket[_0x3690('0xb6')](_0x3690('0xb7'),{'UserId':Number(_0x585616[_0x3690('0x61')][_0x3690('0x6d')][_0x1bad1e]),'MailAccountId':Number(_0x585616[_0x3690('0x5e')]['id'])});}return _0x565667;});}})['then'](respondWithResult(_0x259089,null))[_0x3690('0x17')](handleError(_0x259089,null));};exports[_0x3690('0xb8')]=function(_0x12a897,_0x55e769){return db[_0x3690('0x57')]['find']({'where':{'id':_0x12a897[_0x3690('0x5e')]['id']}})[_0x3690('0x20')](handleEntityNotFound(_0x55e769,null))[_0x3690('0x20')](function(_0xf1f87e){if(_0xf1f87e){return _0xf1f87e[_0x3690('0xb8')](_0x12a897[_0x3690('0x49')][_0x3690('0x6d')])[_0x3690('0x20')](function(){if(_[_0x3690('0xb9')](_0x12a897[_0x3690('0x49')][_0x3690('0x6d')])){for(var _0x201f9d=0x0;_0x201f9d<_0x12a897['query'][_0x3690('0x6d')][_0x3690('0x60')];_0x201f9d+=0x1){socket[_0x3690('0xb6')](_0x3690('0xba'),{'UserId':Number(_0x12a897[_0x3690('0x49')][_0x3690('0x6d')][_0x201f9d]),'MailAccountId':Number(_0x12a897[_0x3690('0x5e')]['id'])});}}else{socket[_0x3690('0xb6')](_0x3690('0xba'),{'UserId':Number(_0x12a897[_0x3690('0x49')][_0x3690('0x6d')]),'MailAccountId':Number(_0x12a897[_0x3690('0x5e')]['id'])});}});}})['then'](respondWithStatusCode(_0x55e769,null))[_0x3690('0x17')](handleError(_0x55e769,null));};exports['getAgents']=function(_0x13d969,_0x1c00ab){var _0x2a6544={};var _0xf6f559={};var _0x23fc53;var _0x2529fc;return db[_0x3690('0x57')][_0x3690('0x70')]({'where':{'id':_0x13d969[_0x3690('0x5e')]['id']}})['then'](handleEntityNotFound(_0x1c00ab,null))[_0x3690('0x20')](function(_0x35ed79){if(_0x35ed79){_0x23fc53=_0x35ed79;_0xf6f559[_0x3690('0x46')]=_[_0x3690('0x47')](db[_0x3690('0xbb')][_0x3690('0x43')]);_0xf6f559['query']=_[_0x3690('0x47')](_0x13d969[_0x3690('0x49')]);_0xf6f559[_0x3690('0x48')]=_[_0x3690('0x4b')](_0xf6f559['model'],_0xf6f559[_0x3690('0x49')]);_0x2a6544[_0x3690('0x4a')]=_[_0x3690('0x4b')](_0xf6f559[_0x3690('0x46')],qs[_0x3690('0x4c')](_0x13d969[_0x3690('0x49')][_0x3690('0x4c')]));_0x2a6544[_0x3690('0x4a')]=_0x2a6544[_0x3690('0x4a')][_0x3690('0x60')]?_0x2a6544[_0x3690('0x4a')]:_0xf6f559['model'];_0x2a6544['order']=qs[_0x3690('0x72')](_0x13d969[_0x3690('0x49')][_0x3690('0x72')]);_0x2a6544[_0x3690('0x50')]=qs[_0x3690('0x48')](_[_0x3690('0x51')](_0x13d969[_0x3690('0x49')],_0xf6f559[_0x3690('0x48')]));if(_0x13d969[_0x3690('0x49')][_0x3690('0x52')]){_0x2a6544[_0x3690('0x50')]=_['merge'](_0x2a6544['where'],{'$or':_[_0x3690('0x42')](_0x2a6544[_0x3690('0x4a')],function(_0x472aa0){var _0xdf3de8={};_0xdf3de8[_0x472aa0]={'$like':'%'+_0x13d969['query']['filter']+'%'};return _0xdf3de8;})});}_0x2a6544=_['merge']({},_0x2a6544,_0x13d969['options']);return _0x23fc53[_0x3690('0xbc')](_0x2a6544);}})[_0x3690('0x20')](function(_0x4c2321){if(_0x4c2321){_0x2529fc=_0x4c2321[_0x3690('0x60')];if(!_0x13d969[_0x3690('0x49')][_0x3690('0x4d')](_0x3690('0x4e'))){_0x2a6544['limit']=qs['limit'](_0x13d969[_0x3690('0x49')][_0x3690('0x1d')]);_0x2a6544['offset']=qs['offset'](_0x13d969['query'][_0x3690('0x1b')]);}return _0x23fc53[_0x3690('0xbc')](_0x2a6544);}})[_0x3690('0x20')](function(_0x4bdb9a){if(_0x4bdb9a){return _0x4bdb9a?{'count':_0x2529fc,'rows':_0x4bdb9a}:null;}})[_0x3690('0x20')](respondWithResult(_0x1c00ab,null))[_0x3690('0x17')](handleError(_0x1c00ab,null));};