Built motion from commit e02f907f.|2.6.14
[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 _0x3e1c=['length','Contact','fullname','internal','Tags','tag','addApplications','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','destroy','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','List','Contacts','updatedAt','DESC','CloudProvider','from','%s\x20<%s>','attachments','join','server/files/attachments','getSmtpOptions','sendMail','List\x20not\x20found','CmContact','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','get','MailAccounts','then','stack','name','send','gmail','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','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','show','params','MailServerIn','catch','update','body','provider','custom','find','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','pick','rows','key','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions'];(function(_0x414124,_0x12d9c1){var _0x40032a=function(_0x15ecf5){while(--_0x15ecf5){_0x414124['push'](_0x414124['shift']());}};_0x40032a(++_0x12d9c1);}(_0x3e1c,0x1ba));var _0xc3e1=function(_0x1b4731,_0x51f4b5){_0x1b4731=_0x1b4731-0x0;var _0x43133a=_0x3e1c[_0x1b4731];return _0x43133a;};'use strict';var moment=require(_0xc3e1('0x0'));var BPromise=require(_0xc3e1('0x1'));var util=require(_0xc3e1('0x2'));var path=require(_0xc3e1('0x3'));var _=require(_0xc3e1('0x4'));var juice=require(_0xc3e1('0x5'));var Redis=require(_0xc3e1('0x6'));var qs=require(_0xc3e1('0x7'));var logger=require('../../config/logger')(_0xc3e1('0x8'));var config=require(_0xc3e1('0x9'));var db=require(_0xc3e1('0xa'))['db'];config[_0xc3e1('0xb')]=_[_0xc3e1('0xc')](config['redis'],{'host':_0xc3e1('0xd'),'port':0x18eb});var socket=require(_0xc3e1('0xe'))(new Redis(config[_0xc3e1('0xb')]));require('./mailAccount.socket')[_0xc3e1('0xf')](socket);var jayson=require(_0xc3e1('0x10'));var client=jayson[_0xc3e1('0x11')]['http']({'port':0x232b});function respondWithRpcPromise(_0x1570a8,_0x1ff3ce,_0x42ceff,_0x567560){return new BPromise(function(_0x53c036,_0x230b99){var _0x34372=_0x567560||client;return _0x34372['request'](_0x1570a8,_0x42ceff)['then'](function(_0x44d03b){logger[_0xc3e1('0x12')](_0xc3e1('0x13'),_0x1ff3ce,_0xc3e1('0x14'));logger[_0xc3e1('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x1ff3ce,_0xc3e1('0x14'),JSON[_0xc3e1('0x16')](_0x44d03b));if(_0x44d03b[_0xc3e1('0x17')]){if(_0x44d03b[_0xc3e1('0x17')][_0xc3e1('0x18')]===0x1f4){logger[_0xc3e1('0x17')](_0xc3e1('0x13'),_0x1ff3ce,_0x44d03b[_0xc3e1('0x17')][_0xc3e1('0x19')]);return _0x230b99(_0x44d03b[_0xc3e1('0x17')][_0xc3e1('0x19')]);}logger[_0xc3e1('0x17')]('MailAccount,\x20%s,\x20%s',_0x1ff3ce,_0x44d03b[_0xc3e1('0x17')][_0xc3e1('0x19')]);return _0x53c036(_0x44d03b[_0xc3e1('0x17')][_0xc3e1('0x19')]);}else{logger[_0xc3e1('0x12')](_0xc3e1('0x13'),_0x1ff3ce,'request\x20sent');_0x53c036(_0x44d03b[_0xc3e1('0x1a')][_0xc3e1('0x19')]);}})['catch'](function(_0x55cb62){logger[_0xc3e1('0x17')](_0xc3e1('0x13'),_0x1ff3ce,_0x55cb62);_0x230b99(_0x55cb62);});});}function respondWithStatusCode(_0x7911aa,_0x12dbd5){_0x12dbd5=_0x12dbd5||0xcc;return function(_0x132eca){if(_0x132eca){return _0x7911aa[_0xc3e1('0x1b')](_0x12dbd5);}return _0x7911aa[_0xc3e1('0x1c')](_0x12dbd5)[_0xc3e1('0x1d')]();};}function respondWithResult(_0x4ab842,_0x41f829){_0x41f829=_0x41f829||0xc8;return function(_0xea27dd){if(_0xea27dd){return _0x4ab842[_0xc3e1('0x1c')](_0x41f829)[_0xc3e1('0x1e')](_0xea27dd);}};}function respondWithFilteredResult(_0x431217,_0x467849){return function(_0x879a1f){if(_0x879a1f){var _0x3212fd=typeof _0x467849[_0xc3e1('0x1f')]===_0xc3e1('0x20')&&typeof _0x467849['limit']==='undefined';var _0x1e8113=_0x879a1f[_0xc3e1('0x21')];var _0x25abbe=_0x3212fd?0x0:_0x467849[_0xc3e1('0x1f')];var _0x24f194=_0x3212fd?_0x879a1f[_0xc3e1('0x21')]:_0x467849['offset']+_0x467849[_0xc3e1('0x22')];var _0x1d746b;if(_0x24f194>=_0x1e8113){_0x24f194=_0x1e8113;_0x1d746b=0xc8;}else{_0x1d746b=0xce;}_0x431217[_0xc3e1('0x1c')](_0x1d746b);return _0x431217[_0xc3e1('0x23')](_0xc3e1('0x24'),_0x25abbe+'-'+_0x24f194+'/'+_0x1e8113)[_0xc3e1('0x1e')](_0x879a1f);}return null;};}function saveUpdates(_0x181405){return function(_0x5dbf22){if(_0x5dbf22){return _0x5dbf22['update'](_0x181405)['then'](function(_0x1abc44){return _0x1abc44;});}return null;};}function removeEntity(_0x86ea8b){return function(_0x1d34ec){if(_0x1d34ec){return _0x1d34ec['destroy']()['then'](function(){var _0x1ed8c9=_0x1d34ec[_0xc3e1('0x25')]({'plain':!![]});var _0x25bc0e=_0xc3e1('0x26');return db['UserProfileResource']['destroy']({'where':{'type':_0x25bc0e,'resourceId':_0x1ed8c9['id']}})['then'](function(){return _0x1d34ec;});})[_0xc3e1('0x27')](function(){_0x86ea8b['status'](0xcc)[_0xc3e1('0x1d')]();});}};}function handleEntityNotFound(_0x204651){return function(_0x524d5d){if(!_0x524d5d){_0x204651[_0xc3e1('0x1b')](0x194);}return _0x524d5d;};}function handleError(_0x4f0da6,_0x2ca6b7){_0x2ca6b7=_0x2ca6b7||0x1f4;return function(_0x2e566b){logger[_0xc3e1('0x17')](_0x2e566b[_0xc3e1('0x28')]);if(_0x2e566b[_0xc3e1('0x29')]){delete _0x2e566b[_0xc3e1('0x29')];}_0x4f0da6['status'](_0x2ca6b7)[_0xc3e1('0x2a')](_0x2e566b);};}function getImapHost(_0x19694f){switch(_0x19694f){case _0xc3e1('0x2b'):return _0xc3e1('0x2c');case _0xc3e1('0x2d'):return _0xc3e1('0x2e');case _0xc3e1('0x2f'):return'imap-mail.outlook.com';case'outlook365':return _0xc3e1('0x30');}throw new Error(_0xc3e1('0x31'),_0x19694f);}function getSmtpHost(_0x119db1){switch(_0x119db1){case _0xc3e1('0x2b'):return _0xc3e1('0x32');case _0xc3e1('0x2d'):return _0xc3e1('0x33');case _0xc3e1('0x2f'):return _0xc3e1('0x34');case _0xc3e1('0x35'):return _0xc3e1('0x36');}throw new Error(_0xc3e1('0x31'),_0x119db1);}function getAuthenticationOptions(_0x36e02d,_0x51e0c5){var _0x26d5b3={};var _0x107fa4={};if(_0x36e02d){_0x26d5b3[_0xc3e1('0x37')]=_0x107fa4[_0xc3e1('0x37')]=_0x51e0c5['username'];_0x26d5b3[_0xc3e1('0x38')]=_0x107fa4[_0xc3e1('0x39')]=_0x51e0c5['password'];if(_0x51e0c5['modernAuthentication']){_0x26d5b3[_0xc3e1('0x3a')]=_0x107fa4['modernAuthentication']=!![];_0x26d5b3[_0xc3e1('0x3b')]=_0x107fa4[_0xc3e1('0x3b')]=_0x51e0c5[_0xc3e1('0x3b')];_0x26d5b3[_0xc3e1('0x38')]=_0x107fa4[_0xc3e1('0x39')]=null;}else{_0x26d5b3[_0xc3e1('0x3b')]=_0x107fa4[_0xc3e1('0x3b')]=null;}_0x26d5b3[_0xc3e1('0x3c')]=getImapHost(_0x36e02d);_0x26d5b3['port']=0x3e1;_0x107fa4[_0xc3e1('0x3c')]=getSmtpHost(_0x36e02d);_0x107fa4[_0xc3e1('0x3d')]=0x24b;_0x107fa4[_0xc3e1('0x3e')]=![];_0x26d5b3[_0xc3e1('0x3f')]=_0x107fa4[_0xc3e1('0x3f')]=null;}else{if(_0x51e0c5[_0xc3e1('0x40')]){_0x26d5b3[_0xc3e1('0x37')]=_0x107fa4[_0xc3e1('0x37')]=_0x51e0c5['username'];_0x26d5b3['password']=_0x107fa4[_0xc3e1('0x39')]=_0x51e0c5['password'];}else{_0x26d5b3[_0xc3e1('0x40')]=_0x107fa4['authentication']=![];_0x26d5b3[_0xc3e1('0x37')]=_0x107fa4[_0xc3e1('0x37')]=null;_0x26d5b3[_0xc3e1('0x38')]=_0x107fa4[_0xc3e1('0x39')]=null;}_0x26d5b3['host']=_0x51e0c5[_0xc3e1('0x41')][_0xc3e1('0x3c')];_0x26d5b3['port']=_0x51e0c5[_0xc3e1('0x41')][_0xc3e1('0x3d')];_0x107fa4['host']=_0x51e0c5[_0xc3e1('0x42')]['host'];_0x107fa4[_0xc3e1('0x3d')]=_0x51e0c5[_0xc3e1('0x42')]['port'];}return{'Imap':_0x26d5b3,'Smtp':_0x107fa4};}exports[_0xc3e1('0x43')]=function(_0x17bc7d,_0x4e5ba2){var _0x5d4b32={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0xc3e1('0x44')],'as':'Smtp'},{'model':db[_0xc3e1('0x45')],'as':_0xc3e1('0x46')}]},_0x43df41={},_0x21ca8f={'count':0x0,'rows':[]};var _0x38507a=_[_0xc3e1('0x47')](db[_0xc3e1('0x48')][_0xc3e1('0x49')],function(_0x7d469a){return{'name':_0x7d469a[_0xc3e1('0x4a')],'type':_0x7d469a[_0xc3e1('0x4b')]['key']};});_0x43df41[_0xc3e1('0x4c')]=_[_0xc3e1('0x47')](_0x38507a,_0xc3e1('0x29'));_0x43df41[_0xc3e1('0x4d')]=_[_0xc3e1('0x4e')](_0x17bc7d['query']);_0x43df41[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0x43df41[_0xc3e1('0x4c')],_0x43df41[_0xc3e1('0x4d')]);_0x5d4b32['attributes']=_[_0xc3e1('0x50')](_0x43df41[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x5d4b32[_0xc3e1('0x52')]=_0x5d4b32[_0xc3e1('0x52')]['length']?_0x5d4b32[_0xc3e1('0x52')]:_0x43df41[_0xc3e1('0x4c')];if(!_0x17bc7d[_0xc3e1('0x4d')]['hasOwnProperty'](_0xc3e1('0x53'))){_0x5d4b32[_0xc3e1('0x22')]=qs[_0xc3e1('0x22')](_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x22')]);_0x5d4b32[_0xc3e1('0x1f')]=qs[_0xc3e1('0x1f')](_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x1f')]);}_0x5d4b32[_0xc3e1('0x54')]=qs[_0xc3e1('0x55')](_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x5d4b32[_0xc3e1('0x56')]=qs[_0xc3e1('0x4f')](_['pick'](_0x17bc7d[_0xc3e1('0x4d')],_0x43df41[_0xc3e1('0x4f')]),_0x38507a);if(_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x57')]){_0x5d4b32[_0xc3e1('0x56')]=_[_0xc3e1('0x58')](_0x5d4b32[_0xc3e1('0x56')],{'$or':_[_0xc3e1('0x47')](_0x38507a,function(_0x134be9){if(_0x134be9['type']!=='VIRTUAL'){var _0x50b3f0={};_0x50b3f0[_0x134be9[_0xc3e1('0x29')]]={'$like':'%'+_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x57')]+'%'};return _0x50b3f0;}})});}_0x5d4b32=_[_0xc3e1('0x58')]({},_0x5d4b32,_0x17bc7d[_0xc3e1('0x59')]);var _0x3c2466={'where':_0x5d4b32[_0xc3e1('0x56')]};return db[_0xc3e1('0x48')][_0xc3e1('0x21')](_0x3c2466)[_0xc3e1('0x27')](function(_0xa5eae6){_0x21ca8f[_0xc3e1('0x21')]=_0xa5eae6;if(_0x17bc7d[_0xc3e1('0x4d')][_0xc3e1('0x5a')]){_0x5d4b32[_0xc3e1('0x5b')]=[{'all':!![]}];}return db[_0xc3e1('0x48')][_0xc3e1('0x5c')](_0x5d4b32);})[_0xc3e1('0x27')](function(_0x348236){_0x21ca8f['rows']=_0x348236;return _0x21ca8f;})['then'](respondWithFilteredResult(_0x4e5ba2,_0x5d4b32))['catch'](handleError(_0x4e5ba2,null));};exports[_0xc3e1('0x5d')]=function(_0x1605df,_0x24b86a){var _0x38b6ff={'raw':![],'where':{'id':_0x1605df[_0xc3e1('0x5e')]['id']},'include':[{'model':db[_0xc3e1('0x5f')],'as':_0xc3e1('0x41')},{'model':db[_0xc3e1('0x44')],'as':_0xc3e1('0x42')},{'model':db[_0xc3e1('0x45')],'as':'mandatoryDispositionPause'}]},_0xb01784={};_0xb01784[_0xc3e1('0x4c')]=_['keys'](db[_0xc3e1('0x48')]['rawAttributes']);_0xb01784['query']=_[_0xc3e1('0x4e')](_0x1605df[_0xc3e1('0x4d')]);_0xb01784[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0xb01784[_0xc3e1('0x4c')],_0xb01784[_0xc3e1('0x4d')]);_0x38b6ff[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0xb01784[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0x1605df[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x38b6ff[_0xc3e1('0x52')]=_0x38b6ff[_0xc3e1('0x52')]['length']?_0x38b6ff[_0xc3e1('0x52')]:_0xb01784['model'];if(_0x1605df[_0xc3e1('0x4d')][_0xc3e1('0x5a')]){_0x38b6ff[_0xc3e1('0x5b')]=[{'all':!![]}];}_0x38b6ff=_[_0xc3e1('0x58')]({},_0x38b6ff,_0x1605df[_0xc3e1('0x59')]);return db[_0xc3e1('0x48')]['find'](_0x38b6ff)[_0xc3e1('0x27')](handleEntityNotFound(_0x24b86a,null))[_0xc3e1('0x27')](respondWithResult(_0x24b86a,null))[_0xc3e1('0x60')](handleError(_0x24b86a,null));};exports[_0xc3e1('0x61')]=function(_0x10dfb0,_0x5c954a){if(_0x10dfb0[_0xc3e1('0x62')]['id']){delete _0x10dfb0['body']['id'];}var _0x56e50c=_0x10dfb0['body'][_0xc3e1('0x63')]===_0xc3e1('0x64')?null:_0x10dfb0[_0xc3e1('0x62')]['provider'];var _0x285d01=_0x10dfb0['body'][_0xc3e1('0x41')]||{};var _0x41b828=_0x10dfb0['body']['Smtp']||{};if(_0x56e50c){_0x285d01[_0xc3e1('0x3c')]=getImapHost(_0x56e50c);_0x285d01[_0xc3e1('0x3d')]=0x3e1;_0x41b828['host']=getSmtpHost(_0x56e50c);_0x41b828[_0xc3e1('0x3d')]=0x24b;_0x41b828['secure']=![];}if(_0x41b828[_0xc3e1('0x3a')]){_0x41b828[_0xc3e1('0x3e')]=![];}else{_0x41b828[_0xc3e1('0x3b')]=null;}if(!_0x285d01[_0xc3e1('0x3a')])_0x285d01[_0xc3e1('0x3b')]=null;_0x10dfb0[_0xc3e1('0x62')][_0xc3e1('0x41')]=_0x285d01;_0x10dfb0['body'][_0xc3e1('0x42')]=_0x41b828;return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x10dfb0[_0xc3e1('0x5e')]['id']},'include':[{'model':db[_0xc3e1('0x5f')],'as':'Imap'},{'model':db[_0xc3e1('0x44')],'as':_0xc3e1('0x42')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0xc3e1('0x27')](handleEntityNotFound(_0x5c954a,null))[_0xc3e1('0x27')](function(_0x6e7c9){if(!_0x6e7c9)throw new Error(_0xc3e1('0x66'));if(_0x6e7c9[_0xc3e1('0x3f')])delete _0x10dfb0[_0xc3e1('0x62')]['Imap'];return _0x6e7c9;})['then'](saveUpdates(_0x10dfb0[_0xc3e1('0x62')],null))[_0xc3e1('0x27')](function(_0x2e9499){if(!_0x10dfb0[_0xc3e1('0x62')][_0xc3e1('0x41')])return _0x2e9499;return db[_0xc3e1('0x5f')]['update'](_0x10dfb0[_0xc3e1('0x62')][_0xc3e1('0x41')],{'where':{'MailAccountId':_0x2e9499['id']}})[_0xc3e1('0x27')](function(){return _0x2e9499;});})['then'](function(_0x4c5a81){if(!_0x10dfb0[_0xc3e1('0x62')][_0xc3e1('0x42')])return _0x4c5a81;return db[_0xc3e1('0x44')]['update'](_0x10dfb0[_0xc3e1('0x62')][_0xc3e1('0x42')],{'where':{'MailAccountId':_0x4c5a81['id']}})[_0xc3e1('0x27')](function(){return _0x4c5a81;});})[_0xc3e1('0x27')](respondWithResult(_0x5c954a,null))[_0xc3e1('0x60')](handleError(_0x5c954a,null));};exports[_0xc3e1('0x67')]=function(_0x166d91,_0x5a253a){return db[_0xc3e1('0x48')]['describe']()[_0xc3e1('0x27')](respondWithResult(_0x5a253a,null))[_0xc3e1('0x60')](handleError(_0x5a253a,null));};exports[_0xc3e1('0x68')]=function(_0x3eb06d,_0x1c93a3){if(_0x3eb06d[_0xc3e1('0x62')]['id']){delete _0x3eb06d[_0xc3e1('0x62')]['id'];}return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x3eb06d[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x1c93a3,null))['then'](function(_0xdac023){if(_0xdac023){_0x3eb06d['body'][_0xc3e1('0x69')]=_0xdac023['id'];return db[_0xc3e1('0x6a')][_0xc3e1('0x6b')](_0x3eb06d['body']);}})['then'](respondWithResult(_0x1c93a3,null))[_0xc3e1('0x60')](handleError(_0x1c93a3,null));};exports[_0xc3e1('0x6c')]=function(_0x411d5b,_0x1419aa){var _0x392cad={'raw':![],'where':{}};var _0x1dfdc6={};var _0x37ba92={'count':0x0,'rows':[]};return db[_0xc3e1('0x48')][_0xc3e1('0x6d')]({'where':{'id':_0x411d5b[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x1419aa,null))[_0xc3e1('0x27')](function(_0x3f8449){if(_0x3f8449){_0x1dfdc6['model']=_[_0xc3e1('0x4e')](db[_0xc3e1('0x6a')][_0xc3e1('0x49')]);_0x1dfdc6['query']=_[_0xc3e1('0x4e')](_0x411d5b[_0xc3e1('0x4d')]);_0x1dfdc6[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0x1dfdc6[_0xc3e1('0x4c')],_0x1dfdc6[_0xc3e1('0x4d')]);_0x392cad[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x1dfdc6['model'],qs[_0xc3e1('0x51')](_0x411d5b['query']['fields']));_0x392cad[_0xc3e1('0x52')]=_0x392cad[_0xc3e1('0x52')]['length']?_0x392cad[_0xc3e1('0x52')]:_0x1dfdc6[_0xc3e1('0x4c')];if(!_0x411d5b[_0xc3e1('0x4d')][_0xc3e1('0x6e')](_0xc3e1('0x53'))){_0x392cad[_0xc3e1('0x22')]=qs[_0xc3e1('0x22')](_0x411d5b[_0xc3e1('0x4d')]['limit']);_0x392cad['offset']=qs[_0xc3e1('0x1f')](_0x411d5b[_0xc3e1('0x4d')][_0xc3e1('0x1f')]);}_0x392cad[_0xc3e1('0x54')]=qs['sort'](_0x411d5b[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x392cad[_0xc3e1('0x56')]=qs[_0xc3e1('0x4f')](_['pick'](_0x411d5b[_0xc3e1('0x4d')],_0x1dfdc6['filters']));_0x392cad[_0xc3e1('0x56')][_0xc3e1('0x69')]=_0x3f8449['id'];if(_0x411d5b['query'][_0xc3e1('0x57')]){_0x392cad[_0xc3e1('0x56')]=_[_0xc3e1('0x58')](_0x392cad[_0xc3e1('0x56')],{'$or':_['map'](_0x392cad[_0xc3e1('0x52')],function(_0xea02b2){var _0x143d32={};_0x143d32[_0xea02b2]={'$like':'%'+_0x411d5b[_0xc3e1('0x4d')][_0xc3e1('0x57')]+'%'};return _0x143d32;})});}_0x392cad=_[_0xc3e1('0x58')]({},_0x392cad,_0x411d5b[_0xc3e1('0x59')]);return db[_0xc3e1('0x6a')]['count']({'where':_0x392cad['where']})[_0xc3e1('0x27')](function(_0x54bb58){_0x37ba92[_0xc3e1('0x21')]=_0x54bb58;if(_0x411d5b[_0xc3e1('0x4d')][_0xc3e1('0x5a')]){_0x392cad[_0xc3e1('0x5b')]=[{'all':!![]}];}return db['Disposition'][_0xc3e1('0x5c')](_0x392cad);})[_0xc3e1('0x27')](function(_0x45d56c){_0x37ba92['rows']=_0x45d56c;return _0x37ba92;});}})['then'](respondWithFilteredResult(_0x1419aa,_0x392cad))['catch'](handleError(_0x1419aa,null));};exports['removeDispositions']=function(_0x320aaa,_0x3c9dd7){return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x320aaa[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x3c9dd7,null))[_0xc3e1('0x27')](function(_0x4d0279){if(_0x4d0279){return _0x4d0279[_0xc3e1('0x6f')](_0x320aaa['query'][_0xc3e1('0x70')]);}})['then'](respondWithStatusCode(_0x3c9dd7,null))[_0xc3e1('0x60')](handleError(_0x3c9dd7,null));};exports[_0xc3e1('0x71')]=function(_0x5ec3c9,_0x195ecb){if(_0x5ec3c9[_0xc3e1('0x62')]['id']){delete _0x5ec3c9[_0xc3e1('0x62')]['id'];}return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x5ec3c9[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x195ecb,null))['then'](function(_0x2c54d8){if(_0x2c54d8){_0x5ec3c9[_0xc3e1('0x62')]['MailAccountId']=_0x2c54d8['id'];return db[_0xc3e1('0x72')][_0xc3e1('0x6b')](_0x5ec3c9['body']);}})[_0xc3e1('0x27')](respondWithResult(_0x195ecb,null))[_0xc3e1('0x60')](handleError(_0x195ecb,null));};exports[_0xc3e1('0x73')]=function(_0x23af47,_0x55f721){var _0x406c53={'raw':![],'where':{}};var _0x4be84d={};var _0x48eba8={'count':0x0,'rows':[]};return db[_0xc3e1('0x48')]['findOne']({'where':{'id':_0x23af47['params']['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x55f721,null))['then'](function(_0x5980f1){if(_0x5980f1){_0x4be84d[_0xc3e1('0x4c')]=_[_0xc3e1('0x4e')](db[_0xc3e1('0x72')][_0xc3e1('0x49')]);_0x4be84d[_0xc3e1('0x4d')]=_[_0xc3e1('0x4e')](_0x23af47[_0xc3e1('0x4d')]);_0x4be84d[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0x4be84d[_0xc3e1('0x4c')],_0x4be84d[_0xc3e1('0x4d')]);_0x406c53[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x4be84d[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0x23af47['query'][_0xc3e1('0x51')]));_0x406c53[_0xc3e1('0x52')]=_0x406c53[_0xc3e1('0x52')]['length']?_0x406c53['attributes']:_0x4be84d[_0xc3e1('0x4c')];if(!_0x23af47[_0xc3e1('0x4d')]['hasOwnProperty'](_0xc3e1('0x53'))){_0x406c53[_0xc3e1('0x22')]=qs[_0xc3e1('0x22')](_0x23af47[_0xc3e1('0x4d')]['limit']);_0x406c53[_0xc3e1('0x1f')]=qs[_0xc3e1('0x1f')](_0x23af47['query'][_0xc3e1('0x1f')]);}_0x406c53[_0xc3e1('0x54')]=qs[_0xc3e1('0x55')](_0x23af47[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x406c53[_0xc3e1('0x56')]=qs[_0xc3e1('0x4f')](_[_0xc3e1('0x74')](_0x23af47[_0xc3e1('0x4d')],_0x4be84d[_0xc3e1('0x4f')]));_0x406c53['where']['MailAccountId']=_0x5980f1['id'];if(_0x23af47[_0xc3e1('0x4d')][_0xc3e1('0x57')]){_0x406c53['where']=_[_0xc3e1('0x58')](_0x406c53[_0xc3e1('0x56')],{'$or':_['map'](_0x406c53['attributes'],function(_0x5ca9d0){var _0x1a1d66={};_0x1a1d66[_0x5ca9d0]={'$like':'%'+_0x23af47[_0xc3e1('0x4d')][_0xc3e1('0x57')]+'%'};return _0x1a1d66;})});}_0x406c53=_[_0xc3e1('0x58')]({},_0x406c53,_0x23af47[_0xc3e1('0x59')]);return db['CannedAnswer'][_0xc3e1('0x21')]({'where':_0x406c53[_0xc3e1('0x56')]})[_0xc3e1('0x27')](function(_0x93a43a){_0x48eba8[_0xc3e1('0x21')]=_0x93a43a;if(_0x23af47[_0xc3e1('0x4d')][_0xc3e1('0x5a')]){_0x406c53['include']=[{'all':!![]}];}return db[_0xc3e1('0x72')][_0xc3e1('0x5c')](_0x406c53);})[_0xc3e1('0x27')](function(_0x7cf05){_0x48eba8[_0xc3e1('0x75')]=_0x7cf05;return _0x48eba8;});}})[_0xc3e1('0x27')](respondWithFilteredResult(_0x55f721,_0x406c53))['catch'](handleError(_0x55f721,null));};exports['removeAnswers']=function(_0x4dc81a,_0x4db79d){return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x4dc81a[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x4db79d,null))['then'](function(_0x482b3b){if(_0x482b3b){return _0x482b3b['removeAnswers'](_0x4dc81a[_0xc3e1('0x4d')][_0xc3e1('0x70')]);}})[_0xc3e1('0x27')](respondWithStatusCode(_0x4db79d,null))['catch'](handleError(_0x4db79d,null));};exports['create']=function(_0x4eb240,_0x541508){var _0x1f0ef0={'name':_0x4eb240['body']['name'],'key':_0x4eb240[_0xc3e1('0x62')][_0xc3e1('0x76')],'provider':_0x4eb240[_0xc3e1('0x62')]['provider']===_0xc3e1('0x64')?null:_0x4eb240[_0xc3e1('0x62')]['provider'],'email':_0x4eb240['body'][_0xc3e1('0x77')],'ListId':_0x4eb240['body'][_0xc3e1('0x78')],'active':!_[_0xc3e1('0x79')](_0x4eb240[_0xc3e1('0x62')][_0xc3e1('0x7a')])?_0x4eb240[_0xc3e1('0x62')][_0xc3e1('0x7a')]:!![],'description':_0x4eb240[_0xc3e1('0x62')][_0xc3e1('0x7b')]||null};var _0xb9a7f1=getAuthenticationOptions(_0x1f0ef0[_0xc3e1('0x63')],_0x4eb240[_0xc3e1('0x62')]);_0x1f0ef0[_0xc3e1('0x41')]=_0xb9a7f1[_0xc3e1('0x41')];_0x1f0ef0[_0xc3e1('0x42')]=_0xb9a7f1[_0xc3e1('0x42')];return db['MailAccount'][_0xc3e1('0x6b')](_0x1f0ef0,{'include':[{'model':db[_0xc3e1('0x44')],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0xc3e1('0x41')}]})[_0xc3e1('0x27')](function(_0x2b4918){var _0x390915=_0x4eb240[_0xc3e1('0x37')][_0xc3e1('0x25')]({'plain':!![]});if(!_0x390915)throw new Error(_0xc3e1('0x7c'));if(_0x390915[_0xc3e1('0x7d')]==='user'){var _0x25b969=_0x2b4918[_0xc3e1('0x25')]({'plain':!![]});return db[_0xc3e1('0x7e')][_0xc3e1('0x65')]({'where':{'name':_0xc3e1('0x26'),'userProfileId':_0x390915['userProfileId']},'raw':!![]})['then'](function(_0x192caa){if(_0x192caa&&_0x192caa['autoAssociation']===0x0){return db[_0xc3e1('0x7f')][_0xc3e1('0x6b')]({'name':_0x25b969[_0xc3e1('0x29')],'resourceId':_0x25b969['id'],'type':_0x192caa[_0xc3e1('0x29')],'sectionId':_0x192caa['id']},{})[_0xc3e1('0x27')](function(){return _0x2b4918;});}else{return _0x2b4918;}})[_0xc3e1('0x60')](function(_0xb34a03){logger[_0xc3e1('0x17')](_0xc3e1('0x80'),_0xb34a03);throw _0xb34a03;});}return _0x2b4918;})[_0xc3e1('0x27')](respondWithResult(_0x541508,0xc9))[_0xc3e1('0x60')](handleError(_0x541508,null));};exports['getImap']=function(_0x163121,_0x1e5aa3){return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0x163121[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x1e5aa3,null))[_0xc3e1('0x27')](function(_0x3415f8){if(_0x3415f8){return _0x3415f8[_0xc3e1('0x81')]();}return null;})[_0xc3e1('0x27')](respondWithResult(_0x1e5aa3,null))['catch'](handleError(_0x1e5aa3,null));};exports[_0xc3e1('0x82')]=function(_0x266438,_0x1eb651){if(_0x266438[_0xc3e1('0x62')]['id']){delete _0x266438['body']['id'];}return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x266438[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x1eb651,null))[_0xc3e1('0x27')](function(_0x304527){if(_0x304527){_0x266438[_0xc3e1('0x62')][_0xc3e1('0x69')]=_0x304527['id'];return db[_0xc3e1('0x5f')][_0xc3e1('0x6b')](_0x266438['body']);}})[_0xc3e1('0x27')](respondWithResult(_0x1eb651,null))['catch'](handleError(_0x1eb651,null));};exports[_0xc3e1('0x83')]=function(_0x5910be,_0x9f497a){return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0x5910be[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x9f497a,null))['then'](function(_0x5483f7){if(_0x5483f7){return _0x5483f7[_0xc3e1('0x84')](null);}return null;})[_0xc3e1('0x27')](respondWithStatusCode(_0x9f497a,null))['catch'](handleError(_0x9f497a,null));};exports[_0xc3e1('0x85')]=function(_0xf786,_0x10c665){return db[_0xc3e1('0x48')][_0xc3e1('0x6d')]({'where':{'id':_0xf786[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x10c665,null))['then'](function(_0x546f3f){if(_0x546f3f){return _0x546f3f[_0xc3e1('0x85')]();}return null;})['then'](respondWithResult(_0x10c665,null))[_0xc3e1('0x60')](handleError(_0x10c665,null));};exports['addSmtp']=function(_0x42b8d8,_0x1b9c44){if(_0x42b8d8[_0xc3e1('0x62')]['id']){delete _0x42b8d8['body']['id'];}return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x42b8d8[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x1b9c44,null))[_0xc3e1('0x27')](function(_0x194853){if(_0x194853){_0x42b8d8['body'][_0xc3e1('0x69')]=_0x194853['id'];return db[_0xc3e1('0x44')][_0xc3e1('0x6b')](_0x42b8d8[_0xc3e1('0x62')]);}})['then'](respondWithResult(_0x1b9c44,null))[_0xc3e1('0x60')](handleError(_0x1b9c44,null));};exports[_0xc3e1('0x86')]=function(_0x252d35,_0x2fce55){return db[_0xc3e1('0x48')][_0xc3e1('0x6d')]({'where':{'id':_0x252d35[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x2fce55,null))['then'](function(_0x4a4cb6){if(_0x4a4cb6){return _0x4a4cb6[_0xc3e1('0x87')](null);}return null;})[_0xc3e1('0x27')](respondWithStatusCode(_0x2fce55,null))['catch'](handleError(_0x2fce55,null));};exports[_0xc3e1('0x88')]=function(_0x175d02,_0x4cbd8f){return db[_0xc3e1('0x89')][_0xc3e1('0x65')]({'where':{'id':_0x175d02[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x4cbd8f,null))[_0xc3e1('0x27')](function(_0x30c652){if(_0x30c652){return _0x30c652[_0xc3e1('0x88')](_0x175d02['body']['ids'],_[_0xc3e1('0x8a')](_0x175d02['body'],['ids','id'])||{});}})[_0xc3e1('0x27')](respondWithResult(_0x4cbd8f,null))[_0xc3e1('0x60')](handleError(_0x4cbd8f,null));};exports[_0xc3e1('0x8b')]=function(_0x1f583a,_0xa1d1d4){var _0x2a447b={'raw':![],'where':{}};var _0x1d8ae5={};var _0xebd4b1={'count':0x0,'rows':[]};return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0x1f583a[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0xa1d1d4,null))[_0xc3e1('0x27')](function(_0x6fda36){if(_0x6fda36){_0x1d8ae5[_0xc3e1('0x4c')]=_[_0xc3e1('0x4e')](db[_0xc3e1('0x89')][_0xc3e1('0x49')]);_0x1d8ae5[_0xc3e1('0x4d')]=_['keys'](_0x1f583a['query']);_0x1d8ae5[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0x1d8ae5[_0xc3e1('0x4c')],_0x1d8ae5[_0xc3e1('0x4d')]);_0x2a447b[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x1d8ae5['model'],qs[_0xc3e1('0x51')](_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x2a447b['attributes']=_0x2a447b['attributes'][_0xc3e1('0x8c')]?_0x2a447b[_0xc3e1('0x52')]:_0x1d8ae5[_0xc3e1('0x4c')];if(!_0x1f583a['query'][_0xc3e1('0x6e')](_0xc3e1('0x53'))){_0x2a447b[_0xc3e1('0x22')]=qs[_0xc3e1('0x22')](_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x22')]);_0x2a447b['offset']=qs[_0xc3e1('0x1f')](_0x1f583a[_0xc3e1('0x4d')]['offset']);}_0x2a447b[_0xc3e1('0x54')]=qs[_0xc3e1('0x55')](_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x2a447b[_0xc3e1('0x56')]=qs[_0xc3e1('0x4f')](_[_0xc3e1('0x74')](_0x1f583a[_0xc3e1('0x4d')],_0x1d8ae5['filters']));_0x2a447b[_0xc3e1('0x56')][_0xc3e1('0x69')]=_0x6fda36['id'];if(_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x57')]){_0x2a447b[_0xc3e1('0x56')]=_[_0xc3e1('0x58')](_0x2a447b['where'],{'$or':_[_0xc3e1('0x47')](_0x2a447b['attributes'],function(_0x56ec7d){var _0x2ff3ea={};_0x2ff3ea[_0x56ec7d]={'$like':'%'+_0x1f583a['query'][_0xc3e1('0x57')]+'%'};return _0x2ff3ea;})});}_0x2a447b=_['merge']({},_0x2a447b,_0x1f583a[_0xc3e1('0x59')]);return db[_0xc3e1('0x89')][_0xc3e1('0x21')]({'where':_0x2a447b[_0xc3e1('0x56')]})[_0xc3e1('0x27')](function(_0x194c30){_0xebd4b1[_0xc3e1('0x21')]=_0x194c30;if(_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x5a')]){_0x2a447b[_0xc3e1('0x5b')]=[{'model':db['CmContact'],'as':_0xc3e1('0x8d'),'required':![]},{'model':db['User'],'as':'Owner','attributes':['name',_0xc3e1('0x8e'),_0xc3e1('0x8f')],'required':![]},{'model':db['Tag'],'as':_0xc3e1('0x90'),'attributes':['id',_0xc3e1('0x29'),'color'],'where':_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x91')]?{'id':_0x1f583a['query']['tag']}:undefined,'required':_0x1f583a[_0xc3e1('0x4d')][_0xc3e1('0x91')]?!![]:![]}];}return db[_0xc3e1('0x89')][_0xc3e1('0x5c')](_0x2a447b);})[_0xc3e1('0x27')](function(_0xf3b43d){_0xebd4b1[_0xc3e1('0x75')]=_0xf3b43d;return _0xebd4b1;});}})[_0xc3e1('0x27')](respondWithFilteredResult(_0xa1d1d4,_0x2a447b))[_0xc3e1('0x60')](handleError(_0xa1d1d4,null));};exports[_0xc3e1('0x92')]=function addApplications(_0x13ffcd,_0x4bee69){var _0x307717=_0x13ffcd[_0xc3e1('0x5e')]['id'];var _0x17d38d=_0x13ffcd[_0xc3e1('0x62')];var _0xaa2369=0xc8;var _0x13c827=null;return db[_0xc3e1('0x93')]['transaction']({'isolationLevel':db[_0xc3e1('0x93')][_0xc3e1('0x94')][_0xc3e1('0x95')][_0xc3e1('0x96')]},function(_0x5972c4){return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0x307717},'transaction':_0x5972c4})[_0xc3e1('0x27')](function(_0x54d8fe){if(_0x54d8fe){return db['MailApplication'][_0xc3e1('0x97')]({'where':{'MailAccountId':_0x307717},'transaction':_0x5972c4})['then'](function(){var _0x1d2b5e=_['map'](_0x17d38d,function(_0x494949){_0x494949['MailAccountId']=_0x307717;return _0x494949;});return db[_0xc3e1('0x98')][_0xc3e1('0x99')](_0x1d2b5e,{'transaction':_0x5972c4});});}else{_0xaa2369=0x194;_0x13c827=[];}});})[_0xc3e1('0x27')](function(){if(_0xaa2369!==0x194){return db[_0xc3e1('0x98')][_0xc3e1('0x9a')]({'where':{'MailAccountId':_0x307717},'order':_0xc3e1('0x9b')})[_0xc3e1('0x27')](function(_0x4b9a7a){_0x13c827=_0x4b9a7a;});}})[_0xc3e1('0x60')](function(_0x22a0cc){_0xaa2369=0x1f4;logger[_0xc3e1('0x17')](_0x22a0cc[_0xc3e1('0x28')]);if(_0x22a0cc[_0xc3e1('0x29')]){delete _0x22a0cc[_0xc3e1('0x29')];}_0x13c827=_0x22a0cc;})[_0xc3e1('0x9c')](function(){if(_0x13c827===null){_0x4bee69[_0xc3e1('0x1b')](_0xaa2369);}else{if(_0xaa2369===0x1f4){_0x4bee69['status'](_0xaa2369)['send'](_0x13c827);}else{_0x4bee69[_0xc3e1('0x1c')](_0xaa2369)[_0xc3e1('0x1e')](_0x13c827);}}});};exports[_0xc3e1('0x9d')]=function(_0x2277fd,_0x2f1816){var _0x5254b7={};var _0x612db2={};var _0x10bcea;var _0x16f6c1;return db[_0xc3e1('0x48')][_0xc3e1('0x6d')]({'where':{'id':_0x2277fd[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x2f1816,null))[_0xc3e1('0x27')](function(_0x3594f0){if(_0x3594f0){_0x10bcea=_0x3594f0;_0x612db2['model']=_[_0xc3e1('0x4e')](db[_0xc3e1('0x98')][_0xc3e1('0x49')]);_0x612db2[_0xc3e1('0x4d')]=_[_0xc3e1('0x4e')](_0x2277fd[_0xc3e1('0x4d')]);_0x612db2[_0xc3e1('0x4f')]=_['intersection'](_0x612db2[_0xc3e1('0x4c')],_0x612db2[_0xc3e1('0x4d')]);_0x5254b7[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x612db2[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0x2277fd[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x5254b7[_0xc3e1('0x52')]=_0x5254b7[_0xc3e1('0x52')][_0xc3e1('0x8c')]?_0x5254b7[_0xc3e1('0x52')]:_0x612db2[_0xc3e1('0x4c')];_0x5254b7[_0xc3e1('0x54')]=qs['sort'](_0x2277fd[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x5254b7['where']=qs[_0xc3e1('0x4f')](_[_0xc3e1('0x74')](_0x2277fd[_0xc3e1('0x4d')],_0x612db2['filters']));if(_0x2277fd['query'][_0xc3e1('0x57')]){_0x5254b7[_0xc3e1('0x56')]=_['merge'](_0x5254b7[_0xc3e1('0x56')],{'$or':_[_0xc3e1('0x47')](_0x5254b7[_0xc3e1('0x52')],function(_0x552e51){var _0x5116b9={};_0x5116b9[_0x552e51]={'$like':'%'+_0x2277fd[_0xc3e1('0x4d')][_0xc3e1('0x57')]+'%'};return _0x5116b9;})});}_0x5254b7=_[_0xc3e1('0x58')]({},_0x5254b7,_0x2277fd[_0xc3e1('0x59')]);return _0x10bcea[_0xc3e1('0x9d')](_0x5254b7);}})['then'](function(_0x423c20){if(_0x423c20){_0x16f6c1=_0x423c20[_0xc3e1('0x8c')];if(!_0x2277fd[_0xc3e1('0x4d')][_0xc3e1('0x6e')](_0xc3e1('0x53'))){_0x5254b7['limit']=qs['limit'](_0x2277fd[_0xc3e1('0x4d')]['limit']);_0x5254b7[_0xc3e1('0x1f')]=qs[_0xc3e1('0x1f')](_0x2277fd[_0xc3e1('0x4d')][_0xc3e1('0x1f')]);}return _0x10bcea[_0xc3e1('0x9d')](_0x5254b7);}})['then'](function(_0x49f15f){if(_0x49f15f){return _0x49f15f?{'count':_0x16f6c1,'rows':_0x49f15f}:null;}})[_0xc3e1('0x27')](respondWithResult(_0x2f1816,null))['catch'](handleError(_0x2f1816,null));};exports[_0xc3e1('0x9e')]=function(_0x34b0eb,_0x381d5a){var _0x1ae3af={'raw':!![],'where':{}};var _0x36b299={};var _0x3850b6={'count':0x0,'rows':[]};return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0x34b0eb[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x381d5a,null))[_0xc3e1('0x27')](function(_0x2a5d44){if(_0x2a5d44){_0x36b299[_0xc3e1('0x4c')]=_[_0xc3e1('0x4e')](db['MailMessage'][_0xc3e1('0x49')]);_0x36b299['query']=_[_0xc3e1('0x4e')](_0x34b0eb[_0xc3e1('0x4d')]);_0x36b299[_0xc3e1('0x4f')]=_['intersection'](_0x36b299[_0xc3e1('0x4c')],_0x36b299[_0xc3e1('0x4d')]);_0x1ae3af[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x36b299[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x1ae3af['attributes']=_0x1ae3af[_0xc3e1('0x52')][_0xc3e1('0x8c')]?_0x1ae3af[_0xc3e1('0x52')]:_0x36b299[_0xc3e1('0x4c')];if(!_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x6e')]('nolimit')){_0x1ae3af['limit']=qs[_0xc3e1('0x22')](_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x22')]);_0x1ae3af[_0xc3e1('0x1f')]=qs['offset'](_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x1f')]);}_0x1ae3af[_0xc3e1('0x54')]=qs[_0xc3e1('0x55')](_0x34b0eb[_0xc3e1('0x4d')]['sort']);_0x1ae3af[_0xc3e1('0x56')]=qs[_0xc3e1('0x4f')](_[_0xc3e1('0x74')](_0x34b0eb[_0xc3e1('0x4d')],_0x36b299['filters']));_0x1ae3af[_0xc3e1('0x56')][_0xc3e1('0x69')]=_0x2a5d44['id'];if(_0x34b0eb[_0xc3e1('0x4d')]['filter']){_0x1ae3af['where']=_[_0xc3e1('0x58')](_0x1ae3af['where'],{'$or':_['map'](_0x1ae3af['attributes'],function(_0x3dc99b){var _0x1c7bb3={};_0x1c7bb3[_0x3dc99b]={'$like':'%'+_0x34b0eb[_0xc3e1('0x4d')]['filter']+'%'};return _0x1c7bb3;})});}if(_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x9f')]){var _0x1f68e8=_0x34b0eb[_0xc3e1('0x4d')][_0xc3e1('0x9f')][_0xc3e1('0xa0')](',');var _0x465d9e={};_0x465d9e[_0x1f68e8[0x0]]={'$gte':moment(_0x1f68e8[0x1])[_0xc3e1('0xa1')](_0xc3e1('0xa2'))};_0x1ae3af[_0xc3e1('0x56')]=_[_0xc3e1('0x58')](_0x1ae3af['where'],_0x465d9e);}_0x1ae3af=_[_0xc3e1('0x58')]({},_0x1ae3af,_0x34b0eb['options']);return db[_0xc3e1('0xa3')][_0xc3e1('0x21')]({'where':_0x1ae3af[_0xc3e1('0x56')]})[_0xc3e1('0x27')](function(_0x1d4f2c){_0x3850b6['count']=_0x1d4f2c;if(_0x34b0eb[_0xc3e1('0x4d')]['includeAll']){_0x1ae3af[_0xc3e1('0x5b')]=[{'all':!![]}];}return db[_0xc3e1('0xa3')][_0xc3e1('0x5c')](_0x1ae3af);})[_0xc3e1('0x27')](function(_0x2379ae){if(_0x34b0eb['query'][_0xc3e1('0xa4')]==='true'){for(var _0x5ef3f5=0x0;_0x5ef3f5<_0x2379ae[_0xc3e1('0x8c')];_0x5ef3f5++){_0x2379ae[_0x5ef3f5]['body']=juice(_0x2379ae[_0x5ef3f5][_0xc3e1('0x62')]);}}_0x3850b6[_0xc3e1('0x75')]=_0x2379ae;return _0x3850b6;});}})[_0xc3e1('0x27')](respondWithFilteredResult(_0x381d5a,_0x1ae3af))['catch'](handleError(_0x381d5a,null));};exports[_0xc3e1('0x2a')]=function(_0x38de64,_0x370b91){var _0x1207cd,_0x41e78a={},_0x54c7a2;if(_0x38de64[_0xc3e1('0x62')]['to']){_0x54c7a2=_0x38de64[_0xc3e1('0x62')]['to']['split'](',')[0x0];}return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x38de64[_0xc3e1('0x5e')]['id']},'include':[{'model':db['CmList'],'as':_0xc3e1('0xa5'),'include':[{'model':db['CmContact'],'as':_0xc3e1('0xa6'),'where':{'email':_0x54c7a2},'limit':0x1,'order':[[_0xc3e1('0xa7'),_0xc3e1('0xa8')]]}]},{'model':db['MailServerOut'],'as':_0xc3e1('0x42'),'raw':!![],'include':[{'model':db[_0xc3e1('0xa9')],'as':_0xc3e1('0xa9'),'raw':!![]}]}]})[_0xc3e1('0x27')](handleEntityNotFound(_0x370b91,null))['then'](function(_0x524b8a){if(!_0x524b8a)return;_0x1207cd=_0x524b8a;if(!_0x524b8a[_0xc3e1('0x42')])throw new Error('Smtp\x20configuration\x20not\x20found');if(_[_0xc3e1('0x79')](_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xaa')])){_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xaa')]=util[_0xc3e1('0xa1')](_0xc3e1('0xab'),_0x524b8a[_0xc3e1('0x29')],_0x524b8a[_0xc3e1('0x77')]||_0x524b8a[_0xc3e1('0x42')][_0xc3e1('0x37')]);}if(_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xac')]&&_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xac')][_0xc3e1('0x8c')]){for(var _0x5bbda8=0x0;_0x5bbda8<_0x38de64['body'][_0xc3e1('0xac')][_0xc3e1('0x8c')];_0x5bbda8+=0x1){_0x38de64['body'][_0xc3e1('0xac')][_0x5bbda8]={'filename':_0x38de64[_0xc3e1('0x62')]['attachments'][_0x5bbda8][_0xc3e1('0x29')],'path':path[_0xc3e1('0xad')](config['root'],_0xc3e1('0xae'),_0x38de64[_0xc3e1('0x62')]['attachments'][_0x5bbda8]['basename'])};}}var _0x15e8e7=_0x524b8a[_0xc3e1('0xaf')]();return respondWithRpcPromise('SendMail',_0xc3e1('0xb0'),{'account':_0x15e8e7,'message':_0x38de64[_0xc3e1('0x62')]});})[_0xc3e1('0x27')](function(_0xf25c69){if(!_0xf25c69)return;_0x41e78a=_0xf25c69;if(!_0x1207cd[_0xc3e1('0xa5')])throw new Error(_0xc3e1('0xb1'));if(_0x1207cd[_0xc3e1('0xa5')][_0xc3e1('0xa6')][_0xc3e1('0x8c')])return _0x1207cd[_0xc3e1('0xa5')]['Contacts'][0x0];return db[_0xc3e1('0xb2')]['create'](_['defaults'](_0x38de64[_0xc3e1('0x62')],{'firstName':_0x38de64['body']['to'],'email':_0x38de64[_0xc3e1('0x62')]['to'],'phone':_0x38de64[_0xc3e1('0x62')]['to'],'ListId':_0x1207cd[_0xc3e1('0x78')]}));})[_0xc3e1('0x27')](function(_0xc3efb8){if(!_0xc3efb8)return;var _0x10a9aa={'UserId':_0x38de64[_0xc3e1('0x37')]['id'],'ContactId':_0xc3efb8['id'],'MailAccountId':_0x1207cd['id'],'inReplyTo':_0x41e78a[_0xc3e1('0xb3')],'to':_0x38de64[_0xc3e1('0x62')]['from'],'cc':_0x38de64[_0xc3e1('0x62')]['cc'],'subject':_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xb4')],'attach':_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xb5')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xc3e1('0xa1')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0xc3e1('0xb6'),'Messages':[_[_0xc3e1('0x58')](_0x38de64[_0xc3e1('0x62')],{'messageId':_0x41e78a[_0xc3e1('0xb3')],'sentAt':moment()['format'](_0xc3e1('0xa2')),'read':!![],'MailAccountId':_0x1207cd['id'],'UserId':_0x38de64[_0xc3e1('0x37')]['id'],'ContactId':_0xc3efb8['id']})]};if(_0x38de64[_0xc3e1('0x62')]['Interaction']){_0x10a9aa=_[_0xc3e1('0x58')](_0x10a9aa,_0x38de64[_0xc3e1('0x62')][_0xc3e1('0xb7')]);}return db[_0xc3e1('0x89')][_0xc3e1('0x6b')](_0x10a9aa,{'include':[{'model':db[_0xc3e1('0xa3')],'as':_0xc3e1('0xb8')}]});})[_0xc3e1('0x27')](respondWithResult(_0x370b91,null))[_0xc3e1('0x60')](handleError(_0x370b91,null));};exports[_0xc3e1('0xb9')]=function(_0x352414,_0x1c37e7){return db[_0xc3e1('0x48')][_0xc3e1('0x65')]({'where':{'id':_0x352414[_0xc3e1('0x5e')]['id']},'include':[{'model':db[_0xc3e1('0x44')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xc3e1('0xa9')],'as':_0xc3e1('0xa9'),'raw':!![]}]}]})[_0xc3e1('0x27')](handleEntityNotFound(_0x1c37e7,null))['then'](function(_0x433f77){if(!_0x433f77[_0xc3e1('0x42')])return;var _0x2a86a8=_0x433f77['getSmtpOptions']();return respondWithRpcPromise(_0xc3e1('0xba'),'verifySmtp',{'account':_0x2a86a8});})[_0xc3e1('0x27')](respondWithResult(_0x1c37e7,null))[_0xc3e1('0x60')](handleError(_0x1c37e7,null));};exports[_0xc3e1('0x97')]=function(_0x21946f,_0x598256){return db[_0xc3e1('0x48')]['find']({'where':{'id':_0x21946f[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x598256,null))['then'](function(_0x3d65f3){if(_0x3d65f3&&_0x3d65f3[_0xc3e1('0x3f')]){throw new db['Sequelize']['ValidationError']('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x3d65f3;})[_0xc3e1('0x27')](removeEntity(_0x598256,null))[_0xc3e1('0x60')](handleError(_0x598256,null));};exports['addAgents']=function(_0x44408e,_0x275381){return db[_0xc3e1('0x48')]['find']({'where':{'id':_0x44408e['params']['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x275381,null))[_0xc3e1('0x27')](function(_0x18ae4b){if(_0x18ae4b){return _0x18ae4b[_0xc3e1('0xbb')](_0x44408e['body']['ids'],_[_0xc3e1('0x8a')](_0x44408e[_0xc3e1('0x62')],[_0xc3e1('0x70'),'id'])||{})[_0xc3e1('0xbc')](function(_0x4321f7){for(var _0x2dfc9b=0x0;_0x2dfc9b<_0x44408e[_0xc3e1('0x62')][_0xc3e1('0x70')]['length'];_0x2dfc9b+=0x1){socket[_0xc3e1('0xbd')](_0xc3e1('0xbe'),{'UserId':Number(_0x44408e['body'][_0xc3e1('0x70')][_0x2dfc9b]),'MailAccountId':Number(_0x44408e['params']['id'])});}return _0x4321f7;});}})['then'](respondWithResult(_0x275381,null))[_0xc3e1('0x60')](handleError(_0x275381,null));};exports[_0xc3e1('0xbf')]=function(_0x25097e,_0x1856ca){return db['MailAccount'][_0xc3e1('0x65')]({'where':{'id':_0x25097e[_0xc3e1('0x5e')]['id']}})['then'](handleEntityNotFound(_0x1856ca,null))[_0xc3e1('0x27')](function(_0x195999){if(_0x195999){return _0x195999[_0xc3e1('0xbf')](_0x25097e['query'][_0xc3e1('0x70')])[_0xc3e1('0x27')](function(){if(_['isArray'](_0x25097e['query'][_0xc3e1('0x70')])){for(var _0x2830e4=0x0;_0x2830e4<_0x25097e['query']['ids'][_0xc3e1('0x8c')];_0x2830e4+=0x1){socket[_0xc3e1('0xbd')](_0xc3e1('0xc0'),{'UserId':Number(_0x25097e[_0xc3e1('0x4d')][_0xc3e1('0x70')][_0x2830e4]),'MailAccountId':Number(_0x25097e['params']['id'])});}}else{socket[_0xc3e1('0xbd')](_0xc3e1('0xc0'),{'UserId':Number(_0x25097e[_0xc3e1('0x4d')][_0xc3e1('0x70')]),'MailAccountId':Number(_0x25097e[_0xc3e1('0x5e')]['id'])});}});}})[_0xc3e1('0x27')](respondWithStatusCode(_0x1856ca,null))[_0xc3e1('0x60')](handleError(_0x1856ca,null));};exports[_0xc3e1('0xc1')]=function(_0xf6664c,_0x169ea3){var _0x407296={};var _0x38cee6={};var _0x69e7be;var _0x426a8c;return db['MailAccount'][_0xc3e1('0x6d')]({'where':{'id':_0xf6664c[_0xc3e1('0x5e')]['id']}})[_0xc3e1('0x27')](handleEntityNotFound(_0x169ea3,null))[_0xc3e1('0x27')](function(_0x1f5af6){if(_0x1f5af6){_0x69e7be=_0x1f5af6;_0x38cee6[_0xc3e1('0x4c')]=_[_0xc3e1('0x4e')](db['User'][_0xc3e1('0x49')]);_0x38cee6[_0xc3e1('0x4d')]=_[_0xc3e1('0x4e')](_0xf6664c[_0xc3e1('0x4d')]);_0x38cee6[_0xc3e1('0x4f')]=_[_0xc3e1('0x50')](_0x38cee6['model'],_0x38cee6[_0xc3e1('0x4d')]);_0x407296[_0xc3e1('0x52')]=_[_0xc3e1('0x50')](_0x38cee6[_0xc3e1('0x4c')],qs[_0xc3e1('0x51')](_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x51')]));_0x407296['attributes']=_0x407296[_0xc3e1('0x52')][_0xc3e1('0x8c')]?_0x407296[_0xc3e1('0x52')]:_0x38cee6[_0xc3e1('0x4c')];_0x407296[_0xc3e1('0x54')]=qs[_0xc3e1('0x55')](_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x55')]);_0x407296[_0xc3e1('0x56')]=qs['filters'](_[_0xc3e1('0x74')](_0xf6664c[_0xc3e1('0x4d')],_0x38cee6['filters']));if(_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x57')]){_0x407296[_0xc3e1('0x56')]=_[_0xc3e1('0x58')](_0x407296[_0xc3e1('0x56')],{'$or':_[_0xc3e1('0x47')](_0x407296[_0xc3e1('0x52')],function(_0x544e33){var _0x53730d={};_0x53730d[_0x544e33]={'$like':'%'+_0xf6664c['query'][_0xc3e1('0x57')]+'%'};return _0x53730d;})});}_0x407296=_['merge']({},_0x407296,_0xf6664c[_0xc3e1('0x59')]);return _0x69e7be[_0xc3e1('0xc1')](_0x407296);}})[_0xc3e1('0x27')](function(_0x29583d){if(_0x29583d){_0x426a8c=_0x29583d[_0xc3e1('0x8c')];if(!_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x6e')](_0xc3e1('0x53'))){_0x407296[_0xc3e1('0x22')]=qs[_0xc3e1('0x22')](_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x22')]);_0x407296['offset']=qs[_0xc3e1('0x1f')](_0xf6664c[_0xc3e1('0x4d')][_0xc3e1('0x1f')]);}return _0x69e7be[_0xc3e1('0xc1')](_0x407296);}})[_0xc3e1('0x27')](function(_0x53a328){if(_0x53a328){return _0x53a328?{'count':_0x426a8c,'rows':_0x53a328}:null;}})[_0xc3e1('0x27')](respondWithResult(_0x169ea3,null))['catch'](handleError(_0x169ea3,null));};