Built motion from commit 1fa89557.|2.6.10
[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 _0x05ec=['MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','inlineCss','CmList','List','Contacts','updatedAt','CloudProvider','from','%s\x20<%s>','attachments','join','root','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','ListId','messageId','subject','attach','format','out','Interaction','Messages','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','moment','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','client','http','request','then','info','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','update','destroy','get','UserProfileResource','stack','name','send','imap.mail.yahoo.com','hotmail','outlook365','outlook.office365.com','gmail','yahoo','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','pass','Imap','index','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','query','keys','intersection','model','attributes','fields','length','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','body','provider','custom','MailServerIn','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','nolimit','removeDispositions','CannedAnswer','getAnswers','removeAnswers','email','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','MailAccounts','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','ids','omit','getInteractions','CmContact','Contact','User','Owner','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages'];(function(_0x1b5e84,_0x486485){var _0x57729c=function(_0x59e93b){while(--_0x59e93b){_0x1b5e84['push'](_0x1b5e84['shift']());}};_0x57729c(++_0x486485);}(_0x05ec,0xea));var _0xc05e=function(_0x5a5e55,_0x2d3494){_0x5a5e55=_0x5a5e55-0x0;var _0x2bc92b=_0x05ec[_0x5a5e55];return _0x2bc92b;};'use strict';var moment=require(_0xc05e('0x0'));var BPromise=require('bluebird');var util=require('util');var path=require('path');var _=require(_0xc05e('0x1'));var juice=require(_0xc05e('0x2'));var Redis=require(_0xc05e('0x3'));var qs=require(_0xc05e('0x4'));var logger=require(_0xc05e('0x5'))('api');var config=require(_0xc05e('0x6'));var db=require(_0xc05e('0x7'))['db'];config[_0xc05e('0x8')]=_[_0xc05e('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc05e('0xa'))(new Redis(config['redis']));require(_0xc05e('0xb'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0xc05e('0xc')][_0xc05e('0xd')]({'port':0x232b});function respondWithRpcPromise(_0x124efb,_0x28231e,_0x1417df,_0x500264){return new BPromise(function(_0x89bda6,_0x37dcdf){var _0x255975=_0x500264||client;return _0x255975[_0xc05e('0xe')](_0x124efb,_0x1417df)[_0xc05e('0xf')](function(_0x5eb031){logger[_0xc05e('0x10')]('MailAccount,\x20%s,\x20%s',_0x28231e,'request\x20sent');logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x28231e,'request\x20sent',JSON[_0xc05e('0x11')](_0x5eb031));if(_0x5eb031[_0xc05e('0x12')]){if(_0x5eb031[_0xc05e('0x12')][_0xc05e('0x13')]===0x1f4){logger[_0xc05e('0x12')](_0xc05e('0x14'),_0x28231e,_0x5eb031[_0xc05e('0x12')][_0xc05e('0x15')]);return _0x37dcdf(_0x5eb031['error'][_0xc05e('0x15')]);}logger['error'](_0xc05e('0x14'),_0x28231e,_0x5eb031['error'][_0xc05e('0x15')]);return _0x89bda6(_0x5eb031[_0xc05e('0x12')][_0xc05e('0x15')]);}else{logger[_0xc05e('0x10')](_0xc05e('0x14'),_0x28231e,'request\x20sent');_0x89bda6(_0x5eb031[_0xc05e('0x16')][_0xc05e('0x15')]);}})[_0xc05e('0x17')](function(_0x2cdae7){logger['error'](_0xc05e('0x14'),_0x28231e,_0x2cdae7);_0x37dcdf(_0x2cdae7);});});}function respondWithStatusCode(_0x5f0123,_0x2c7d99){_0x2c7d99=_0x2c7d99||0xcc;return function(_0xce8f94){if(_0xce8f94){return _0x5f0123[_0xc05e('0x18')](_0x2c7d99);}return _0x5f0123[_0xc05e('0x19')](_0x2c7d99)[_0xc05e('0x1a')]();};}function respondWithResult(_0x40d2e7,_0x4d4d81){_0x4d4d81=_0x4d4d81||0xc8;return function(_0x2d5a2f){if(_0x2d5a2f){return _0x40d2e7[_0xc05e('0x19')](_0x4d4d81)[_0xc05e('0x1b')](_0x2d5a2f);}};}function respondWithFilteredResult(_0x10b524,_0x866d43){return function(_0x1cfc17){if(_0x1cfc17){var _0x72ce45=typeof _0x866d43[_0xc05e('0x1c')]==='undefined'&&typeof _0x866d43[_0xc05e('0x1d')]===_0xc05e('0x1e');var _0x353725=_0x1cfc17[_0xc05e('0x1f')];var _0x452bbf=_0x72ce45?0x0:_0x866d43['offset'];var _0x3fd125=_0x72ce45?_0x1cfc17[_0xc05e('0x1f')]:_0x866d43[_0xc05e('0x1c')]+_0x866d43[_0xc05e('0x1d')];var _0x5c0474;if(_0x3fd125>=_0x353725){_0x3fd125=_0x353725;_0x5c0474=0xc8;}else{_0x5c0474=0xce;}_0x10b524[_0xc05e('0x19')](_0x5c0474);return _0x10b524[_0xc05e('0x20')](_0xc05e('0x21'),_0x452bbf+'-'+_0x3fd125+'/'+_0x353725)['json'](_0x1cfc17);}return null;};}function saveUpdates(_0x5fdee9){return function(_0x35241c){if(_0x35241c){return _0x35241c[_0xc05e('0x22')](_0x5fdee9)[_0xc05e('0xf')](function(_0x528d48){return _0x528d48;});}return null;};}function removeEntity(_0x56f1fa){return function(_0x5eb2b2){if(_0x5eb2b2){return _0x5eb2b2[_0xc05e('0x23')]()[_0xc05e('0xf')](function(){var _0x451c1d=_0x5eb2b2[_0xc05e('0x24')]({'plain':!![]});var _0x44c713='MailAccounts';return db[_0xc05e('0x25')][_0xc05e('0x23')]({'where':{'type':_0x44c713,'resourceId':_0x451c1d['id']}})[_0xc05e('0xf')](function(){return _0x5eb2b2;});})[_0xc05e('0xf')](function(){_0x56f1fa[_0xc05e('0x19')](0xcc)[_0xc05e('0x1a')]();});}};}function handleEntityNotFound(_0x395d0a){return function(_0x3f94b8){if(!_0x3f94b8){_0x395d0a['sendStatus'](0x194);}return _0x3f94b8;};}function handleError(_0x17ae80,_0x1cc377){_0x1cc377=_0x1cc377||0x1f4;return function(_0x32e9ab){logger[_0xc05e('0x12')](_0x32e9ab[_0xc05e('0x26')]);if(_0x32e9ab[_0xc05e('0x27')]){delete _0x32e9ab[_0xc05e('0x27')];}_0x17ae80[_0xc05e('0x19')](_0x1cc377)[_0xc05e('0x28')](_0x32e9ab);};}function getImapHost(_0x28a62a){switch(_0x28a62a){case'gmail':return'imap.gmail.com';case'yahoo':return _0xc05e('0x29');case _0xc05e('0x2a'):return'imap-mail.outlook.com';case _0xc05e('0x2b'):return _0xc05e('0x2c');}throw new Error('Unknown\x20email\x20service\x20provider',_0x28a62a);}function getSmtpHost(_0x1f30ff){switch(_0x1f30ff){case _0xc05e('0x2d'):return'smtp.gmail.com';case _0xc05e('0x2e'):return _0xc05e('0x2f');case _0xc05e('0x2a'):return _0xc05e('0x30');case _0xc05e('0x2b'):return _0xc05e('0x31');}throw new Error(_0xc05e('0x32'),_0x1f30ff);}function getAuthenticationOptions(_0x446ee0,_0x566e90){var _0x51f06e={};var _0x4653a8={};if(_0x446ee0){_0x51f06e[_0xc05e('0x33')]=_0x4653a8[_0xc05e('0x33')]=_0x566e90[_0xc05e('0x34')];_0x51f06e[_0xc05e('0x35')]=_0x4653a8['pass']=_0x566e90[_0xc05e('0x35')];if(_0x566e90['modernAuthentication']){_0x51f06e[_0xc05e('0x36')]=_0x4653a8['modernAuthentication']=!![];_0x51f06e[_0xc05e('0x37')]=_0x4653a8[_0xc05e('0x37')]=_0x566e90[_0xc05e('0x37')];_0x51f06e[_0xc05e('0x35')]=_0x4653a8['pass']=null;}else{_0x51f06e[_0xc05e('0x37')]=_0x4653a8[_0xc05e('0x37')]=null;}_0x51f06e[_0xc05e('0x38')]=getImapHost(_0x446ee0);_0x51f06e[_0xc05e('0x39')]=0x3e1;_0x4653a8[_0xc05e('0x38')]=getSmtpHost(_0x446ee0);_0x4653a8[_0xc05e('0x39')]=0x24b;_0x4653a8[_0xc05e('0x3a')]=![];_0x51f06e['service']=_0x4653a8[_0xc05e('0x3b')]=null;}else{if(_0x566e90[_0xc05e('0x3c')]){_0x51f06e[_0xc05e('0x33')]=_0x4653a8['user']=_0x566e90[_0xc05e('0x34')];_0x51f06e[_0xc05e('0x35')]=_0x4653a8['pass']=_0x566e90[_0xc05e('0x35')];}else{_0x51f06e[_0xc05e('0x3c')]=_0x4653a8[_0xc05e('0x3c')]=![];_0x51f06e[_0xc05e('0x33')]=_0x4653a8['user']=null;_0x51f06e[_0xc05e('0x35')]=_0x4653a8[_0xc05e('0x3d')]=null;}_0x51f06e['host']=_0x566e90[_0xc05e('0x3e')][_0xc05e('0x38')];_0x51f06e[_0xc05e('0x39')]=_0x566e90['Imap'][_0xc05e('0x39')];_0x4653a8[_0xc05e('0x38')]=_0x566e90['Smtp'][_0xc05e('0x38')];_0x4653a8['port']=_0x566e90['Smtp'][_0xc05e('0x39')];}return{'Imap':_0x51f06e,'Smtp':_0x4653a8};}exports[_0xc05e('0x3f')]=function(_0x3e584a,_0x50a709){var _0x5ba2d2={'include':[{'model':db['MailServerIn'],'as':_0xc05e('0x3e')},{'model':db[_0xc05e('0x40')],'as':_0xc05e('0x41')},{'model':db[_0xc05e('0x42')],'as':_0xc05e('0x43')}]},_0x1d5962={},_0x534316={'count':0x0,'rows':[]};var _0xee15e4=_[_0xc05e('0x44')](db[_0xc05e('0x45')][_0xc05e('0x46')],function(_0xf64778){return{'name':_0xf64778[_0xc05e('0x47')],'type':_0xf64778[_0xc05e('0x48')]['key']};});_0x1d5962['model']=_['map'](_0xee15e4,_0xc05e('0x27'));_0x1d5962[_0xc05e('0x49')]=_[_0xc05e('0x4a')](_0x3e584a[_0xc05e('0x49')]);_0x1d5962['filters']=_[_0xc05e('0x4b')](_0x1d5962[_0xc05e('0x4c')],_0x1d5962[_0xc05e('0x49')]);_0x5ba2d2[_0xc05e('0x4d')]=_[_0xc05e('0x4b')](_0x1d5962['model'],qs[_0xc05e('0x4e')](_0x3e584a[_0xc05e('0x49')][_0xc05e('0x4e')]));_0x5ba2d2[_0xc05e('0x4d')]=_0x5ba2d2['attributes'][_0xc05e('0x4f')]?_0x5ba2d2[_0xc05e('0x4d')]:_0x1d5962[_0xc05e('0x4c')];if(!_0x3e584a[_0xc05e('0x49')]['hasOwnProperty']('nolimit')){_0x5ba2d2[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x3e584a[_0xc05e('0x49')]['limit']);_0x5ba2d2[_0xc05e('0x1c')]=qs[_0xc05e('0x1c')](_0x3e584a[_0xc05e('0x49')][_0xc05e('0x1c')]);}_0x5ba2d2[_0xc05e('0x50')]=qs[_0xc05e('0x51')](_0x3e584a[_0xc05e('0x49')][_0xc05e('0x51')]);_0x5ba2d2[_0xc05e('0x52')]=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x3e584a['query'],_0x1d5962[_0xc05e('0x53')]),_0xee15e4);if(_0x3e584a[_0xc05e('0x49')][_0xc05e('0x55')]){_0x5ba2d2[_0xc05e('0x52')]=_[_0xc05e('0x56')](_0x5ba2d2['where'],{'$or':_[_0xc05e('0x44')](_0xee15e4,function(_0x40b784){if(_0x40b784[_0xc05e('0x48')]!==_0xc05e('0x57')){var _0x46291d={};_0x46291d[_0x40b784['name']]={'$like':'%'+_0x3e584a['query'][_0xc05e('0x55')]+'%'};return _0x46291d;}})});}_0x5ba2d2=_[_0xc05e('0x56')]({},_0x5ba2d2,_0x3e584a[_0xc05e('0x58')]);var _0x20aa37={'where':_0x5ba2d2['where']};return db[_0xc05e('0x45')]['count'](_0x20aa37)[_0xc05e('0xf')](function(_0x41a61a){_0x534316[_0xc05e('0x1f')]=_0x41a61a;if(_0x3e584a[_0xc05e('0x49')][_0xc05e('0x59')]){_0x5ba2d2[_0xc05e('0x5a')]=[{'all':!![]}];}return db[_0xc05e('0x45')][_0xc05e('0x5b')](_0x5ba2d2);})[_0xc05e('0xf')](function(_0xec33ba){_0x534316[_0xc05e('0x5c')]=_0xec33ba;return _0x534316;})[_0xc05e('0xf')](respondWithFilteredResult(_0x50a709,_0x5ba2d2))[_0xc05e('0x17')](handleError(_0x50a709,null));};exports[_0xc05e('0x5d')]=function(_0x25668f,_0x45fe65){var _0x263223={'raw':![],'where':{'id':_0x25668f[_0xc05e('0x5e')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0xc05e('0x40')],'as':_0xc05e('0x41')},{'model':db[_0xc05e('0x42')],'as':_0xc05e('0x43')}]},_0x31498b={};_0x31498b[_0xc05e('0x4c')]=_[_0xc05e('0x4a')](db['MailAccount'][_0xc05e('0x46')]);_0x31498b[_0xc05e('0x49')]=_['keys'](_0x25668f[_0xc05e('0x49')]);_0x31498b[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0x31498b[_0xc05e('0x4c')],_0x31498b['query']);_0x263223[_0xc05e('0x4d')]=_['intersection'](_0x31498b[_0xc05e('0x4c')],qs[_0xc05e('0x4e')](_0x25668f[_0xc05e('0x49')][_0xc05e('0x4e')]));_0x263223[_0xc05e('0x4d')]=_0x263223['attributes'][_0xc05e('0x4f')]?_0x263223[_0xc05e('0x4d')]:_0x31498b[_0xc05e('0x4c')];if(_0x25668f[_0xc05e('0x49')][_0xc05e('0x59')]){_0x263223[_0xc05e('0x5a')]=[{'all':!![]}];}_0x263223=_['merge']({},_0x263223,_0x25668f[_0xc05e('0x58')]);return db[_0xc05e('0x45')][_0xc05e('0x5f')](_0x263223)[_0xc05e('0xf')](handleEntityNotFound(_0x45fe65,null))['then'](respondWithResult(_0x45fe65,null))['catch'](handleError(_0x45fe65,null));};exports[_0xc05e('0x22')]=function(_0x2aadab,_0x3f9193){if(_0x2aadab[_0xc05e('0x60')]['id']){delete _0x2aadab[_0xc05e('0x60')]['id'];}var _0x4cf79d=_0x2aadab[_0xc05e('0x60')][_0xc05e('0x61')]===_0xc05e('0x62')?null:_0x2aadab[_0xc05e('0x60')][_0xc05e('0x61')];var _0x4cb056=_0x2aadab[_0xc05e('0x60')][_0xc05e('0x3e')]||{};var _0x8414b7=_0x2aadab[_0xc05e('0x60')][_0xc05e('0x41')]||{};if(_0x4cf79d){_0x4cb056[_0xc05e('0x38')]=getImapHost(_0x4cf79d);_0x4cb056[_0xc05e('0x39')]=0x3e1;_0x8414b7['host']=getSmtpHost(_0x4cf79d);_0x8414b7[_0xc05e('0x39')]=0x24b;_0x8414b7[_0xc05e('0x3a')]=![];}if(_0x8414b7['modernAuthentication']){_0x8414b7['secure']=![];}else{_0x8414b7['CloudProviderId']=null;}if(!_0x4cb056[_0xc05e('0x36')])_0x4cb056[_0xc05e('0x37')]=null;_0x2aadab[_0xc05e('0x60')][_0xc05e('0x3e')]=_0x4cb056;_0x2aadab['body'][_0xc05e('0x41')]=_0x8414b7;return db[_0xc05e('0x45')][_0xc05e('0x5f')]({'where':{'id':_0x2aadab['params']['id']},'include':[{'model':db[_0xc05e('0x63')],'as':_0xc05e('0x3e')},{'model':db[_0xc05e('0x40')],'as':_0xc05e('0x41')},{'model':db[_0xc05e('0x42')],'as':_0xc05e('0x43')}]})[_0xc05e('0xf')](handleEntityNotFound(_0x3f9193,null))[_0xc05e('0xf')](function(_0x4319e2){if(!_0x4319e2)throw new Error(_0xc05e('0x64'));if(_0x4319e2[_0xc05e('0x3b')])delete _0x2aadab[_0xc05e('0x60')][_0xc05e('0x3e')];return _0x4319e2;})['then'](saveUpdates(_0x2aadab['body'],null))[_0xc05e('0xf')](function(_0x7e3d2c){if(!_0x2aadab[_0xc05e('0x60')][_0xc05e('0x3e')])return _0x7e3d2c;return db[_0xc05e('0x63')][_0xc05e('0x22')](_0x2aadab[_0xc05e('0x60')][_0xc05e('0x3e')],{'where':{'MailAccountId':_0x7e3d2c['id']}})[_0xc05e('0xf')](function(){return _0x7e3d2c;});})[_0xc05e('0xf')](function(_0x24f733){if(!_0x2aadab[_0xc05e('0x60')][_0xc05e('0x41')])return _0x24f733;return db[_0xc05e('0x40')][_0xc05e('0x22')](_0x2aadab['body'][_0xc05e('0x41')],{'where':{'MailAccountId':_0x24f733['id']}})['then'](function(){return _0x24f733;});})[_0xc05e('0xf')](respondWithResult(_0x3f9193,null))[_0xc05e('0x17')](handleError(_0x3f9193,null));};exports[_0xc05e('0x65')]=function(_0x376173,_0x4b8a22){return db[_0xc05e('0x45')][_0xc05e('0x65')]()[_0xc05e('0xf')](respondWithResult(_0x4b8a22,null))[_0xc05e('0x17')](handleError(_0x4b8a22,null));};exports[_0xc05e('0x66')]=function(_0x559c56,_0x404ab4){if(_0x559c56[_0xc05e('0x60')]['id']){delete _0x559c56[_0xc05e('0x60')]['id'];}return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0x559c56[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x404ab4,null))['then'](function(_0x140c58){if(_0x140c58){_0x559c56[_0xc05e('0x60')][_0xc05e('0x67')]=_0x140c58['id'];return db[_0xc05e('0x68')][_0xc05e('0x69')](_0x559c56[_0xc05e('0x60')]);}})[_0xc05e('0xf')](respondWithResult(_0x404ab4,null))['catch'](handleError(_0x404ab4,null));};exports[_0xc05e('0x6a')]=function(_0x322a15,_0x471690){var _0x1c7c9a={'raw':![],'where':{}};var _0x4f82ad={};var _0x2d35e4={'count':0x0,'rows':[]};return db['MailAccount'][_0xc05e('0x6b')]({'where':{'id':_0x322a15['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x471690,null))[_0xc05e('0xf')](function(_0x2fb10b){if(_0x2fb10b){_0x4f82ad[_0xc05e('0x4c')]=_['keys'](db[_0xc05e('0x68')]['rawAttributes']);_0x4f82ad['query']=_['keys'](_0x322a15[_0xc05e('0x49')]);_0x4f82ad[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0x4f82ad[_0xc05e('0x4c')],_0x4f82ad[_0xc05e('0x49')]);_0x1c7c9a[_0xc05e('0x4d')]=_['intersection'](_0x4f82ad['model'],qs[_0xc05e('0x4e')](_0x322a15[_0xc05e('0x49')]['fields']));_0x1c7c9a[_0xc05e('0x4d')]=_0x1c7c9a[_0xc05e('0x4d')]['length']?_0x1c7c9a[_0xc05e('0x4d')]:_0x4f82ad['model'];if(!_0x322a15[_0xc05e('0x49')][_0xc05e('0x6c')](_0xc05e('0x6d'))){_0x1c7c9a[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x322a15[_0xc05e('0x49')][_0xc05e('0x1d')]);_0x1c7c9a[_0xc05e('0x1c')]=qs[_0xc05e('0x1c')](_0x322a15['query'][_0xc05e('0x1c')]);}_0x1c7c9a[_0xc05e('0x50')]=qs[_0xc05e('0x51')](_0x322a15['query'][_0xc05e('0x51')]);_0x1c7c9a[_0xc05e('0x52')]=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x322a15[_0xc05e('0x49')],_0x4f82ad['filters']));_0x1c7c9a[_0xc05e('0x52')][_0xc05e('0x67')]=_0x2fb10b['id'];if(_0x322a15[_0xc05e('0x49')]['filter']){_0x1c7c9a[_0xc05e('0x52')]=_['merge'](_0x1c7c9a['where'],{'$or':_['map'](_0x1c7c9a['attributes'],function(_0x332423){var _0x195eb8={};_0x195eb8[_0x332423]={'$like':'%'+_0x322a15[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0x195eb8;})});}_0x1c7c9a=_[_0xc05e('0x56')]({},_0x1c7c9a,_0x322a15[_0xc05e('0x58')]);return db[_0xc05e('0x68')]['count']({'where':_0x1c7c9a[_0xc05e('0x52')]})[_0xc05e('0xf')](function(_0x147c36){_0x2d35e4[_0xc05e('0x1f')]=_0x147c36;if(_0x322a15['query'][_0xc05e('0x59')]){_0x1c7c9a[_0xc05e('0x5a')]=[{'all':!![]}];}return db['Disposition'][_0xc05e('0x5b')](_0x1c7c9a);})['then'](function(_0x6e7912){_0x2d35e4[_0xc05e('0x5c')]=_0x6e7912;return _0x2d35e4;});}})['then'](respondWithFilteredResult(_0x471690,_0x1c7c9a))[_0xc05e('0x17')](handleError(_0x471690,null));};exports['removeDispositions']=function(_0xafe74b,_0x108c7d){return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0xafe74b[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x108c7d,null))[_0xc05e('0xf')](function(_0x3188df){if(_0x3188df){return _0x3188df[_0xc05e('0x6e')](_0xafe74b[_0xc05e('0x49')]['ids']);}})[_0xc05e('0xf')](respondWithStatusCode(_0x108c7d,null))[_0xc05e('0x17')](handleError(_0x108c7d,null));};exports['addAnswer']=function(_0x1ba521,_0x18ebd3){if(_0x1ba521[_0xc05e('0x60')]['id']){delete _0x1ba521[_0xc05e('0x60')]['id'];}return db[_0xc05e('0x45')]['find']({'where':{'id':_0x1ba521['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x18ebd3,null))[_0xc05e('0xf')](function(_0x3ea313){if(_0x3ea313){_0x1ba521[_0xc05e('0x60')]['MailAccountId']=_0x3ea313['id'];return db[_0xc05e('0x6f')][_0xc05e('0x69')](_0x1ba521[_0xc05e('0x60')]);}})['then'](respondWithResult(_0x18ebd3,null))[_0xc05e('0x17')](handleError(_0x18ebd3,null));};exports[_0xc05e('0x70')]=function(_0x578f9e,_0x37ebac){var _0x5be680={'raw':![],'where':{}};var _0xc0ba12={};var _0x4d1e26={'count':0x0,'rows':[]};return db[_0xc05e('0x45')]['findOne']({'where':{'id':_0x578f9e[_0xc05e('0x5e')]['id']}})['then'](handleEntityNotFound(_0x37ebac,null))['then'](function(_0x504fd2){if(_0x504fd2){_0xc0ba12[_0xc05e('0x4c')]=_[_0xc05e('0x4a')](db[_0xc05e('0x6f')][_0xc05e('0x46')]);_0xc0ba12[_0xc05e('0x49')]=_['keys'](_0x578f9e[_0xc05e('0x49')]);_0xc0ba12[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0xc0ba12[_0xc05e('0x4c')],_0xc0ba12['query']);_0x5be680[_0xc05e('0x4d')]=_['intersection'](_0xc0ba12['model'],qs[_0xc05e('0x4e')](_0x578f9e[_0xc05e('0x49')][_0xc05e('0x4e')]));_0x5be680['attributes']=_0x5be680[_0xc05e('0x4d')][_0xc05e('0x4f')]?_0x5be680['attributes']:_0xc0ba12[_0xc05e('0x4c')];if(!_0x578f9e['query'][_0xc05e('0x6c')](_0xc05e('0x6d'))){_0x5be680[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x578f9e['query']['limit']);_0x5be680[_0xc05e('0x1c')]=qs[_0xc05e('0x1c')](_0x578f9e[_0xc05e('0x49')][_0xc05e('0x1c')]);}_0x5be680['order']=qs[_0xc05e('0x51')](_0x578f9e[_0xc05e('0x49')]['sort']);_0x5be680[_0xc05e('0x52')]=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x578f9e[_0xc05e('0x49')],_0xc0ba12[_0xc05e('0x53')]));_0x5be680[_0xc05e('0x52')][_0xc05e('0x67')]=_0x504fd2['id'];if(_0x578f9e[_0xc05e('0x49')][_0xc05e('0x55')]){_0x5be680[_0xc05e('0x52')]=_['merge'](_0x5be680[_0xc05e('0x52')],{'$or':_[_0xc05e('0x44')](_0x5be680[_0xc05e('0x4d')],function(_0x4cc891){var _0x419ac7={};_0x419ac7[_0x4cc891]={'$like':'%'+_0x578f9e[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0x419ac7;})});}_0x5be680=_['merge']({},_0x5be680,_0x578f9e[_0xc05e('0x58')]);return db['CannedAnswer'][_0xc05e('0x1f')]({'where':_0x5be680[_0xc05e('0x52')]})[_0xc05e('0xf')](function(_0x72804b){_0x4d1e26[_0xc05e('0x1f')]=_0x72804b;if(_0x578f9e[_0xc05e('0x49')][_0xc05e('0x59')]){_0x5be680['include']=[{'all':!![]}];}return db[_0xc05e('0x6f')][_0xc05e('0x5b')](_0x5be680);})[_0xc05e('0xf')](function(_0xf20e87){_0x4d1e26[_0xc05e('0x5c')]=_0xf20e87;return _0x4d1e26;});}})[_0xc05e('0xf')](respondWithFilteredResult(_0x37ebac,_0x5be680))[_0xc05e('0x17')](handleError(_0x37ebac,null));};exports[_0xc05e('0x71')]=function(_0x44e1e4,_0x25a339){return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0x44e1e4[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x25a339,null))[_0xc05e('0xf')](function(_0x5e27c8){if(_0x5e27c8){return _0x5e27c8[_0xc05e('0x71')](_0x44e1e4[_0xc05e('0x49')]['ids']);}})[_0xc05e('0xf')](respondWithStatusCode(_0x25a339,null))[_0xc05e('0x17')](handleError(_0x25a339,null));};exports[_0xc05e('0x69')]=function(_0x744d95,_0x49f40b){var _0x5b79a3={'name':_0x744d95[_0xc05e('0x60')][_0xc05e('0x27')],'key':_0x744d95['body']['key'],'provider':_0x744d95[_0xc05e('0x60')][_0xc05e('0x61')]===_0xc05e('0x62')?null:_0x744d95[_0xc05e('0x60')]['provider'],'email':_0x744d95[_0xc05e('0x60')][_0xc05e('0x72')],'ListId':_0x744d95[_0xc05e('0x60')]['ListId'],'active':!_[_0xc05e('0x73')](_0x744d95[_0xc05e('0x60')]['active'])?_0x744d95[_0xc05e('0x60')][_0xc05e('0x74')]:!![],'description':_0x744d95[_0xc05e('0x60')]['description']||null};var _0x1f7745=getAuthenticationOptions(_0x5b79a3['provider'],_0x744d95['body']);_0x5b79a3[_0xc05e('0x3e')]=_0x1f7745['Imap'];_0x5b79a3['Smtp']=_0x1f7745[_0xc05e('0x41')];return db[_0xc05e('0x45')][_0xc05e('0x69')](_0x5b79a3,{'include':[{'model':db['MailServerOut'],'as':_0xc05e('0x41')},{'model':db[_0xc05e('0x63')],'as':'Imap'}]})['then'](function(_0x4c6ac3){var _0x106030=_0x744d95['user'][_0xc05e('0x24')]({'plain':!![]});if(!_0x106030)throw new Error(_0xc05e('0x75'));if(_0x106030[_0xc05e('0x76')]===_0xc05e('0x33')){var _0x3bac8f=_0x4c6ac3[_0xc05e('0x24')]({'plain':!![]});return db['UserProfileSection'][_0xc05e('0x5f')]({'where':{'name':_0xc05e('0x77'),'userProfileId':_0x106030['userProfileId']},'raw':!![]})['then'](function(_0x445348){if(_0x445348&&_0x445348[_0xc05e('0x78')]===0x0){return db[_0xc05e('0x25')][_0xc05e('0x69')]({'name':_0x3bac8f['name'],'resourceId':_0x3bac8f['id'],'type':_0x445348[_0xc05e('0x27')],'sectionId':_0x445348['id']},{})[_0xc05e('0xf')](function(){return _0x4c6ac3;});}else{return _0x4c6ac3;}})[_0xc05e('0x17')](function(_0x210973){logger['error'](_0xc05e('0x79'),_0x210973);throw _0x210973;});}return _0x4c6ac3;})[_0xc05e('0xf')](respondWithResult(_0x49f40b,0xc9))[_0xc05e('0x17')](handleError(_0x49f40b,null));};exports[_0xc05e('0x7a')]=function(_0x585c94,_0x89729c){return db[_0xc05e('0x45')][_0xc05e('0x6b')]({'where':{'id':_0x585c94[_0xc05e('0x5e')]['id']}})['then'](handleEntityNotFound(_0x89729c,null))['then'](function(_0x58c046){if(_0x58c046){return _0x58c046['getImap']();}return null;})[_0xc05e('0xf')](respondWithResult(_0x89729c,null))[_0xc05e('0x17')](handleError(_0x89729c,null));};exports[_0xc05e('0x7b')]=function(_0x520ba1,_0xcfc1ed){if(_0x520ba1[_0xc05e('0x60')]['id']){delete _0x520ba1[_0xc05e('0x60')]['id'];}return db[_0xc05e('0x45')]['find']({'where':{'id':_0x520ba1[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0xcfc1ed,null))[_0xc05e('0xf')](function(_0x28b1c6){if(_0x28b1c6){_0x520ba1[_0xc05e('0x60')][_0xc05e('0x67')]=_0x28b1c6['id'];return db[_0xc05e('0x63')][_0xc05e('0x69')](_0x520ba1[_0xc05e('0x60')]);}})['then'](respondWithResult(_0xcfc1ed,null))[_0xc05e('0x17')](handleError(_0xcfc1ed,null));};exports['removeImap']=function(_0xed9f9,_0x1d02c8){return db[_0xc05e('0x45')][_0xc05e('0x6b')]({'where':{'id':_0xed9f9[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x1d02c8,null))[_0xc05e('0xf')](function(_0x37f417){if(_0x37f417){return _0x37f417[_0xc05e('0x7c')](null);}return null;})[_0xc05e('0xf')](respondWithStatusCode(_0x1d02c8,null))[_0xc05e('0x17')](handleError(_0x1d02c8,null));};exports[_0xc05e('0x7d')]=function(_0x668a3a,_0xa50cb1){return db[_0xc05e('0x45')][_0xc05e('0x6b')]({'where':{'id':_0x668a3a[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0xa50cb1,null))[_0xc05e('0xf')](function(_0x5c9a30){if(_0x5c9a30){return _0x5c9a30[_0xc05e('0x7d')]();}return null;})[_0xc05e('0xf')](respondWithResult(_0xa50cb1,null))[_0xc05e('0x17')](handleError(_0xa50cb1,null));};exports[_0xc05e('0x7e')]=function(_0x7aa3,_0x232a28){if(_0x7aa3[_0xc05e('0x60')]['id']){delete _0x7aa3['body']['id'];}return db[_0xc05e('0x45')][_0xc05e('0x5f')]({'where':{'id':_0x7aa3['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x232a28,null))[_0xc05e('0xf')](function(_0x2dea7f){if(_0x2dea7f){_0x7aa3[_0xc05e('0x60')][_0xc05e('0x67')]=_0x2dea7f['id'];return db[_0xc05e('0x40')]['create'](_0x7aa3[_0xc05e('0x60')]);}})[_0xc05e('0xf')](respondWithResult(_0x232a28,null))[_0xc05e('0x17')](handleError(_0x232a28,null));};exports[_0xc05e('0x7f')]=function(_0x33aa9f,_0x393868){return db['MailAccount'][_0xc05e('0x6b')]({'where':{'id':_0x33aa9f['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x393868,null))[_0xc05e('0xf')](function(_0x41bbce){if(_0x41bbce){return _0x41bbce[_0xc05e('0x80')](null);}return null;})[_0xc05e('0xf')](respondWithStatusCode(_0x393868,null))[_0xc05e('0x17')](handleError(_0x393868,null));};exports[_0xc05e('0x81')]=function(_0x1ec2ec,_0x10c227){return db[_0xc05e('0x82')][_0xc05e('0x5f')]({'where':{'id':_0x1ec2ec['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x10c227,null))['then'](function(_0x444847){if(_0x444847){return _0x444847[_0xc05e('0x81')](_0x1ec2ec[_0xc05e('0x60')][_0xc05e('0x83')],_[_0xc05e('0x84')](_0x1ec2ec['body'],['ids','id'])||{});}})[_0xc05e('0xf')](respondWithResult(_0x10c227,null))['catch'](handleError(_0x10c227,null));};exports[_0xc05e('0x85')]=function(_0x33e76c,_0x541103){var _0x28a58d={'raw':![],'where':{}};var _0x18649c={};var _0x5d3399={'count':0x0,'rows':[]};return db[_0xc05e('0x45')]['findOne']({'where':{'id':_0x33e76c[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x541103,null))[_0xc05e('0xf')](function(_0x3cbfb4){if(_0x3cbfb4){_0x18649c[_0xc05e('0x4c')]=_[_0xc05e('0x4a')](db['MailInteraction'][_0xc05e('0x46')]);_0x18649c['query']=_[_0xc05e('0x4a')](_0x33e76c[_0xc05e('0x49')]);_0x18649c[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0x18649c[_0xc05e('0x4c')],_0x18649c[_0xc05e('0x49')]);_0x28a58d[_0xc05e('0x4d')]=_[_0xc05e('0x4b')](_0x18649c[_0xc05e('0x4c')],qs[_0xc05e('0x4e')](_0x33e76c['query'][_0xc05e('0x4e')]));_0x28a58d[_0xc05e('0x4d')]=_0x28a58d[_0xc05e('0x4d')][_0xc05e('0x4f')]?_0x28a58d[_0xc05e('0x4d')]:_0x18649c[_0xc05e('0x4c')];if(!_0x33e76c[_0xc05e('0x49')]['hasOwnProperty'](_0xc05e('0x6d'))){_0x28a58d[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x33e76c[_0xc05e('0x49')][_0xc05e('0x1d')]);_0x28a58d['offset']=qs[_0xc05e('0x1c')](_0x33e76c[_0xc05e('0x49')][_0xc05e('0x1c')]);}_0x28a58d['order']=qs[_0xc05e('0x51')](_0x33e76c[_0xc05e('0x49')][_0xc05e('0x51')]);_0x28a58d[_0xc05e('0x52')]=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x33e76c[_0xc05e('0x49')],_0x18649c[_0xc05e('0x53')]));_0x28a58d[_0xc05e('0x52')]['MailAccountId']=_0x3cbfb4['id'];if(_0x33e76c['query'][_0xc05e('0x55')]){_0x28a58d['where']=_[_0xc05e('0x56')](_0x28a58d['where'],{'$or':_['map'](_0x28a58d['attributes'],function(_0x3c8212){var _0x4c8dad={};_0x4c8dad[_0x3c8212]={'$like':'%'+_0x33e76c[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0x4c8dad;})});}_0x28a58d=_[_0xc05e('0x56')]({},_0x28a58d,_0x33e76c[_0xc05e('0x58')]);return db[_0xc05e('0x82')]['count']({'where':_0x28a58d['where']})[_0xc05e('0xf')](function(_0x5e9a81){_0x5d3399['count']=_0x5e9a81;if(_0x33e76c[_0xc05e('0x49')][_0xc05e('0x59')]){_0x28a58d[_0xc05e('0x5a')]=[{'model':db[_0xc05e('0x86')],'as':_0xc05e('0x87'),'required':![]},{'model':db[_0xc05e('0x88')],'as':_0xc05e('0x89'),'attributes':[_0xc05e('0x27'),'fullname','internal'],'required':![]},{'model':db[_0xc05e('0x8a')],'as':_0xc05e('0x8b'),'attributes':['id','name',_0xc05e('0x8c')],'where':_0x33e76c[_0xc05e('0x49')][_0xc05e('0x8d')]?{'id':_0x33e76c[_0xc05e('0x49')][_0xc05e('0x8d')]}:undefined,'required':_0x33e76c['query'][_0xc05e('0x8d')]?!![]:![]}];}return db[_0xc05e('0x82')][_0xc05e('0x5b')](_0x28a58d);})[_0xc05e('0xf')](function(_0x108238){_0x5d3399[_0xc05e('0x5c')]=_0x108238;return _0x5d3399;});}})[_0xc05e('0xf')](respondWithFilteredResult(_0x541103,_0x28a58d))[_0xc05e('0x17')](handleError(_0x541103,null));};exports[_0xc05e('0x8e')]=function addApplications(_0x1482f7,_0x355160){var _0x5f1297=_0x1482f7[_0xc05e('0x5e')]['id'];var _0x4d6720=_0x1482f7[_0xc05e('0x60')];var _0x1a7abf=0xc8;var _0x198d69=null;return db[_0xc05e('0x8f')][_0xc05e('0x90')]({'isolationLevel':db['sequelize'][_0xc05e('0x91')][_0xc05e('0x92')][_0xc05e('0x93')]},function(_0x31bdbf){return db[_0xc05e('0x45')][_0xc05e('0x6b')]({'where':{'id':_0x5f1297},'transaction':_0x31bdbf})[_0xc05e('0xf')](function(_0x2ca5d2){if(_0x2ca5d2){return db[_0xc05e('0x94')]['destroy']({'where':{'MailAccountId':_0x5f1297},'transaction':_0x31bdbf})[_0xc05e('0xf')](function(){var _0x5ad717=_[_0xc05e('0x44')](_0x4d6720,function(_0x52242a){_0x52242a[_0xc05e('0x67')]=_0x5f1297;return _0x52242a;});return db[_0xc05e('0x94')][_0xc05e('0x95')](_0x5ad717,{'transaction':_0x31bdbf});});}else{_0x1a7abf=0x194;_0x198d69=[];}});})[_0xc05e('0xf')](function(){if(_0x1a7abf!==0x194){return db[_0xc05e('0x94')][_0xc05e('0x96')]({'where':{'MailAccountId':_0x5f1297},'order':_0xc05e('0x97')})['then'](function(_0x1acf88){_0x198d69=_0x1acf88;});}})[_0xc05e('0x17')](function(_0x2fb976){_0x1a7abf=0x1f4;logger['error'](_0x2fb976[_0xc05e('0x26')]);if(_0x2fb976[_0xc05e('0x27')]){delete _0x2fb976[_0xc05e('0x27')];}_0x198d69=_0x2fb976;})['finally'](function(){if(_0x198d69===null){_0x355160[_0xc05e('0x18')](_0x1a7abf);}else{if(_0x1a7abf===0x1f4){_0x355160[_0xc05e('0x19')](_0x1a7abf)[_0xc05e('0x28')](_0x198d69);}else{_0x355160[_0xc05e('0x19')](_0x1a7abf)['json'](_0x198d69);}}});};exports[_0xc05e('0x98')]=function(_0x36b720,_0x42c7d7){var _0xe94a79={};var _0x274c45={};var _0x43cc19;var _0x48de5f;return db['MailAccount'][_0xc05e('0x6b')]({'where':{'id':_0x36b720[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x42c7d7,null))['then'](function(_0x4a951c){if(_0x4a951c){_0x43cc19=_0x4a951c;_0x274c45[_0xc05e('0x4c')]=_[_0xc05e('0x4a')](db['MailApplication']['rawAttributes']);_0x274c45[_0xc05e('0x49')]=_['keys'](_0x36b720['query']);_0x274c45[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0x274c45[_0xc05e('0x4c')],_0x274c45['query']);_0xe94a79[_0xc05e('0x4d')]=_['intersection'](_0x274c45[_0xc05e('0x4c')],qs[_0xc05e('0x4e')](_0x36b720[_0xc05e('0x49')][_0xc05e('0x4e')]));_0xe94a79[_0xc05e('0x4d')]=_0xe94a79[_0xc05e('0x4d')][_0xc05e('0x4f')]?_0xe94a79[_0xc05e('0x4d')]:_0x274c45['model'];_0xe94a79[_0xc05e('0x50')]=qs[_0xc05e('0x51')](_0x36b720[_0xc05e('0x49')][_0xc05e('0x51')]);_0xe94a79[_0xc05e('0x52')]=qs['filters'](_[_0xc05e('0x54')](_0x36b720[_0xc05e('0x49')],_0x274c45['filters']));if(_0x36b720[_0xc05e('0x49')][_0xc05e('0x55')]){_0xe94a79[_0xc05e('0x52')]=_[_0xc05e('0x56')](_0xe94a79[_0xc05e('0x52')],{'$or':_['map'](_0xe94a79[_0xc05e('0x4d')],function(_0x1fee38){var _0xb2f7bc={};_0xb2f7bc[_0x1fee38]={'$like':'%'+_0x36b720[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0xb2f7bc;})});}_0xe94a79=_['merge']({},_0xe94a79,_0x36b720['options']);return _0x43cc19[_0xc05e('0x98')](_0xe94a79);}})[_0xc05e('0xf')](function(_0x55940a){if(_0x55940a){_0x48de5f=_0x55940a[_0xc05e('0x4f')];if(!_0x36b720[_0xc05e('0x49')][_0xc05e('0x6c')](_0xc05e('0x6d'))){_0xe94a79[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x36b720[_0xc05e('0x49')]['limit']);_0xe94a79['offset']=qs[_0xc05e('0x1c')](_0x36b720[_0xc05e('0x49')][_0xc05e('0x1c')]);}return _0x43cc19[_0xc05e('0x98')](_0xe94a79);}})['then'](function(_0x50d8a3){if(_0x50d8a3){return _0x50d8a3?{'count':_0x48de5f,'rows':_0x50d8a3}:null;}})[_0xc05e('0xf')](respondWithResult(_0x42c7d7,null))[_0xc05e('0x17')](handleError(_0x42c7d7,null));};exports[_0xc05e('0x99')]=function(_0x54a448,_0xd1911f){var _0xfe7f47={'raw':!![],'where':{}};var _0x41bc87={};var _0x20f539={'count':0x0,'rows':[]};return db[_0xc05e('0x45')][_0xc05e('0x6b')]({'where':{'id':_0x54a448[_0xc05e('0x5e')]['id']}})['then'](handleEntityNotFound(_0xd1911f,null))['then'](function(_0x33778d){if(_0x33778d){_0x41bc87[_0xc05e('0x4c')]=_[_0xc05e('0x4a')](db[_0xc05e('0x9a')][_0xc05e('0x46')]);_0x41bc87['query']=_[_0xc05e('0x4a')](_0x54a448[_0xc05e('0x49')]);_0x41bc87[_0xc05e('0x53')]=_['intersection'](_0x41bc87['model'],_0x41bc87[_0xc05e('0x49')]);_0xfe7f47['attributes']=_[_0xc05e('0x4b')](_0x41bc87[_0xc05e('0x4c')],qs[_0xc05e('0x4e')](_0x54a448[_0xc05e('0x49')][_0xc05e('0x4e')]));_0xfe7f47[_0xc05e('0x4d')]=_0xfe7f47[_0xc05e('0x4d')][_0xc05e('0x4f')]?_0xfe7f47[_0xc05e('0x4d')]:_0x41bc87[_0xc05e('0x4c')];if(!_0x54a448[_0xc05e('0x49')]['hasOwnProperty'](_0xc05e('0x6d'))){_0xfe7f47['limit']=qs['limit'](_0x54a448['query']['limit']);_0xfe7f47[_0xc05e('0x1c')]=qs[_0xc05e('0x1c')](_0x54a448['query'][_0xc05e('0x1c')]);}_0xfe7f47['order']=qs[_0xc05e('0x51')](_0x54a448['query'][_0xc05e('0x51')]);_0xfe7f47[_0xc05e('0x52')]=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x54a448[_0xc05e('0x49')],_0x41bc87['filters']));_0xfe7f47['where']['MailAccountId']=_0x33778d['id'];if(_0x54a448[_0xc05e('0x49')][_0xc05e('0x55')]){_0xfe7f47[_0xc05e('0x52')]=_[_0xc05e('0x56')](_0xfe7f47[_0xc05e('0x52')],{'$or':_[_0xc05e('0x44')](_0xfe7f47[_0xc05e('0x4d')],function(_0x582cbe){var _0x5cfc26={};_0x5cfc26[_0x582cbe]={'$like':'%'+_0x54a448[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0x5cfc26;})});}if(_0x54a448['query'][_0xc05e('0x9b')]){var _0x36adbf=_0x54a448[_0xc05e('0x49')][_0xc05e('0x9b')][_0xc05e('0x9c')](',');var _0xbcb086={};_0xbcb086[_0x36adbf[0x0]]={'$gte':moment(_0x36adbf[0x1])['format'](_0xc05e('0x9d'))};_0xfe7f47[_0xc05e('0x52')]=_['merge'](_0xfe7f47[_0xc05e('0x52')],_0xbcb086);}_0xfe7f47=_[_0xc05e('0x56')]({},_0xfe7f47,_0x54a448[_0xc05e('0x58')]);return db[_0xc05e('0x9a')][_0xc05e('0x1f')]({'where':_0xfe7f47[_0xc05e('0x52')]})[_0xc05e('0xf')](function(_0x3f94e3){_0x20f539['count']=_0x3f94e3;if(_0x54a448[_0xc05e('0x49')]['includeAll']){_0xfe7f47[_0xc05e('0x5a')]=[{'all':!![]}];}return db['MailMessage'][_0xc05e('0x5b')](_0xfe7f47);})['then'](function(_0x4b7b05){if(_0x54a448[_0xc05e('0x49')][_0xc05e('0x9e')]==='true'){for(var _0x58adfd=0x0;_0x58adfd<_0x4b7b05[_0xc05e('0x4f')];_0x58adfd++){_0x4b7b05[_0x58adfd][_0xc05e('0x60')]=juice(_0x4b7b05[_0x58adfd][_0xc05e('0x60')]);}}_0x20f539[_0xc05e('0x5c')]=_0x4b7b05;return _0x20f539;});}})[_0xc05e('0xf')](respondWithFilteredResult(_0xd1911f,_0xfe7f47))[_0xc05e('0x17')](handleError(_0xd1911f,null));};exports['send']=function(_0x2b3774,_0x423817){var _0x566acf,_0x37d80e={},_0x311924;if(_0x2b3774['body']['to']){_0x311924=_0x2b3774[_0xc05e('0x60')]['to'][_0xc05e('0x9c')](',')[0x0];}return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0x2b3774[_0xc05e('0x5e')]['id']},'include':[{'model':db[_0xc05e('0x9f')],'as':_0xc05e('0xa0'),'include':[{'model':db[_0xc05e('0x86')],'as':_0xc05e('0xa1'),'where':{'email':_0x311924},'limit':0x1,'order':[[_0xc05e('0xa2'),'DESC']]}]},{'model':db['MailServerOut'],'as':_0xc05e('0x41'),'raw':!![],'include':[{'model':db[_0xc05e('0xa3')],'as':'CloudProvider','raw':!![]}]}]})[_0xc05e('0xf')](handleEntityNotFound(_0x423817,null))[_0xc05e('0xf')](function(_0x51815f){if(!_0x51815f)return;_0x566acf=_0x51815f;if(!_0x51815f[_0xc05e('0x41')])throw new Error('Smtp\x20configuration\x20not\x20found');if(_[_0xc05e('0x73')](_0x2b3774[_0xc05e('0x60')]['from'])){_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa4')]=util['format'](_0xc05e('0xa5'),_0x51815f['name'],_0x51815f[_0xc05e('0x72')]||_0x51815f[_0xc05e('0x41')][_0xc05e('0x33')]);}if(_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa6')]&&_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa6')][_0xc05e('0x4f')]){for(var _0x30239c=0x0;_0x30239c<_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa6')]['length'];_0x30239c+=0x1){_0x2b3774['body']['attachments'][_0x30239c]={'filename':_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa6')][_0x30239c][_0xc05e('0x27')],'path':path[_0xc05e('0xa7')](config[_0xc05e('0xa8')],'server/files/attachments',_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa6')][_0x30239c][_0xc05e('0xa9')])};}}var _0xcfe062=_0x51815f[_0xc05e('0xaa')]();return respondWithRpcPromise(_0xc05e('0xab'),_0xc05e('0xac'),{'account':_0xcfe062,'message':_0x2b3774['body']});})[_0xc05e('0xf')](function(_0x48be6f){if(!_0x48be6f)return;_0x37d80e=_0x48be6f;if(!_0x566acf[_0xc05e('0xa0')])throw new Error(_0xc05e('0xad'));if(_0x566acf[_0xc05e('0xa0')][_0xc05e('0xa1')][_0xc05e('0x4f')])return _0x566acf[_0xc05e('0xa0')][_0xc05e('0xa1')][0x0];return db[_0xc05e('0x86')][_0xc05e('0x69')](_['defaults'](_0x2b3774[_0xc05e('0x60')],{'firstName':_0x2b3774[_0xc05e('0x60')]['to'],'email':_0x2b3774[_0xc05e('0x60')]['to'],'phone':_0x2b3774[_0xc05e('0x60')]['to'],'ListId':_0x566acf[_0xc05e('0xae')]}));})[_0xc05e('0xf')](function(_0xf9a10a){if(!_0xf9a10a)return;var _0x14018b={'UserId':_0x2b3774[_0xc05e('0x33')]['id'],'ContactId':_0xf9a10a['id'],'MailAccountId':_0x566acf['id'],'inReplyTo':_0x37d80e[_0xc05e('0xaf')],'to':_0x2b3774[_0xc05e('0x60')][_0xc05e('0xa4')],'cc':_0x2b3774[_0xc05e('0x60')]['cc'],'subject':_0x2b3774[_0xc05e('0x60')][_0xc05e('0xb0')],'attach':_0x2b3774['body'][_0xc05e('0xb1')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xc05e('0xb2')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0xc05e('0xb3'),'Messages':[_[_0xc05e('0x56')](_0x2b3774['body'],{'messageId':_0x37d80e[_0xc05e('0xaf')],'sentAt':moment()[_0xc05e('0xb2')](_0xc05e('0x9d')),'read':!![],'MailAccountId':_0x566acf['id'],'UserId':_0x2b3774[_0xc05e('0x33')]['id'],'ContactId':_0xf9a10a['id']})]};if(_0x2b3774['body'][_0xc05e('0xb4')]){_0x14018b=_[_0xc05e('0x56')](_0x14018b,_0x2b3774[_0xc05e('0x60')][_0xc05e('0xb4')]);}return db['MailInteraction'][_0xc05e('0x69')](_0x14018b,{'include':[{'model':db[_0xc05e('0x9a')],'as':_0xc05e('0xb5')}]});})[_0xc05e('0xf')](respondWithResult(_0x423817,null))[_0xc05e('0x17')](handleError(_0x423817,null));};exports[_0xc05e('0xb6')]=function(_0x32c6a7,_0x2ce856){return db[_0xc05e('0x45')][_0xc05e('0x5f')]({'where':{'id':_0x32c6a7['params']['id']},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xc05e('0xa3'),'raw':!![]}]}]})[_0xc05e('0xf')](handleEntityNotFound(_0x2ce856,null))[_0xc05e('0xf')](function(_0x289113){if(!_0x289113[_0xc05e('0x41')])return;var _0x51c6a7=_0x289113[_0xc05e('0xaa')]();return respondWithRpcPromise('VerifySmtp',_0xc05e('0xb6'),{'account':_0x51c6a7});})[_0xc05e('0xf')](respondWithResult(_0x2ce856,null))[_0xc05e('0x17')](handleError(_0x2ce856,null));};exports[_0xc05e('0x23')]=function(_0x4deec6,_0x407099){return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0x4deec6['params']['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x407099,null))['then'](function(_0x56a96a){if(_0x56a96a&&_0x56a96a[_0xc05e('0x3b')]){throw new db[(_0xc05e('0xb7'))][(_0xc05e('0xb8'))](_0xc05e('0xb9'));}return _0x56a96a;})[_0xc05e('0xf')](removeEntity(_0x407099,null))[_0xc05e('0x17')](handleError(_0x407099,null));};exports[_0xc05e('0xba')]=function(_0x265ab4,_0x50947a){return db[_0xc05e('0x45')]['find']({'where':{'id':_0x265ab4[_0xc05e('0x5e')]['id']}})[_0xc05e('0xf')](handleEntityNotFound(_0x50947a,null))[_0xc05e('0xf')](function(_0x31093e){if(_0x31093e){return _0x31093e['addAgents'](_0x265ab4['body'][_0xc05e('0x83')],_[_0xc05e('0x84')](_0x265ab4['body'],[_0xc05e('0x83'),'id'])||{})[_0xc05e('0xbb')](function(_0x43cc0f){for(var _0x5c0159=0x0;_0x5c0159<_0x265ab4[_0xc05e('0x60')][_0xc05e('0x83')][_0xc05e('0x4f')];_0x5c0159+=0x1){socket[_0xc05e('0xbc')](_0xc05e('0xbd'),{'UserId':Number(_0x265ab4[_0xc05e('0x60')][_0xc05e('0x83')][_0x5c0159]),'MailAccountId':Number(_0x265ab4[_0xc05e('0x5e')]['id'])});}return _0x43cc0f;});}})['then'](respondWithResult(_0x50947a,null))['catch'](handleError(_0x50947a,null));};exports[_0xc05e('0xbe')]=function(_0x50d0ac,_0x265c92){return db['MailAccount'][_0xc05e('0x5f')]({'where':{'id':_0x50d0ac['params']['id']}})['then'](handleEntityNotFound(_0x265c92,null))['then'](function(_0x32ccf7){if(_0x32ccf7){return _0x32ccf7[_0xc05e('0xbe')](_0x50d0ac[_0xc05e('0x49')][_0xc05e('0x83')])['then'](function(){if(_[_0xc05e('0xbf')](_0x50d0ac[_0xc05e('0x49')][_0xc05e('0x83')])){for(var _0x3d4342=0x0;_0x3d4342<_0x50d0ac[_0xc05e('0x49')][_0xc05e('0x83')]['length'];_0x3d4342+=0x1){socket[_0xc05e('0xbc')](_0xc05e('0xc0'),{'UserId':Number(_0x50d0ac[_0xc05e('0x49')][_0xc05e('0x83')][_0x3d4342]),'MailAccountId':Number(_0x50d0ac['params']['id'])});}}else{socket[_0xc05e('0xbc')](_0xc05e('0xc0'),{'UserId':Number(_0x50d0ac[_0xc05e('0x49')]['ids']),'MailAccountId':Number(_0x50d0ac['params']['id'])});}});}})[_0xc05e('0xf')](respondWithStatusCode(_0x265c92,null))[_0xc05e('0x17')](handleError(_0x265c92,null));};exports[_0xc05e('0xc1')]=function(_0x36a00a,_0x2ed78a){var _0x55c876={};var _0x4f0a6d={};var _0x4fb77e;var _0x20d637;return db['MailAccount'][_0xc05e('0x6b')]({'where':{'id':_0x36a00a[_0xc05e('0x5e')]['id']}})['then'](handleEntityNotFound(_0x2ed78a,null))[_0xc05e('0xf')](function(_0x18fccb){if(_0x18fccb){_0x4fb77e=_0x18fccb;_0x4f0a6d['model']=_[_0xc05e('0x4a')](db[_0xc05e('0x88')][_0xc05e('0x46')]);_0x4f0a6d[_0xc05e('0x49')]=_[_0xc05e('0x4a')](_0x36a00a[_0xc05e('0x49')]);_0x4f0a6d[_0xc05e('0x53')]=_[_0xc05e('0x4b')](_0x4f0a6d[_0xc05e('0x4c')],_0x4f0a6d['query']);_0x55c876['attributes']=_['intersection'](_0x4f0a6d[_0xc05e('0x4c')],qs['fields'](_0x36a00a[_0xc05e('0x49')]['fields']));_0x55c876['attributes']=_0x55c876[_0xc05e('0x4d')][_0xc05e('0x4f')]?_0x55c876[_0xc05e('0x4d')]:_0x4f0a6d[_0xc05e('0x4c')];_0x55c876[_0xc05e('0x50')]=qs[_0xc05e('0x51')](_0x36a00a[_0xc05e('0x49')][_0xc05e('0x51')]);_0x55c876['where']=qs[_0xc05e('0x53')](_[_0xc05e('0x54')](_0x36a00a[_0xc05e('0x49')],_0x4f0a6d[_0xc05e('0x53')]));if(_0x36a00a['query'][_0xc05e('0x55')]){_0x55c876[_0xc05e('0x52')]=_[_0xc05e('0x56')](_0x55c876[_0xc05e('0x52')],{'$or':_[_0xc05e('0x44')](_0x55c876['attributes'],function(_0x41dbf4){var _0x45a4c7={};_0x45a4c7[_0x41dbf4]={'$like':'%'+_0x36a00a[_0xc05e('0x49')][_0xc05e('0x55')]+'%'};return _0x45a4c7;})});}_0x55c876=_['merge']({},_0x55c876,_0x36a00a[_0xc05e('0x58')]);return _0x4fb77e[_0xc05e('0xc1')](_0x55c876);}})[_0xc05e('0xf')](function(_0x3171d){if(_0x3171d){_0x20d637=_0x3171d[_0xc05e('0x4f')];if(!_0x36a00a['query']['hasOwnProperty']('nolimit')){_0x55c876[_0xc05e('0x1d')]=qs[_0xc05e('0x1d')](_0x36a00a['query']['limit']);_0x55c876[_0xc05e('0x1c')]=qs[_0xc05e('0x1c')](_0x36a00a[_0xc05e('0x49')]['offset']);}return _0x4fb77e[_0xc05e('0xc1')](_0x55c876);}})[_0xc05e('0xf')](function(_0x3caf4d){if(_0x3caf4d){return _0x3caf4d?{'count':_0x20d637,'rows':_0x3caf4d}:null;}})['then'](respondWithResult(_0x2ed78a,null))[_0xc05e('0x17')](handleError(_0x2ed78a,null));};