76ad85479a0bd8526000d67279f2afc6a7db760e
[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 _0x1b17=['out','Interaction','Messages','getSmtpOptions','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','removeAgents','isArray','userMailAccount:remove','getAgents','moment','bluebird','path','lodash','juice','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','then','info','request\x20sent','debug','error','code','MailAccount,\x20%s,\x20%s','message','result','status','end','json','undefined','limit','count','offset','Content-Range','update','destroy','get','MailAccounts','sendStatus','name','send','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','outlook365','smtp.office365.com','user','username','password','modernAuthentication','CloudProviderId','pass','host','port','secure','service','authentication','Imap','Smtp','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','options','MailAccount','includeAll','findAll','rows','catch','show','params','length','find','body','provider','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','include','removeDispositions','ids','addAnswer','CannedAnswer','hasOwnProperty','removeAnswers','custom','email','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','omit','CmContact','Contact','User','fullname','Tag','color','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','SendMail','sendMail','List\x20not\x20found','ListId','messageId','attach'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1b17,0x199));var _0x71b1=function(_0x648163,_0x241576){_0x648163=_0x648163-0x0;var _0x199d4d=_0x1b17[_0x648163];return _0x199d4d;};'use strict';var moment=require(_0x71b1('0x0'));var BPromise=require(_0x71b1('0x1'));var util=require('util');var path=require(_0x71b1('0x2'));var _=require(_0x71b1('0x3'));var juice=require(_0x71b1('0x4'));var Redis=require(_0x71b1('0x5'));var qs=require('../../components/parsers/qs');var logger=require(_0x71b1('0x6'))(_0x71b1('0x7'));var config=require(_0x71b1('0x8'));var db=require(_0x71b1('0x9'))['db'];config['redis']=_[_0x71b1('0xa')](config[_0x71b1('0xb')],{'host':_0x71b1('0xc'),'port':0x18eb});var socket=require(_0x71b1('0xd'))(new Redis(config[_0x71b1('0xb')]));require('./mailAccount.socket')[_0x71b1('0xe')](socket);var jayson=require(_0x71b1('0xf'));var client=jayson[_0x71b1('0x10')][_0x71b1('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x48a501,_0x391f25,_0x54a28d,_0x505c45){return new BPromise(function(_0x31e76d,_0x580e89){var _0x341a0f=_0x505c45||client;return _0x341a0f['request'](_0x48a501,_0x54a28d)[_0x71b1('0x12')](function(_0x26170d){logger[_0x71b1('0x13')]('MailAccount,\x20%s,\x20%s',_0x391f25,_0x71b1('0x14'));logger[_0x71b1('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x391f25,_0x71b1('0x14'),JSON['stringify'](_0x26170d));if(_0x26170d['error']){if(_0x26170d[_0x71b1('0x16')][_0x71b1('0x17')]===0x1f4){logger['error'](_0x71b1('0x18'),_0x391f25,_0x26170d['error'][_0x71b1('0x19')]);return _0x580e89(_0x26170d[_0x71b1('0x16')][_0x71b1('0x19')]);}logger[_0x71b1('0x16')]('MailAccount,\x20%s,\x20%s',_0x391f25,_0x26170d[_0x71b1('0x16')][_0x71b1('0x19')]);return _0x31e76d(_0x26170d[_0x71b1('0x16')]['message']);}else{logger[_0x71b1('0x13')](_0x71b1('0x18'),_0x391f25,_0x71b1('0x14'));_0x31e76d(_0x26170d[_0x71b1('0x1a')][_0x71b1('0x19')]);}})['catch'](function(_0x156a1f){logger['error']('MailAccount,\x20%s,\x20%s',_0x391f25,_0x156a1f);_0x580e89(_0x156a1f);});});}function respondWithStatusCode(_0x34dce4,_0x56b84f){_0x56b84f=_0x56b84f||0xcc;return function(_0xc1116e){if(_0xc1116e){return _0x34dce4['sendStatus'](_0x56b84f);}return _0x34dce4[_0x71b1('0x1b')](_0x56b84f)[_0x71b1('0x1c')]();};}function respondWithResult(_0x67aa2,_0x4d203c){_0x4d203c=_0x4d203c||0xc8;return function(_0x42df2e){if(_0x42df2e){return _0x67aa2[_0x71b1('0x1b')](_0x4d203c)[_0x71b1('0x1d')](_0x42df2e);}};}function respondWithFilteredResult(_0x5f46b5,_0x2391d9){return function(_0x378552){if(_0x378552){var _0x1ba54f=typeof _0x2391d9['offset']===_0x71b1('0x1e')&&typeof _0x2391d9[_0x71b1('0x1f')]==='undefined';var _0x577b3a=_0x378552[_0x71b1('0x20')];var _0x37f244=_0x1ba54f?0x0:_0x2391d9[_0x71b1('0x21')];var _0x486a6e=_0x1ba54f?_0x378552[_0x71b1('0x20')]:_0x2391d9['offset']+_0x2391d9['limit'];var _0x1417fa;if(_0x486a6e>=_0x577b3a){_0x486a6e=_0x577b3a;_0x1417fa=0xc8;}else{_0x1417fa=0xce;}_0x5f46b5[_0x71b1('0x1b')](_0x1417fa);return _0x5f46b5['set'](_0x71b1('0x22'),_0x37f244+'-'+_0x486a6e+'/'+_0x577b3a)[_0x71b1('0x1d')](_0x378552);}return null;};}function saveUpdates(_0x1ec07a){return function(_0x5ef511){if(_0x5ef511){return _0x5ef511[_0x71b1('0x23')](_0x1ec07a)[_0x71b1('0x12')](function(_0x239e1f){return _0x239e1f;});}return null;};}function removeEntity(_0x31af94){return function(_0x9cf74){if(_0x9cf74){return _0x9cf74[_0x71b1('0x24')]()['then'](function(){var _0x27640d=_0x9cf74[_0x71b1('0x25')]({'plain':!![]});var _0x2e0db9=_0x71b1('0x26');return db['UserProfileResource'][_0x71b1('0x24')]({'where':{'type':_0x2e0db9,'resourceId':_0x27640d['id']}})[_0x71b1('0x12')](function(){return _0x9cf74;});})[_0x71b1('0x12')](function(){_0x31af94[_0x71b1('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x19f077){return function(_0x2c9ecb){if(!_0x2c9ecb){_0x19f077[_0x71b1('0x27')](0x194);}return _0x2c9ecb;};}function handleError(_0x147a50,_0x46599d){_0x46599d=_0x46599d||0x1f4;return function(_0x512eb7){logger[_0x71b1('0x16')](_0x512eb7['stack']);if(_0x512eb7[_0x71b1('0x28')]){delete _0x512eb7[_0x71b1('0x28')];}_0x147a50[_0x71b1('0x1b')](_0x46599d)[_0x71b1('0x29')](_0x512eb7);};}function getImapHost(_0x4c5f2b){switch(_0x4c5f2b){case'gmail':return _0x71b1('0x2a');case _0x71b1('0x2b'):return _0x71b1('0x2c');case _0x71b1('0x2d'):return'imap-mail.outlook.com';case'outlook365':return _0x71b1('0x2e');}throw new Error(_0x71b1('0x2f'),_0x4c5f2b);}function getSmtpHost(_0x5cbed3){switch(_0x5cbed3){case'gmail':return _0x71b1('0x30');case _0x71b1('0x2b'):return _0x71b1('0x31');case'hotmail':return _0x71b1('0x32');case _0x71b1('0x33'):return _0x71b1('0x34');}throw new Error(_0x71b1('0x2f'),_0x5cbed3);}function getAuthenticationOptions(_0x301040,_0x251c80){var _0x204d3c={};var _0x5570c0={};if(_0x301040){_0x204d3c[_0x71b1('0x35')]=_0x5570c0[_0x71b1('0x35')]=_0x251c80[_0x71b1('0x36')];_0x204d3c['password']=_0x5570c0['pass']=_0x251c80[_0x71b1('0x37')];if(_0x251c80['modernAuthentication']){_0x204d3c[_0x71b1('0x38')]=_0x5570c0['modernAuthentication']=!![];_0x204d3c['CloudProviderId']=_0x5570c0['CloudProviderId']=_0x251c80[_0x71b1('0x39')];_0x204d3c[_0x71b1('0x37')]=_0x5570c0[_0x71b1('0x3a')]=null;}else{_0x204d3c['CloudProviderId']=_0x5570c0[_0x71b1('0x39')]=null;}_0x204d3c[_0x71b1('0x3b')]=getImapHost(_0x301040);_0x204d3c[_0x71b1('0x3c')]=0x3e1;_0x5570c0[_0x71b1('0x3b')]=getSmtpHost(_0x301040);_0x5570c0[_0x71b1('0x3c')]=0x24b;_0x5570c0[_0x71b1('0x3d')]=![];_0x204d3c['service']=_0x5570c0[_0x71b1('0x3e')]=null;}else{if(_0x251c80[_0x71b1('0x3f')]){_0x204d3c[_0x71b1('0x35')]=_0x5570c0[_0x71b1('0x35')]=_0x251c80[_0x71b1('0x36')];_0x204d3c[_0x71b1('0x37')]=_0x5570c0[_0x71b1('0x3a')]=_0x251c80[_0x71b1('0x37')];}else{_0x204d3c[_0x71b1('0x3f')]=_0x5570c0['authentication']=![];_0x204d3c[_0x71b1('0x35')]=_0x5570c0['user']=null;_0x204d3c[_0x71b1('0x37')]=_0x5570c0[_0x71b1('0x3a')]=null;}_0x204d3c['host']=_0x251c80[_0x71b1('0x40')][_0x71b1('0x3b')];_0x204d3c[_0x71b1('0x3c')]=_0x251c80[_0x71b1('0x40')][_0x71b1('0x3c')];_0x5570c0[_0x71b1('0x3b')]=_0x251c80[_0x71b1('0x41')][_0x71b1('0x3b')];_0x5570c0[_0x71b1('0x3c')]=_0x251c80['Smtp'][_0x71b1('0x3c')];}return{'Imap':_0x204d3c,'Smtp':_0x5570c0};}exports['index']=function(_0x244246,_0x2142ce){var _0x1afe67={'include':[{'model':db[_0x71b1('0x42')],'as':_0x71b1('0x40')},{'model':db[_0x71b1('0x43')],'as':_0x71b1('0x41')},{'model':db[_0x71b1('0x44')],'as':_0x71b1('0x45')}]},_0x59c4d3={},_0x443f4c={'count':0x0,'rows':[]};var _0x4b8f9c=_[_0x71b1('0x46')](db['MailAccount'][_0x71b1('0x47')],function(_0x55d5b3){return{'name':_0x55d5b3[_0x71b1('0x48')],'type':_0x55d5b3[_0x71b1('0x49')][_0x71b1('0x4a')]};});_0x59c4d3[_0x71b1('0x4b')]=_[_0x71b1('0x46')](_0x4b8f9c,_0x71b1('0x28'));_0x59c4d3['query']=_[_0x71b1('0x4c')](_0x244246[_0x71b1('0x4d')]);_0x59c4d3[_0x71b1('0x4e')]=_[_0x71b1('0x4f')](_0x59c4d3[_0x71b1('0x4b')],_0x59c4d3[_0x71b1('0x4d')]);_0x1afe67[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x59c4d3[_0x71b1('0x4b')],qs[_0x71b1('0x51')](_0x244246['query'][_0x71b1('0x51')]));_0x1afe67[_0x71b1('0x50')]=_0x1afe67[_0x71b1('0x50')]['length']?_0x1afe67[_0x71b1('0x50')]:_0x59c4d3[_0x71b1('0x4b')];if(!_0x244246[_0x71b1('0x4d')]['hasOwnProperty'](_0x71b1('0x52'))){_0x1afe67[_0x71b1('0x1f')]=qs['limit'](_0x244246[_0x71b1('0x4d')][_0x71b1('0x1f')]);_0x1afe67[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x244246[_0x71b1('0x4d')][_0x71b1('0x21')]);}_0x1afe67[_0x71b1('0x53')]=qs['sort'](_0x244246['query'][_0x71b1('0x54')]);_0x1afe67[_0x71b1('0x55')]=qs[_0x71b1('0x4e')](_[_0x71b1('0x56')](_0x244246[_0x71b1('0x4d')],_0x59c4d3[_0x71b1('0x4e')]),_0x4b8f9c);if(_0x244246['query'][_0x71b1('0x57')]){_0x1afe67[_0x71b1('0x55')]=_[_0x71b1('0x58')](_0x1afe67[_0x71b1('0x55')],{'$or':_['map'](_0x4b8f9c,function(_0xf44d53){if(_0xf44d53[_0x71b1('0x49')]!=='VIRTUAL'){var _0xd3bb6={};_0xd3bb6[_0xf44d53['name']]={'$like':'%'+_0x244246['query'][_0x71b1('0x57')]+'%'};return _0xd3bb6;}})});}_0x1afe67=_[_0x71b1('0x58')]({},_0x1afe67,_0x244246[_0x71b1('0x59')]);var _0x4e2035={'where':_0x1afe67['where']};return db[_0x71b1('0x5a')][_0x71b1('0x20')](_0x4e2035)[_0x71b1('0x12')](function(_0x39348d){_0x443f4c[_0x71b1('0x20')]=_0x39348d;if(_0x244246[_0x71b1('0x4d')][_0x71b1('0x5b')]){_0x1afe67['include']=[{'all':!![]}];}return db[_0x71b1('0x5a')][_0x71b1('0x5c')](_0x1afe67);})[_0x71b1('0x12')](function(_0x21a3ca){_0x443f4c[_0x71b1('0x5d')]=_0x21a3ca;return _0x443f4c;})[_0x71b1('0x12')](respondWithFilteredResult(_0x2142ce,_0x1afe67))[_0x71b1('0x5e')](handleError(_0x2142ce,null));};exports[_0x71b1('0x5f')]=function(_0x2f7e35,_0x2cd4cb){var _0x499720={'raw':![],'where':{'id':_0x2f7e35[_0x71b1('0x60')]['id']},'include':[{'model':db[_0x71b1('0x42')],'as':_0x71b1('0x40')},{'model':db[_0x71b1('0x43')],'as':_0x71b1('0x41')},{'model':db[_0x71b1('0x44')],'as':'mandatoryDispositionPause'}]},_0x53760c={};_0x53760c['model']=_[_0x71b1('0x4c')](db['MailAccount'][_0x71b1('0x47')]);_0x53760c[_0x71b1('0x4d')]=_[_0x71b1('0x4c')](_0x2f7e35['query']);_0x53760c['filters']=_['intersection'](_0x53760c[_0x71b1('0x4b')],_0x53760c[_0x71b1('0x4d')]);_0x499720[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x53760c[_0x71b1('0x4b')],qs['fields'](_0x2f7e35[_0x71b1('0x4d')][_0x71b1('0x51')]));_0x499720[_0x71b1('0x50')]=_0x499720[_0x71b1('0x50')][_0x71b1('0x61')]?_0x499720[_0x71b1('0x50')]:_0x53760c[_0x71b1('0x4b')];if(_0x2f7e35[_0x71b1('0x4d')]['includeAll']){_0x499720['include']=[{'all':!![]}];}_0x499720=_[_0x71b1('0x58')]({},_0x499720,_0x2f7e35[_0x71b1('0x59')]);return db[_0x71b1('0x5a')][_0x71b1('0x62')](_0x499720)[_0x71b1('0x12')](handleEntityNotFound(_0x2cd4cb,null))['then'](respondWithResult(_0x2cd4cb,null))[_0x71b1('0x5e')](handleError(_0x2cd4cb,null));};exports[_0x71b1('0x23')]=function(_0x59f399,_0x3140a7){if(_0x59f399['body']['id']){delete _0x59f399[_0x71b1('0x63')]['id'];}var _0x3cf476=_0x59f399['body'][_0x71b1('0x64')]==='custom'?null:_0x59f399[_0x71b1('0x63')]['provider'];var _0x573b61=_0x59f399[_0x71b1('0x63')][_0x71b1('0x40')]||{};var _0x3c516c=_0x59f399[_0x71b1('0x63')][_0x71b1('0x41')]||{};if(_0x3cf476){_0x573b61[_0x71b1('0x3b')]=getImapHost(_0x3cf476);_0x573b61[_0x71b1('0x3c')]=0x3e1;_0x3c516c[_0x71b1('0x3b')]=getSmtpHost(_0x3cf476);_0x3c516c[_0x71b1('0x3c')]=0x24b;_0x3c516c[_0x71b1('0x3d')]=![];}if(_0x3c516c[_0x71b1('0x38')]){_0x3c516c[_0x71b1('0x3d')]=![];}else{_0x3c516c[_0x71b1('0x39')]=null;}if(!_0x573b61['modernAuthentication'])_0x573b61[_0x71b1('0x39')]=null;_0x59f399[_0x71b1('0x63')][_0x71b1('0x40')]=_0x573b61;_0x59f399['body'][_0x71b1('0x41')]=_0x3c516c;return db['MailAccount'][_0x71b1('0x62')]({'where':{'id':_0x59f399[_0x71b1('0x60')]['id']},'include':[{'model':db[_0x71b1('0x42')],'as':_0x71b1('0x40')},{'model':db[_0x71b1('0x43')],'as':_0x71b1('0x41')},{'model':db[_0x71b1('0x44')],'as':_0x71b1('0x45')}]})[_0x71b1('0x12')](handleEntityNotFound(_0x3140a7,null))[_0x71b1('0x12')](function(_0x33d597){if(!_0x33d597)throw new Error(_0x71b1('0x65'));if(_0x33d597['service'])delete _0x59f399[_0x71b1('0x63')]['Imap'];return _0x33d597;})['then'](saveUpdates(_0x59f399[_0x71b1('0x63')],null))[_0x71b1('0x12')](function(_0xeb1b9d){if(!_0x59f399['body'][_0x71b1('0x40')])return _0xeb1b9d;return db[_0x71b1('0x42')][_0x71b1('0x23')](_0x59f399[_0x71b1('0x63')][_0x71b1('0x40')],{'where':{'MailAccountId':_0xeb1b9d['id']}})[_0x71b1('0x12')](function(){return _0xeb1b9d;});})[_0x71b1('0x12')](function(_0x58f36e){if(!_0x59f399[_0x71b1('0x63')]['Smtp'])return _0x58f36e;return db[_0x71b1('0x43')]['update'](_0x59f399[_0x71b1('0x63')][_0x71b1('0x41')],{'where':{'MailAccountId':_0x58f36e['id']}})[_0x71b1('0x12')](function(){return _0x58f36e;});})[_0x71b1('0x12')](respondWithResult(_0x3140a7,null))[_0x71b1('0x5e')](handleError(_0x3140a7,null));};exports[_0x71b1('0x66')]=function(_0x26f918,_0x27fe25){return db[_0x71b1('0x5a')]['describe']()[_0x71b1('0x12')](respondWithResult(_0x27fe25,null))['catch'](handleError(_0x27fe25,null));};exports[_0x71b1('0x67')]=function(_0x344793,_0x5ddb95){if(_0x344793[_0x71b1('0x63')]['id']){delete _0x344793[_0x71b1('0x63')]['id'];}return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x344793[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x5ddb95,null))[_0x71b1('0x12')](function(_0x5edd26){if(_0x5edd26){_0x344793['body'][_0x71b1('0x68')]=_0x5edd26['id'];return db[_0x71b1('0x69')][_0x71b1('0x6a')](_0x344793['body']);}})[_0x71b1('0x12')](respondWithResult(_0x5ddb95,null))[_0x71b1('0x5e')](handleError(_0x5ddb95,null));};exports[_0x71b1('0x6b')]=function(_0x37e0e4,_0x341016){var _0x131659={'raw':![],'where':{}};var _0x54bc4e={};var _0x31c4ac={'count':0x0,'rows':[]};return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x37e0e4[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x341016,null))[_0x71b1('0x12')](function(_0x3a08a9){if(_0x3a08a9){_0x54bc4e[_0x71b1('0x4b')]=_[_0x71b1('0x4c')](db['Disposition'][_0x71b1('0x47')]);_0x54bc4e['query']=_[_0x71b1('0x4c')](_0x37e0e4[_0x71b1('0x4d')]);_0x54bc4e[_0x71b1('0x4e')]=_[_0x71b1('0x4f')](_0x54bc4e[_0x71b1('0x4b')],_0x54bc4e[_0x71b1('0x4d')]);_0x131659[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x54bc4e[_0x71b1('0x4b')],qs[_0x71b1('0x51')](_0x37e0e4[_0x71b1('0x4d')][_0x71b1('0x51')]));_0x131659['attributes']=_0x131659[_0x71b1('0x50')][_0x71b1('0x61')]?_0x131659[_0x71b1('0x50')]:_0x54bc4e[_0x71b1('0x4b')];if(!_0x37e0e4[_0x71b1('0x4d')]['hasOwnProperty'](_0x71b1('0x52'))){_0x131659[_0x71b1('0x1f')]=qs['limit'](_0x37e0e4[_0x71b1('0x4d')]['limit']);_0x131659[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x37e0e4[_0x71b1('0x4d')][_0x71b1('0x21')]);}_0x131659[_0x71b1('0x53')]=qs[_0x71b1('0x54')](_0x37e0e4['query']['sort']);_0x131659[_0x71b1('0x55')]=qs[_0x71b1('0x4e')](_[_0x71b1('0x56')](_0x37e0e4[_0x71b1('0x4d')],_0x54bc4e[_0x71b1('0x4e')]));_0x131659[_0x71b1('0x55')][_0x71b1('0x68')]=_0x3a08a9['id'];if(_0x37e0e4[_0x71b1('0x4d')]['filter']){_0x131659[_0x71b1('0x55')]=_['merge'](_0x131659['where'],{'$or':_[_0x71b1('0x46')](_0x131659[_0x71b1('0x50')],function(_0x50ad3e){var _0x94095b={};_0x94095b[_0x50ad3e]={'$like':'%'+_0x37e0e4[_0x71b1('0x4d')][_0x71b1('0x57')]+'%'};return _0x94095b;})});}_0x131659=_[_0x71b1('0x58')]({},_0x131659,_0x37e0e4[_0x71b1('0x59')]);return db['Disposition']['count']({'where':_0x131659[_0x71b1('0x55')]})['then'](function(_0x3df329){_0x31c4ac['count']=_0x3df329;if(_0x37e0e4[_0x71b1('0x4d')][_0x71b1('0x5b')]){_0x131659[_0x71b1('0x6d')]=[{'all':!![]}];}return db['Disposition'][_0x71b1('0x5c')](_0x131659);})[_0x71b1('0x12')](function(_0x1d35d9){_0x31c4ac[_0x71b1('0x5d')]=_0x1d35d9;return _0x31c4ac;});}})['then'](respondWithFilteredResult(_0x341016,_0x131659))[_0x71b1('0x5e')](handleError(_0x341016,null));};exports[_0x71b1('0x6e')]=function(_0x16ac53,_0x25f0bf){return db[_0x71b1('0x5a')]['find']({'where':{'id':_0x16ac53['params']['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x25f0bf,null))[_0x71b1('0x12')](function(_0x3ef3c8){if(_0x3ef3c8){return _0x3ef3c8[_0x71b1('0x6e')](_0x16ac53[_0x71b1('0x4d')][_0x71b1('0x6f')]);}})[_0x71b1('0x12')](respondWithStatusCode(_0x25f0bf,null))[_0x71b1('0x5e')](handleError(_0x25f0bf,null));};exports[_0x71b1('0x70')]=function(_0x1df7f6,_0x108b13){if(_0x1df7f6[_0x71b1('0x63')]['id']){delete _0x1df7f6[_0x71b1('0x63')]['id'];}return db['MailAccount'][_0x71b1('0x62')]({'where':{'id':_0x1df7f6[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x108b13,null))[_0x71b1('0x12')](function(_0x16b6f5){if(_0x16b6f5){_0x1df7f6[_0x71b1('0x63')][_0x71b1('0x68')]=_0x16b6f5['id'];return db[_0x71b1('0x71')][_0x71b1('0x6a')](_0x1df7f6[_0x71b1('0x63')]);}})['then'](respondWithResult(_0x108b13,null))[_0x71b1('0x5e')](handleError(_0x108b13,null));};exports['getAnswers']=function(_0x4b67d6,_0x4c9609){var _0x147a06={'raw':![],'where':{}};var _0x4d13a9={};var _0x271628={'count':0x0,'rows':[]};return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x4b67d6[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x4c9609,null))[_0x71b1('0x12')](function(_0xc90d53){if(_0xc90d53){_0x4d13a9[_0x71b1('0x4b')]=_['keys'](db[_0x71b1('0x71')]['rawAttributes']);_0x4d13a9['query']=_['keys'](_0x4b67d6[_0x71b1('0x4d')]);_0x4d13a9[_0x71b1('0x4e')]=_[_0x71b1('0x4f')](_0x4d13a9['model'],_0x4d13a9[_0x71b1('0x4d')]);_0x147a06[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x4d13a9[_0x71b1('0x4b')],qs['fields'](_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x51')]));_0x147a06[_0x71b1('0x50')]=_0x147a06[_0x71b1('0x50')]['length']?_0x147a06['attributes']:_0x4d13a9[_0x71b1('0x4b')];if(!_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x72')]('nolimit')){_0x147a06[_0x71b1('0x1f')]=qs[_0x71b1('0x1f')](_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x1f')]);_0x147a06[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x21')]);}_0x147a06[_0x71b1('0x53')]=qs[_0x71b1('0x54')](_0x4b67d6['query'][_0x71b1('0x54')]);_0x147a06[_0x71b1('0x55')]=qs['filters'](_[_0x71b1('0x56')](_0x4b67d6[_0x71b1('0x4d')],_0x4d13a9[_0x71b1('0x4e')]));_0x147a06['where'][_0x71b1('0x68')]=_0xc90d53['id'];if(_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x57')]){_0x147a06['where']=_[_0x71b1('0x58')](_0x147a06[_0x71b1('0x55')],{'$or':_[_0x71b1('0x46')](_0x147a06['attributes'],function(_0x55416d){var _0x1c1796={};_0x1c1796[_0x55416d]={'$like':'%'+_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x57')]+'%'};return _0x1c1796;})});}_0x147a06=_['merge']({},_0x147a06,_0x4b67d6[_0x71b1('0x59')]);return db[_0x71b1('0x71')]['count']({'where':_0x147a06['where']})[_0x71b1('0x12')](function(_0x448d3f){_0x271628[_0x71b1('0x20')]=_0x448d3f;if(_0x4b67d6[_0x71b1('0x4d')][_0x71b1('0x5b')]){_0x147a06['include']=[{'all':!![]}];}return db[_0x71b1('0x71')][_0x71b1('0x5c')](_0x147a06);})[_0x71b1('0x12')](function(_0x58c2ef){_0x271628[_0x71b1('0x5d')]=_0x58c2ef;return _0x271628;});}})[_0x71b1('0x12')](respondWithFilteredResult(_0x4c9609,_0x147a06))[_0x71b1('0x5e')](handleError(_0x4c9609,null));};exports[_0x71b1('0x73')]=function(_0x1c7bd7,_0x159c2c){return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x1c7bd7[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x159c2c,null))['then'](function(_0x3c1ac9){if(_0x3c1ac9){return _0x3c1ac9['removeAnswers'](_0x1c7bd7[_0x71b1('0x4d')][_0x71b1('0x6f')]);}})[_0x71b1('0x12')](respondWithStatusCode(_0x159c2c,null))[_0x71b1('0x5e')](handleError(_0x159c2c,null));};exports['create']=function(_0xe59301,_0x56c38c){var _0x3a65f4={'name':_0xe59301[_0x71b1('0x63')]['name'],'key':_0xe59301[_0x71b1('0x63')][_0x71b1('0x4a')],'provider':_0xe59301[_0x71b1('0x63')]['provider']===_0x71b1('0x74')?null:_0xe59301[_0x71b1('0x63')][_0x71b1('0x64')],'email':_0xe59301['body'][_0x71b1('0x75')],'ListId':_0xe59301[_0x71b1('0x63')]['ListId'],'active':!_['isNil'](_0xe59301['body'][_0x71b1('0x76')])?_0xe59301[_0x71b1('0x63')][_0x71b1('0x76')]:!![],'description':_0xe59301[_0x71b1('0x63')][_0x71b1('0x77')]||null};var _0x551bdc=getAuthenticationOptions(_0x3a65f4[_0x71b1('0x64')],_0xe59301[_0x71b1('0x63')]);_0x3a65f4[_0x71b1('0x40')]=_0x551bdc[_0x71b1('0x40')];_0x3a65f4[_0x71b1('0x41')]=_0x551bdc['Smtp'];return db[_0x71b1('0x5a')][_0x71b1('0x6a')](_0x3a65f4,{'include':[{'model':db[_0x71b1('0x43')],'as':_0x71b1('0x41')},{'model':db[_0x71b1('0x42')],'as':_0x71b1('0x40')}]})[_0x71b1('0x12')](function(_0x3ecbeb){var _0x145388=_0xe59301['user']['get']({'plain':!![]});if(!_0x145388)throw new Error(_0x71b1('0x78'));if(_0x145388[_0x71b1('0x79')]===_0x71b1('0x35')){var _0x1423c8=_0x3ecbeb[_0x71b1('0x25')]({'plain':!![]});return db['UserProfileSection'][_0x71b1('0x62')]({'where':{'name':_0x71b1('0x26'),'userProfileId':_0x145388[_0x71b1('0x7a')]},'raw':!![]})[_0x71b1('0x12')](function(_0x38dd46){if(_0x38dd46&&_0x38dd46[_0x71b1('0x7b')]===0x0){return db[_0x71b1('0x7c')]['create']({'name':_0x1423c8['name'],'resourceId':_0x1423c8['id'],'type':_0x38dd46['name'],'sectionId':_0x38dd46['id']},{})[_0x71b1('0x12')](function(){return _0x3ecbeb;});}else{return _0x3ecbeb;}})[_0x71b1('0x5e')](function(_0x1df666){logger[_0x71b1('0x16')](_0x71b1('0x7d'),_0x1df666);throw _0x1df666;});}return _0x3ecbeb;})[_0x71b1('0x12')](respondWithResult(_0x56c38c,0xc9))[_0x71b1('0x5e')](handleError(_0x56c38c,null));};exports['getImap']=function(_0x1f0d3c,_0x408afc){return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x1f0d3c[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x408afc,null))['then'](function(_0x35a99a){if(_0x35a99a){return _0x35a99a[_0x71b1('0x7e')]();}return null;})[_0x71b1('0x12')](respondWithResult(_0x408afc,null))[_0x71b1('0x5e')](handleError(_0x408afc,null));};exports[_0x71b1('0x7f')]=function(_0x2ad5b4,_0x1bb366){if(_0x2ad5b4[_0x71b1('0x63')]['id']){delete _0x2ad5b4[_0x71b1('0x63')]['id'];}return db['MailAccount'][_0x71b1('0x62')]({'where':{'id':_0x2ad5b4[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x1bb366,null))[_0x71b1('0x12')](function(_0x4b7686){if(_0x4b7686){_0x2ad5b4[_0x71b1('0x63')][_0x71b1('0x68')]=_0x4b7686['id'];return db['MailServerIn'][_0x71b1('0x6a')](_0x2ad5b4[_0x71b1('0x63')]);}})['then'](respondWithResult(_0x1bb366,null))[_0x71b1('0x5e')](handleError(_0x1bb366,null));};exports[_0x71b1('0x80')]=function(_0x1714ce,_0xe29ac1){return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x1714ce[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0xe29ac1,null))['then'](function(_0x252cae){if(_0x252cae){return _0x252cae[_0x71b1('0x81')](null);}return null;})['then'](respondWithStatusCode(_0xe29ac1,null))[_0x71b1('0x5e')](handleError(_0xe29ac1,null));};exports[_0x71b1('0x82')]=function(_0x9e941f,_0x7e145c){return db[_0x71b1('0x5a')]['findOne']({'where':{'id':_0x9e941f['params']['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x7e145c,null))[_0x71b1('0x12')](function(_0x2024c9){if(_0x2024c9){return _0x2024c9[_0x71b1('0x82')]();}return null;})[_0x71b1('0x12')](respondWithResult(_0x7e145c,null))[_0x71b1('0x5e')](handleError(_0x7e145c,null));};exports[_0x71b1('0x83')]=function(_0x10c5c3,_0x1cec17){if(_0x10c5c3[_0x71b1('0x63')]['id']){delete _0x10c5c3[_0x71b1('0x63')]['id'];}return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x10c5c3[_0x71b1('0x60')]['id']}})['then'](handleEntityNotFound(_0x1cec17,null))[_0x71b1('0x12')](function(_0x537634){if(_0x537634){_0x10c5c3[_0x71b1('0x63')]['MailAccountId']=_0x537634['id'];return db[_0x71b1('0x43')]['create'](_0x10c5c3[_0x71b1('0x63')]);}})[_0x71b1('0x12')](respondWithResult(_0x1cec17,null))[_0x71b1('0x5e')](handleError(_0x1cec17,null));};exports[_0x71b1('0x84')]=function(_0xcd147c,_0x481418){return db[_0x71b1('0x5a')]['findOne']({'where':{'id':_0xcd147c[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x481418,null))[_0x71b1('0x12')](function(_0x347d60){if(_0x347d60){return _0x347d60['setSmtp'](null);}return null;})[_0x71b1('0x12')](respondWithStatusCode(_0x481418,null))[_0x71b1('0x5e')](handleError(_0x481418,null));};exports[_0x71b1('0x85')]=function(_0x54f840,_0x216073){return db[_0x71b1('0x86')]['find']({'where':{'id':_0x54f840['params']['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x216073,null))['then'](function(_0x777985){if(_0x777985){return _0x777985[_0x71b1('0x85')](_0x54f840[_0x71b1('0x63')]['ids'],_[_0x71b1('0x87')](_0x54f840[_0x71b1('0x63')],[_0x71b1('0x6f'),'id'])||{});}})[_0x71b1('0x12')](respondWithResult(_0x216073,null))[_0x71b1('0x5e')](handleError(_0x216073,null));};exports['getInteractions']=function(_0x3c837c,_0x4ca183){var _0x1e603a={'raw':![],'where':{}};var _0xe25ce5={};var _0x4f8ae2={'count':0x0,'rows':[]};return db[_0x71b1('0x5a')]['findOne']({'where':{'id':_0x3c837c['params']['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x4ca183,null))[_0x71b1('0x12')](function(_0x53889e){if(_0x53889e){_0xe25ce5[_0x71b1('0x4b')]=_[_0x71b1('0x4c')](db['MailInteraction']['rawAttributes']);_0xe25ce5[_0x71b1('0x4d')]=_[_0x71b1('0x4c')](_0x3c837c[_0x71b1('0x4d')]);_0xe25ce5[_0x71b1('0x4e')]=_[_0x71b1('0x4f')](_0xe25ce5['model'],_0xe25ce5['query']);_0x1e603a['attributes']=_[_0x71b1('0x4f')](_0xe25ce5['model'],qs[_0x71b1('0x51')](_0x3c837c[_0x71b1('0x4d')]['fields']));_0x1e603a[_0x71b1('0x50')]=_0x1e603a[_0x71b1('0x50')][_0x71b1('0x61')]?_0x1e603a[_0x71b1('0x50')]:_0xe25ce5['model'];if(!_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x72')]('nolimit')){_0x1e603a[_0x71b1('0x1f')]=qs[_0x71b1('0x1f')](_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x1f')]);_0x1e603a[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x21')]);}_0x1e603a['order']=qs[_0x71b1('0x54')](_0x3c837c['query'][_0x71b1('0x54')]);_0x1e603a[_0x71b1('0x55')]=qs['filters'](_[_0x71b1('0x56')](_0x3c837c[_0x71b1('0x4d')],_0xe25ce5[_0x71b1('0x4e')]));_0x1e603a['where'][_0x71b1('0x68')]=_0x53889e['id'];if(_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x57')]){_0x1e603a['where']=_[_0x71b1('0x58')](_0x1e603a[_0x71b1('0x55')],{'$or':_[_0x71b1('0x46')](_0x1e603a[_0x71b1('0x50')],function(_0x338283){var _0x7d6639={};_0x7d6639[_0x338283]={'$like':'%'+_0x3c837c[_0x71b1('0x4d')]['filter']+'%'};return _0x7d6639;})});}_0x1e603a=_['merge']({},_0x1e603a,_0x3c837c[_0x71b1('0x59')]);return db[_0x71b1('0x86')]['count']({'where':_0x1e603a[_0x71b1('0x55')]})['then'](function(_0x1043ef){_0x4f8ae2[_0x71b1('0x20')]=_0x1043ef;if(_0x3c837c['query'][_0x71b1('0x5b')]){_0x1e603a[_0x71b1('0x6d')]=[{'model':db[_0x71b1('0x88')],'as':_0x71b1('0x89'),'required':![]},{'model':db[_0x71b1('0x8a')],'as':'Owner','attributes':[_0x71b1('0x28'),_0x71b1('0x8b'),'internal'],'required':![]},{'model':db[_0x71b1('0x8c')],'as':'Tags','attributes':['id',_0x71b1('0x28'),_0x71b1('0x8d')],'where':_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x8e')]?{'id':_0x3c837c[_0x71b1('0x4d')]['tag']}:undefined,'required':_0x3c837c[_0x71b1('0x4d')][_0x71b1('0x8e')]?!![]:![]}];}return db[_0x71b1('0x86')][_0x71b1('0x5c')](_0x1e603a);})['then'](function(_0xe0df6a){_0x4f8ae2['rows']=_0xe0df6a;return _0x4f8ae2;});}})[_0x71b1('0x12')](respondWithFilteredResult(_0x4ca183,_0x1e603a))[_0x71b1('0x5e')](handleError(_0x4ca183,null));};exports[_0x71b1('0x8f')]=function addApplications(_0x2b9c2d,_0x7e4ede){var _0x3286d1=_0x2b9c2d[_0x71b1('0x60')]['id'];var _0x5d07ea=_0x2b9c2d[_0x71b1('0x63')];var _0x4be506=0xc8;var _0x1ad761=null;return db[_0x71b1('0x90')][_0x71b1('0x91')]({'isolationLevel':db['sequelize']['Transaction'][_0x71b1('0x92')][_0x71b1('0x93')]},function(_0x3c60ee){return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x3286d1},'transaction':_0x3c60ee})['then'](function(_0x15c60e){if(_0x15c60e){return db['MailApplication'][_0x71b1('0x24')]({'where':{'MailAccountId':_0x3286d1},'transaction':_0x3c60ee})[_0x71b1('0x12')](function(){var _0x439446=_['map'](_0x5d07ea,function(_0x379d1e){_0x379d1e['MailAccountId']=_0x3286d1;return _0x379d1e;});return db[_0x71b1('0x94')][_0x71b1('0x95')](_0x439446,{'transaction':_0x3c60ee});});}else{_0x4be506=0x194;_0x1ad761=[];}});})['then'](function(){if(_0x4be506!==0x194){return db['MailApplication'][_0x71b1('0x96')]({'where':{'MailAccountId':_0x3286d1},'order':_0x71b1('0x97')})[_0x71b1('0x12')](function(_0x1bb8ac){_0x1ad761=_0x1bb8ac;});}})[_0x71b1('0x5e')](function(_0x1e22eb){_0x4be506=0x1f4;logger[_0x71b1('0x16')](_0x1e22eb['stack']);if(_0x1e22eb[_0x71b1('0x28')]){delete _0x1e22eb['name'];}_0x1ad761=_0x1e22eb;})[_0x71b1('0x98')](function(){if(_0x1ad761===null){_0x7e4ede[_0x71b1('0x27')](_0x4be506);}else{if(_0x4be506===0x1f4){_0x7e4ede[_0x71b1('0x1b')](_0x4be506)[_0x71b1('0x29')](_0x1ad761);}else{_0x7e4ede[_0x71b1('0x1b')](_0x4be506)[_0x71b1('0x1d')](_0x1ad761);}}});};exports[_0x71b1('0x99')]=function(_0x5925c1,_0x102469){var _0xbbace2={};var _0x4c8f92={};var _0x2eddd2;var _0x4f714a;return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x5925c1[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x102469,null))[_0x71b1('0x12')](function(_0x3d3f5b){if(_0x3d3f5b){_0x2eddd2=_0x3d3f5b;_0x4c8f92[_0x71b1('0x4b')]=_['keys'](db[_0x71b1('0x94')]['rawAttributes']);_0x4c8f92[_0x71b1('0x4d')]=_['keys'](_0x5925c1[_0x71b1('0x4d')]);_0x4c8f92[_0x71b1('0x4e')]=_[_0x71b1('0x4f')](_0x4c8f92['model'],_0x4c8f92['query']);_0xbbace2[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x4c8f92[_0x71b1('0x4b')],qs[_0x71b1('0x51')](_0x5925c1['query'][_0x71b1('0x51')]));_0xbbace2[_0x71b1('0x50')]=_0xbbace2[_0x71b1('0x50')][_0x71b1('0x61')]?_0xbbace2[_0x71b1('0x50')]:_0x4c8f92[_0x71b1('0x4b')];_0xbbace2[_0x71b1('0x53')]=qs[_0x71b1('0x54')](_0x5925c1[_0x71b1('0x4d')][_0x71b1('0x54')]);_0xbbace2[_0x71b1('0x55')]=qs['filters'](_['pick'](_0x5925c1['query'],_0x4c8f92[_0x71b1('0x4e')]));if(_0x5925c1[_0x71b1('0x4d')][_0x71b1('0x57')]){_0xbbace2['where']=_[_0x71b1('0x58')](_0xbbace2[_0x71b1('0x55')],{'$or':_['map'](_0xbbace2[_0x71b1('0x50')],function(_0x42a922){var _0x2dc02f={};_0x2dc02f[_0x42a922]={'$like':'%'+_0x5925c1[_0x71b1('0x4d')][_0x71b1('0x57')]+'%'};return _0x2dc02f;})});}_0xbbace2=_['merge']({},_0xbbace2,_0x5925c1[_0x71b1('0x59')]);return _0x2eddd2[_0x71b1('0x99')](_0xbbace2);}})['then'](function(_0x5f1b57){if(_0x5f1b57){_0x4f714a=_0x5f1b57[_0x71b1('0x61')];if(!_0x5925c1[_0x71b1('0x4d')]['hasOwnProperty'](_0x71b1('0x52'))){_0xbbace2[_0x71b1('0x1f')]=qs[_0x71b1('0x1f')](_0x5925c1['query'][_0x71b1('0x1f')]);_0xbbace2[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x5925c1[_0x71b1('0x4d')]['offset']);}return _0x2eddd2['getApplications'](_0xbbace2);}})[_0x71b1('0x12')](function(_0x4b10e7){if(_0x4b10e7){return _0x4b10e7?{'count':_0x4f714a,'rows':_0x4b10e7}:null;}})[_0x71b1('0x12')](respondWithResult(_0x102469,null))['catch'](handleError(_0x102469,null));};exports[_0x71b1('0x9a')]=function(_0x38d73d,_0x98b58f){var _0x292b62={'raw':!![],'where':{}};var _0x589be0={};var _0x50932a={'count':0x0,'rows':[]};return db[_0x71b1('0x5a')][_0x71b1('0x6c')]({'where':{'id':_0x38d73d[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x98b58f,null))[_0x71b1('0x12')](function(_0x1cd0b8){if(_0x1cd0b8){_0x589be0[_0x71b1('0x4b')]=_[_0x71b1('0x4c')](db[_0x71b1('0x9b')][_0x71b1('0x47')]);_0x589be0[_0x71b1('0x4d')]=_['keys'](_0x38d73d[_0x71b1('0x4d')]);_0x589be0['filters']=_['intersection'](_0x589be0[_0x71b1('0x4b')],_0x589be0[_0x71b1('0x4d')]);_0x292b62[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x589be0[_0x71b1('0x4b')],qs[_0x71b1('0x51')](_0x38d73d[_0x71b1('0x4d')]['fields']));_0x292b62[_0x71b1('0x50')]=_0x292b62[_0x71b1('0x50')][_0x71b1('0x61')]?_0x292b62['attributes']:_0x589be0[_0x71b1('0x4b')];if(!_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x72')](_0x71b1('0x52'))){_0x292b62[_0x71b1('0x1f')]=qs['limit'](_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x1f')]);_0x292b62['offset']=qs[_0x71b1('0x21')](_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x21')]);}_0x292b62[_0x71b1('0x53')]=qs[_0x71b1('0x54')](_0x38d73d[_0x71b1('0x4d')]['sort']);_0x292b62[_0x71b1('0x55')]=qs['filters'](_[_0x71b1('0x56')](_0x38d73d['query'],_0x589be0[_0x71b1('0x4e')]));_0x292b62[_0x71b1('0x55')][_0x71b1('0x68')]=_0x1cd0b8['id'];if(_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x57')]){_0x292b62[_0x71b1('0x55')]=_[_0x71b1('0x58')](_0x292b62[_0x71b1('0x55')],{'$or':_[_0x71b1('0x46')](_0x292b62['attributes'],function(_0x451b38){var _0x4deb75={};_0x4deb75[_0x451b38]={'$like':'%'+_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x57')]+'%'};return _0x4deb75;})});}if(_0x38d73d[_0x71b1('0x4d')]['$gte']){var _0x2c674f=_0x38d73d[_0x71b1('0x4d')]['$gte'][_0x71b1('0x9c')](',');var _0x32972b={};_0x32972b[_0x2c674f[0x0]]={'$gte':moment(_0x2c674f[0x1])[_0x71b1('0x9d')](_0x71b1('0x9e'))};_0x292b62[_0x71b1('0x55')]=_[_0x71b1('0x58')](_0x292b62[_0x71b1('0x55')],_0x32972b);}_0x292b62=_[_0x71b1('0x58')]({},_0x292b62,_0x38d73d[_0x71b1('0x59')]);return db['MailMessage'][_0x71b1('0x20')]({'where':_0x292b62['where']})[_0x71b1('0x12')](function(_0x328748){_0x50932a[_0x71b1('0x20')]=_0x328748;if(_0x38d73d['query'][_0x71b1('0x5b')]){_0x292b62[_0x71b1('0x6d')]=[{'all':!![]}];}return db[_0x71b1('0x9b')][_0x71b1('0x5c')](_0x292b62);})['then'](function(_0x2e4f2f){if(_0x38d73d[_0x71b1('0x4d')][_0x71b1('0x9f')]===_0x71b1('0xa0')){for(var _0x13ea56=0x0;_0x13ea56<_0x2e4f2f['length'];_0x13ea56++){_0x2e4f2f[_0x13ea56][_0x71b1('0x63')]=juice(_0x2e4f2f[_0x13ea56]['body']);}}_0x50932a[_0x71b1('0x5d')]=_0x2e4f2f;return _0x50932a;});}})['then'](respondWithFilteredResult(_0x98b58f,_0x292b62))[_0x71b1('0x5e')](handleError(_0x98b58f,null));};exports['send']=function(_0x13eeb4,_0x226396){var _0x4ec6fc,_0x1d3f79={},_0x3c98c1;if(_0x13eeb4['body']['to']){_0x3c98c1=_0x13eeb4[_0x71b1('0x63')]['to'][_0x71b1('0x9c')](',')[0x0];}return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x13eeb4[_0x71b1('0x60')]['id']},'include':[{'model':db[_0x71b1('0xa1')],'as':_0x71b1('0xa2'),'include':[{'model':db[_0x71b1('0x88')],'as':_0x71b1('0xa3'),'where':{'email':_0x3c98c1},'limit':0x1,'order':[[_0x71b1('0xa4'),_0x71b1('0xa5')]]}]},{'model':db['MailServerOut'],'as':_0x71b1('0x41'),'raw':!![],'include':[{'model':db[_0x71b1('0xa6')],'as':'CloudProvider','raw':!![]}]}]})[_0x71b1('0x12')](handleEntityNotFound(_0x226396,null))[_0x71b1('0x12')](function(_0x1288c0){if(!_0x1288c0)return;_0x4ec6fc=_0x1288c0;if(!_0x1288c0['Smtp'])throw new Error(_0x71b1('0xa7'));if(_[_0x71b1('0xa8')](_0x13eeb4['body'][_0x71b1('0xa9')])){_0x13eeb4[_0x71b1('0x63')]['from']=util['format'](_0x71b1('0xaa'),_0x1288c0[_0x71b1('0x28')],_0x1288c0[_0x71b1('0x75')]||_0x1288c0[_0x71b1('0x41')][_0x71b1('0x35')]);}if(_0x13eeb4['body'][_0x71b1('0xab')]&&_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xab')]['length']){for(var _0x1d4ef2=0x0;_0x1d4ef2<_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xab')][_0x71b1('0x61')];_0x1d4ef2+=0x1){_0x13eeb4['body'][_0x71b1('0xab')][_0x1d4ef2]={'filename':_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xab')][_0x1d4ef2][_0x71b1('0x28')],'path':path[_0x71b1('0xac')](config[_0x71b1('0xad')],_0x71b1('0xae'),_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xab')][_0x1d4ef2][_0x71b1('0xaf')])};}}var _0x8dc40a=_0x1288c0['getSmtpOptions']();return respondWithRpcPromise(_0x71b1('0xb0'),_0x71b1('0xb1'),{'account':_0x8dc40a,'message':_0x13eeb4[_0x71b1('0x63')]});})[_0x71b1('0x12')](function(_0x52baff){if(!_0x52baff)return;_0x1d3f79=_0x52baff;if(!_0x4ec6fc[_0x71b1('0xa2')])throw new Error(_0x71b1('0xb2'));if(_0x4ec6fc[_0x71b1('0xa2')]['Contacts']['length'])return _0x4ec6fc['List'][_0x71b1('0xa3')][0x0];return db[_0x71b1('0x88')][_0x71b1('0x6a')](_[_0x71b1('0xa')](_0x13eeb4[_0x71b1('0x63')],{'firstName':_0x13eeb4[_0x71b1('0x63')]['to'],'email':_0x13eeb4[_0x71b1('0x63')]['to'],'phone':_0x13eeb4['body']['to'],'ListId':_0x4ec6fc[_0x71b1('0xb3')]}));})[_0x71b1('0x12')](function(_0x2b0a0c){if(!_0x2b0a0c)return;var _0x5d167f={'UserId':_0x13eeb4[_0x71b1('0x35')]['id'],'ContactId':_0x2b0a0c['id'],'MailAccountId':_0x4ec6fc['id'],'inReplyTo':_0x1d3f79[_0x71b1('0xb4')],'to':_0x13eeb4['body'][_0x71b1('0xa9')],'cc':_0x13eeb4[_0x71b1('0x63')]['cc'],'subject':_0x13eeb4[_0x71b1('0x63')]['subject'],'attach':_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xb5')],'firstMsgDirection':_0x71b1('0xb6'),'lastMsgAt':moment()[_0x71b1('0x9d')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','Messages':[_[_0x71b1('0x58')](_0x13eeb4['body'],{'messageId':_0x1d3f79[_0x71b1('0xb4')],'sentAt':moment()[_0x71b1('0x9d')](_0x71b1('0x9e')),'read':!![],'MailAccountId':_0x4ec6fc['id'],'UserId':_0x13eeb4[_0x71b1('0x35')]['id'],'ContactId':_0x2b0a0c['id']})]};if(_0x13eeb4[_0x71b1('0x63')]['Interaction']){_0x5d167f=_[_0x71b1('0x58')](_0x5d167f,_0x13eeb4[_0x71b1('0x63')][_0x71b1('0xb7')]);}return db[_0x71b1('0x86')][_0x71b1('0x6a')](_0x5d167f,{'include':[{'model':db['MailMessage'],'as':_0x71b1('0xb8')}]});})[_0x71b1('0x12')](respondWithResult(_0x226396,null))[_0x71b1('0x5e')](handleError(_0x226396,null));};exports['verifySmtp']=function(_0x3b8645,_0x1d6c28){return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x3b8645['params']['id']},'include':[{'model':db[_0x71b1('0x43')],'as':_0x71b1('0x41'),'raw':!![],'include':[{'model':db[_0x71b1('0xa6')],'as':_0x71b1('0xa6'),'raw':!![]}]}]})[_0x71b1('0x12')](handleEntityNotFound(_0x1d6c28,null))[_0x71b1('0x12')](function(_0x3245bb){if(!_0x3245bb[_0x71b1('0x41')])return;var _0x2d26ce=_0x3245bb[_0x71b1('0xb9')]();return respondWithRpcPromise(_0x71b1('0xba'),_0x71b1('0xbb'),{'account':_0x2d26ce});})[_0x71b1('0x12')](respondWithResult(_0x1d6c28,null))[_0x71b1('0x5e')](handleError(_0x1d6c28,null));};exports[_0x71b1('0x24')]=function(_0x2a2fbd,_0x4e174a){return db[_0x71b1('0x5a')][_0x71b1('0x62')]({'where':{'id':_0x2a2fbd[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x4e174a,null))[_0x71b1('0x12')](function(_0x1c4e50){if(_0x1c4e50&&_0x1c4e50[_0x71b1('0x3e')]){throw new db[(_0x71b1('0xbc'))][(_0x71b1('0xbd'))](_0x71b1('0xbe'));}return _0x1c4e50;})[_0x71b1('0x12')](removeEntity(_0x4e174a,null))[_0x71b1('0x5e')](handleError(_0x4e174a,null));};exports[_0x71b1('0xbf')]=function(_0x2715ac,_0x544724){return db['MailAccount'][_0x71b1('0x62')]({'where':{'id':_0x2715ac[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x544724,null))[_0x71b1('0x12')](function(_0x56f21d){if(_0x56f21d){return _0x56f21d[_0x71b1('0xbf')](_0x2715ac[_0x71b1('0x63')][_0x71b1('0x6f')],_[_0x71b1('0x87')](_0x2715ac[_0x71b1('0x63')],['ids','id'])||{})['spread'](function(_0x26942d){for(var _0x190216=0x0;_0x190216<_0x2715ac[_0x71b1('0x63')][_0x71b1('0x6f')][_0x71b1('0x61')];_0x190216+=0x1){socket[_0x71b1('0xc0')]('userMailAccount:save',{'UserId':Number(_0x2715ac[_0x71b1('0x63')]['ids'][_0x190216]),'MailAccountId':Number(_0x2715ac[_0x71b1('0x60')]['id'])});}return _0x26942d;});}})[_0x71b1('0x12')](respondWithResult(_0x544724,null))[_0x71b1('0x5e')](handleError(_0x544724,null));};exports[_0x71b1('0xc1')]=function(_0x36a17b,_0x4008f3){return db['MailAccount']['find']({'where':{'id':_0x36a17b[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x4008f3,null))[_0x71b1('0x12')](function(_0x54bc37){if(_0x54bc37){return _0x54bc37[_0x71b1('0xc1')](_0x36a17b[_0x71b1('0x4d')][_0x71b1('0x6f')])[_0x71b1('0x12')](function(){if(_[_0x71b1('0xc2')](_0x36a17b[_0x71b1('0x4d')][_0x71b1('0x6f')])){for(var _0xd823c2=0x0;_0xd823c2<_0x36a17b[_0x71b1('0x4d')][_0x71b1('0x6f')][_0x71b1('0x61')];_0xd823c2+=0x1){socket[_0x71b1('0xc0')](_0x71b1('0xc3'),{'UserId':Number(_0x36a17b[_0x71b1('0x4d')][_0x71b1('0x6f')][_0xd823c2]),'MailAccountId':Number(_0x36a17b[_0x71b1('0x60')]['id'])});}}else{socket['emit'](_0x71b1('0xc3'),{'UserId':Number(_0x36a17b['query'][_0x71b1('0x6f')]),'MailAccountId':Number(_0x36a17b[_0x71b1('0x60')]['id'])});}});}})[_0x71b1('0x12')](respondWithStatusCode(_0x4008f3,null))[_0x71b1('0x5e')](handleError(_0x4008f3,null));};exports[_0x71b1('0xc4')]=function(_0x5cb661,_0x9a4400){var _0x10f9aa={};var _0x1ebc47={};var _0x953846;var _0x581d69;return db['MailAccount'][_0x71b1('0x6c')]({'where':{'id':_0x5cb661[_0x71b1('0x60')]['id']}})[_0x71b1('0x12')](handleEntityNotFound(_0x9a4400,null))['then'](function(_0x3f7393){if(_0x3f7393){_0x953846=_0x3f7393;_0x1ebc47[_0x71b1('0x4b')]=_[_0x71b1('0x4c')](db[_0x71b1('0x8a')]['rawAttributes']);_0x1ebc47[_0x71b1('0x4d')]=_['keys'](_0x5cb661[_0x71b1('0x4d')]);_0x1ebc47['filters']=_[_0x71b1('0x4f')](_0x1ebc47[_0x71b1('0x4b')],_0x1ebc47[_0x71b1('0x4d')]);_0x10f9aa[_0x71b1('0x50')]=_[_0x71b1('0x4f')](_0x1ebc47[_0x71b1('0x4b')],qs[_0x71b1('0x51')](_0x5cb661[_0x71b1('0x4d')][_0x71b1('0x51')]));_0x10f9aa[_0x71b1('0x50')]=_0x10f9aa[_0x71b1('0x50')][_0x71b1('0x61')]?_0x10f9aa[_0x71b1('0x50')]:_0x1ebc47[_0x71b1('0x4b')];_0x10f9aa[_0x71b1('0x53')]=qs[_0x71b1('0x54')](_0x5cb661['query']['sort']);_0x10f9aa[_0x71b1('0x55')]=qs['filters'](_[_0x71b1('0x56')](_0x5cb661[_0x71b1('0x4d')],_0x1ebc47['filters']));if(_0x5cb661['query'][_0x71b1('0x57')]){_0x10f9aa[_0x71b1('0x55')]=_[_0x71b1('0x58')](_0x10f9aa[_0x71b1('0x55')],{'$or':_['map'](_0x10f9aa[_0x71b1('0x50')],function(_0xc2d8ac){var _0x3114a1={};_0x3114a1[_0xc2d8ac]={'$like':'%'+_0x5cb661[_0x71b1('0x4d')]['filter']+'%'};return _0x3114a1;})});}_0x10f9aa=_[_0x71b1('0x58')]({},_0x10f9aa,_0x5cb661[_0x71b1('0x59')]);return _0x953846[_0x71b1('0xc4')](_0x10f9aa);}})['then'](function(_0xb51971){if(_0xb51971){_0x581d69=_0xb51971[_0x71b1('0x61')];if(!_0x5cb661[_0x71b1('0x4d')][_0x71b1('0x72')](_0x71b1('0x52'))){_0x10f9aa['limit']=qs['limit'](_0x5cb661[_0x71b1('0x4d')]['limit']);_0x10f9aa[_0x71b1('0x21')]=qs[_0x71b1('0x21')](_0x5cb661['query']['offset']);}return _0x953846[_0x71b1('0xc4')](_0x10f9aa);}})[_0x71b1('0x12')](function(_0x2d24a1){if(_0x2d24a1){return _0x2d24a1?{'count':_0x581d69,'rows':_0x2d24a1}:null;}})['then'](respondWithResult(_0x9a4400,null))[_0x71b1('0x5e')](handleError(_0x9a4400,null));};