Built motion from commit da617fac.|2.6.6
[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 _0xdfb8=['format','Interaction','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','api','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','register','http','request','then','info','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','MailAccount,\x20%s,\x20%s','result','catch','sendStatus','status','end','offset','undefined','limit','count','set','json','update','destroy','get','stack','name','yahoo','hotmail','imap-mail.outlook.com','outlook365','Unknown\x20email\x20service\x20provider','gmail','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','show','params','options','find','body','custom','provider','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','sort','removeDispositions','ids','CannedAnswer','getAnswers','removeAnswers','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','send','getApplications','getMessages','MailMessage','$gte','split','inlineCss','true','List','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','basename','getSmtpOptions','SendMail','sendMail','Contacts','messageId','attach','out','YYYY-MM-DD\x20HH:mm:ss'];(function(_0x2637ac,_0x377857){var _0x4a5758=function(_0x5d5043){while(--_0x5d5043){_0x2637ac['push'](_0x2637ac['shift']());}};_0x4a5758(++_0x377857);}(_0xdfb8,0x192));var _0x8dfb=function(_0x45dbe3,_0xd2bf96){_0x45dbe3=_0x45dbe3-0x0;var _0x1e71cf=_0xdfb8[_0x45dbe3];return _0x1e71cf;};'use strict';var moment=require(_0x8dfb('0x0'));var BPromise=require(_0x8dfb('0x1'));var util=require(_0x8dfb('0x2'));var path=require(_0x8dfb('0x3'));var _=require(_0x8dfb('0x4'));var juice=require('juice');var Redis=require(_0x8dfb('0x5'));var qs=require(_0x8dfb('0x6'));var logger=require('../../config/logger')(_0x8dfb('0x7'));var config=require('../../config/environment');var db=require(_0x8dfb('0x8'))['db'];config[_0x8dfb('0x9')]=_[_0x8dfb('0xa')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x8dfb('0xb'))(new Redis(config['redis']));require(_0x8dfb('0xc'))[_0x8dfb('0xd')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x8dfb('0xe')]({'port':0x232b});function respondWithRpcPromise(_0x2e14da,_0x834a23,_0x3307f7,_0x544438){return new BPromise(function(_0x3aca8b,_0x1dd552){var _0x25c1df=_0x544438||client;return _0x25c1df[_0x8dfb('0xf')](_0x2e14da,_0x3307f7)[_0x8dfb('0x10')](function(_0x299dc3){logger[_0x8dfb('0x11')]('MailAccount,\x20%s,\x20%s',_0x834a23,_0x8dfb('0x12'));logger['debug'](_0x8dfb('0x13'),_0x834a23,_0x8dfb('0x12'),JSON[_0x8dfb('0x14')](_0x299dc3));if(_0x299dc3[_0x8dfb('0x15')]){if(_0x299dc3['error']['code']===0x1f4){logger[_0x8dfb('0x15')]('MailAccount,\x20%s,\x20%s',_0x834a23,_0x299dc3[_0x8dfb('0x15')][_0x8dfb('0x16')]);return _0x1dd552(_0x299dc3[_0x8dfb('0x15')]['message']);}logger[_0x8dfb('0x15')](_0x8dfb('0x17'),_0x834a23,_0x299dc3[_0x8dfb('0x15')][_0x8dfb('0x16')]);return _0x3aca8b(_0x299dc3['error'][_0x8dfb('0x16')]);}else{logger['info']('MailAccount,\x20%s,\x20%s',_0x834a23,_0x8dfb('0x12'));_0x3aca8b(_0x299dc3[_0x8dfb('0x18')][_0x8dfb('0x16')]);}})[_0x8dfb('0x19')](function(_0x30ec9b){logger[_0x8dfb('0x15')](_0x8dfb('0x17'),_0x834a23,_0x30ec9b);_0x1dd552(_0x30ec9b);});});}function respondWithStatusCode(_0x5eca1b,_0x418e9a){_0x418e9a=_0x418e9a||0xcc;return function(_0x41689e){if(_0x41689e){return _0x5eca1b[_0x8dfb('0x1a')](_0x418e9a);}return _0x5eca1b[_0x8dfb('0x1b')](_0x418e9a)[_0x8dfb('0x1c')]();};}function respondWithResult(_0x102743,_0x2df391){_0x2df391=_0x2df391||0xc8;return function(_0x5b5b10){if(_0x5b5b10){return _0x102743[_0x8dfb('0x1b')](_0x2df391)['json'](_0x5b5b10);}};}function respondWithFilteredResult(_0x19f109,_0x5aecfa){return function(_0x3ffdcc){if(_0x3ffdcc){var _0x585aa8=typeof _0x5aecfa[_0x8dfb('0x1d')]===_0x8dfb('0x1e')&&typeof _0x5aecfa[_0x8dfb('0x1f')]===_0x8dfb('0x1e');var _0x91a2cb=_0x3ffdcc[_0x8dfb('0x20')];var _0x290d91=_0x585aa8?0x0:_0x5aecfa[_0x8dfb('0x1d')];var _0x372f28=_0x585aa8?_0x3ffdcc['count']:_0x5aecfa[_0x8dfb('0x1d')]+_0x5aecfa[_0x8dfb('0x1f')];var _0x5a65b1;if(_0x372f28>=_0x91a2cb){_0x372f28=_0x91a2cb;_0x5a65b1=0xc8;}else{_0x5a65b1=0xce;}_0x19f109[_0x8dfb('0x1b')](_0x5a65b1);return _0x19f109[_0x8dfb('0x21')]('Content-Range',_0x290d91+'-'+_0x372f28+'/'+_0x91a2cb)[_0x8dfb('0x22')](_0x3ffdcc);}return null;};}function saveUpdates(_0x2ec343){return function(_0x4e590d){if(_0x4e590d){return _0x4e590d[_0x8dfb('0x23')](_0x2ec343)[_0x8dfb('0x10')](function(_0x379f0f){return _0x379f0f;});}return null;};}function removeEntity(_0x435322){return function(_0xe3d615){if(_0xe3d615){return _0xe3d615[_0x8dfb('0x24')]()[_0x8dfb('0x10')](function(){var _0x4d30e1=_0xe3d615[_0x8dfb('0x25')]({'plain':!![]});var _0x58a6b2='MailAccounts';return db['UserProfileResource'][_0x8dfb('0x24')]({'where':{'type':_0x58a6b2,'resourceId':_0x4d30e1['id']}})[_0x8dfb('0x10')](function(){return _0xe3d615;});})[_0x8dfb('0x10')](function(){_0x435322['status'](0xcc)[_0x8dfb('0x1c')]();});}};}function handleEntityNotFound(_0x4598ac){return function(_0xf0e0c7){if(!_0xf0e0c7){_0x4598ac[_0x8dfb('0x1a')](0x194);}return _0xf0e0c7;};}function handleError(_0x1a7f7,_0x433ebf){_0x433ebf=_0x433ebf||0x1f4;return function(_0x4bf98a){logger[_0x8dfb('0x15')](_0x4bf98a[_0x8dfb('0x26')]);if(_0x4bf98a[_0x8dfb('0x27')]){delete _0x4bf98a['name'];}_0x1a7f7[_0x8dfb('0x1b')](_0x433ebf)['send'](_0x4bf98a);};}function getImapHost(_0x3ac8cc){switch(_0x3ac8cc){case'gmail':return'imap.gmail.com';case _0x8dfb('0x28'):return'imap.mail.yahoo.com';case _0x8dfb('0x29'):return _0x8dfb('0x2a');case _0x8dfb('0x2b'):return'outlook.office365.com';}throw new Error(_0x8dfb('0x2c'),_0x3ac8cc);}function getSmtpHost(_0x514d41){switch(_0x514d41){case _0x8dfb('0x2d'):return _0x8dfb('0x2e');case _0x8dfb('0x28'):return _0x8dfb('0x2f');case _0x8dfb('0x29'):return _0x8dfb('0x30');case _0x8dfb('0x2b'):return'smtp.office365.com';}throw new Error(_0x8dfb('0x2c'),_0x514d41);}function getAuthenticationOptions(_0x241a36,_0x1c6931){var _0x109d67={};var _0x498bc4={};if(_0x241a36){_0x109d67[_0x8dfb('0x31')]=_0x498bc4[_0x8dfb('0x31')]=_0x1c6931[_0x8dfb('0x32')];_0x109d67[_0x8dfb('0x33')]=_0x498bc4[_0x8dfb('0x34')]=_0x1c6931[_0x8dfb('0x33')];if(_0x1c6931[_0x8dfb('0x35')]){_0x109d67[_0x8dfb('0x35')]=_0x498bc4[_0x8dfb('0x35')]=!![];_0x109d67[_0x8dfb('0x36')]=_0x498bc4[_0x8dfb('0x36')]=_0x1c6931[_0x8dfb('0x36')];_0x109d67[_0x8dfb('0x33')]=_0x498bc4[_0x8dfb('0x34')]=null;}else{_0x109d67[_0x8dfb('0x36')]=_0x498bc4[_0x8dfb('0x36')]=null;}_0x109d67[_0x8dfb('0x37')]=getImapHost(_0x241a36);_0x109d67[_0x8dfb('0x38')]=0x3e1;_0x498bc4[_0x8dfb('0x37')]=getSmtpHost(_0x241a36);_0x498bc4['port']=0x24b;_0x498bc4[_0x8dfb('0x39')]=![];_0x109d67['service']=_0x498bc4[_0x8dfb('0x3a')]=null;}else{if(_0x1c6931[_0x8dfb('0x3b')]){_0x109d67[_0x8dfb('0x31')]=_0x498bc4[_0x8dfb('0x31')]=_0x1c6931[_0x8dfb('0x32')];_0x109d67[_0x8dfb('0x33')]=_0x498bc4[_0x8dfb('0x34')]=_0x1c6931['password'];}else{_0x109d67[_0x8dfb('0x3b')]=_0x498bc4['authentication']=![];_0x109d67[_0x8dfb('0x31')]=_0x498bc4[_0x8dfb('0x31')]=null;_0x109d67['password']=_0x498bc4[_0x8dfb('0x34')]=null;}_0x109d67[_0x8dfb('0x37')]=_0x1c6931[_0x8dfb('0x3c')][_0x8dfb('0x37')];_0x109d67[_0x8dfb('0x38')]=_0x1c6931[_0x8dfb('0x3c')][_0x8dfb('0x38')];_0x498bc4[_0x8dfb('0x37')]=_0x1c6931['Smtp']['host'];_0x498bc4[_0x8dfb('0x38')]=_0x1c6931[_0x8dfb('0x3d')][_0x8dfb('0x38')];}return{'Imap':_0x109d67,'Smtp':_0x498bc4};}exports['index']=function(_0x288eeb,_0x3beea9){var _0x5befd7={'include':[{'model':db[_0x8dfb('0x3e')],'as':_0x8dfb('0x3c')},{'model':db[_0x8dfb('0x3f')],'as':_0x8dfb('0x3d')},{'model':db[_0x8dfb('0x40')],'as':_0x8dfb('0x41')}]},_0x498f97={},_0x2387e0={'count':0x0,'rows':[]};var _0x5128eb=_[_0x8dfb('0x42')](db[_0x8dfb('0x43')][_0x8dfb('0x44')],function(_0x5f43c6){return{'name':_0x5f43c6[_0x8dfb('0x45')],'type':_0x5f43c6[_0x8dfb('0x46')][_0x8dfb('0x47')]};});_0x498f97[_0x8dfb('0x48')]=_[_0x8dfb('0x42')](_0x5128eb,_0x8dfb('0x27'));_0x498f97[_0x8dfb('0x49')]=_[_0x8dfb('0x4a')](_0x288eeb[_0x8dfb('0x49')]);_0x498f97[_0x8dfb('0x4b')]=_['intersection'](_0x498f97[_0x8dfb('0x48')],_0x498f97[_0x8dfb('0x49')]);_0x5befd7['attributes']=_[_0x8dfb('0x4c')](_0x498f97[_0x8dfb('0x48')],qs[_0x8dfb('0x4d')](_0x288eeb[_0x8dfb('0x49')][_0x8dfb('0x4d')]));_0x5befd7[_0x8dfb('0x4e')]=_0x5befd7[_0x8dfb('0x4e')][_0x8dfb('0x4f')]?_0x5befd7[_0x8dfb('0x4e')]:_0x498f97['model'];if(!_0x288eeb[_0x8dfb('0x49')]['hasOwnProperty'](_0x8dfb('0x50'))){_0x5befd7[_0x8dfb('0x1f')]=qs[_0x8dfb('0x1f')](_0x288eeb[_0x8dfb('0x49')]['limit']);_0x5befd7[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x288eeb[_0x8dfb('0x49')][_0x8dfb('0x1d')]);}_0x5befd7[_0x8dfb('0x51')]=qs['sort'](_0x288eeb[_0x8dfb('0x49')]['sort']);_0x5befd7[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x288eeb[_0x8dfb('0x49')],_0x498f97['filters']),_0x5128eb);if(_0x288eeb[_0x8dfb('0x49')]['filter']){_0x5befd7[_0x8dfb('0x52')]=_[_0x8dfb('0x54')](_0x5befd7['where'],{'$or':_[_0x8dfb('0x42')](_0x5128eb,function(_0x968cc6){if(_0x968cc6[_0x8dfb('0x46')]!==_0x8dfb('0x55')){var _0x4b3c2f={};_0x4b3c2f[_0x968cc6['name']]={'$like':'%'+_0x288eeb[_0x8dfb('0x49')][_0x8dfb('0x56')]+'%'};return _0x4b3c2f;}})});}_0x5befd7=_[_0x8dfb('0x54')]({},_0x5befd7,_0x288eeb['options']);var _0x170958={'where':_0x5befd7[_0x8dfb('0x52')]};return db[_0x8dfb('0x43')][_0x8dfb('0x20')](_0x170958)[_0x8dfb('0x10')](function(_0x49e4c0){_0x2387e0['count']=_0x49e4c0;if(_0x288eeb[_0x8dfb('0x49')][_0x8dfb('0x57')]){_0x5befd7[_0x8dfb('0x58')]=[{'all':!![]}];}return db[_0x8dfb('0x43')][_0x8dfb('0x59')](_0x5befd7);})['then'](function(_0x51514d){_0x2387e0[_0x8dfb('0x5a')]=_0x51514d;return _0x2387e0;})[_0x8dfb('0x10')](respondWithFilteredResult(_0x3beea9,_0x5befd7))[_0x8dfb('0x19')](handleError(_0x3beea9,null));};exports[_0x8dfb('0x5b')]=function(_0xdbf6ad,_0x1e4721){var _0x4c3951={'raw':![],'where':{'id':_0xdbf6ad[_0x8dfb('0x5c')]['id']},'include':[{'model':db[_0x8dfb('0x3e')],'as':'Imap'},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x8dfb('0x40')],'as':_0x8dfb('0x41')}]},_0xb5f0ff={};_0xb5f0ff[_0x8dfb('0x48')]=_[_0x8dfb('0x4a')](db[_0x8dfb('0x43')][_0x8dfb('0x44')]);_0xb5f0ff['query']=_[_0x8dfb('0x4a')](_0xdbf6ad[_0x8dfb('0x49')]);_0xb5f0ff[_0x8dfb('0x4b')]=_[_0x8dfb('0x4c')](_0xb5f0ff[_0x8dfb('0x48')],_0xb5f0ff[_0x8dfb('0x49')]);_0x4c3951[_0x8dfb('0x4e')]=_[_0x8dfb('0x4c')](_0xb5f0ff[_0x8dfb('0x48')],qs['fields'](_0xdbf6ad[_0x8dfb('0x49')]['fields']));_0x4c3951[_0x8dfb('0x4e')]=_0x4c3951[_0x8dfb('0x4e')][_0x8dfb('0x4f')]?_0x4c3951[_0x8dfb('0x4e')]:_0xb5f0ff[_0x8dfb('0x48')];if(_0xdbf6ad['query'][_0x8dfb('0x57')]){_0x4c3951[_0x8dfb('0x58')]=[{'all':!![]}];}_0x4c3951=_[_0x8dfb('0x54')]({},_0x4c3951,_0xdbf6ad[_0x8dfb('0x5d')]);return db[_0x8dfb('0x43')][_0x8dfb('0x5e')](_0x4c3951)[_0x8dfb('0x10')](handleEntityNotFound(_0x1e4721,null))['then'](respondWithResult(_0x1e4721,null))[_0x8dfb('0x19')](handleError(_0x1e4721,null));};exports[_0x8dfb('0x23')]=function(_0x5e1257,_0x415b3d){if(_0x5e1257[_0x8dfb('0x5f')]['id']){delete _0x5e1257[_0x8dfb('0x5f')]['id'];}var _0x44b90a=_0x5e1257[_0x8dfb('0x5f')]['provider']===_0x8dfb('0x60')?null:_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x61')];var _0x117351=_0x5e1257['body'][_0x8dfb('0x3c')]||{};var _0x114099=_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3d')]||{};if(_0x44b90a){_0x117351[_0x8dfb('0x37')]=getImapHost(_0x44b90a);_0x117351['port']=0x3e1;_0x114099[_0x8dfb('0x37')]=getSmtpHost(_0x44b90a);_0x114099[_0x8dfb('0x38')]=0x24b;_0x114099[_0x8dfb('0x39')]=![];}if(_0x114099['modernAuthentication']){_0x114099[_0x8dfb('0x39')]=![];}else{_0x114099[_0x8dfb('0x36')]=null;}if(!_0x117351['modernAuthentication'])_0x117351[_0x8dfb('0x36')]=null;_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3c')]=_0x117351;_0x5e1257['body'][_0x8dfb('0x3d')]=_0x114099;return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x5e1257[_0x8dfb('0x5c')]['id']},'include':[{'model':db[_0x8dfb('0x3e')],'as':_0x8dfb('0x3c')},{'model':db[_0x8dfb('0x3f')],'as':'Smtp'},{'model':db[_0x8dfb('0x40')],'as':_0x8dfb('0x41')}]})[_0x8dfb('0x10')](handleEntityNotFound(_0x415b3d,null))[_0x8dfb('0x10')](function(_0x4f0b48){if(!_0x4f0b48)throw new Error(_0x8dfb('0x62'));if(_0x4f0b48[_0x8dfb('0x3a')])delete _0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3c')];return _0x4f0b48;})['then'](saveUpdates(_0x5e1257[_0x8dfb('0x5f')],null))[_0x8dfb('0x10')](function(_0xfe14f1){if(!_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3c')])return _0xfe14f1;return db['MailServerIn'][_0x8dfb('0x23')](_0x5e1257['body']['Imap'],{'where':{'MailAccountId':_0xfe14f1['id']}})['then'](function(){return _0xfe14f1;});})[_0x8dfb('0x10')](function(_0x4596ed){if(!_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3d')])return _0x4596ed;return db['MailServerOut'][_0x8dfb('0x23')](_0x5e1257[_0x8dfb('0x5f')][_0x8dfb('0x3d')],{'where':{'MailAccountId':_0x4596ed['id']}})[_0x8dfb('0x10')](function(){return _0x4596ed;});})[_0x8dfb('0x10')](respondWithResult(_0x415b3d,null))['catch'](handleError(_0x415b3d,null));};exports[_0x8dfb('0x63')]=function(_0x154451,_0x489ed6){return db[_0x8dfb('0x43')][_0x8dfb('0x63')]()[_0x8dfb('0x10')](respondWithResult(_0x489ed6,null))[_0x8dfb('0x19')](handleError(_0x489ed6,null));};exports[_0x8dfb('0x64')]=function(_0x4edc77,_0xb2d399){if(_0x4edc77[_0x8dfb('0x5f')]['id']){delete _0x4edc77[_0x8dfb('0x5f')]['id'];}return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x4edc77[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0xb2d399,null))['then'](function(_0x18070b){if(_0x18070b){_0x4edc77[_0x8dfb('0x5f')][_0x8dfb('0x65')]=_0x18070b['id'];return db[_0x8dfb('0x66')][_0x8dfb('0x67')](_0x4edc77['body']);}})[_0x8dfb('0x10')](respondWithResult(_0xb2d399,null))[_0x8dfb('0x19')](handleError(_0xb2d399,null));};exports[_0x8dfb('0x68')]=function(_0x42d975,_0x27dff0){var _0x5c8b48={'raw':![],'where':{}};var _0x29e855={};var _0x1daf66={'count':0x0,'rows':[]};return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x42d975[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x27dff0,null))['then'](function(_0x4535b3){if(_0x4535b3){_0x29e855[_0x8dfb('0x48')]=_[_0x8dfb('0x4a')](db[_0x8dfb('0x66')][_0x8dfb('0x44')]);_0x29e855[_0x8dfb('0x49')]=_[_0x8dfb('0x4a')](_0x42d975[_0x8dfb('0x49')]);_0x29e855[_0x8dfb('0x4b')]=_[_0x8dfb('0x4c')](_0x29e855[_0x8dfb('0x48')],_0x29e855['query']);_0x5c8b48[_0x8dfb('0x4e')]=_['intersection'](_0x29e855[_0x8dfb('0x48')],qs[_0x8dfb('0x4d')](_0x42d975[_0x8dfb('0x49')][_0x8dfb('0x4d')]));_0x5c8b48[_0x8dfb('0x4e')]=_0x5c8b48[_0x8dfb('0x4e')][_0x8dfb('0x4f')]?_0x5c8b48[_0x8dfb('0x4e')]:_0x29e855[_0x8dfb('0x48')];if(!_0x42d975[_0x8dfb('0x49')][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0x5c8b48[_0x8dfb('0x1f')]=qs[_0x8dfb('0x1f')](_0x42d975['query'][_0x8dfb('0x1f')]);_0x5c8b48[_0x8dfb('0x1d')]=qs['offset'](_0x42d975['query'][_0x8dfb('0x1d')]);}_0x5c8b48[_0x8dfb('0x51')]=qs[_0x8dfb('0x6b')](_0x42d975[_0x8dfb('0x49')][_0x8dfb('0x6b')]);_0x5c8b48['where']=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x42d975['query'],_0x29e855[_0x8dfb('0x4b')]));_0x5c8b48['where'][_0x8dfb('0x65')]=_0x4535b3['id'];if(_0x42d975[_0x8dfb('0x49')]['filter']){_0x5c8b48[_0x8dfb('0x52')]=_[_0x8dfb('0x54')](_0x5c8b48[_0x8dfb('0x52')],{'$or':_[_0x8dfb('0x42')](_0x5c8b48['attributes'],function(_0x3eae93){var _0x382ec1={};_0x382ec1[_0x3eae93]={'$like':'%'+_0x42d975[_0x8dfb('0x49')][_0x8dfb('0x56')]+'%'};return _0x382ec1;})});}_0x5c8b48=_[_0x8dfb('0x54')]({},_0x5c8b48,_0x42d975[_0x8dfb('0x5d')]);return db[_0x8dfb('0x66')][_0x8dfb('0x20')]({'where':_0x5c8b48['where']})[_0x8dfb('0x10')](function(_0x3b045d){_0x1daf66[_0x8dfb('0x20')]=_0x3b045d;if(_0x42d975['query'][_0x8dfb('0x57')]){_0x5c8b48['include']=[{'all':!![]}];}return db[_0x8dfb('0x66')]['findAll'](_0x5c8b48);})['then'](function(_0x23e91e){_0x1daf66['rows']=_0x23e91e;return _0x1daf66;});}})[_0x8dfb('0x10')](respondWithFilteredResult(_0x27dff0,_0x5c8b48))[_0x8dfb('0x19')](handleError(_0x27dff0,null));};exports[_0x8dfb('0x6c')]=function(_0x4cb6e2,_0x399b82){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x4cb6e2[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x399b82,null))[_0x8dfb('0x10')](function(_0x2d9cb1){if(_0x2d9cb1){return _0x2d9cb1['removeDispositions'](_0x4cb6e2[_0x8dfb('0x49')][_0x8dfb('0x6d')]);}})[_0x8dfb('0x10')](respondWithStatusCode(_0x399b82,null))[_0x8dfb('0x19')](handleError(_0x399b82,null));};exports['addAnswer']=function(_0x581d8c,_0xa91c1b){if(_0x581d8c[_0x8dfb('0x5f')]['id']){delete _0x581d8c[_0x8dfb('0x5f')]['id'];}return db['MailAccount'][_0x8dfb('0x5e')]({'where':{'id':_0x581d8c[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0xa91c1b,null))[_0x8dfb('0x10')](function(_0x2c1c0b){if(_0x2c1c0b){_0x581d8c['body']['MailAccountId']=_0x2c1c0b['id'];return db[_0x8dfb('0x6e')][_0x8dfb('0x67')](_0x581d8c[_0x8dfb('0x5f')]);}})['then'](respondWithResult(_0xa91c1b,null))[_0x8dfb('0x19')](handleError(_0xa91c1b,null));};exports[_0x8dfb('0x6f')]=function(_0x1cbf1d,_0x3357e0){var _0x2d86f1={'raw':![],'where':{}};var _0x21c7ec={};var _0x162574={'count':0x0,'rows':[]};return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x1cbf1d[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x3357e0,null))['then'](function(_0x54ba9d){if(_0x54ba9d){_0x21c7ec[_0x8dfb('0x48')]=_[_0x8dfb('0x4a')](db[_0x8dfb('0x6e')][_0x8dfb('0x44')]);_0x21c7ec[_0x8dfb('0x49')]=_[_0x8dfb('0x4a')](_0x1cbf1d['query']);_0x21c7ec[_0x8dfb('0x4b')]=_[_0x8dfb('0x4c')](_0x21c7ec[_0x8dfb('0x48')],_0x21c7ec[_0x8dfb('0x49')]);_0x2d86f1[_0x8dfb('0x4e')]=_[_0x8dfb('0x4c')](_0x21c7ec[_0x8dfb('0x48')],qs[_0x8dfb('0x4d')](_0x1cbf1d[_0x8dfb('0x49')][_0x8dfb('0x4d')]));_0x2d86f1[_0x8dfb('0x4e')]=_0x2d86f1[_0x8dfb('0x4e')]['length']?_0x2d86f1[_0x8dfb('0x4e')]:_0x21c7ec['model'];if(!_0x1cbf1d['query'][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0x2d86f1[_0x8dfb('0x1f')]=qs[_0x8dfb('0x1f')](_0x1cbf1d['query']['limit']);_0x2d86f1[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x1cbf1d[_0x8dfb('0x49')]['offset']);}_0x2d86f1[_0x8dfb('0x51')]=qs['sort'](_0x1cbf1d[_0x8dfb('0x49')][_0x8dfb('0x6b')]);_0x2d86f1[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x1cbf1d['query'],_0x21c7ec[_0x8dfb('0x4b')]));_0x2d86f1[_0x8dfb('0x52')][_0x8dfb('0x65')]=_0x54ba9d['id'];if(_0x1cbf1d['query'][_0x8dfb('0x56')]){_0x2d86f1[_0x8dfb('0x52')]=_['merge'](_0x2d86f1[_0x8dfb('0x52')],{'$or':_['map'](_0x2d86f1[_0x8dfb('0x4e')],function(_0x1747c9){var _0x2b9a20={};_0x2b9a20[_0x1747c9]={'$like':'%'+_0x1cbf1d[_0x8dfb('0x49')]['filter']+'%'};return _0x2b9a20;})});}_0x2d86f1=_[_0x8dfb('0x54')]({},_0x2d86f1,_0x1cbf1d[_0x8dfb('0x5d')]);return db[_0x8dfb('0x6e')][_0x8dfb('0x20')]({'where':_0x2d86f1[_0x8dfb('0x52')]})[_0x8dfb('0x10')](function(_0xbe1d91){_0x162574[_0x8dfb('0x20')]=_0xbe1d91;if(_0x1cbf1d['query'][_0x8dfb('0x57')]){_0x2d86f1[_0x8dfb('0x58')]=[{'all':!![]}];}return db[_0x8dfb('0x6e')]['findAll'](_0x2d86f1);})[_0x8dfb('0x10')](function(_0x48a966){_0x162574[_0x8dfb('0x5a')]=_0x48a966;return _0x162574;});}})[_0x8dfb('0x10')](respondWithFilteredResult(_0x3357e0,_0x2d86f1))[_0x8dfb('0x19')](handleError(_0x3357e0,null));};exports[_0x8dfb('0x70')]=function(_0x36bf8a,_0x2b0d00){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x36bf8a[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x2b0d00,null))[_0x8dfb('0x10')](function(_0x13cf50){if(_0x13cf50){return _0x13cf50[_0x8dfb('0x70')](_0x36bf8a[_0x8dfb('0x49')]['ids']);}})[_0x8dfb('0x10')](respondWithStatusCode(_0x2b0d00,null))[_0x8dfb('0x19')](handleError(_0x2b0d00,null));};exports[_0x8dfb('0x67')]=function(_0x2153e0,_0x5402c6){var _0x30ad07={'name':_0x2153e0['body'][_0x8dfb('0x27')],'key':_0x2153e0[_0x8dfb('0x5f')]['key'],'provider':_0x2153e0['body'][_0x8dfb('0x61')]===_0x8dfb('0x60')?null:_0x2153e0['body']['provider'],'email':_0x2153e0[_0x8dfb('0x5f')][_0x8dfb('0x71')],'ListId':_0x2153e0['body'][_0x8dfb('0x72')],'active':!_[_0x8dfb('0x73')](_0x2153e0[_0x8dfb('0x5f')][_0x8dfb('0x74')])?_0x2153e0[_0x8dfb('0x5f')][_0x8dfb('0x74')]:!![],'description':_0x2153e0[_0x8dfb('0x5f')][_0x8dfb('0x75')]||null};var _0x4b59cf=getAuthenticationOptions(_0x30ad07[_0x8dfb('0x61')],_0x2153e0[_0x8dfb('0x5f')]);_0x30ad07[_0x8dfb('0x3c')]=_0x4b59cf[_0x8dfb('0x3c')];_0x30ad07[_0x8dfb('0x3d')]=_0x4b59cf[_0x8dfb('0x3d')];return db[_0x8dfb('0x43')]['create'](_0x30ad07,{'include':[{'model':db['MailServerOut'],'as':_0x8dfb('0x3d')},{'model':db[_0x8dfb('0x3e')],'as':_0x8dfb('0x3c')}]})[_0x8dfb('0x10')](function(_0x20437c){var _0x18be6e=_0x2153e0[_0x8dfb('0x31')]['get']({'plain':!![]});if(!_0x18be6e)throw new Error(_0x8dfb('0x76'));if(_0x18be6e[_0x8dfb('0x77')]===_0x8dfb('0x31')){var _0x30c259=_0x20437c['get']({'plain':!![]});return db[_0x8dfb('0x78')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x18be6e['userProfileId']},'raw':!![]})['then'](function(_0x2851bd){if(_0x2851bd&&_0x2851bd[_0x8dfb('0x79')]===0x0){return db[_0x8dfb('0x7a')][_0x8dfb('0x67')]({'name':_0x30c259[_0x8dfb('0x27')],'resourceId':_0x30c259['id'],'type':_0x2851bd[_0x8dfb('0x27')],'sectionId':_0x2851bd['id']},{})[_0x8dfb('0x10')](function(){return _0x20437c;});}else{return _0x20437c;}})[_0x8dfb('0x19')](function(_0x772872){logger[_0x8dfb('0x15')](_0x8dfb('0x7b'),_0x772872);throw _0x772872;});}return _0x20437c;})['then'](respondWithResult(_0x5402c6,0xc9))[_0x8dfb('0x19')](handleError(_0x5402c6,null));};exports[_0x8dfb('0x7c')]=function(_0x2cd51f,_0x390323){return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x2cd51f[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x390323,null))[_0x8dfb('0x10')](function(_0x5f9856){if(_0x5f9856){return _0x5f9856['getImap']();}return null;})[_0x8dfb('0x10')](respondWithResult(_0x390323,null))[_0x8dfb('0x19')](handleError(_0x390323,null));};exports[_0x8dfb('0x7d')]=function(_0x1b9e8d,_0x4bddd7){if(_0x1b9e8d['body']['id']){delete _0x1b9e8d[_0x8dfb('0x5f')]['id'];}return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x1b9e8d['params']['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x4bddd7,null))[_0x8dfb('0x10')](function(_0x1ba68b){if(_0x1ba68b){_0x1b9e8d[_0x8dfb('0x5f')][_0x8dfb('0x65')]=_0x1ba68b['id'];return db[_0x8dfb('0x3e')][_0x8dfb('0x67')](_0x1b9e8d[_0x8dfb('0x5f')]);}})['then'](respondWithResult(_0x4bddd7,null))[_0x8dfb('0x19')](handleError(_0x4bddd7,null));};exports[_0x8dfb('0x7e')]=function(_0x5b7be0,_0x1015e4){return db[_0x8dfb('0x43')]['findOne']({'where':{'id':_0x5b7be0[_0x8dfb('0x5c')]['id']}})['then'](handleEntityNotFound(_0x1015e4,null))[_0x8dfb('0x10')](function(_0x580788){if(_0x580788){return _0x580788['setImap'](null);}return null;})[_0x8dfb('0x10')](respondWithStatusCode(_0x1015e4,null))[_0x8dfb('0x19')](handleError(_0x1015e4,null));};exports[_0x8dfb('0x7f')]=function(_0x2a2c4b,_0x2a2d25){return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x2a2c4b[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x2a2d25,null))[_0x8dfb('0x10')](function(_0x25e96c){if(_0x25e96c){return _0x25e96c[_0x8dfb('0x7f')]();}return null;})[_0x8dfb('0x10')](respondWithResult(_0x2a2d25,null))[_0x8dfb('0x19')](handleError(_0x2a2d25,null));};exports[_0x8dfb('0x80')]=function(_0x406b58,_0x57a69c){if(_0x406b58[_0x8dfb('0x5f')]['id']){delete _0x406b58[_0x8dfb('0x5f')]['id'];}return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x406b58['params']['id']}})['then'](handleEntityNotFound(_0x57a69c,null))['then'](function(_0x145a16){if(_0x145a16){_0x406b58[_0x8dfb('0x5f')][_0x8dfb('0x65')]=_0x145a16['id'];return db[_0x8dfb('0x3f')]['create'](_0x406b58[_0x8dfb('0x5f')]);}})['then'](respondWithResult(_0x57a69c,null))[_0x8dfb('0x19')](handleError(_0x57a69c,null));};exports[_0x8dfb('0x81')]=function(_0xc5d8c8,_0xd838c6){return db[_0x8dfb('0x43')]['findOne']({'where':{'id':_0xc5d8c8[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0xd838c6,null))[_0x8dfb('0x10')](function(_0x20b8f0){if(_0x20b8f0){return _0x20b8f0[_0x8dfb('0x82')](null);}return null;})['then'](respondWithStatusCode(_0xd838c6,null))[_0x8dfb('0x19')](handleError(_0xd838c6,null));};exports[_0x8dfb('0x83')]=function(_0x29686b,_0x155536){return db[_0x8dfb('0x84')]['find']({'where':{'id':_0x29686b[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x155536,null))['then'](function(_0x5126c8){if(_0x5126c8){return _0x5126c8[_0x8dfb('0x83')](_0x29686b['body']['ids'],_[_0x8dfb('0x85')](_0x29686b[_0x8dfb('0x5f')],[_0x8dfb('0x6d'),'id'])||{});}})['then'](respondWithResult(_0x155536,null))[_0x8dfb('0x19')](handleError(_0x155536,null));};exports[_0x8dfb('0x86')]=function(_0x1f6247,_0x50d0c3){var _0x9234bb={'raw':![],'where':{}};var _0x2822df={};var _0x5b85aa={'count':0x0,'rows':[]};return db[_0x8dfb('0x43')]['findOne']({'where':{'id':_0x1f6247[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x50d0c3,null))['then'](function(_0x380f9f){if(_0x380f9f){_0x2822df[_0x8dfb('0x48')]=_['keys'](db[_0x8dfb('0x84')][_0x8dfb('0x44')]);_0x2822df[_0x8dfb('0x49')]=_[_0x8dfb('0x4a')](_0x1f6247['query']);_0x2822df['filters']=_[_0x8dfb('0x4c')](_0x2822df[_0x8dfb('0x48')],_0x2822df['query']);_0x9234bb[_0x8dfb('0x4e')]=_[_0x8dfb('0x4c')](_0x2822df[_0x8dfb('0x48')],qs['fields'](_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x4d')]));_0x9234bb[_0x8dfb('0x4e')]=_0x9234bb[_0x8dfb('0x4e')]['length']?_0x9234bb[_0x8dfb('0x4e')]:_0x2822df[_0x8dfb('0x48')];if(!_0x1f6247['query'][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0x9234bb['limit']=qs[_0x8dfb('0x1f')](_0x1f6247[_0x8dfb('0x49')]['limit']);_0x9234bb[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x1d')]);}_0x9234bb['order']=qs['sort'](_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x6b')]);_0x9234bb[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x1f6247[_0x8dfb('0x49')],_0x2822df[_0x8dfb('0x4b')]));_0x9234bb['where'][_0x8dfb('0x65')]=_0x380f9f['id'];if(_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x56')]){_0x9234bb[_0x8dfb('0x52')]=_[_0x8dfb('0x54')](_0x9234bb[_0x8dfb('0x52')],{'$or':_[_0x8dfb('0x42')](_0x9234bb[_0x8dfb('0x4e')],function(_0x4d6bce){var _0xdf7fa9={};_0xdf7fa9[_0x4d6bce]={'$like':'%'+_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x56')]+'%'};return _0xdf7fa9;})});}_0x9234bb=_[_0x8dfb('0x54')]({},_0x9234bb,_0x1f6247[_0x8dfb('0x5d')]);return db['MailInteraction'][_0x8dfb('0x20')]({'where':_0x9234bb[_0x8dfb('0x52')]})[_0x8dfb('0x10')](function(_0x246c1d){_0x5b85aa[_0x8dfb('0x20')]=_0x246c1d;if(_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x57')]){_0x9234bb[_0x8dfb('0x58')]=[{'model':db[_0x8dfb('0x87')],'as':_0x8dfb('0x88'),'required':![]},{'model':db[_0x8dfb('0x89')],'as':_0x8dfb('0x8a'),'attributes':[_0x8dfb('0x27'),_0x8dfb('0x8b'),_0x8dfb('0x8c')],'required':![]},{'model':db[_0x8dfb('0x8d')],'as':_0x8dfb('0x8e'),'attributes':['id','name',_0x8dfb('0x8f')],'where':_0x1f6247['query'][_0x8dfb('0x90')]?{'id':_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x90')]}:undefined,'required':_0x1f6247[_0x8dfb('0x49')][_0x8dfb('0x90')]?!![]:![]}];}return db[_0x8dfb('0x84')]['findAll'](_0x9234bb);})[_0x8dfb('0x10')](function(_0x2eeb1d){_0x5b85aa['rows']=_0x2eeb1d;return _0x5b85aa;});}})['then'](respondWithFilteredResult(_0x50d0c3,_0x9234bb))['catch'](handleError(_0x50d0c3,null));};exports[_0x8dfb('0x91')]=function addApplications(_0x177e08,_0x5dfb7c){var _0x59e762=_0x177e08[_0x8dfb('0x5c')]['id'];var _0x2c5e89=_0x177e08[_0x8dfb('0x5f')];var _0x1e7e95=0xc8;var _0x4dac4e=null;return db[_0x8dfb('0x92')]['transaction']({'isolationLevel':db[_0x8dfb('0x92')]['Transaction'][_0x8dfb('0x93')][_0x8dfb('0x94')]},function(_0x52d254){return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x59e762},'transaction':_0x52d254})[_0x8dfb('0x10')](function(_0x41b9d8){if(_0x41b9d8){return db['MailApplication'][_0x8dfb('0x24')]({'where':{'MailAccountId':_0x59e762},'transaction':_0x52d254})[_0x8dfb('0x10')](function(){var _0x48e775=_['map'](_0x2c5e89,function(_0x59f5f6){_0x59f5f6[_0x8dfb('0x65')]=_0x59e762;return _0x59f5f6;});return db[_0x8dfb('0x95')][_0x8dfb('0x96')](_0x48e775,{'transaction':_0x52d254});});}else{_0x1e7e95=0x194;_0x4dac4e=[];}});})[_0x8dfb('0x10')](function(){if(_0x1e7e95!==0x194){return db[_0x8dfb('0x95')][_0x8dfb('0x97')]({'where':{'MailAccountId':_0x59e762},'order':_0x8dfb('0x98')})[_0x8dfb('0x10')](function(_0x5d5b98){_0x4dac4e=_0x5d5b98;});}})[_0x8dfb('0x19')](function(_0x482b90){_0x1e7e95=0x1f4;logger[_0x8dfb('0x15')](_0x482b90[_0x8dfb('0x26')]);if(_0x482b90['name']){delete _0x482b90['name'];}_0x4dac4e=_0x482b90;})[_0x8dfb('0x99')](function(){if(_0x4dac4e===null){_0x5dfb7c['sendStatus'](_0x1e7e95);}else{if(_0x1e7e95===0x1f4){_0x5dfb7c['status'](_0x1e7e95)[_0x8dfb('0x9a')](_0x4dac4e);}else{_0x5dfb7c[_0x8dfb('0x1b')](_0x1e7e95)[_0x8dfb('0x22')](_0x4dac4e);}}});};exports[_0x8dfb('0x9b')]=function(_0x11078d,_0x33ab2e){var _0xb511d6={};var _0x259c79={};var _0x5c95fd;var _0x1b4850;return db['MailAccount'][_0x8dfb('0x69')]({'where':{'id':_0x11078d[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x33ab2e,null))[_0x8dfb('0x10')](function(_0x59b293){if(_0x59b293){_0x5c95fd=_0x59b293;_0x259c79['model']=_[_0x8dfb('0x4a')](db[_0x8dfb('0x95')][_0x8dfb('0x44')]);_0x259c79['query']=_[_0x8dfb('0x4a')](_0x11078d[_0x8dfb('0x49')]);_0x259c79[_0x8dfb('0x4b')]=_[_0x8dfb('0x4c')](_0x259c79[_0x8dfb('0x48')],_0x259c79[_0x8dfb('0x49')]);_0xb511d6[_0x8dfb('0x4e')]=_[_0x8dfb('0x4c')](_0x259c79[_0x8dfb('0x48')],qs[_0x8dfb('0x4d')](_0x11078d[_0x8dfb('0x49')]['fields']));_0xb511d6[_0x8dfb('0x4e')]=_0xb511d6[_0x8dfb('0x4e')][_0x8dfb('0x4f')]?_0xb511d6['attributes']:_0x259c79[_0x8dfb('0x48')];_0xb511d6[_0x8dfb('0x51')]=qs[_0x8dfb('0x6b')](_0x11078d['query']['sort']);_0xb511d6[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x11078d[_0x8dfb('0x49')],_0x259c79['filters']));if(_0x11078d[_0x8dfb('0x49')][_0x8dfb('0x56')]){_0xb511d6[_0x8dfb('0x52')]=_[_0x8dfb('0x54')](_0xb511d6[_0x8dfb('0x52')],{'$or':_[_0x8dfb('0x42')](_0xb511d6[_0x8dfb('0x4e')],function(_0x47d2d8){var _0x1af136={};_0x1af136[_0x47d2d8]={'$like':'%'+_0x11078d[_0x8dfb('0x49')]['filter']+'%'};return _0x1af136;})});}_0xb511d6=_[_0x8dfb('0x54')]({},_0xb511d6,_0x11078d['options']);return _0x5c95fd[_0x8dfb('0x9b')](_0xb511d6);}})[_0x8dfb('0x10')](function(_0x424846){if(_0x424846){_0x1b4850=_0x424846[_0x8dfb('0x4f')];if(!_0x11078d[_0x8dfb('0x49')][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0xb511d6[_0x8dfb('0x1f')]=qs[_0x8dfb('0x1f')](_0x11078d['query'][_0x8dfb('0x1f')]);_0xb511d6[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x11078d['query'][_0x8dfb('0x1d')]);}return _0x5c95fd['getApplications'](_0xb511d6);}})[_0x8dfb('0x10')](function(_0x5938e1){if(_0x5938e1){return _0x5938e1?{'count':_0x1b4850,'rows':_0x5938e1}:null;}})['then'](respondWithResult(_0x33ab2e,null))[_0x8dfb('0x19')](handleError(_0x33ab2e,null));};exports[_0x8dfb('0x9c')]=function(_0x41e2b6,_0x3fa041){var _0xee7599={'raw':!![],'where':{}};var _0xc6e186={};var _0x3598f4={'count':0x0,'rows':[]};return db[_0x8dfb('0x43')][_0x8dfb('0x69')]({'where':{'id':_0x41e2b6[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x3fa041,null))[_0x8dfb('0x10')](function(_0xb3958f){if(_0xb3958f){_0xc6e186['model']=_[_0x8dfb('0x4a')](db[_0x8dfb('0x9d')]['rawAttributes']);_0xc6e186[_0x8dfb('0x49')]=_['keys'](_0x41e2b6[_0x8dfb('0x49')]);_0xc6e186[_0x8dfb('0x4b')]=_[_0x8dfb('0x4c')](_0xc6e186[_0x8dfb('0x48')],_0xc6e186['query']);_0xee7599[_0x8dfb('0x4e')]=_[_0x8dfb('0x4c')](_0xc6e186['model'],qs[_0x8dfb('0x4d')](_0x41e2b6['query'][_0x8dfb('0x4d')]));_0xee7599[_0x8dfb('0x4e')]=_0xee7599['attributes']['length']?_0xee7599[_0x8dfb('0x4e')]:_0xc6e186[_0x8dfb('0x48')];if(!_0x41e2b6['query'][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0xee7599[_0x8dfb('0x1f')]=qs['limit'](_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x1f')]);_0xee7599[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x41e2b6['query'][_0x8dfb('0x1d')]);}_0xee7599[_0x8dfb('0x51')]=qs[_0x8dfb('0x6b')](_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x6b')]);_0xee7599[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x41e2b6[_0x8dfb('0x49')],_0xc6e186['filters']));_0xee7599[_0x8dfb('0x52')][_0x8dfb('0x65')]=_0xb3958f['id'];if(_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x56')]){_0xee7599['where']=_[_0x8dfb('0x54')](_0xee7599[_0x8dfb('0x52')],{'$or':_[_0x8dfb('0x42')](_0xee7599[_0x8dfb('0x4e')],function(_0x5b61e3){var _0x43a6e3={};_0x43a6e3[_0x5b61e3]={'$like':'%'+_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x56')]+'%'};return _0x43a6e3;})});}if(_0x41e2b6['query']['$gte']){var _0x48288c=_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x9e')][_0x8dfb('0x9f')](',');var _0x57345f={};_0x57345f[_0x48288c[0x0]]={'$gte':moment(_0x48288c[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0xee7599[_0x8dfb('0x52')]=_['merge'](_0xee7599[_0x8dfb('0x52')],_0x57345f);}_0xee7599=_[_0x8dfb('0x54')]({},_0xee7599,_0x41e2b6['options']);return db['MailMessage']['count']({'where':_0xee7599[_0x8dfb('0x52')]})[_0x8dfb('0x10')](function(_0x2e48b8){_0x3598f4[_0x8dfb('0x20')]=_0x2e48b8;if(_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0x57')]){_0xee7599[_0x8dfb('0x58')]=[{'all':!![]}];}return db[_0x8dfb('0x9d')][_0x8dfb('0x59')](_0xee7599);})[_0x8dfb('0x10')](function(_0x34653c){if(_0x41e2b6[_0x8dfb('0x49')][_0x8dfb('0xa0')]===_0x8dfb('0xa1')){for(var _0x3136b7=0x0;_0x3136b7<_0x34653c[_0x8dfb('0x4f')];_0x3136b7++){_0x34653c[_0x3136b7][_0x8dfb('0x5f')]=juice(_0x34653c[_0x3136b7][_0x8dfb('0x5f')]);}}_0x3598f4[_0x8dfb('0x5a')]=_0x34653c;return _0x3598f4;});}})['then'](respondWithFilteredResult(_0x3fa041,_0xee7599))[_0x8dfb('0x19')](handleError(_0x3fa041,null));};exports[_0x8dfb('0x9a')]=function(_0x3ee438,_0x3c3e43){var _0x3f1374,_0x401f77={},_0x3c4a07;if(_0x3ee438[_0x8dfb('0x5f')]['to']){_0x3c4a07=_0x3ee438[_0x8dfb('0x5f')]['to']['split'](',')[0x0];}return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x3ee438[_0x8dfb('0x5c')]['id']},'include':[{'model':db['CmList'],'as':_0x8dfb('0xa2'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x3c4a07},'limit':0x1,'order':[[_0x8dfb('0xa3'),_0x8dfb('0xa4')]]}]},{'model':db[_0x8dfb('0x3f')],'as':_0x8dfb('0x3d'),'raw':!![],'include':[{'model':db[_0x8dfb('0xa5')],'as':'CloudProvider','raw':!![]}]}]})['then'](handleEntityNotFound(_0x3c3e43,null))['then'](function(_0x4842e6){if(!_0x4842e6)return;_0x3f1374=_0x4842e6;if(!_0x4842e6[_0x8dfb('0x3d')])throw new Error(_0x8dfb('0xa6'));if(_[_0x8dfb('0x73')](_0x3ee438['body'][_0x8dfb('0xa7')])){_0x3ee438[_0x8dfb('0x5f')][_0x8dfb('0xa7')]=util['format'](_0x8dfb('0xa8'),_0x4842e6[_0x8dfb('0x27')],_0x4842e6[_0x8dfb('0x71')]||_0x4842e6[_0x8dfb('0x3d')][_0x8dfb('0x31')]);}if(_0x3ee438['body'][_0x8dfb('0xa9')]&&_0x3ee438['body'][_0x8dfb('0xa9')][_0x8dfb('0x4f')]){for(var _0x1c16e5=0x0;_0x1c16e5<_0x3ee438['body']['attachments']['length'];_0x1c16e5+=0x1){_0x3ee438['body'][_0x8dfb('0xa9')][_0x1c16e5]={'filename':_0x3ee438['body'][_0x8dfb('0xa9')][_0x1c16e5][_0x8dfb('0x27')],'path':path[_0x8dfb('0xaa')](config['root'],'server/files/attachments',_0x3ee438[_0x8dfb('0x5f')]['attachments'][_0x1c16e5][_0x8dfb('0xab')])};}}var _0x78d193=_0x4842e6[_0x8dfb('0xac')]();return respondWithRpcPromise(_0x8dfb('0xad'),_0x8dfb('0xae'),{'account':_0x78d193,'message':_0x3ee438[_0x8dfb('0x5f')]});})['then'](function(_0x503109){if(!_0x503109)return;_0x401f77=_0x503109;if(!_0x3f1374[_0x8dfb('0xa2')])throw new Error('List\x20not\x20found');if(_0x3f1374[_0x8dfb('0xa2')][_0x8dfb('0xaf')][_0x8dfb('0x4f')])return _0x3f1374[_0x8dfb('0xa2')][_0x8dfb('0xaf')][0x0];return db[_0x8dfb('0x87')][_0x8dfb('0x67')](_[_0x8dfb('0xa')](_0x3ee438[_0x8dfb('0x5f')],{'firstName':_0x3ee438[_0x8dfb('0x5f')]['to'],'email':_0x3ee438['body']['to'],'phone':_0x3ee438[_0x8dfb('0x5f')]['to'],'ListId':_0x3f1374[_0x8dfb('0x72')]}));})[_0x8dfb('0x10')](function(_0x21c8f4){if(!_0x21c8f4)return;var _0x1cea03={'UserId':_0x3ee438['user']['id'],'ContactId':_0x21c8f4['id'],'MailAccountId':_0x3f1374['id'],'inReplyTo':_0x401f77[_0x8dfb('0xb0')],'to':_0x3ee438[_0x8dfb('0x5f')][_0x8dfb('0xa7')],'cc':_0x3ee438['body']['cc'],'subject':_0x3ee438[_0x8dfb('0x5f')]['subject'],'attach':_0x3ee438[_0x8dfb('0x5f')][_0x8dfb('0xb1')],'firstMsgDirection':_0x8dfb('0xb2'),'lastMsgAt':moment()['format'](_0x8dfb('0xb3')),'lastMsgDirection':_0x8dfb('0xb2'),'Messages':[_['merge'](_0x3ee438[_0x8dfb('0x5f')],{'messageId':_0x401f77['messageId'],'sentAt':moment()[_0x8dfb('0xb4')](_0x8dfb('0xb3')),'read':!![],'MailAccountId':_0x3f1374['id'],'UserId':_0x3ee438[_0x8dfb('0x31')]['id'],'ContactId':_0x21c8f4['id']})]};if(_0x3ee438[_0x8dfb('0x5f')][_0x8dfb('0xb5')]){_0x1cea03=_['merge'](_0x1cea03,_0x3ee438[_0x8dfb('0x5f')][_0x8dfb('0xb5')]);}return db[_0x8dfb('0x84')][_0x8dfb('0x67')](_0x1cea03,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});})[_0x8dfb('0x10')](respondWithResult(_0x3c3e43,null))[_0x8dfb('0x19')](handleError(_0x3c3e43,null));};exports[_0x8dfb('0xb6')]=function(_0x100288,_0xcebc5b){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x100288[_0x8dfb('0x5c')]['id']},'include':[{'model':db[_0x8dfb('0x3f')],'as':_0x8dfb('0x3d'),'raw':!![],'include':[{'model':db[_0x8dfb('0xa5')],'as':_0x8dfb('0xa5'),'raw':!![]}]}]})[_0x8dfb('0x10')](handleEntityNotFound(_0xcebc5b,null))[_0x8dfb('0x10')](function(_0x35c514){if(!_0x35c514[_0x8dfb('0x3d')])return;var _0x95de3d=_0x35c514[_0x8dfb('0xac')]();return respondWithRpcPromise(_0x8dfb('0xb7'),_0x8dfb('0xb6'),{'account':_0x95de3d});})[_0x8dfb('0x10')](respondWithResult(_0xcebc5b,null))['catch'](handleError(_0xcebc5b,null));};exports[_0x8dfb('0x24')]=function(_0x59d2cc,_0x2cd850){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x59d2cc[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x2cd850,null))[_0x8dfb('0x10')](function(_0x141ff4){if(_0x141ff4&&_0x141ff4['service']){throw new db[(_0x8dfb('0xb8'))][(_0x8dfb('0xb9'))](_0x8dfb('0xba'));}return _0x141ff4;})[_0x8dfb('0x10')](removeEntity(_0x2cd850,null))[_0x8dfb('0x19')](handleError(_0x2cd850,null));};exports[_0x8dfb('0xbb')]=function(_0x470d8b,_0x253f3b){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x470d8b['params']['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x253f3b,null))['then'](function(_0x27e06b){if(_0x27e06b){return _0x27e06b[_0x8dfb('0xbb')](_0x470d8b[_0x8dfb('0x5f')][_0x8dfb('0x6d')],_[_0x8dfb('0x85')](_0x470d8b[_0x8dfb('0x5f')],['ids','id'])||{})[_0x8dfb('0xbc')](function(_0x2d6637){for(var _0x17f70f=0x0;_0x17f70f<_0x470d8b[_0x8dfb('0x5f')]['ids'][_0x8dfb('0x4f')];_0x17f70f+=0x1){socket[_0x8dfb('0xbd')](_0x8dfb('0xbe'),{'UserId':Number(_0x470d8b[_0x8dfb('0x5f')][_0x8dfb('0x6d')][_0x17f70f]),'MailAccountId':Number(_0x470d8b[_0x8dfb('0x5c')]['id'])});}return _0x2d6637;});}})[_0x8dfb('0x10')](respondWithResult(_0x253f3b,null))['catch'](handleError(_0x253f3b,null));};exports[_0x8dfb('0xbf')]=function(_0x5566dc,_0x596977){return db[_0x8dfb('0x43')][_0x8dfb('0x5e')]({'where':{'id':_0x5566dc[_0x8dfb('0x5c')]['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x596977,null))[_0x8dfb('0x10')](function(_0x9029ef){if(_0x9029ef){return _0x9029ef[_0x8dfb('0xbf')](_0x5566dc['query']['ids'])[_0x8dfb('0x10')](function(){if(_['isArray'](_0x5566dc[_0x8dfb('0x49')][_0x8dfb('0x6d')])){for(var _0x35e8f9=0x0;_0x35e8f9<_0x5566dc[_0x8dfb('0x49')][_0x8dfb('0x6d')][_0x8dfb('0x4f')];_0x35e8f9+=0x1){socket[_0x8dfb('0xbd')](_0x8dfb('0xc0'),{'UserId':Number(_0x5566dc['query'][_0x8dfb('0x6d')][_0x35e8f9]),'MailAccountId':Number(_0x5566dc[_0x8dfb('0x5c')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x5566dc[_0x8dfb('0x49')][_0x8dfb('0x6d')]),'MailAccountId':Number(_0x5566dc[_0x8dfb('0x5c')]['id'])});}});}})[_0x8dfb('0x10')](respondWithStatusCode(_0x596977,null))[_0x8dfb('0x19')](handleError(_0x596977,null));};exports['getAgents']=function(_0x5ce263,_0x1d7c16){var _0x8a7f03={};var _0x2c64e0={};var _0x3f7b14;var _0x5bbf1b;return db['MailAccount'][_0x8dfb('0x69')]({'where':{'id':_0x5ce263['params']['id']}})[_0x8dfb('0x10')](handleEntityNotFound(_0x1d7c16,null))[_0x8dfb('0x10')](function(_0x2da4dc){if(_0x2da4dc){_0x3f7b14=_0x2da4dc;_0x2c64e0[_0x8dfb('0x48')]=_[_0x8dfb('0x4a')](db['User']['rawAttributes']);_0x2c64e0[_0x8dfb('0x49')]=_[_0x8dfb('0x4a')](_0x5ce263['query']);_0x2c64e0['filters']=_[_0x8dfb('0x4c')](_0x2c64e0[_0x8dfb('0x48')],_0x2c64e0['query']);_0x8a7f03['attributes']=_['intersection'](_0x2c64e0[_0x8dfb('0x48')],qs['fields'](_0x5ce263[_0x8dfb('0x49')][_0x8dfb('0x4d')]));_0x8a7f03[_0x8dfb('0x4e')]=_0x8a7f03[_0x8dfb('0x4e')][_0x8dfb('0x4f')]?_0x8a7f03[_0x8dfb('0x4e')]:_0x2c64e0[_0x8dfb('0x48')];_0x8a7f03[_0x8dfb('0x51')]=qs['sort'](_0x5ce263[_0x8dfb('0x49')][_0x8dfb('0x6b')]);_0x8a7f03[_0x8dfb('0x52')]=qs[_0x8dfb('0x4b')](_[_0x8dfb('0x53')](_0x5ce263[_0x8dfb('0x49')],_0x2c64e0[_0x8dfb('0x4b')]));if(_0x5ce263[_0x8dfb('0x49')][_0x8dfb('0x56')]){_0x8a7f03['where']=_[_0x8dfb('0x54')](_0x8a7f03[_0x8dfb('0x52')],{'$or':_[_0x8dfb('0x42')](_0x8a7f03['attributes'],function(_0x15c7ea){var _0xa675bd={};_0xa675bd[_0x15c7ea]={'$like':'%'+_0x5ce263[_0x8dfb('0x49')][_0x8dfb('0x56')]+'%'};return _0xa675bd;})});}_0x8a7f03=_[_0x8dfb('0x54')]({},_0x8a7f03,_0x5ce263['options']);return _0x3f7b14['getAgents'](_0x8a7f03);}})[_0x8dfb('0x10')](function(_0x3dce3a){if(_0x3dce3a){_0x5bbf1b=_0x3dce3a[_0x8dfb('0x4f')];if(!_0x5ce263['query'][_0x8dfb('0x6a')](_0x8dfb('0x50'))){_0x8a7f03[_0x8dfb('0x1f')]=qs[_0x8dfb('0x1f')](_0x5ce263[_0x8dfb('0x49')]['limit']);_0x8a7f03[_0x8dfb('0x1d')]=qs[_0x8dfb('0x1d')](_0x5ce263[_0x8dfb('0x49')][_0x8dfb('0x1d')]);}return _0x3f7b14[_0x8dfb('0xc1')](_0x8a7f03);}})[_0x8dfb('0x10')](function(_0x10ccac){if(_0x10ccac){return _0x10ccac?{'count':_0x5bbf1b,'rows':_0x10ccac}:null;}})[_0x8dfb('0x10')](respondWithResult(_0x1d7c16,null))['catch'](handleError(_0x1d7c16,null));};