cf5ee5e36d77c9393c20db28e4bf90c8a919c96f
[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 _0x650c=['getSmtpOptions','SendMail','List','messageId','subject','attach','out','Interaction','Messages','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','userMailAccount:save','removeAgents','isArray','emit','getAgents','moment','util','path','lodash','juice','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','client','http','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','update','then','get','UserProfileResource','destroy','name','send','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','gmail','smtp.gmail.com','smtp.mail.yahoo.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','map','MailAccount','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','length','nolimit','sort','where','pick','filters','merge','VIRTUAL','filter','options','includeAll','include','findAll','Pause','mandatoryDispositionPause','keys','body','provider','custom','find','params','MailServerOut','Mail\x20Account\x20not\x20found','addDisposition','MailAccountId','create','getDispositions','findOne','Disposition','hasOwnProperty','order','rows','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','removeAnswers','email','ListId','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','MailAccounts','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','Tags','color','tag','addApplications','sequelize','transaction','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','Contacts','updatedAt','CloudProvider','from','%s\x20<%s>','attachments','join','root','basename'];(function(_0x419785,_0xf6f426){var _0x324ae1=function(_0x4eb655){while(--_0x4eb655){_0x419785['push'](_0x419785['shift']());}};_0x324ae1(++_0xf6f426);}(_0x650c,0x193));var _0xc650=function(_0x59342f,_0x270240){_0x59342f=_0x59342f-0x0;var _0x1cbda4=_0x650c[_0x59342f];return _0x1cbda4;};'use strict';var moment=require(_0xc650('0x0'));var BPromise=require('bluebird');var util=require(_0xc650('0x1'));var path=require(_0xc650('0x2'));var _=require(_0xc650('0x3'));var juice=require(_0xc650('0x4'));var Redis=require('ioredis');var qs=require(_0xc650('0x5'));var logger=require(_0xc650('0x6'))(_0xc650('0x7'));var config=require(_0xc650('0x8'));var db=require('../../mysqldb')['db'];config[_0xc650('0x9')]=_[_0xc650('0xa')](config[_0xc650('0x9')],{'host':_0xc650('0xb'),'port':0x18eb});var socket=require(_0xc650('0xc'))(new Redis(config[_0xc650('0x9')]));require(_0xc650('0xd'))[_0xc650('0xe')](socket);var jayson=require('jayson/promise');var client=jayson[_0xc650('0xf')][_0xc650('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x284650,_0x43cb77,_0x2c49d5,_0x19d9c8){return new BPromise(function(_0x1778a2,_0x2df4b8){var _0x5399cf=_0x19d9c8||client;return _0x5399cf[_0xc650('0x11')](_0x284650,_0x2c49d5)['then'](function(_0x1e7f30){logger[_0xc650('0x12')](_0xc650('0x13'),_0x43cb77,_0xc650('0x14'));logger[_0xc650('0x15')](_0xc650('0x16'),_0x43cb77,_0xc650('0x14'),JSON[_0xc650('0x17')](_0x1e7f30));if(_0x1e7f30[_0xc650('0x18')]){if(_0x1e7f30[_0xc650('0x18')][_0xc650('0x19')]===0x1f4){logger[_0xc650('0x18')](_0xc650('0x13'),_0x43cb77,_0x1e7f30['error']['message']);return _0x2df4b8(_0x1e7f30[_0xc650('0x18')][_0xc650('0x1a')]);}logger[_0xc650('0x18')]('MailAccount,\x20%s,\x20%s',_0x43cb77,_0x1e7f30['error'][_0xc650('0x1a')]);return _0x1778a2(_0x1e7f30['error'][_0xc650('0x1a')]);}else{logger[_0xc650('0x12')](_0xc650('0x13'),_0x43cb77,'request\x20sent');_0x1778a2(_0x1e7f30[_0xc650('0x1b')][_0xc650('0x1a')]);}})[_0xc650('0x1c')](function(_0x5ddc36){logger[_0xc650('0x18')](_0xc650('0x13'),_0x43cb77,_0x5ddc36);_0x2df4b8(_0x5ddc36);});});}function respondWithStatusCode(_0x3848fa,_0x317996){_0x317996=_0x317996||0xcc;return function(_0x2dc3e1){if(_0x2dc3e1){return _0x3848fa[_0xc650('0x1d')](_0x317996);}return _0x3848fa['status'](_0x317996)[_0xc650('0x1e')]();};}function respondWithResult(_0x2c21a4,_0x1c0ec9){_0x1c0ec9=_0x1c0ec9||0xc8;return function(_0x432841){if(_0x432841){return _0x2c21a4[_0xc650('0x1f')](_0x1c0ec9)[_0xc650('0x20')](_0x432841);}};}function respondWithFilteredResult(_0x248592,_0x3e610e){return function(_0x3a4bad){if(_0x3a4bad){var _0x4696f0=typeof _0x3e610e[_0xc650('0x21')]===_0xc650('0x22')&&typeof _0x3e610e[_0xc650('0x23')]==='undefined';var _0x43b04d=_0x3a4bad['count'];var _0x42f894=_0x4696f0?0x0:_0x3e610e['offset'];var _0x530223=_0x4696f0?_0x3a4bad[_0xc650('0x24')]:_0x3e610e[_0xc650('0x21')]+_0x3e610e[_0xc650('0x23')];var _0x27eebb;if(_0x530223>=_0x43b04d){_0x530223=_0x43b04d;_0x27eebb=0xc8;}else{_0x27eebb=0xce;}_0x248592[_0xc650('0x1f')](_0x27eebb);return _0x248592[_0xc650('0x25')](_0xc650('0x26'),_0x42f894+'-'+_0x530223+'/'+_0x43b04d)[_0xc650('0x20')](_0x3a4bad);}return null;};}function saveUpdates(_0x4b11e2){return function(_0x32e32f){if(_0x32e32f){return _0x32e32f[_0xc650('0x27')](_0x4b11e2)['then'](function(_0x3d3d4b){return _0x3d3d4b;});}return null;};}function removeEntity(_0x50cf4d){return function(_0x58c561){if(_0x58c561){return _0x58c561['destroy']()[_0xc650('0x28')](function(){var _0x1d778c=_0x58c561[_0xc650('0x29')]({'plain':!![]});var _0x2619bc='MailAccounts';return db[_0xc650('0x2a')][_0xc650('0x2b')]({'where':{'type':_0x2619bc,'resourceId':_0x1d778c['id']}})['then'](function(){return _0x58c561;});})['then'](function(){_0x50cf4d[_0xc650('0x1f')](0xcc)[_0xc650('0x1e')]();});}};}function handleEntityNotFound(_0x421117){return function(_0x40119f){if(!_0x40119f){_0x421117[_0xc650('0x1d')](0x194);}return _0x40119f;};}function handleError(_0x3104c6,_0x46059b){_0x46059b=_0x46059b||0x1f4;return function(_0x513de1){logger[_0xc650('0x18')](_0x513de1['stack']);if(_0x513de1[_0xc650('0x2c')]){delete _0x513de1[_0xc650('0x2c')];}_0x3104c6['status'](_0x46059b)[_0xc650('0x2d')](_0x513de1);};}function getImapHost(_0x384f3a){switch(_0x384f3a){case'gmail':return _0xc650('0x2e');case _0xc650('0x2f'):return _0xc650('0x30');case _0xc650('0x31'):return _0xc650('0x32');case _0xc650('0x33'):return _0xc650('0x34');}throw new Error(_0xc650('0x35'),_0x384f3a);}function getSmtpHost(_0x4c04a6){switch(_0x4c04a6){case _0xc650('0x36'):return _0xc650('0x37');case'yahoo':return _0xc650('0x38');case'hotmail':return'smtp-mail.outlook.com';case'outlook365':return'smtp.office365.com';}throw new Error(_0xc650('0x35'),_0x4c04a6);}function getAuthenticationOptions(_0x21782c,_0x104430){var _0xe5a091={};var _0x3f377e={};if(_0x21782c){_0xe5a091['user']=_0x3f377e[_0xc650('0x39')]=_0x104430[_0xc650('0x3a')];_0xe5a091[_0xc650('0x3b')]=_0x3f377e[_0xc650('0x3c')]=_0x104430[_0xc650('0x3b')];if(_0x104430['modernAuthentication']){_0xe5a091[_0xc650('0x3d')]=_0x3f377e['modernAuthentication']=!![];_0xe5a091['CloudProviderId']=_0x3f377e[_0xc650('0x3e')]=_0x104430[_0xc650('0x3e')];_0xe5a091[_0xc650('0x3b')]=_0x3f377e[_0xc650('0x3c')]=null;}else{_0xe5a091[_0xc650('0x3e')]=_0x3f377e[_0xc650('0x3e')]=null;}_0xe5a091[_0xc650('0x3f')]=getImapHost(_0x21782c);_0xe5a091[_0xc650('0x40')]=0x3e1;_0x3f377e['host']=getSmtpHost(_0x21782c);_0x3f377e[_0xc650('0x40')]=0x24b;_0x3f377e[_0xc650('0x41')]=![];_0xe5a091[_0xc650('0x42')]=_0x3f377e[_0xc650('0x42')]=null;}else{if(_0x104430[_0xc650('0x43')]){_0xe5a091[_0xc650('0x39')]=_0x3f377e[_0xc650('0x39')]=_0x104430[_0xc650('0x3a')];_0xe5a091['password']=_0x3f377e[_0xc650('0x3c')]=_0x104430[_0xc650('0x3b')];}else{_0xe5a091[_0xc650('0x43')]=_0x3f377e[_0xc650('0x43')]=![];_0xe5a091['user']=_0x3f377e['user']=null;_0xe5a091['password']=_0x3f377e[_0xc650('0x3c')]=null;}_0xe5a091['host']=_0x104430['Imap'][_0xc650('0x3f')];_0xe5a091['port']=_0x104430[_0xc650('0x44')]['port'];_0x3f377e[_0xc650('0x3f')]=_0x104430[_0xc650('0x45')][_0xc650('0x3f')];_0x3f377e[_0xc650('0x40')]=_0x104430[_0xc650('0x45')][_0xc650('0x40')];}return{'Imap':_0xe5a091,'Smtp':_0x3f377e};}exports[_0xc650('0x46')]=function(_0x45ecb6,_0x151432){var _0x51acf4={'include':[{'model':db[_0xc650('0x47')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xc650('0x45')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x4244c7={},_0x1588d1={'count':0x0,'rows':[]};var _0x5a9b95=_[_0xc650('0x48')](db[_0xc650('0x49')][_0xc650('0x4a')],function(_0x1724e3){return{'name':_0x1724e3[_0xc650('0x4b')],'type':_0x1724e3[_0xc650('0x4c')][_0xc650('0x4d')]};});_0x4244c7[_0xc650('0x4e')]=_[_0xc650('0x48')](_0x5a9b95,'name');_0x4244c7[_0xc650('0x4f')]=_['keys'](_0x45ecb6[_0xc650('0x4f')]);_0x4244c7['filters']=_['intersection'](_0x4244c7[_0xc650('0x4e')],_0x4244c7['query']);_0x51acf4[_0xc650('0x50')]=_[_0xc650('0x51')](_0x4244c7[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x45ecb6['query'][_0xc650('0x52')]));_0x51acf4[_0xc650('0x50')]=_0x51acf4[_0xc650('0x50')][_0xc650('0x53')]?_0x51acf4[_0xc650('0x50')]:_0x4244c7[_0xc650('0x4e')];if(!_0x45ecb6['query']['hasOwnProperty'](_0xc650('0x54'))){_0x51acf4[_0xc650('0x23')]=qs['limit'](_0x45ecb6['query'][_0xc650('0x23')]);_0x51acf4[_0xc650('0x21')]=qs[_0xc650('0x21')](_0x45ecb6[_0xc650('0x4f')][_0xc650('0x21')]);}_0x51acf4['order']=qs[_0xc650('0x55')](_0x45ecb6[_0xc650('0x4f')][_0xc650('0x55')]);_0x51acf4[_0xc650('0x56')]=qs['filters'](_[_0xc650('0x57')](_0x45ecb6[_0xc650('0x4f')],_0x4244c7[_0xc650('0x58')]),_0x5a9b95);if(_0x45ecb6[_0xc650('0x4f')]['filter']){_0x51acf4[_0xc650('0x56')]=_[_0xc650('0x59')](_0x51acf4[_0xc650('0x56')],{'$or':_[_0xc650('0x48')](_0x5a9b95,function(_0x561219){if(_0x561219[_0xc650('0x4c')]!==_0xc650('0x5a')){var _0xc6421a={};_0xc6421a[_0x561219[_0xc650('0x2c')]]={'$like':'%'+_0x45ecb6[_0xc650('0x4f')][_0xc650('0x5b')]+'%'};return _0xc6421a;}})});}_0x51acf4=_[_0xc650('0x59')]({},_0x51acf4,_0x45ecb6[_0xc650('0x5c')]);var _0x337d7d={'where':_0x51acf4[_0xc650('0x56')]};return db['MailAccount']['count'](_0x337d7d)[_0xc650('0x28')](function(_0x4b28ab){_0x1588d1[_0xc650('0x24')]=_0x4b28ab;if(_0x45ecb6['query'][_0xc650('0x5d')]){_0x51acf4[_0xc650('0x5e')]=[{'all':!![]}];}return db['MailAccount'][_0xc650('0x5f')](_0x51acf4);})[_0xc650('0x28')](function(_0x23c2c2){_0x1588d1['rows']=_0x23c2c2;return _0x1588d1;})[_0xc650('0x28')](respondWithFilteredResult(_0x151432,_0x51acf4))[_0xc650('0x1c')](handleError(_0x151432,null));};exports['show']=function(_0x14d60c,_0x2394ba){var _0x399d76={'raw':![],'where':{'id':_0x14d60c['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0xc650('0x44')},{'model':db['MailServerOut'],'as':_0xc650('0x45')},{'model':db[_0xc650('0x60')],'as':_0xc650('0x61')}]},_0x53b0ff={};_0x53b0ff[_0xc650('0x4e')]=_[_0xc650('0x62')](db['MailAccount'][_0xc650('0x4a')]);_0x53b0ff[_0xc650('0x4f')]=_['keys'](_0x14d60c[_0xc650('0x4f')]);_0x53b0ff[_0xc650('0x58')]=_['intersection'](_0x53b0ff['model'],_0x53b0ff[_0xc650('0x4f')]);_0x399d76['attributes']=_[_0xc650('0x51')](_0x53b0ff[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x14d60c[_0xc650('0x4f')]['fields']));_0x399d76[_0xc650('0x50')]=_0x399d76['attributes']['length']?_0x399d76[_0xc650('0x50')]:_0x53b0ff[_0xc650('0x4e')];if(_0x14d60c[_0xc650('0x4f')][_0xc650('0x5d')]){_0x399d76['include']=[{'all':!![]}];}_0x399d76=_['merge']({},_0x399d76,_0x14d60c[_0xc650('0x5c')]);return db[_0xc650('0x49')]['find'](_0x399d76)['then'](handleEntityNotFound(_0x2394ba,null))[_0xc650('0x28')](respondWithResult(_0x2394ba,null))['catch'](handleError(_0x2394ba,null));};exports[_0xc650('0x27')]=function(_0x1b29b9,_0x5e5c05){if(_0x1b29b9[_0xc650('0x63')]['id']){delete _0x1b29b9[_0xc650('0x63')]['id'];}var _0x112a6a=_0x1b29b9['body'][_0xc650('0x64')]===_0xc650('0x65')?null:_0x1b29b9[_0xc650('0x63')][_0xc650('0x64')];var _0x4d81a2=_0x1b29b9[_0xc650('0x63')][_0xc650('0x44')]||{};var _0x53eee7=_0x1b29b9[_0xc650('0x63')][_0xc650('0x45')]||{};if(_0x112a6a){_0x4d81a2[_0xc650('0x3f')]=getImapHost(_0x112a6a);_0x4d81a2['port']=0x3e1;_0x53eee7[_0xc650('0x3f')]=getSmtpHost(_0x112a6a);_0x53eee7[_0xc650('0x40')]=0x24b;_0x53eee7['secure']=![];}if(_0x53eee7[_0xc650('0x3d')]){_0x53eee7['secure']=![];}else{_0x53eee7['CloudProviderId']=null;}if(!_0x4d81a2[_0xc650('0x3d')])_0x4d81a2[_0xc650('0x3e')]=null;_0x1b29b9[_0xc650('0x63')][_0xc650('0x44')]=_0x4d81a2;_0x1b29b9[_0xc650('0x63')][_0xc650('0x45')]=_0x53eee7;return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x1b29b9[_0xc650('0x67')]['id']},'include':[{'model':db[_0xc650('0x47')],'as':_0xc650('0x44')},{'model':db[_0xc650('0x68')],'as':_0xc650('0x45')},{'model':db[_0xc650('0x60')],'as':_0xc650('0x61')}]})[_0xc650('0x28')](handleEntityNotFound(_0x5e5c05,null))[_0xc650('0x28')](function(_0xca75b3){if(!_0xca75b3)throw new Error(_0xc650('0x69'));if(_0xca75b3[_0xc650('0x42')])delete _0x1b29b9['body'][_0xc650('0x44')];return _0xca75b3;})['then'](saveUpdates(_0x1b29b9['body'],null))[_0xc650('0x28')](function(_0xfe3f01){if(!_0x1b29b9['body'][_0xc650('0x44')])return _0xfe3f01;return db['MailServerIn'][_0xc650('0x27')](_0x1b29b9[_0xc650('0x63')][_0xc650('0x44')],{'where':{'MailAccountId':_0xfe3f01['id']}})['then'](function(){return _0xfe3f01;});})[_0xc650('0x28')](function(_0x7d7ac6){if(!_0x1b29b9[_0xc650('0x63')][_0xc650('0x45')])return _0x7d7ac6;return db[_0xc650('0x68')][_0xc650('0x27')](_0x1b29b9[_0xc650('0x63')][_0xc650('0x45')],{'where':{'MailAccountId':_0x7d7ac6['id']}})[_0xc650('0x28')](function(){return _0x7d7ac6;});})['then'](respondWithResult(_0x5e5c05,null))[_0xc650('0x1c')](handleError(_0x5e5c05,null));};exports['describe']=function(_0x1a4bfa,_0x159d9b){return db[_0xc650('0x49')]['describe']()[_0xc650('0x28')](respondWithResult(_0x159d9b,null))[_0xc650('0x1c')](handleError(_0x159d9b,null));};exports[_0xc650('0x6a')]=function(_0x43073c,_0x55f9ca){if(_0x43073c['body']['id']){delete _0x43073c[_0xc650('0x63')]['id'];}return db[_0xc650('0x49')]['find']({'where':{'id':_0x43073c['params']['id']}})['then'](handleEntityNotFound(_0x55f9ca,null))[_0xc650('0x28')](function(_0x1f551b){if(_0x1f551b){_0x43073c['body'][_0xc650('0x6b')]=_0x1f551b['id'];return db['Disposition'][_0xc650('0x6c')](_0x43073c[_0xc650('0x63')]);}})[_0xc650('0x28')](respondWithResult(_0x55f9ca,null))[_0xc650('0x1c')](handleError(_0x55f9ca,null));};exports[_0xc650('0x6d')]=function(_0x2cc2af,_0x13ed37){var _0x49a654={'raw':![],'where':{}};var _0x1fecf0={};var _0x2d8b6b={'count':0x0,'rows':[]};return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x2cc2af['params']['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x13ed37,null))[_0xc650('0x28')](function(_0x330148){if(_0x330148){_0x1fecf0[_0xc650('0x4e')]=_['keys'](db[_0xc650('0x6f')][_0xc650('0x4a')]);_0x1fecf0[_0xc650('0x4f')]=_['keys'](_0x2cc2af['query']);_0x1fecf0[_0xc650('0x58')]=_['intersection'](_0x1fecf0[_0xc650('0x4e')],_0x1fecf0[_0xc650('0x4f')]);_0x49a654[_0xc650('0x50')]=_[_0xc650('0x51')](_0x1fecf0[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x2cc2af['query'][_0xc650('0x52')]));_0x49a654['attributes']=_0x49a654['attributes'][_0xc650('0x53')]?_0x49a654[_0xc650('0x50')]:_0x1fecf0[_0xc650('0x4e')];if(!_0x2cc2af[_0xc650('0x4f')][_0xc650('0x70')]('nolimit')){_0x49a654[_0xc650('0x23')]=qs[_0xc650('0x23')](_0x2cc2af[_0xc650('0x4f')]['limit']);_0x49a654[_0xc650('0x21')]=qs[_0xc650('0x21')](_0x2cc2af[_0xc650('0x4f')][_0xc650('0x21')]);}_0x49a654[_0xc650('0x71')]=qs[_0xc650('0x55')](_0x2cc2af[_0xc650('0x4f')][_0xc650('0x55')]);_0x49a654['where']=qs[_0xc650('0x58')](_[_0xc650('0x57')](_0x2cc2af[_0xc650('0x4f')],_0x1fecf0[_0xc650('0x58')]));_0x49a654[_0xc650('0x56')][_0xc650('0x6b')]=_0x330148['id'];if(_0x2cc2af['query'][_0xc650('0x5b')]){_0x49a654['where']=_[_0xc650('0x59')](_0x49a654[_0xc650('0x56')],{'$or':_[_0xc650('0x48')](_0x49a654[_0xc650('0x50')],function(_0x48a0d5){var _0x433795={};_0x433795[_0x48a0d5]={'$like':'%'+_0x2cc2af['query']['filter']+'%'};return _0x433795;})});}_0x49a654=_[_0xc650('0x59')]({},_0x49a654,_0x2cc2af[_0xc650('0x5c')]);return db[_0xc650('0x6f')][_0xc650('0x24')]({'where':_0x49a654[_0xc650('0x56')]})[_0xc650('0x28')](function(_0xe49224){_0x2d8b6b[_0xc650('0x24')]=_0xe49224;if(_0x2cc2af[_0xc650('0x4f')]['includeAll']){_0x49a654[_0xc650('0x5e')]=[{'all':!![]}];}return db[_0xc650('0x6f')]['findAll'](_0x49a654);})[_0xc650('0x28')](function(_0x281aa9){_0x2d8b6b[_0xc650('0x72')]=_0x281aa9;return _0x2d8b6b;});}})[_0xc650('0x28')](respondWithFilteredResult(_0x13ed37,_0x49a654))['catch'](handleError(_0x13ed37,null));};exports[_0xc650('0x73')]=function(_0x2ca8b5,_0x54803b){return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x2ca8b5[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x54803b,null))[_0xc650('0x28')](function(_0x158c50){if(_0x158c50){return _0x158c50[_0xc650('0x73')](_0x2ca8b5[_0xc650('0x4f')][_0xc650('0x74')]);}})['then'](respondWithStatusCode(_0x54803b,null))[_0xc650('0x1c')](handleError(_0x54803b,null));};exports[_0xc650('0x75')]=function(_0x24cdc3,_0x2359ae){if(_0x24cdc3['body']['id']){delete _0x24cdc3[_0xc650('0x63')]['id'];}return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x24cdc3[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x2359ae,null))['then'](function(_0x44c97a){if(_0x44c97a){_0x24cdc3[_0xc650('0x63')][_0xc650('0x6b')]=_0x44c97a['id'];return db['CannedAnswer'][_0xc650('0x6c')](_0x24cdc3[_0xc650('0x63')]);}})[_0xc650('0x28')](respondWithResult(_0x2359ae,null))[_0xc650('0x1c')](handleError(_0x2359ae,null));};exports[_0xc650('0x76')]=function(_0x2d500c,_0x4712ba){var _0x57117b={'raw':![],'where':{}};var _0x24cba5={};var _0x610df7={'count':0x0,'rows':[]};return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x2d500c[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x4712ba,null))[_0xc650('0x28')](function(_0x5b2fea){if(_0x5b2fea){_0x24cba5[_0xc650('0x4e')]=_[_0xc650('0x62')](db[_0xc650('0x77')][_0xc650('0x4a')]);_0x24cba5[_0xc650('0x4f')]=_['keys'](_0x2d500c['query']);_0x24cba5[_0xc650('0x58')]=_[_0xc650('0x51')](_0x24cba5[_0xc650('0x4e')],_0x24cba5[_0xc650('0x4f')]);_0x57117b[_0xc650('0x50')]=_[_0xc650('0x51')](_0x24cba5[_0xc650('0x4e')],qs['fields'](_0x2d500c[_0xc650('0x4f')]['fields']));_0x57117b[_0xc650('0x50')]=_0x57117b['attributes'][_0xc650('0x53')]?_0x57117b[_0xc650('0x50')]:_0x24cba5[_0xc650('0x4e')];if(!_0x2d500c[_0xc650('0x4f')][_0xc650('0x70')](_0xc650('0x54'))){_0x57117b[_0xc650('0x23')]=qs[_0xc650('0x23')](_0x2d500c[_0xc650('0x4f')]['limit']);_0x57117b['offset']=qs[_0xc650('0x21')](_0x2d500c[_0xc650('0x4f')][_0xc650('0x21')]);}_0x57117b[_0xc650('0x71')]=qs[_0xc650('0x55')](_0x2d500c['query']['sort']);_0x57117b[_0xc650('0x56')]=qs[_0xc650('0x58')](_[_0xc650('0x57')](_0x2d500c['query'],_0x24cba5[_0xc650('0x58')]));_0x57117b[_0xc650('0x56')][_0xc650('0x6b')]=_0x5b2fea['id'];if(_0x2d500c[_0xc650('0x4f')][_0xc650('0x5b')]){_0x57117b[_0xc650('0x56')]=_[_0xc650('0x59')](_0x57117b[_0xc650('0x56')],{'$or':_[_0xc650('0x48')](_0x57117b['attributes'],function(_0x5111c5){var _0x555275={};_0x555275[_0x5111c5]={'$like':'%'+_0x2d500c[_0xc650('0x4f')][_0xc650('0x5b')]+'%'};return _0x555275;})});}_0x57117b=_[_0xc650('0x59')]({},_0x57117b,_0x2d500c[_0xc650('0x5c')]);return db[_0xc650('0x77')][_0xc650('0x24')]({'where':_0x57117b[_0xc650('0x56')]})[_0xc650('0x28')](function(_0x482749){_0x610df7[_0xc650('0x24')]=_0x482749;if(_0x2d500c[_0xc650('0x4f')][_0xc650('0x5d')]){_0x57117b[_0xc650('0x5e')]=[{'all':!![]}];}return db['CannedAnswer'][_0xc650('0x5f')](_0x57117b);})['then'](function(_0x3b017f){_0x610df7[_0xc650('0x72')]=_0x3b017f;return _0x610df7;});}})[_0xc650('0x28')](respondWithFilteredResult(_0x4712ba,_0x57117b))[_0xc650('0x1c')](handleError(_0x4712ba,null));};exports[_0xc650('0x78')]=function(_0x2edcb0,_0x78445c){return db[_0xc650('0x49')]['find']({'where':{'id':_0x2edcb0['params']['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x78445c,null))[_0xc650('0x28')](function(_0x341d2f){if(_0x341d2f){return _0x341d2f[_0xc650('0x78')](_0x2edcb0[_0xc650('0x4f')][_0xc650('0x74')]);}})[_0xc650('0x28')](respondWithStatusCode(_0x78445c,null))[_0xc650('0x1c')](handleError(_0x78445c,null));};exports[_0xc650('0x6c')]=function(_0x6f4f00,_0x51e138){var _0x1c3081={'name':_0x6f4f00[_0xc650('0x63')][_0xc650('0x2c')],'key':_0x6f4f00[_0xc650('0x63')][_0xc650('0x4d')],'provider':_0x6f4f00['body'][_0xc650('0x64')]===_0xc650('0x65')?null:_0x6f4f00[_0xc650('0x63')][_0xc650('0x64')],'email':_0x6f4f00[_0xc650('0x63')][_0xc650('0x79')],'ListId':_0x6f4f00[_0xc650('0x63')][_0xc650('0x7a')],'active':!_[_0xc650('0x7b')](_0x6f4f00[_0xc650('0x63')][_0xc650('0x7c')])?_0x6f4f00[_0xc650('0x63')][_0xc650('0x7c')]:!![],'description':_0x6f4f00['body']['description']||null};var _0x2a088f=getAuthenticationOptions(_0x1c3081[_0xc650('0x64')],_0x6f4f00[_0xc650('0x63')]);_0x1c3081[_0xc650('0x44')]=_0x2a088f[_0xc650('0x44')];_0x1c3081[_0xc650('0x45')]=_0x2a088f[_0xc650('0x45')];return db[_0xc650('0x49')][_0xc650('0x6c')](_0x1c3081,{'include':[{'model':db[_0xc650('0x68')],'as':_0xc650('0x45')},{'model':db['MailServerIn'],'as':'Imap'}]})[_0xc650('0x28')](function(_0x53cc73){var _0x48ac96=_0x6f4f00[_0xc650('0x39')][_0xc650('0x29')]({'plain':!![]});if(!_0x48ac96)throw new Error(_0xc650('0x7d'));if(_0x48ac96['role']===_0xc650('0x39')){var _0x5e8f02=_0x53cc73['get']({'plain':!![]});return db['UserProfileSection'][_0xc650('0x66')]({'where':{'name':_0xc650('0x7e'),'userProfileId':_0x48ac96['userProfileId']},'raw':!![]})[_0xc650('0x28')](function(_0x378bd2){if(_0x378bd2&&_0x378bd2[_0xc650('0x7f')]===0x0){return db[_0xc650('0x2a')][_0xc650('0x6c')]({'name':_0x5e8f02['name'],'resourceId':_0x5e8f02['id'],'type':_0x378bd2[_0xc650('0x2c')],'sectionId':_0x378bd2['id']},{})[_0xc650('0x28')](function(){return _0x53cc73;});}else{return _0x53cc73;}})[_0xc650('0x1c')](function(_0x25e759){logger[_0xc650('0x18')](_0xc650('0x80'),_0x25e759);throw _0x25e759;});}return _0x53cc73;})[_0xc650('0x28')](respondWithResult(_0x51e138,0xc9))[_0xc650('0x1c')](handleError(_0x51e138,null));};exports[_0xc650('0x81')]=function(_0x3b0c33,_0x18e210){return db[_0xc650('0x49')]['findOne']({'where':{'id':_0x3b0c33[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x18e210,null))[_0xc650('0x28')](function(_0x242634){if(_0x242634){return _0x242634[_0xc650('0x81')]();}return null;})[_0xc650('0x28')](respondWithResult(_0x18e210,null))['catch'](handleError(_0x18e210,null));};exports[_0xc650('0x82')]=function(_0x22e19f,_0x47fbea){if(_0x22e19f['body']['id']){delete _0x22e19f[_0xc650('0x63')]['id'];}return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x22e19f['params']['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x47fbea,null))[_0xc650('0x28')](function(_0x43e88e){if(_0x43e88e){_0x22e19f[_0xc650('0x63')]['MailAccountId']=_0x43e88e['id'];return db[_0xc650('0x47')]['create'](_0x22e19f[_0xc650('0x63')]);}})['then'](respondWithResult(_0x47fbea,null))[_0xc650('0x1c')](handleError(_0x47fbea,null));};exports[_0xc650('0x83')]=function(_0x4675b9,_0x19a7cf){return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x4675b9[_0xc650('0x67')]['id']}})['then'](handleEntityNotFound(_0x19a7cf,null))[_0xc650('0x28')](function(_0x564cea){if(_0x564cea){return _0x564cea[_0xc650('0x84')](null);}return null;})[_0xc650('0x28')](respondWithStatusCode(_0x19a7cf,null))[_0xc650('0x1c')](handleError(_0x19a7cf,null));};exports[_0xc650('0x85')]=function(_0x5b2f94,_0x31dca2){return db[_0xc650('0x49')]['findOne']({'where':{'id':_0x5b2f94[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x31dca2,null))['then'](function(_0xc7a467){if(_0xc7a467){return _0xc7a467[_0xc650('0x85')]();}return null;})['then'](respondWithResult(_0x31dca2,null))[_0xc650('0x1c')](handleError(_0x31dca2,null));};exports[_0xc650('0x86')]=function(_0x1855fa,_0x4ca5a8){if(_0x1855fa[_0xc650('0x63')]['id']){delete _0x1855fa[_0xc650('0x63')]['id'];}return db['MailAccount'][_0xc650('0x66')]({'where':{'id':_0x1855fa[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x4ca5a8,null))[_0xc650('0x28')](function(_0x588b21){if(_0x588b21){_0x1855fa[_0xc650('0x63')][_0xc650('0x6b')]=_0x588b21['id'];return db['MailServerOut'][_0xc650('0x6c')](_0x1855fa[_0xc650('0x63')]);}})[_0xc650('0x28')](respondWithResult(_0x4ca5a8,null))[_0xc650('0x1c')](handleError(_0x4ca5a8,null));};exports[_0xc650('0x87')]=function(_0x58dd16,_0x51a1d4){return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x58dd16['params']['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x51a1d4,null))[_0xc650('0x28')](function(_0x3997e2){if(_0x3997e2){return _0x3997e2[_0xc650('0x88')](null);}return null;})[_0xc650('0x28')](respondWithStatusCode(_0x51a1d4,null))[_0xc650('0x1c')](handleError(_0x51a1d4,null));};exports[_0xc650('0x89')]=function(_0x406537,_0x9467c3){return db[_0xc650('0x8a')][_0xc650('0x66')]({'where':{'id':_0x406537[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x9467c3,null))[_0xc650('0x28')](function(_0x4a59a6){if(_0x4a59a6){return _0x4a59a6[_0xc650('0x89')](_0x406537['body'][_0xc650('0x74')],_[_0xc650('0x8b')](_0x406537[_0xc650('0x63')],['ids','id'])||{});}})[_0xc650('0x28')](respondWithResult(_0x9467c3,null))['catch'](handleError(_0x9467c3,null));};exports[_0xc650('0x8c')]=function(_0x164f23,_0x2a5075){var _0x39662f={'raw':![],'where':{}};var _0x2a5a12={};var _0x4edca9={'count':0x0,'rows':[]};return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x164f23[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x2a5075,null))[_0xc650('0x28')](function(_0x598ffe){if(_0x598ffe){_0x2a5a12[_0xc650('0x4e')]=_[_0xc650('0x62')](db['MailInteraction'][_0xc650('0x4a')]);_0x2a5a12[_0xc650('0x4f')]=_[_0xc650('0x62')](_0x164f23[_0xc650('0x4f')]);_0x2a5a12['filters']=_[_0xc650('0x51')](_0x2a5a12[_0xc650('0x4e')],_0x2a5a12[_0xc650('0x4f')]);_0x39662f[_0xc650('0x50')]=_[_0xc650('0x51')](_0x2a5a12[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x164f23[_0xc650('0x4f')][_0xc650('0x52')]));_0x39662f[_0xc650('0x50')]=_0x39662f[_0xc650('0x50')][_0xc650('0x53')]?_0x39662f[_0xc650('0x50')]:_0x2a5a12[_0xc650('0x4e')];if(!_0x164f23[_0xc650('0x4f')]['hasOwnProperty'](_0xc650('0x54'))){_0x39662f[_0xc650('0x23')]=qs['limit'](_0x164f23[_0xc650('0x4f')][_0xc650('0x23')]);_0x39662f['offset']=qs[_0xc650('0x21')](_0x164f23['query'][_0xc650('0x21')]);}_0x39662f[_0xc650('0x71')]=qs[_0xc650('0x55')](_0x164f23[_0xc650('0x4f')]['sort']);_0x39662f['where']=qs[_0xc650('0x58')](_[_0xc650('0x57')](_0x164f23[_0xc650('0x4f')],_0x2a5a12['filters']));_0x39662f[_0xc650('0x56')][_0xc650('0x6b')]=_0x598ffe['id'];if(_0x164f23[_0xc650('0x4f')][_0xc650('0x5b')]){_0x39662f[_0xc650('0x56')]=_['merge'](_0x39662f[_0xc650('0x56')],{'$or':_['map'](_0x39662f['attributes'],function(_0x16a5a9){var _0x2de895={};_0x2de895[_0x16a5a9]={'$like':'%'+_0x164f23[_0xc650('0x4f')][_0xc650('0x5b')]+'%'};return _0x2de895;})});}_0x39662f=_[_0xc650('0x59')]({},_0x39662f,_0x164f23[_0xc650('0x5c')]);return db[_0xc650('0x8a')][_0xc650('0x24')]({'where':_0x39662f[_0xc650('0x56')]})[_0xc650('0x28')](function(_0x1cb316){_0x4edca9['count']=_0x1cb316;if(_0x164f23[_0xc650('0x4f')]['includeAll']){_0x39662f['include']=[{'model':db[_0xc650('0x8d')],'as':_0xc650('0x8e'),'required':![]},{'model':db[_0xc650('0x8f')],'as':_0xc650('0x90'),'attributes':[_0xc650('0x2c'),_0xc650('0x91'),'internal'],'required':![]},{'model':db['Tag'],'as':_0xc650('0x92'),'attributes':['id',_0xc650('0x2c'),_0xc650('0x93')],'where':_0x164f23[_0xc650('0x4f')]['tag']?{'id':_0x164f23['query'][_0xc650('0x94')]}:undefined,'required':_0x164f23['query'][_0xc650('0x94')]?!![]:![]}];}return db[_0xc650('0x8a')][_0xc650('0x5f')](_0x39662f);})[_0xc650('0x28')](function(_0x40209a){_0x4edca9[_0xc650('0x72')]=_0x40209a;return _0x4edca9;});}})['then'](respondWithFilteredResult(_0x2a5075,_0x39662f))[_0xc650('0x1c')](handleError(_0x2a5075,null));};exports[_0xc650('0x95')]=function addApplications(_0x4b132,_0x24f6e2){var _0x4e1c22=_0x4b132[_0xc650('0x67')]['id'];var _0x28046a=_0x4b132[_0xc650('0x63')];var _0x240bc3=0xc8;var _0x33d4b0=null;return db[_0xc650('0x96')][_0xc650('0x97')]({'isolationLevel':db['sequelize']['Transaction']['ISOLATION_LEVELS'][_0xc650('0x98')]},function(_0x284efe){return db['MailAccount'][_0xc650('0x6e')]({'where':{'id':_0x4e1c22},'transaction':_0x284efe})[_0xc650('0x28')](function(_0x35f9c3){if(_0x35f9c3){return db[_0xc650('0x99')]['destroy']({'where':{'MailAccountId':_0x4e1c22},'transaction':_0x284efe})['then'](function(){var _0x2f4811=_[_0xc650('0x48')](_0x28046a,function(_0x21e6c3){_0x21e6c3[_0xc650('0x6b')]=_0x4e1c22;return _0x21e6c3;});return db[_0xc650('0x99')][_0xc650('0x9a')](_0x2f4811,{'transaction':_0x284efe});});}else{_0x240bc3=0x194;_0x33d4b0=[];}});})[_0xc650('0x28')](function(){if(_0x240bc3!==0x194){return db['MailApplication'][_0xc650('0x9b')]({'where':{'MailAccountId':_0x4e1c22},'order':_0xc650('0x9c')})['then'](function(_0x129869){_0x33d4b0=_0x129869;});}})[_0xc650('0x1c')](function(_0x4941b4){_0x240bc3=0x1f4;logger[_0xc650('0x18')](_0x4941b4[_0xc650('0x9d')]);if(_0x4941b4[_0xc650('0x2c')]){delete _0x4941b4['name'];}_0x33d4b0=_0x4941b4;})[_0xc650('0x9e')](function(){if(_0x33d4b0===null){_0x24f6e2['sendStatus'](_0x240bc3);}else{if(_0x240bc3===0x1f4){_0x24f6e2[_0xc650('0x1f')](_0x240bc3)[_0xc650('0x2d')](_0x33d4b0);}else{_0x24f6e2[_0xc650('0x1f')](_0x240bc3)[_0xc650('0x20')](_0x33d4b0);}}});};exports['getApplications']=function(_0x371782,_0x3b1e5f){var _0x45d47d={};var _0x3a08a1={};var _0x345737;var _0x236edb;return db['MailAccount'][_0xc650('0x6e')]({'where':{'id':_0x371782[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x3b1e5f,null))[_0xc650('0x28')](function(_0x261ec5){if(_0x261ec5){_0x345737=_0x261ec5;_0x3a08a1[_0xc650('0x4e')]=_[_0xc650('0x62')](db[_0xc650('0x99')][_0xc650('0x4a')]);_0x3a08a1[_0xc650('0x4f')]=_['keys'](_0x371782[_0xc650('0x4f')]);_0x3a08a1[_0xc650('0x58')]=_[_0xc650('0x51')](_0x3a08a1[_0xc650('0x4e')],_0x3a08a1['query']);_0x45d47d[_0xc650('0x50')]=_[_0xc650('0x51')](_0x3a08a1[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x371782[_0xc650('0x4f')][_0xc650('0x52')]));_0x45d47d[_0xc650('0x50')]=_0x45d47d[_0xc650('0x50')][_0xc650('0x53')]?_0x45d47d[_0xc650('0x50')]:_0x3a08a1[_0xc650('0x4e')];_0x45d47d[_0xc650('0x71')]=qs[_0xc650('0x55')](_0x371782[_0xc650('0x4f')][_0xc650('0x55')]);_0x45d47d[_0xc650('0x56')]=qs[_0xc650('0x58')](_[_0xc650('0x57')](_0x371782['query'],_0x3a08a1['filters']));if(_0x371782['query'][_0xc650('0x5b')]){_0x45d47d[_0xc650('0x56')]=_[_0xc650('0x59')](_0x45d47d[_0xc650('0x56')],{'$or':_[_0xc650('0x48')](_0x45d47d[_0xc650('0x50')],function(_0x428280){var _0x51b403={};_0x51b403[_0x428280]={'$like':'%'+_0x371782['query'][_0xc650('0x5b')]+'%'};return _0x51b403;})});}_0x45d47d=_['merge']({},_0x45d47d,_0x371782['options']);return _0x345737[_0xc650('0x9f')](_0x45d47d);}})[_0xc650('0x28')](function(_0x1be631){if(_0x1be631){_0x236edb=_0x1be631[_0xc650('0x53')];if(!_0x371782[_0xc650('0x4f')][_0xc650('0x70')](_0xc650('0x54'))){_0x45d47d[_0xc650('0x23')]=qs['limit'](_0x371782[_0xc650('0x4f')][_0xc650('0x23')]);_0x45d47d[_0xc650('0x21')]=qs[_0xc650('0x21')](_0x371782['query'][_0xc650('0x21')]);}return _0x345737[_0xc650('0x9f')](_0x45d47d);}})[_0xc650('0x28')](function(_0x466fac){if(_0x466fac){return _0x466fac?{'count':_0x236edb,'rows':_0x466fac}:null;}})[_0xc650('0x28')](respondWithResult(_0x3b1e5f,null))['catch'](handleError(_0x3b1e5f,null));};exports[_0xc650('0xa0')]=function(_0x495566,_0x53b016){var _0x18b397={'raw':!![],'where':{}};var _0x57e2a5={};var _0x50a4e2={'count':0x0,'rows':[]};return db[_0xc650('0x49')][_0xc650('0x6e')]({'where':{'id':_0x495566[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x53b016,null))[_0xc650('0x28')](function(_0x483e20){if(_0x483e20){_0x57e2a5[_0xc650('0x4e')]=_['keys'](db[_0xc650('0xa1')][_0xc650('0x4a')]);_0x57e2a5[_0xc650('0x4f')]=_[_0xc650('0x62')](_0x495566[_0xc650('0x4f')]);_0x57e2a5['filters']=_['intersection'](_0x57e2a5[_0xc650('0x4e')],_0x57e2a5['query']);_0x18b397[_0xc650('0x50')]=_[_0xc650('0x51')](_0x57e2a5[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x495566[_0xc650('0x4f')]['fields']));_0x18b397['attributes']=_0x18b397[_0xc650('0x50')][_0xc650('0x53')]?_0x18b397['attributes']:_0x57e2a5[_0xc650('0x4e')];if(!_0x495566['query']['hasOwnProperty'](_0xc650('0x54'))){_0x18b397['limit']=qs['limit'](_0x495566[_0xc650('0x4f')]['limit']);_0x18b397['offset']=qs[_0xc650('0x21')](_0x495566[_0xc650('0x4f')][_0xc650('0x21')]);}_0x18b397[_0xc650('0x71')]=qs['sort'](_0x495566[_0xc650('0x4f')]['sort']);_0x18b397[_0xc650('0x56')]=qs['filters'](_['pick'](_0x495566[_0xc650('0x4f')],_0x57e2a5[_0xc650('0x58')]));_0x18b397[_0xc650('0x56')]['MailAccountId']=_0x483e20['id'];if(_0x495566[_0xc650('0x4f')][_0xc650('0x5b')]){_0x18b397[_0xc650('0x56')]=_[_0xc650('0x59')](_0x18b397[_0xc650('0x56')],{'$or':_['map'](_0x18b397[_0xc650('0x50')],function(_0x4b8985){var _0x44aaab={};_0x44aaab[_0x4b8985]={'$like':'%'+_0x495566[_0xc650('0x4f')][_0xc650('0x5b')]+'%'};return _0x44aaab;})});}if(_0x495566['query'][_0xc650('0xa2')]){var _0x8010ee=_0x495566[_0xc650('0x4f')][_0xc650('0xa2')][_0xc650('0xa3')](',');var _0x4a6d24={};_0x4a6d24[_0x8010ee[0x0]]={'$gte':moment(_0x8010ee[0x1])[_0xc650('0xa4')](_0xc650('0xa5'))};_0x18b397[_0xc650('0x56')]=_['merge'](_0x18b397[_0xc650('0x56')],_0x4a6d24);}_0x18b397=_[_0xc650('0x59')]({},_0x18b397,_0x495566['options']);return db[_0xc650('0xa1')][_0xc650('0x24')]({'where':_0x18b397[_0xc650('0x56')]})['then'](function(_0x59e228){_0x50a4e2[_0xc650('0x24')]=_0x59e228;if(_0x495566[_0xc650('0x4f')][_0xc650('0x5d')]){_0x18b397[_0xc650('0x5e')]=[{'all':!![]}];}return db[_0xc650('0xa1')][_0xc650('0x5f')](_0x18b397);})[_0xc650('0x28')](function(_0x217a6c){if(_0x495566[_0xc650('0x4f')]['inlineCss']==='true'){for(var _0x28067b=0x0;_0x28067b<_0x217a6c[_0xc650('0x53')];_0x28067b++){_0x217a6c[_0x28067b][_0xc650('0x63')]=juice(_0x217a6c[_0x28067b][_0xc650('0x63')]);}}_0x50a4e2[_0xc650('0x72')]=_0x217a6c;return _0x50a4e2;});}})['then'](respondWithFilteredResult(_0x53b016,_0x18b397))[_0xc650('0x1c')](handleError(_0x53b016,null));};exports[_0xc650('0x2d')]=function(_0x99347b,_0x5d2e79){var _0x4f4bfb,_0x1dd79f={},_0x3252f6;if(_0x99347b[_0xc650('0x63')]['to']){_0x3252f6=_0x99347b[_0xc650('0x63')]['to'][_0xc650('0xa3')](',')[0x0];}return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x99347b['params']['id']},'include':[{'model':db[_0xc650('0xa6')],'as':'List','include':[{'model':db[_0xc650('0x8d')],'as':_0xc650('0xa7'),'where':{'email':_0x3252f6},'limit':0x1,'order':[[_0xc650('0xa8'),'DESC']]}]},{'model':db['MailServerOut'],'as':_0xc650('0x45'),'raw':!![],'include':[{'model':db[_0xc650('0xa9')],'as':'CloudProvider','raw':!![]}]}]})[_0xc650('0x28')](handleEntityNotFound(_0x5d2e79,null))['then'](function(_0xce6da7){if(!_0xce6da7)return;_0x4f4bfb=_0xce6da7;if(!_0xce6da7[_0xc650('0x45')])throw new Error('Smtp\x20configuration\x20not\x20found');if(_['isNil'](_0x99347b[_0xc650('0x63')][_0xc650('0xaa')])){_0x99347b[_0xc650('0x63')]['from']=util[_0xc650('0xa4')](_0xc650('0xab'),_0xce6da7[_0xc650('0x2c')],_0xce6da7[_0xc650('0x79')]||_0xce6da7[_0xc650('0x45')]['user']);}if(_0x99347b['body']['attachments']&&_0x99347b[_0xc650('0x63')][_0xc650('0xac')][_0xc650('0x53')]){for(var _0x539c97=0x0;_0x539c97<_0x99347b[_0xc650('0x63')][_0xc650('0xac')][_0xc650('0x53')];_0x539c97+=0x1){_0x99347b[_0xc650('0x63')][_0xc650('0xac')][_0x539c97]={'filename':_0x99347b[_0xc650('0x63')]['attachments'][_0x539c97]['name'],'path':path[_0xc650('0xad')](config[_0xc650('0xae')],'server/files/attachments',_0x99347b[_0xc650('0x63')][_0xc650('0xac')][_0x539c97][_0xc650('0xaf')])};}}var _0x1632b4=_0xce6da7[_0xc650('0xb0')]();return respondWithRpcPromise(_0xc650('0xb1'),'sendMail',{'account':_0x1632b4,'message':_0x99347b[_0xc650('0x63')]});})[_0xc650('0x28')](function(_0x44c74a){if(!_0x44c74a)return;_0x1dd79f=_0x44c74a;if(!_0x4f4bfb[_0xc650('0xb2')])throw new Error('List\x20not\x20found');if(_0x4f4bfb[_0xc650('0xb2')]['Contacts'][_0xc650('0x53')])return _0x4f4bfb['List']['Contacts'][0x0];return db['CmContact']['create'](_[_0xc650('0xa')](_0x99347b[_0xc650('0x63')],{'firstName':_0x99347b['body']['to'],'email':_0x99347b[_0xc650('0x63')]['to'],'phone':_0x99347b[_0xc650('0x63')]['to'],'ListId':_0x4f4bfb[_0xc650('0x7a')]}));})[_0xc650('0x28')](function(_0x354c9e){if(!_0x354c9e)return;var _0xc3b9f0={'UserId':_0x99347b['user']['id'],'ContactId':_0x354c9e['id'],'MailAccountId':_0x4f4bfb['id'],'inReplyTo':_0x1dd79f[_0xc650('0xb3')],'to':_0x99347b[_0xc650('0x63')]['from'],'cc':_0x99347b[_0xc650('0x63')]['cc'],'subject':_0x99347b[_0xc650('0x63')][_0xc650('0xb4')],'attach':_0x99347b[_0xc650('0x63')][_0xc650('0xb5')],'firstMsgDirection':_0xc650('0xb6'),'lastMsgAt':moment()[_0xc650('0xa4')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','Messages':[_[_0xc650('0x59')](_0x99347b['body'],{'messageId':_0x1dd79f[_0xc650('0xb3')],'sentAt':moment()[_0xc650('0xa4')](_0xc650('0xa5')),'read':!![],'MailAccountId':_0x4f4bfb['id'],'UserId':_0x99347b[_0xc650('0x39')]['id'],'ContactId':_0x354c9e['id']})]};if(_0x99347b[_0xc650('0x63')][_0xc650('0xb7')]){_0xc3b9f0=_[_0xc650('0x59')](_0xc3b9f0,_0x99347b[_0xc650('0x63')][_0xc650('0xb7')]);}return db[_0xc650('0x8a')][_0xc650('0x6c')](_0xc3b9f0,{'include':[{'model':db[_0xc650('0xa1')],'as':_0xc650('0xb8')}]});})[_0xc650('0x28')](respondWithResult(_0x5d2e79,null))['catch'](handleError(_0x5d2e79,null));};exports['verifySmtp']=function(_0x376206,_0x13ebea){return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x376206['params']['id']},'include':[{'model':db['MailServerOut'],'as':_0xc650('0x45'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xc650('0xa9'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x13ebea,null))['then'](function(_0x1e88f3){if(!_0x1e88f3[_0xc650('0x45')])return;var _0x1a5a9a=_0x1e88f3[_0xc650('0xb0')]();return respondWithRpcPromise('VerifySmtp','verifySmtp',{'account':_0x1a5a9a});})['then'](respondWithResult(_0x13ebea,null))[_0xc650('0x1c')](handleError(_0x13ebea,null));};exports[_0xc650('0x2b')]=function(_0x165ccc,_0x2fd57a){return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x165ccc[_0xc650('0x67')]['id']}})['then'](handleEntityNotFound(_0x2fd57a,null))[_0xc650('0x28')](function(_0x31ef2c){if(_0x31ef2c&&_0x31ef2c[_0xc650('0x42')]){throw new db['Sequelize'][(_0xc650('0xb9'))](_0xc650('0xba'));}return _0x31ef2c;})['then'](removeEntity(_0x2fd57a,null))['catch'](handleError(_0x2fd57a,null));};exports[_0xc650('0xbb')]=function(_0x248b86,_0x36907b){return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x248b86['params']['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x36907b,null))[_0xc650('0x28')](function(_0x1dd7e3){if(_0x1dd7e3){return _0x1dd7e3[_0xc650('0xbb')](_0x248b86['body']['ids'],_[_0xc650('0x8b')](_0x248b86[_0xc650('0x63')],['ids','id'])||{})['spread'](function(_0xc01da8){for(var _0x208abc=0x0;_0x208abc<_0x248b86['body']['ids'][_0xc650('0x53')];_0x208abc+=0x1){socket['emit'](_0xc650('0xbc'),{'UserId':Number(_0x248b86[_0xc650('0x63')][_0xc650('0x74')][_0x208abc]),'MailAccountId':Number(_0x248b86[_0xc650('0x67')]['id'])});}return _0xc01da8;});}})['then'](respondWithResult(_0x36907b,null))[_0xc650('0x1c')](handleError(_0x36907b,null));};exports[_0xc650('0xbd')]=function(_0x212dd0,_0x2eb0c3){return db[_0xc650('0x49')][_0xc650('0x66')]({'where':{'id':_0x212dd0[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x2eb0c3,null))[_0xc650('0x28')](function(_0x456eab){if(_0x456eab){return _0x456eab[_0xc650('0xbd')](_0x212dd0[_0xc650('0x4f')][_0xc650('0x74')])[_0xc650('0x28')](function(){if(_[_0xc650('0xbe')](_0x212dd0[_0xc650('0x4f')][_0xc650('0x74')])){for(var _0x5cc703=0x0;_0x5cc703<_0x212dd0[_0xc650('0x4f')][_0xc650('0x74')][_0xc650('0x53')];_0x5cc703+=0x1){socket[_0xc650('0xbf')]('userMailAccount:remove',{'UserId':Number(_0x212dd0[_0xc650('0x4f')][_0xc650('0x74')][_0x5cc703]),'MailAccountId':Number(_0x212dd0[_0xc650('0x67')]['id'])});}}else{socket[_0xc650('0xbf')]('userMailAccount:remove',{'UserId':Number(_0x212dd0[_0xc650('0x4f')][_0xc650('0x74')]),'MailAccountId':Number(_0x212dd0[_0xc650('0x67')]['id'])});}});}})[_0xc650('0x28')](respondWithStatusCode(_0x2eb0c3,null))[_0xc650('0x1c')](handleError(_0x2eb0c3,null));};exports[_0xc650('0xc0')]=function(_0x5b0943,_0x3e8b60){var _0x7146a2={};var _0x18dae7={};var _0x480c18;var _0x45d997;return db[_0xc650('0x49')]['findOne']({'where':{'id':_0x5b0943[_0xc650('0x67')]['id']}})[_0xc650('0x28')](handleEntityNotFound(_0x3e8b60,null))[_0xc650('0x28')](function(_0xc8c9c6){if(_0xc8c9c6){_0x480c18=_0xc8c9c6;_0x18dae7[_0xc650('0x4e')]=_[_0xc650('0x62')](db[_0xc650('0x8f')][_0xc650('0x4a')]);_0x18dae7[_0xc650('0x4f')]=_['keys'](_0x5b0943[_0xc650('0x4f')]);_0x18dae7[_0xc650('0x58')]=_[_0xc650('0x51')](_0x18dae7[_0xc650('0x4e')],_0x18dae7[_0xc650('0x4f')]);_0x7146a2['attributes']=_[_0xc650('0x51')](_0x18dae7[_0xc650('0x4e')],qs[_0xc650('0x52')](_0x5b0943[_0xc650('0x4f')][_0xc650('0x52')]));_0x7146a2['attributes']=_0x7146a2[_0xc650('0x50')][_0xc650('0x53')]?_0x7146a2[_0xc650('0x50')]:_0x18dae7[_0xc650('0x4e')];_0x7146a2[_0xc650('0x71')]=qs[_0xc650('0x55')](_0x5b0943[_0xc650('0x4f')][_0xc650('0x55')]);_0x7146a2[_0xc650('0x56')]=qs[_0xc650('0x58')](_[_0xc650('0x57')](_0x5b0943['query'],_0x18dae7[_0xc650('0x58')]));if(_0x5b0943[_0xc650('0x4f')][_0xc650('0x5b')]){_0x7146a2[_0xc650('0x56')]=_[_0xc650('0x59')](_0x7146a2['where'],{'$or':_['map'](_0x7146a2['attributes'],function(_0x3e5791){var _0x6de046={};_0x6de046[_0x3e5791]={'$like':'%'+_0x5b0943['query'][_0xc650('0x5b')]+'%'};return _0x6de046;})});}_0x7146a2=_[_0xc650('0x59')]({},_0x7146a2,_0x5b0943['options']);return _0x480c18[_0xc650('0xc0')](_0x7146a2);}})[_0xc650('0x28')](function(_0x5f01e4){if(_0x5f01e4){_0x45d997=_0x5f01e4[_0xc650('0x53')];if(!_0x5b0943['query'][_0xc650('0x70')](_0xc650('0x54'))){_0x7146a2['limit']=qs[_0xc650('0x23')](_0x5b0943['query'][_0xc650('0x23')]);_0x7146a2[_0xc650('0x21')]=qs[_0xc650('0x21')](_0x5b0943[_0xc650('0x4f')]['offset']);}return _0x480c18[_0xc650('0xc0')](_0x7146a2);}})[_0xc650('0x28')](function(_0x3b0a47){if(_0x3b0a47){return _0x3b0a47?{'count':_0x45d997,'rows':_0x3b0a47}:null;}})[_0xc650('0x28')](respondWithResult(_0x3e8b60,null))[_0xc650('0x1c')](handleError(_0x3e8b60,null));};