Built motion from commit fe909640.|2.6.8
[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 _0x0241=['Tag','Tags','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','List','Contacts','updatedAt','DESC','CloudProvider','from','%s\x20<%s>','email','attachments','join','root','server/files/attachments','getSmtpOptions','sendMail','List\x20not\x20found','ListId','messageId','subject','out','format','Interaction','Messages','verifySmtp','Sequelize','ValidationError','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','bluebird','path','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','update','then','destroy','UserProfileResource','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','modernAuthentication','CloudProviderId','pass','port','secure','service','authentication','host','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','show','params','keys','length','find','body','custom','provider','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','getDispositions','findOne','findAll','rows','removeDispositions','ids','create','CannedAnswer','removeAnswers','isNil','active','description','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname'];(function(_0x5b644e,_0x2e5e07){var _0x49c6bf=function(_0x3032d9){while(--_0x3032d9){_0x5b644e['push'](_0x5b644e['shift']());}};_0x49c6bf(++_0x2e5e07);}(_0x0241,0xfb));var _0x1024=function(_0x4b369d,_0x265eb8){_0x4b369d=_0x4b369d-0x0;var _0x571a98=_0x0241[_0x4b369d];return _0x571a98;};'use strict';var moment=require('moment');var BPromise=require(_0x1024('0x0'));var util=require('util');var path=require(_0x1024('0x1'));var _=require(_0x1024('0x2'));var juice=require(_0x1024('0x3'));var Redis=require(_0x1024('0x4'));var qs=require(_0x1024('0x5'));var logger=require(_0x1024('0x6'))(_0x1024('0x7'));var config=require(_0x1024('0x8'));var db=require('../../mysqldb')['db'];config[_0x1024('0x9')]=_[_0x1024('0xa')](config[_0x1024('0x9')],{'host':_0x1024('0xb'),'port':0x18eb});var socket=require(_0x1024('0xc'))(new Redis(config[_0x1024('0x9')]));require('./mailAccount.socket')[_0x1024('0xd')](socket);var jayson=require(_0x1024('0xe'));var client=jayson[_0x1024('0xf')][_0x1024('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x4d2c78,_0x11d38b,_0x1c6b90,_0x23bf25){return new BPromise(function(_0x52cc68,_0x14cb8a){var _0x48d854=_0x23bf25||client;return _0x48d854['request'](_0x4d2c78,_0x1c6b90)['then'](function(_0x2cf72f){logger['info'](_0x1024('0x11'),_0x11d38b,_0x1024('0x12'));logger[_0x1024('0x13')](_0x1024('0x14'),_0x11d38b,'request\x20sent',JSON[_0x1024('0x15')](_0x2cf72f));if(_0x2cf72f[_0x1024('0x16')]){if(_0x2cf72f[_0x1024('0x16')][_0x1024('0x17')]===0x1f4){logger['error'](_0x1024('0x11'),_0x11d38b,_0x2cf72f[_0x1024('0x16')][_0x1024('0x18')]);return _0x14cb8a(_0x2cf72f[_0x1024('0x16')][_0x1024('0x18')]);}logger[_0x1024('0x16')](_0x1024('0x11'),_0x11d38b,_0x2cf72f[_0x1024('0x16')][_0x1024('0x18')]);return _0x52cc68(_0x2cf72f[_0x1024('0x16')][_0x1024('0x18')]);}else{logger[_0x1024('0x19')](_0x1024('0x11'),_0x11d38b,'request\x20sent');_0x52cc68(_0x2cf72f[_0x1024('0x1a')]['message']);}})[_0x1024('0x1b')](function(_0x4a068c){logger['error'](_0x1024('0x11'),_0x11d38b,_0x4a068c);_0x14cb8a(_0x4a068c);});});}function respondWithStatusCode(_0x3ac7aa,_0x48bcde){_0x48bcde=_0x48bcde||0xcc;return function(_0x2803a5){if(_0x2803a5){return _0x3ac7aa[_0x1024('0x1c')](_0x48bcde);}return _0x3ac7aa[_0x1024('0x1d')](_0x48bcde)[_0x1024('0x1e')]();};}function respondWithResult(_0x498f17,_0x47261d){_0x47261d=_0x47261d||0xc8;return function(_0x57abe5){if(_0x57abe5){return _0x498f17[_0x1024('0x1d')](_0x47261d)[_0x1024('0x1f')](_0x57abe5);}};}function respondWithFilteredResult(_0x57dba0,_0x27b661){return function(_0x3340fc){if(_0x3340fc){var _0x342da4=typeof _0x27b661['offset']===_0x1024('0x20')&&typeof _0x27b661[_0x1024('0x21')]==='undefined';var _0x3141d6=_0x3340fc[_0x1024('0x22')];var _0x285134=_0x342da4?0x0:_0x27b661[_0x1024('0x23')];var _0x2ad2f9=_0x342da4?_0x3340fc[_0x1024('0x22')]:_0x27b661[_0x1024('0x23')]+_0x27b661['limit'];var _0x186d4a;if(_0x2ad2f9>=_0x3141d6){_0x2ad2f9=_0x3141d6;_0x186d4a=0xc8;}else{_0x186d4a=0xce;}_0x57dba0['status'](_0x186d4a);return _0x57dba0[_0x1024('0x24')](_0x1024('0x25'),_0x285134+'-'+_0x2ad2f9+'/'+_0x3141d6)[_0x1024('0x1f')](_0x3340fc);}return null;};}function saveUpdates(_0x53282c){return function(_0x1273dd){if(_0x1273dd){return _0x1273dd[_0x1024('0x26')](_0x53282c)[_0x1024('0x27')](function(_0x4e731c){return _0x4e731c;});}return null;};}function removeEntity(_0x3cb781){return function(_0x44e98a){if(_0x44e98a){return _0x44e98a[_0x1024('0x28')]()[_0x1024('0x27')](function(){var _0x5196f1=_0x44e98a['get']({'plain':!![]});var _0x96955b='MailAccounts';return db[_0x1024('0x29')][_0x1024('0x28')]({'where':{'type':_0x96955b,'resourceId':_0x5196f1['id']}})[_0x1024('0x27')](function(){return _0x44e98a;});})['then'](function(){_0x3cb781[_0x1024('0x1d')](0xcc)[_0x1024('0x1e')]();});}};}function handleEntityNotFound(_0xfe290b){return function(_0x384177){if(!_0x384177){_0xfe290b[_0x1024('0x1c')](0x194);}return _0x384177;};}function handleError(_0x27c1f1,_0x398427){_0x398427=_0x398427||0x1f4;return function(_0x2bf691){logger[_0x1024('0x16')](_0x2bf691['stack']);if(_0x2bf691['name']){delete _0x2bf691[_0x1024('0x2a')];}_0x27c1f1['status'](_0x398427)[_0x1024('0x2b')](_0x2bf691);};}function getImapHost(_0x495aa8){switch(_0x495aa8){case _0x1024('0x2c'):return _0x1024('0x2d');case _0x1024('0x2e'):return _0x1024('0x2f');case _0x1024('0x30'):return _0x1024('0x31');case _0x1024('0x32'):return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x495aa8);}function getSmtpHost(_0x4c3f15){switch(_0x4c3f15){case'gmail':return _0x1024('0x33');case'yahoo':return _0x1024('0x34');case _0x1024('0x30'):return _0x1024('0x35');case'outlook365':return _0x1024('0x36');}throw new Error(_0x1024('0x37'),_0x4c3f15);}function getAuthenticationOptions(_0x392037,_0x299a4f){var _0xf4ad06={};var _0x4471b8={};if(_0x392037){_0xf4ad06['user']=_0x4471b8[_0x1024('0x38')]=_0x299a4f[_0x1024('0x39')];_0xf4ad06[_0x1024('0x3a')]=_0x4471b8['pass']=_0x299a4f[_0x1024('0x3a')];if(_0x299a4f[_0x1024('0x3b')]){_0xf4ad06[_0x1024('0x3b')]=_0x4471b8[_0x1024('0x3b')]=!![];_0xf4ad06[_0x1024('0x3c')]=_0x4471b8[_0x1024('0x3c')]=_0x299a4f[_0x1024('0x3c')];_0xf4ad06['password']=_0x4471b8[_0x1024('0x3d')]=null;}else{_0xf4ad06[_0x1024('0x3c')]=_0x4471b8[_0x1024('0x3c')]=null;}_0xf4ad06['host']=getImapHost(_0x392037);_0xf4ad06['port']=0x3e1;_0x4471b8['host']=getSmtpHost(_0x392037);_0x4471b8[_0x1024('0x3e')]=0x24b;_0x4471b8[_0x1024('0x3f')]=![];_0xf4ad06[_0x1024('0x40')]=_0x4471b8[_0x1024('0x40')]=null;}else{if(_0x299a4f[_0x1024('0x41')]){_0xf4ad06[_0x1024('0x38')]=_0x4471b8[_0x1024('0x38')]=_0x299a4f[_0x1024('0x39')];_0xf4ad06[_0x1024('0x3a')]=_0x4471b8['pass']=_0x299a4f[_0x1024('0x3a')];}else{_0xf4ad06['authentication']=_0x4471b8[_0x1024('0x41')]=![];_0xf4ad06[_0x1024('0x38')]=_0x4471b8['user']=null;_0xf4ad06[_0x1024('0x3a')]=_0x4471b8[_0x1024('0x3d')]=null;}_0xf4ad06[_0x1024('0x42')]=_0x299a4f[_0x1024('0x43')][_0x1024('0x42')];_0xf4ad06[_0x1024('0x3e')]=_0x299a4f[_0x1024('0x43')]['port'];_0x4471b8[_0x1024('0x42')]=_0x299a4f['Smtp'][_0x1024('0x42')];_0x4471b8[_0x1024('0x3e')]=_0x299a4f[_0x1024('0x44')][_0x1024('0x3e')];}return{'Imap':_0xf4ad06,'Smtp':_0x4471b8};}exports[_0x1024('0x45')]=function(_0x585ce4,_0x54d4ee){var _0xf9ee47={'include':[{'model':db[_0x1024('0x46')],'as':_0x1024('0x43')},{'model':db[_0x1024('0x47')],'as':_0x1024('0x44')},{'model':db[_0x1024('0x48')],'as':_0x1024('0x49')}]},_0x11abca={},_0x46d46a={'count':0x0,'rows':[]};var _0x518aab=_[_0x1024('0x4a')](db[_0x1024('0x4b')][_0x1024('0x4c')],function(_0x1629eb){return{'name':_0x1629eb[_0x1024('0x4d')],'type':_0x1629eb[_0x1024('0x4e')][_0x1024('0x4f')]};});_0x11abca[_0x1024('0x50')]=_[_0x1024('0x4a')](_0x518aab,_0x1024('0x2a'));_0x11abca[_0x1024('0x51')]=_['keys'](_0x585ce4['query']);_0x11abca[_0x1024('0x52')]=_[_0x1024('0x53')](_0x11abca[_0x1024('0x50')],_0x11abca[_0x1024('0x51')]);_0xf9ee47[_0x1024('0x54')]=_[_0x1024('0x53')](_0x11abca['model'],qs[_0x1024('0x55')](_0x585ce4['query'][_0x1024('0x55')]));_0xf9ee47[_0x1024('0x54')]=_0xf9ee47[_0x1024('0x54')]['length']?_0xf9ee47['attributes']:_0x11abca[_0x1024('0x50')];if(!_0x585ce4[_0x1024('0x51')][_0x1024('0x56')](_0x1024('0x57'))){_0xf9ee47[_0x1024('0x21')]=qs[_0x1024('0x21')](_0x585ce4[_0x1024('0x51')][_0x1024('0x21')]);_0xf9ee47[_0x1024('0x23')]=qs[_0x1024('0x23')](_0x585ce4[_0x1024('0x51')][_0x1024('0x23')]);}_0xf9ee47[_0x1024('0x58')]=qs[_0x1024('0x59')](_0x585ce4[_0x1024('0x51')][_0x1024('0x59')]);_0xf9ee47['where']=qs['filters'](_[_0x1024('0x5a')](_0x585ce4[_0x1024('0x51')],_0x11abca[_0x1024('0x52')]),_0x518aab);if(_0x585ce4[_0x1024('0x51')][_0x1024('0x5b')]){_0xf9ee47[_0x1024('0x5c')]=_[_0x1024('0x5d')](_0xf9ee47[_0x1024('0x5c')],{'$or':_['map'](_0x518aab,function(_0x1a3139){if(_0x1a3139[_0x1024('0x4e')]!==_0x1024('0x5e')){var _0x4819e7={};_0x4819e7[_0x1a3139[_0x1024('0x2a')]]={'$like':'%'+_0x585ce4['query'][_0x1024('0x5b')]+'%'};return _0x4819e7;}})});}_0xf9ee47=_[_0x1024('0x5d')]({},_0xf9ee47,_0x585ce4[_0x1024('0x5f')]);var _0x11d686={'where':_0xf9ee47['where']};return db[_0x1024('0x4b')][_0x1024('0x22')](_0x11d686)[_0x1024('0x27')](function(_0x5206b1){_0x46d46a[_0x1024('0x22')]=_0x5206b1;if(_0x585ce4[_0x1024('0x51')][_0x1024('0x60')]){_0xf9ee47[_0x1024('0x61')]=[{'all':!![]}];}return db[_0x1024('0x4b')]['findAll'](_0xf9ee47);})[_0x1024('0x27')](function(_0x462927){_0x46d46a['rows']=_0x462927;return _0x46d46a;})[_0x1024('0x27')](respondWithFilteredResult(_0x54d4ee,_0xf9ee47))[_0x1024('0x1b')](handleError(_0x54d4ee,null));};exports[_0x1024('0x62')]=function(_0x750f7b,_0x37ec89){var _0x5ba347={'raw':![],'where':{'id':_0x750f7b[_0x1024('0x63')]['id']},'include':[{'model':db[_0x1024('0x46')],'as':'Imap'},{'model':db[_0x1024('0x47')],'as':'Smtp'},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x2133fe={};_0x2133fe[_0x1024('0x50')]=_[_0x1024('0x64')](db[_0x1024('0x4b')][_0x1024('0x4c')]);_0x2133fe['query']=_[_0x1024('0x64')](_0x750f7b[_0x1024('0x51')]);_0x2133fe[_0x1024('0x52')]=_[_0x1024('0x53')](_0x2133fe['model'],_0x2133fe[_0x1024('0x51')]);_0x5ba347[_0x1024('0x54')]=_[_0x1024('0x53')](_0x2133fe[_0x1024('0x50')],qs['fields'](_0x750f7b[_0x1024('0x51')][_0x1024('0x55')]));_0x5ba347[_0x1024('0x54')]=_0x5ba347['attributes'][_0x1024('0x65')]?_0x5ba347['attributes']:_0x2133fe[_0x1024('0x50')];if(_0x750f7b[_0x1024('0x51')][_0x1024('0x60')]){_0x5ba347[_0x1024('0x61')]=[{'all':!![]}];}_0x5ba347=_[_0x1024('0x5d')]({},_0x5ba347,_0x750f7b[_0x1024('0x5f')]);return db[_0x1024('0x4b')][_0x1024('0x66')](_0x5ba347)[_0x1024('0x27')](handleEntityNotFound(_0x37ec89,null))[_0x1024('0x27')](respondWithResult(_0x37ec89,null))[_0x1024('0x1b')](handleError(_0x37ec89,null));};exports[_0x1024('0x26')]=function(_0x237990,_0x202842){if(_0x237990[_0x1024('0x67')]['id']){delete _0x237990[_0x1024('0x67')]['id'];}var _0x4bdf81=_0x237990[_0x1024('0x67')]['provider']===_0x1024('0x68')?null:_0x237990[_0x1024('0x67')][_0x1024('0x69')];var _0x19adc4=_0x237990['body'][_0x1024('0x43')]||{};var _0x2813b3=_0x237990[_0x1024('0x67')][_0x1024('0x44')]||{};if(_0x4bdf81){_0x19adc4['host']=getImapHost(_0x4bdf81);_0x19adc4[_0x1024('0x3e')]=0x3e1;_0x2813b3[_0x1024('0x42')]=getSmtpHost(_0x4bdf81);_0x2813b3[_0x1024('0x3e')]=0x24b;_0x2813b3[_0x1024('0x3f')]=![];}if(_0x2813b3['modernAuthentication']){_0x2813b3['secure']=![];}else{_0x2813b3['CloudProviderId']=null;}if(!_0x19adc4['modernAuthentication'])_0x19adc4[_0x1024('0x3c')]=null;_0x237990['body'][_0x1024('0x43')]=_0x19adc4;_0x237990[_0x1024('0x67')][_0x1024('0x44')]=_0x2813b3;return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x237990[_0x1024('0x63')]['id']},'include':[{'model':db[_0x1024('0x46')],'as':_0x1024('0x43')},{'model':db[_0x1024('0x47')],'as':'Smtp'},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x1024('0x27')](handleEntityNotFound(_0x202842,null))[_0x1024('0x27')](function(_0x157907){if(!_0x157907)throw new Error(_0x1024('0x6a'));if(_0x157907['service'])delete _0x237990['body']['Imap'];return _0x157907;})[_0x1024('0x27')](saveUpdates(_0x237990[_0x1024('0x67')],null))[_0x1024('0x27')](function(_0x1f84e8){if(!_0x237990['body'][_0x1024('0x43')])return _0x1f84e8;return db[_0x1024('0x46')][_0x1024('0x26')](_0x237990[_0x1024('0x67')]['Imap'],{'where':{'MailAccountId':_0x1f84e8['id']}})[_0x1024('0x27')](function(){return _0x1f84e8;});})[_0x1024('0x27')](function(_0x4b4b1d){if(!_0x237990['body']['Smtp'])return _0x4b4b1d;return db['MailServerOut'][_0x1024('0x26')](_0x237990['body'][_0x1024('0x44')],{'where':{'MailAccountId':_0x4b4b1d['id']}})[_0x1024('0x27')](function(){return _0x4b4b1d;});})['then'](respondWithResult(_0x202842,null))[_0x1024('0x1b')](handleError(_0x202842,null));};exports['describe']=function(_0x532cf8,_0x3de6ef){return db['MailAccount'][_0x1024('0x6b')]()[_0x1024('0x27')](respondWithResult(_0x3de6ef,null))['catch'](handleError(_0x3de6ef,null));};exports[_0x1024('0x6c')]=function(_0x39f523,_0x531704){if(_0x39f523[_0x1024('0x67')]['id']){delete _0x39f523[_0x1024('0x67')]['id'];}return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x39f523[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x531704,null))['then'](function(_0x52c0d3){if(_0x52c0d3){_0x39f523['body'][_0x1024('0x6d')]=_0x52c0d3['id'];return db[_0x1024('0x6e')]['create'](_0x39f523['body']);}})[_0x1024('0x27')](respondWithResult(_0x531704,null))[_0x1024('0x1b')](handleError(_0x531704,null));};exports[_0x1024('0x6f')]=function(_0x101671,_0x451887){var _0x14a0c2={'raw':![],'where':{}};var _0x1a244f={};var _0x536f4f={'count':0x0,'rows':[]};return db['MailAccount'][_0x1024('0x70')]({'where':{'id':_0x101671[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x451887,null))[_0x1024('0x27')](function(_0x10c1cc){if(_0x10c1cc){_0x1a244f[_0x1024('0x50')]=_['keys'](db[_0x1024('0x6e')][_0x1024('0x4c')]);_0x1a244f[_0x1024('0x51')]=_['keys'](_0x101671[_0x1024('0x51')]);_0x1a244f[_0x1024('0x52')]=_[_0x1024('0x53')](_0x1a244f[_0x1024('0x50')],_0x1a244f['query']);_0x14a0c2[_0x1024('0x54')]=_[_0x1024('0x53')](_0x1a244f[_0x1024('0x50')],qs[_0x1024('0x55')](_0x101671[_0x1024('0x51')][_0x1024('0x55')]));_0x14a0c2[_0x1024('0x54')]=_0x14a0c2['attributes'][_0x1024('0x65')]?_0x14a0c2[_0x1024('0x54')]:_0x1a244f[_0x1024('0x50')];if(!_0x101671['query'][_0x1024('0x56')]('nolimit')){_0x14a0c2['limit']=qs[_0x1024('0x21')](_0x101671[_0x1024('0x51')]['limit']);_0x14a0c2[_0x1024('0x23')]=qs[_0x1024('0x23')](_0x101671[_0x1024('0x51')]['offset']);}_0x14a0c2[_0x1024('0x58')]=qs[_0x1024('0x59')](_0x101671[_0x1024('0x51')][_0x1024('0x59')]);_0x14a0c2['where']=qs['filters'](_[_0x1024('0x5a')](_0x101671[_0x1024('0x51')],_0x1a244f[_0x1024('0x52')]));_0x14a0c2[_0x1024('0x5c')][_0x1024('0x6d')]=_0x10c1cc['id'];if(_0x101671[_0x1024('0x51')][_0x1024('0x5b')]){_0x14a0c2[_0x1024('0x5c')]=_['merge'](_0x14a0c2[_0x1024('0x5c')],{'$or':_[_0x1024('0x4a')](_0x14a0c2[_0x1024('0x54')],function(_0x6b5dc){var _0x4cf8e5={};_0x4cf8e5[_0x6b5dc]={'$like':'%'+_0x101671[_0x1024('0x51')]['filter']+'%'};return _0x4cf8e5;})});}_0x14a0c2=_[_0x1024('0x5d')]({},_0x14a0c2,_0x101671[_0x1024('0x5f')]);return db[_0x1024('0x6e')][_0x1024('0x22')]({'where':_0x14a0c2[_0x1024('0x5c')]})[_0x1024('0x27')](function(_0x23fe41){_0x536f4f[_0x1024('0x22')]=_0x23fe41;if(_0x101671[_0x1024('0x51')][_0x1024('0x60')]){_0x14a0c2[_0x1024('0x61')]=[{'all':!![]}];}return db[_0x1024('0x6e')][_0x1024('0x71')](_0x14a0c2);})['then'](function(_0x2164c7){_0x536f4f[_0x1024('0x72')]=_0x2164c7;return _0x536f4f;});}})[_0x1024('0x27')](respondWithFilteredResult(_0x451887,_0x14a0c2))[_0x1024('0x1b')](handleError(_0x451887,null));};exports['removeDispositions']=function(_0x290725,_0x48844f){return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x290725[_0x1024('0x63')]['id']}})['then'](handleEntityNotFound(_0x48844f,null))['then'](function(_0x26126d){if(_0x26126d){return _0x26126d[_0x1024('0x73')](_0x290725[_0x1024('0x51')][_0x1024('0x74')]);}})[_0x1024('0x27')](respondWithStatusCode(_0x48844f,null))[_0x1024('0x1b')](handleError(_0x48844f,null));};exports['addAnswer']=function(_0x29852b,_0x25c07d){if(_0x29852b['body']['id']){delete _0x29852b[_0x1024('0x67')]['id'];}return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x29852b[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x25c07d,null))['then'](function(_0x402f27){if(_0x402f27){_0x29852b['body']['MailAccountId']=_0x402f27['id'];return db['CannedAnswer'][_0x1024('0x75')](_0x29852b['body']);}})[_0x1024('0x27')](respondWithResult(_0x25c07d,null))[_0x1024('0x1b')](handleError(_0x25c07d,null));};exports['getAnswers']=function(_0x5995e5,_0x1ae694){var _0x5f5b3c={'raw':![],'where':{}};var _0x240c26={};var _0x3d686b={'count':0x0,'rows':[]};return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x5995e5[_0x1024('0x63')]['id']}})['then'](handleEntityNotFound(_0x1ae694,null))['then'](function(_0x5e3866){if(_0x5e3866){_0x240c26['model']=_[_0x1024('0x64')](db['CannedAnswer'][_0x1024('0x4c')]);_0x240c26[_0x1024('0x51')]=_['keys'](_0x5995e5['query']);_0x240c26['filters']=_[_0x1024('0x53')](_0x240c26[_0x1024('0x50')],_0x240c26['query']);_0x5f5b3c['attributes']=_[_0x1024('0x53')](_0x240c26[_0x1024('0x50')],qs[_0x1024('0x55')](_0x5995e5['query'][_0x1024('0x55')]));_0x5f5b3c[_0x1024('0x54')]=_0x5f5b3c[_0x1024('0x54')][_0x1024('0x65')]?_0x5f5b3c[_0x1024('0x54')]:_0x240c26['model'];if(!_0x5995e5[_0x1024('0x51')][_0x1024('0x56')](_0x1024('0x57'))){_0x5f5b3c[_0x1024('0x21')]=qs[_0x1024('0x21')](_0x5995e5[_0x1024('0x51')][_0x1024('0x21')]);_0x5f5b3c[_0x1024('0x23')]=qs['offset'](_0x5995e5['query'][_0x1024('0x23')]);}_0x5f5b3c['order']=qs['sort'](_0x5995e5[_0x1024('0x51')][_0x1024('0x59')]);_0x5f5b3c[_0x1024('0x5c')]=qs[_0x1024('0x52')](_['pick'](_0x5995e5['query'],_0x240c26['filters']));_0x5f5b3c[_0x1024('0x5c')][_0x1024('0x6d')]=_0x5e3866['id'];if(_0x5995e5[_0x1024('0x51')][_0x1024('0x5b')]){_0x5f5b3c[_0x1024('0x5c')]=_[_0x1024('0x5d')](_0x5f5b3c[_0x1024('0x5c')],{'$or':_[_0x1024('0x4a')](_0x5f5b3c['attributes'],function(_0x1e32ef){var _0x10ce0d={};_0x10ce0d[_0x1e32ef]={'$like':'%'+_0x5995e5['query'][_0x1024('0x5b')]+'%'};return _0x10ce0d;})});}_0x5f5b3c=_[_0x1024('0x5d')]({},_0x5f5b3c,_0x5995e5[_0x1024('0x5f')]);return db[_0x1024('0x76')][_0x1024('0x22')]({'where':_0x5f5b3c[_0x1024('0x5c')]})[_0x1024('0x27')](function(_0x1d7084){_0x3d686b[_0x1024('0x22')]=_0x1d7084;if(_0x5995e5[_0x1024('0x51')]['includeAll']){_0x5f5b3c[_0x1024('0x61')]=[{'all':!![]}];}return db['CannedAnswer'][_0x1024('0x71')](_0x5f5b3c);})[_0x1024('0x27')](function(_0x154969){_0x3d686b['rows']=_0x154969;return _0x3d686b;});}})[_0x1024('0x27')](respondWithFilteredResult(_0x1ae694,_0x5f5b3c))[_0x1024('0x1b')](handleError(_0x1ae694,null));};exports['removeAnswers']=function(_0x5c1de7,_0x54a702){return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x5c1de7[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x54a702,null))[_0x1024('0x27')](function(_0x186404){if(_0x186404){return _0x186404[_0x1024('0x77')](_0x5c1de7[_0x1024('0x51')][_0x1024('0x74')]);}})[_0x1024('0x27')](respondWithStatusCode(_0x54a702,null))[_0x1024('0x1b')](handleError(_0x54a702,null));};exports[_0x1024('0x75')]=function(_0xa39db6,_0x9134a){var _0x1dd9f3={'name':_0xa39db6[_0x1024('0x67')][_0x1024('0x2a')],'key':_0xa39db6[_0x1024('0x67')][_0x1024('0x4f')],'provider':_0xa39db6[_0x1024('0x67')][_0x1024('0x69')]===_0x1024('0x68')?null:_0xa39db6[_0x1024('0x67')][_0x1024('0x69')],'email':_0xa39db6[_0x1024('0x67')]['email'],'ListId':_0xa39db6[_0x1024('0x67')]['ListId'],'active':!_[_0x1024('0x78')](_0xa39db6[_0x1024('0x67')][_0x1024('0x79')])?_0xa39db6[_0x1024('0x67')][_0x1024('0x79')]:!![],'description':_0xa39db6[_0x1024('0x67')][_0x1024('0x7a')]||null};var _0x38f9c7=getAuthenticationOptions(_0x1dd9f3['provider'],_0xa39db6['body']);_0x1dd9f3['Imap']=_0x38f9c7[_0x1024('0x43')];_0x1dd9f3[_0x1024('0x44')]=_0x38f9c7[_0x1024('0x44')];return db[_0x1024('0x4b')]['create'](_0x1dd9f3,{'include':[{'model':db[_0x1024('0x47')],'as':_0x1024('0x44')},{'model':db[_0x1024('0x46')],'as':_0x1024('0x43')}]})[_0x1024('0x27')](function(_0x463ccc){var _0x1de9e7=_0xa39db6[_0x1024('0x38')][_0x1024('0x7b')]({'plain':!![]});if(!_0x1de9e7)throw new Error(_0x1024('0x7c'));if(_0x1de9e7[_0x1024('0x7d')]===_0x1024('0x38')){var _0x41a3c2=_0x463ccc[_0x1024('0x7b')]({'plain':!![]});return db[_0x1024('0x7e')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x1de9e7['userProfileId']},'raw':!![]})[_0x1024('0x27')](function(_0x3b416f){if(_0x3b416f&&_0x3b416f[_0x1024('0x7f')]===0x0){return db[_0x1024('0x29')]['create']({'name':_0x41a3c2[_0x1024('0x2a')],'resourceId':_0x41a3c2['id'],'type':_0x3b416f[_0x1024('0x2a')],'sectionId':_0x3b416f['id']},{})[_0x1024('0x27')](function(){return _0x463ccc;});}else{return _0x463ccc;}})[_0x1024('0x1b')](function(_0x21856b){logger['error'](_0x1024('0x80'),_0x21856b);throw _0x21856b;});}return _0x463ccc;})[_0x1024('0x27')](respondWithResult(_0x9134a,0xc9))[_0x1024('0x1b')](handleError(_0x9134a,null));};exports[_0x1024('0x81')]=function(_0xf73944,_0xef700f){return db[_0x1024('0x4b')]['findOne']({'where':{'id':_0xf73944[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0xef700f,null))[_0x1024('0x27')](function(_0x3ca566){if(_0x3ca566){return _0x3ca566[_0x1024('0x81')]();}return null;})[_0x1024('0x27')](respondWithResult(_0xef700f,null))['catch'](handleError(_0xef700f,null));};exports[_0x1024('0x82')]=function(_0xa89448,_0x109f85){if(_0xa89448[_0x1024('0x67')]['id']){delete _0xa89448['body']['id'];}return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0xa89448[_0x1024('0x63')]['id']}})['then'](handleEntityNotFound(_0x109f85,null))[_0x1024('0x27')](function(_0x554776){if(_0x554776){_0xa89448[_0x1024('0x67')][_0x1024('0x6d')]=_0x554776['id'];return db['MailServerIn'][_0x1024('0x75')](_0xa89448['body']);}})[_0x1024('0x27')](respondWithResult(_0x109f85,null))[_0x1024('0x1b')](handleError(_0x109f85,null));};exports[_0x1024('0x83')]=function(_0x54877f,_0x305669){return db[_0x1024('0x4b')]['findOne']({'where':{'id':_0x54877f[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x305669,null))['then'](function(_0x56707e){if(_0x56707e){return _0x56707e[_0x1024('0x84')](null);}return null;})['then'](respondWithStatusCode(_0x305669,null))['catch'](handleError(_0x305669,null));};exports[_0x1024('0x85')]=function(_0x4a5704,_0x1e7ada){return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x4a5704['params']['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x1e7ada,null))[_0x1024('0x27')](function(_0x1a06c8){if(_0x1a06c8){return _0x1a06c8['getSmtp']();}return null;})[_0x1024('0x27')](respondWithResult(_0x1e7ada,null))[_0x1024('0x1b')](handleError(_0x1e7ada,null));};exports[_0x1024('0x86')]=function(_0x174737,_0x3170b5){if(_0x174737['body']['id']){delete _0x174737[_0x1024('0x67')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x174737['params']['id']}})['then'](handleEntityNotFound(_0x3170b5,null))['then'](function(_0x1e46fe){if(_0x1e46fe){_0x174737[_0x1024('0x67')][_0x1024('0x6d')]=_0x1e46fe['id'];return db[_0x1024('0x47')][_0x1024('0x75')](_0x174737[_0x1024('0x67')]);}})[_0x1024('0x27')](respondWithResult(_0x3170b5,null))[_0x1024('0x1b')](handleError(_0x3170b5,null));};exports['removeSmtp']=function(_0x4fc796,_0x1ba325){return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x4fc796['params']['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x1ba325,null))['then'](function(_0x37fba6){if(_0x37fba6){return _0x37fba6[_0x1024('0x87')](null);}return null;})['then'](respondWithStatusCode(_0x1ba325,null))[_0x1024('0x1b')](handleError(_0x1ba325,null));};exports[_0x1024('0x88')]=function(_0xf57f9d,_0x3c1b45){return db[_0x1024('0x89')]['find']({'where':{'id':_0xf57f9d[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x3c1b45,null))[_0x1024('0x27')](function(_0x214dcb){if(_0x214dcb){return _0x214dcb[_0x1024('0x88')](_0xf57f9d[_0x1024('0x67')][_0x1024('0x74')],_[_0x1024('0x8a')](_0xf57f9d['body'],[_0x1024('0x74'),'id'])||{});}})[_0x1024('0x27')](respondWithResult(_0x3c1b45,null))[_0x1024('0x1b')](handleError(_0x3c1b45,null));};exports[_0x1024('0x8b')]=function(_0x52eb3a,_0x5e51d8){var _0x53450a={'raw':![],'where':{}};var _0x44bbe6={};var _0x47dd6b={'count':0x0,'rows':[]};return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x52eb3a['params']['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x5e51d8,null))[_0x1024('0x27')](function(_0x31e261){if(_0x31e261){_0x44bbe6['model']=_[_0x1024('0x64')](db[_0x1024('0x89')][_0x1024('0x4c')]);_0x44bbe6[_0x1024('0x51')]=_[_0x1024('0x64')](_0x52eb3a[_0x1024('0x51')]);_0x44bbe6[_0x1024('0x52')]=_['intersection'](_0x44bbe6[_0x1024('0x50')],_0x44bbe6[_0x1024('0x51')]);_0x53450a[_0x1024('0x54')]=_[_0x1024('0x53')](_0x44bbe6['model'],qs['fields'](_0x52eb3a[_0x1024('0x51')][_0x1024('0x55')]));_0x53450a['attributes']=_0x53450a[_0x1024('0x54')][_0x1024('0x65')]?_0x53450a[_0x1024('0x54')]:_0x44bbe6[_0x1024('0x50')];if(!_0x52eb3a[_0x1024('0x51')]['hasOwnProperty']('nolimit')){_0x53450a['limit']=qs['limit'](_0x52eb3a[_0x1024('0x51')]['limit']);_0x53450a[_0x1024('0x23')]=qs[_0x1024('0x23')](_0x52eb3a[_0x1024('0x51')]['offset']);}_0x53450a[_0x1024('0x58')]=qs[_0x1024('0x59')](_0x52eb3a[_0x1024('0x51')]['sort']);_0x53450a[_0x1024('0x5c')]=qs[_0x1024('0x52')](_[_0x1024('0x5a')](_0x52eb3a['query'],_0x44bbe6[_0x1024('0x52')]));_0x53450a[_0x1024('0x5c')][_0x1024('0x6d')]=_0x31e261['id'];if(_0x52eb3a[_0x1024('0x51')][_0x1024('0x5b')]){_0x53450a['where']=_[_0x1024('0x5d')](_0x53450a[_0x1024('0x5c')],{'$or':_[_0x1024('0x4a')](_0x53450a[_0x1024('0x54')],function(_0x4dc77d){var _0x219265={};_0x219265[_0x4dc77d]={'$like':'%'+_0x52eb3a[_0x1024('0x51')][_0x1024('0x5b')]+'%'};return _0x219265;})});}_0x53450a=_['merge']({},_0x53450a,_0x52eb3a[_0x1024('0x5f')]);return db[_0x1024('0x89')]['count']({'where':_0x53450a[_0x1024('0x5c')]})[_0x1024('0x27')](function(_0x51753e){_0x47dd6b[_0x1024('0x22')]=_0x51753e;if(_0x52eb3a[_0x1024('0x51')][_0x1024('0x60')]){_0x53450a[_0x1024('0x61')]=[{'model':db[_0x1024('0x8c')],'as':_0x1024('0x8d'),'required':![]},{'model':db[_0x1024('0x8e')],'as':_0x1024('0x8f'),'attributes':[_0x1024('0x2a'),_0x1024('0x90'),'internal'],'required':![]},{'model':db[_0x1024('0x91')],'as':_0x1024('0x92'),'attributes':['id',_0x1024('0x2a'),'color'],'where':_0x52eb3a[_0x1024('0x51')]['tag']?{'id':_0x52eb3a[_0x1024('0x51')][_0x1024('0x93')]}:undefined,'required':_0x52eb3a[_0x1024('0x51')][_0x1024('0x93')]?!![]:![]}];}return db[_0x1024('0x89')][_0x1024('0x71')](_0x53450a);})[_0x1024('0x27')](function(_0x3b4b42){_0x47dd6b[_0x1024('0x72')]=_0x3b4b42;return _0x47dd6b;});}})[_0x1024('0x27')](respondWithFilteredResult(_0x5e51d8,_0x53450a))['catch'](handleError(_0x5e51d8,null));};exports['addApplications']=function addApplications(_0x4c914b,_0xd8b481){var _0x22b682=_0x4c914b[_0x1024('0x63')]['id'];var _0x23cfcf=_0x4c914b[_0x1024('0x67')];var _0x9c6d53=0xc8;var _0x418751=null;return db[_0x1024('0x94')][_0x1024('0x95')]({'isolationLevel':db[_0x1024('0x94')][_0x1024('0x96')][_0x1024('0x97')]['READ_COMMITTED']},function(_0x5cb3f1){return db['MailAccount'][_0x1024('0x70')]({'where':{'id':_0x22b682},'transaction':_0x5cb3f1})['then'](function(_0x27e8f9){if(_0x27e8f9){return db['MailApplication'][_0x1024('0x28')]({'where':{'MailAccountId':_0x22b682},'transaction':_0x5cb3f1})['then'](function(){var _0x37d216=_[_0x1024('0x4a')](_0x23cfcf,function(_0x1b6d54){_0x1b6d54['MailAccountId']=_0x22b682;return _0x1b6d54;});return db[_0x1024('0x98')][_0x1024('0x99')](_0x37d216,{'transaction':_0x5cb3f1});});}else{_0x9c6d53=0x194;_0x418751=[];}});})[_0x1024('0x27')](function(){if(_0x9c6d53!==0x194){return db['MailApplication'][_0x1024('0x9a')]({'where':{'MailAccountId':_0x22b682},'order':_0x1024('0x9b')})[_0x1024('0x27')](function(_0x5108f9){_0x418751=_0x5108f9;});}})[_0x1024('0x1b')](function(_0x1043ea){_0x9c6d53=0x1f4;logger[_0x1024('0x16')](_0x1043ea[_0x1024('0x9c')]);if(_0x1043ea[_0x1024('0x2a')]){delete _0x1043ea['name'];}_0x418751=_0x1043ea;})[_0x1024('0x9d')](function(){if(_0x418751===null){_0xd8b481[_0x1024('0x1c')](_0x9c6d53);}else{if(_0x9c6d53===0x1f4){_0xd8b481['status'](_0x9c6d53)['send'](_0x418751);}else{_0xd8b481[_0x1024('0x1d')](_0x9c6d53)[_0x1024('0x1f')](_0x418751);}}});};exports[_0x1024('0x9e')]=function(_0x3df5f5,_0x97ba72){var _0x154033={};var _0x487fa4={};var _0x757d38;var _0x2afbc8;return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x3df5f5[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x97ba72,null))[_0x1024('0x27')](function(_0x3c5ce2){if(_0x3c5ce2){_0x757d38=_0x3c5ce2;_0x487fa4[_0x1024('0x50')]=_['keys'](db['MailApplication'][_0x1024('0x4c')]);_0x487fa4['query']=_['keys'](_0x3df5f5[_0x1024('0x51')]);_0x487fa4[_0x1024('0x52')]=_[_0x1024('0x53')](_0x487fa4['model'],_0x487fa4['query']);_0x154033[_0x1024('0x54')]=_[_0x1024('0x53')](_0x487fa4[_0x1024('0x50')],qs['fields'](_0x3df5f5[_0x1024('0x51')]['fields']));_0x154033[_0x1024('0x54')]=_0x154033[_0x1024('0x54')][_0x1024('0x65')]?_0x154033[_0x1024('0x54')]:_0x487fa4['model'];_0x154033['order']=qs[_0x1024('0x59')](_0x3df5f5[_0x1024('0x51')][_0x1024('0x59')]);_0x154033[_0x1024('0x5c')]=qs[_0x1024('0x52')](_[_0x1024('0x5a')](_0x3df5f5[_0x1024('0x51')],_0x487fa4[_0x1024('0x52')]));if(_0x3df5f5[_0x1024('0x51')][_0x1024('0x5b')]){_0x154033['where']=_[_0x1024('0x5d')](_0x154033[_0x1024('0x5c')],{'$or':_[_0x1024('0x4a')](_0x154033[_0x1024('0x54')],function(_0x4e280c){var _0x2c4eba={};_0x2c4eba[_0x4e280c]={'$like':'%'+_0x3df5f5['query'][_0x1024('0x5b')]+'%'};return _0x2c4eba;})});}_0x154033=_[_0x1024('0x5d')]({},_0x154033,_0x3df5f5['options']);return _0x757d38['getApplications'](_0x154033);}})[_0x1024('0x27')](function(_0xb6aff4){if(_0xb6aff4){_0x2afbc8=_0xb6aff4[_0x1024('0x65')];if(!_0x3df5f5[_0x1024('0x51')][_0x1024('0x56')](_0x1024('0x57'))){_0x154033[_0x1024('0x21')]=qs[_0x1024('0x21')](_0x3df5f5[_0x1024('0x51')][_0x1024('0x21')]);_0x154033[_0x1024('0x23')]=qs[_0x1024('0x23')](_0x3df5f5[_0x1024('0x51')][_0x1024('0x23')]);}return _0x757d38[_0x1024('0x9e')](_0x154033);}})[_0x1024('0x27')](function(_0x55a76e){if(_0x55a76e){return _0x55a76e?{'count':_0x2afbc8,'rows':_0x55a76e}:null;}})['then'](respondWithResult(_0x97ba72,null))[_0x1024('0x1b')](handleError(_0x97ba72,null));};exports[_0x1024('0x9f')]=function(_0x251fd0,_0xd9a7bc){var _0x142e89={'raw':!![],'where':{}};var _0x306fff={};var _0x477cd1={'count':0x0,'rows':[]};return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x251fd0[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0xd9a7bc,null))[_0x1024('0x27')](function(_0x6de41c){if(_0x6de41c){_0x306fff['model']=_[_0x1024('0x64')](db[_0x1024('0xa0')][_0x1024('0x4c')]);_0x306fff[_0x1024('0x51')]=_['keys'](_0x251fd0[_0x1024('0x51')]);_0x306fff[_0x1024('0x52')]=_[_0x1024('0x53')](_0x306fff[_0x1024('0x50')],_0x306fff['query']);_0x142e89[_0x1024('0x54')]=_[_0x1024('0x53')](_0x306fff[_0x1024('0x50')],qs[_0x1024('0x55')](_0x251fd0[_0x1024('0x51')][_0x1024('0x55')]));_0x142e89[_0x1024('0x54')]=_0x142e89['attributes']['length']?_0x142e89[_0x1024('0x54')]:_0x306fff[_0x1024('0x50')];if(!_0x251fd0[_0x1024('0x51')][_0x1024('0x56')](_0x1024('0x57'))){_0x142e89[_0x1024('0x21')]=qs['limit'](_0x251fd0[_0x1024('0x51')][_0x1024('0x21')]);_0x142e89['offset']=qs[_0x1024('0x23')](_0x251fd0['query']['offset']);}_0x142e89[_0x1024('0x58')]=qs[_0x1024('0x59')](_0x251fd0[_0x1024('0x51')][_0x1024('0x59')]);_0x142e89[_0x1024('0x5c')]=qs[_0x1024('0x52')](_[_0x1024('0x5a')](_0x251fd0[_0x1024('0x51')],_0x306fff[_0x1024('0x52')]));_0x142e89[_0x1024('0x5c')]['MailAccountId']=_0x6de41c['id'];if(_0x251fd0[_0x1024('0x51')]['filter']){_0x142e89['where']=_[_0x1024('0x5d')](_0x142e89[_0x1024('0x5c')],{'$or':_[_0x1024('0x4a')](_0x142e89[_0x1024('0x54')],function(_0x41b5b0){var _0xf80868={};_0xf80868[_0x41b5b0]={'$like':'%'+_0x251fd0[_0x1024('0x51')]['filter']+'%'};return _0xf80868;})});}if(_0x251fd0[_0x1024('0x51')][_0x1024('0xa1')]){var _0x1f8df1=_0x251fd0[_0x1024('0x51')][_0x1024('0xa1')][_0x1024('0xa2')](',');var _0x1baecc={};_0x1baecc[_0x1f8df1[0x0]]={'$gte':moment(_0x1f8df1[0x1])['format'](_0x1024('0xa3'))};_0x142e89[_0x1024('0x5c')]=_[_0x1024('0x5d')](_0x142e89['where'],_0x1baecc);}_0x142e89=_['merge']({},_0x142e89,_0x251fd0['options']);return db[_0x1024('0xa0')][_0x1024('0x22')]({'where':_0x142e89[_0x1024('0x5c')]})['then'](function(_0x564c50){_0x477cd1[_0x1024('0x22')]=_0x564c50;if(_0x251fd0[_0x1024('0x51')][_0x1024('0x60')]){_0x142e89[_0x1024('0x61')]=[{'all':!![]}];}return db[_0x1024('0xa0')]['findAll'](_0x142e89);})[_0x1024('0x27')](function(_0x38880c){if(_0x251fd0[_0x1024('0x51')][_0x1024('0xa4')]===_0x1024('0xa5')){for(var _0x21c6bd=0x0;_0x21c6bd<_0x38880c[_0x1024('0x65')];_0x21c6bd++){_0x38880c[_0x21c6bd][_0x1024('0x67')]=juice(_0x38880c[_0x21c6bd][_0x1024('0x67')]);}}_0x477cd1['rows']=_0x38880c;return _0x477cd1;});}})[_0x1024('0x27')](respondWithFilteredResult(_0xd9a7bc,_0x142e89))[_0x1024('0x1b')](handleError(_0xd9a7bc,null));};exports[_0x1024('0x2b')]=function(_0x311fb9,_0x58fc9d){var _0x512dee,_0x23b5e3={},_0x5ad891;if(_0x311fb9[_0x1024('0x67')]['to']){_0x5ad891=_0x311fb9['body']['to'][_0x1024('0xa2')](',')[0x0];}return db[_0x1024('0x4b')]['find']({'where':{'id':_0x311fb9[_0x1024('0x63')]['id']},'include':[{'model':db['CmList'],'as':_0x1024('0xa6'),'include':[{'model':db[_0x1024('0x8c')],'as':_0x1024('0xa7'),'where':{'email':_0x5ad891},'limit':0x1,'order':[[_0x1024('0xa8'),_0x1024('0xa9')]]}]},{'model':db[_0x1024('0x47')],'as':_0x1024('0x44'),'raw':!![],'include':[{'model':db[_0x1024('0xaa')],'as':_0x1024('0xaa'),'raw':!![]}]}]})[_0x1024('0x27')](handleEntityNotFound(_0x58fc9d,null))['then'](function(_0x57174e){if(!_0x57174e)return;_0x512dee=_0x57174e;if(!_0x57174e[_0x1024('0x44')])throw new Error('Smtp\x20configuration\x20not\x20found');if(_[_0x1024('0x78')](_0x311fb9[_0x1024('0x67')]['from'])){_0x311fb9['body'][_0x1024('0xab')]=util['format'](_0x1024('0xac'),_0x57174e[_0x1024('0x2a')],_0x57174e[_0x1024('0xad')]||_0x57174e['Smtp'][_0x1024('0x38')]);}if(_0x311fb9[_0x1024('0x67')][_0x1024('0xae')]&&_0x311fb9[_0x1024('0x67')][_0x1024('0xae')][_0x1024('0x65')]){for(var _0x2ce51f=0x0;_0x2ce51f<_0x311fb9['body'][_0x1024('0xae')][_0x1024('0x65')];_0x2ce51f+=0x1){_0x311fb9['body'][_0x1024('0xae')][_0x2ce51f]={'filename':_0x311fb9[_0x1024('0x67')][_0x1024('0xae')][_0x2ce51f][_0x1024('0x2a')],'path':path[_0x1024('0xaf')](config[_0x1024('0xb0')],_0x1024('0xb1'),_0x311fb9[_0x1024('0x67')][_0x1024('0xae')][_0x2ce51f]['basename'])};}}var _0x15e8e4=_0x57174e[_0x1024('0xb2')]();return respondWithRpcPromise('SendMail',_0x1024('0xb3'),{'account':_0x15e8e4,'message':_0x311fb9[_0x1024('0x67')]});})[_0x1024('0x27')](function(_0x4cd428){if(!_0x4cd428)return;_0x23b5e3=_0x4cd428;if(!_0x512dee['List'])throw new Error(_0x1024('0xb4'));if(_0x512dee['List'][_0x1024('0xa7')][_0x1024('0x65')])return _0x512dee['List']['Contacts'][0x0];return db[_0x1024('0x8c')][_0x1024('0x75')](_['defaults'](_0x311fb9[_0x1024('0x67')],{'firstName':_0x311fb9[_0x1024('0x67')]['to'],'email':_0x311fb9[_0x1024('0x67')]['to'],'phone':_0x311fb9[_0x1024('0x67')]['to'],'ListId':_0x512dee[_0x1024('0xb5')]}));})[_0x1024('0x27')](function(_0x371c62){if(!_0x371c62)return;var _0x679244={'UserId':_0x311fb9[_0x1024('0x38')]['id'],'ContactId':_0x371c62['id'],'MailAccountId':_0x512dee['id'],'inReplyTo':_0x23b5e3[_0x1024('0xb6')],'to':_0x311fb9[_0x1024('0x67')][_0x1024('0xab')],'cc':_0x311fb9[_0x1024('0x67')]['cc'],'subject':_0x311fb9['body'][_0x1024('0xb7')],'attach':_0x311fb9[_0x1024('0x67')]['attach'],'firstMsgDirection':_0x1024('0xb8'),'lastMsgAt':moment()[_0x1024('0xb9')](_0x1024('0xa3')),'lastMsgDirection':_0x1024('0xb8'),'Messages':[_[_0x1024('0x5d')](_0x311fb9[_0x1024('0x67')],{'messageId':_0x23b5e3[_0x1024('0xb6')],'sentAt':moment()['format'](_0x1024('0xa3')),'read':!![],'MailAccountId':_0x512dee['id'],'UserId':_0x311fb9[_0x1024('0x38')]['id'],'ContactId':_0x371c62['id']})]};if(_0x311fb9[_0x1024('0x67')][_0x1024('0xba')]){_0x679244=_['merge'](_0x679244,_0x311fb9[_0x1024('0x67')][_0x1024('0xba')]);}return db['MailInteraction'][_0x1024('0x75')](_0x679244,{'include':[{'model':db[_0x1024('0xa0')],'as':_0x1024('0xbb')}]});})[_0x1024('0x27')](respondWithResult(_0x58fc9d,null))[_0x1024('0x1b')](handleError(_0x58fc9d,null));};exports[_0x1024('0xbc')]=function(_0x4656de,_0x3f270d){return db['MailAccount'][_0x1024('0x66')]({'where':{'id':_0x4656de[_0x1024('0x63')]['id']},'include':[{'model':db[_0x1024('0x47')],'as':_0x1024('0x44'),'raw':!![],'include':[{'model':db[_0x1024('0xaa')],'as':_0x1024('0xaa'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x3f270d,null))[_0x1024('0x27')](function(_0x15d19e){if(!_0x15d19e[_0x1024('0x44')])return;var _0x2115dd=_0x15d19e['getSmtpOptions']();return respondWithRpcPromise('VerifySmtp',_0x1024('0xbc'),{'account':_0x2115dd});})[_0x1024('0x27')](respondWithResult(_0x3f270d,null))[_0x1024('0x1b')](handleError(_0x3f270d,null));};exports[_0x1024('0x28')]=function(_0x56165a,_0x373163){return db['MailAccount'][_0x1024('0x66')]({'where':{'id':_0x56165a[_0x1024('0x63')]['id']}})['then'](handleEntityNotFound(_0x373163,null))['then'](function(_0x3ac35f){if(_0x3ac35f&&_0x3ac35f[_0x1024('0x40')]){throw new db[(_0x1024('0xbd'))][(_0x1024('0xbe'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x3ac35f;})[_0x1024('0x27')](removeEntity(_0x373163,null))[_0x1024('0x1b')](handleError(_0x373163,null));};exports[_0x1024('0xbf')]=function(_0x1f16af,_0x45baba){return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0x1f16af[_0x1024('0x63')]['id']}})['then'](handleEntityNotFound(_0x45baba,null))[_0x1024('0x27')](function(_0x1b2bd5){if(_0x1b2bd5){return _0x1b2bd5[_0x1024('0xbf')](_0x1f16af[_0x1024('0x67')][_0x1024('0x74')],_[_0x1024('0x8a')](_0x1f16af[_0x1024('0x67')],[_0x1024('0x74'),'id'])||{})['spread'](function(_0xe155a6){for(var _0x234888=0x0;_0x234888<_0x1f16af['body'][_0x1024('0x74')][_0x1024('0x65')];_0x234888+=0x1){socket[_0x1024('0xc0')](_0x1024('0xc1'),{'UserId':Number(_0x1f16af[_0x1024('0x67')]['ids'][_0x234888]),'MailAccountId':Number(_0x1f16af[_0x1024('0x63')]['id'])});}return _0xe155a6;});}})[_0x1024('0x27')](respondWithResult(_0x45baba,null))['catch'](handleError(_0x45baba,null));};exports['removeAgents']=function(_0xa9a274,_0x4c04c1){return db[_0x1024('0x4b')][_0x1024('0x66')]({'where':{'id':_0xa9a274['params']['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x4c04c1,null))[_0x1024('0x27')](function(_0x8b9c96){if(_0x8b9c96){return _0x8b9c96[_0x1024('0xc2')](_0xa9a274[_0x1024('0x51')][_0x1024('0x74')])[_0x1024('0x27')](function(){if(_[_0x1024('0xc3')](_0xa9a274[_0x1024('0x51')][_0x1024('0x74')])){for(var _0x2fd195=0x0;_0x2fd195<_0xa9a274[_0x1024('0x51')][_0x1024('0x74')][_0x1024('0x65')];_0x2fd195+=0x1){socket[_0x1024('0xc0')](_0x1024('0xc4'),{'UserId':Number(_0xa9a274[_0x1024('0x51')][_0x1024('0x74')][_0x2fd195]),'MailAccountId':Number(_0xa9a274[_0x1024('0x63')]['id'])});}}else{socket['emit'](_0x1024('0xc4'),{'UserId':Number(_0xa9a274[_0x1024('0x51')]['ids']),'MailAccountId':Number(_0xa9a274[_0x1024('0x63')]['id'])});}});}})[_0x1024('0x27')](respondWithStatusCode(_0x4c04c1,null))[_0x1024('0x1b')](handleError(_0x4c04c1,null));};exports[_0x1024('0xc5')]=function(_0x1d327f,_0x55e3ad){var _0xe646f2={};var _0xb77594={};var _0x1005d9;var _0x2536e1;return db[_0x1024('0x4b')][_0x1024('0x70')]({'where':{'id':_0x1d327f[_0x1024('0x63')]['id']}})[_0x1024('0x27')](handleEntityNotFound(_0x55e3ad,null))[_0x1024('0x27')](function(_0x350726){if(_0x350726){_0x1005d9=_0x350726;_0xb77594['model']=_[_0x1024('0x64')](db[_0x1024('0x8e')][_0x1024('0x4c')]);_0xb77594[_0x1024('0x51')]=_['keys'](_0x1d327f[_0x1024('0x51')]);_0xb77594[_0x1024('0x52')]=_[_0x1024('0x53')](_0xb77594['model'],_0xb77594[_0x1024('0x51')]);_0xe646f2[_0x1024('0x54')]=_['intersection'](_0xb77594[_0x1024('0x50')],qs[_0x1024('0x55')](_0x1d327f['query']['fields']));_0xe646f2[_0x1024('0x54')]=_0xe646f2[_0x1024('0x54')]['length']?_0xe646f2[_0x1024('0x54')]:_0xb77594['model'];_0xe646f2[_0x1024('0x58')]=qs[_0x1024('0x59')](_0x1d327f[_0x1024('0x51')][_0x1024('0x59')]);_0xe646f2[_0x1024('0x5c')]=qs[_0x1024('0x52')](_[_0x1024('0x5a')](_0x1d327f[_0x1024('0x51')],_0xb77594['filters']));if(_0x1d327f['query']['filter']){_0xe646f2[_0x1024('0x5c')]=_[_0x1024('0x5d')](_0xe646f2['where'],{'$or':_[_0x1024('0x4a')](_0xe646f2[_0x1024('0x54')],function(_0x1cfcd1){var _0xa980b6={};_0xa980b6[_0x1cfcd1]={'$like':'%'+_0x1d327f[_0x1024('0x51')][_0x1024('0x5b')]+'%'};return _0xa980b6;})});}_0xe646f2=_[_0x1024('0x5d')]({},_0xe646f2,_0x1d327f['options']);return _0x1005d9['getAgents'](_0xe646f2);}})[_0x1024('0x27')](function(_0x4a676b){if(_0x4a676b){_0x2536e1=_0x4a676b['length'];if(!_0x1d327f[_0x1024('0x51')][_0x1024('0x56')](_0x1024('0x57'))){_0xe646f2[_0x1024('0x21')]=qs[_0x1024('0x21')](_0x1d327f[_0x1024('0x51')][_0x1024('0x21')]);_0xe646f2['offset']=qs[_0x1024('0x23')](_0x1d327f[_0x1024('0x51')]['offset']);}return _0x1005d9[_0x1024('0xc5')](_0xe646f2);}})[_0x1024('0x27')](function(_0x392d82){if(_0x392d82){return _0x392d82?{'count':_0x2536e1,'rows':_0x392d82}:null;}})[_0x1024('0x27')](respondWithResult(_0x55e3ad,null))[_0x1024('0x1b')](handleError(_0x55e3ad,null));};