Built motion from commit a61a4a20.|2.5.46
[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 _0xde4a=['isNil','active','description','user','username','pass','password','service','host','port','authentication','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','getImap','removeImap','setImap','getSmtp','addSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','User','Owner','internal','Tags','tag','addApplications','sequelize','transaction','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','true','CmList','List','DESC','from','attachments','join','root','server/files/attachments','basename','auth','secure','sendMail','Contacts','defaults','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','CloudProvider','OAuth2','data5','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','removeAgents','isArray','userMailAccount:remove','getAgents','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','register','client','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','index','MailServerIn','Smtp','map','MailAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','Imap','MailServerOut','Pause','mandatoryDispositionPause','find','body','modernAuthentication','CloudProviderId','describe','addDisposition','MailAccountId','Disposition','removeDispositions','ids','addAnswer','create','findOne','CannedAnswer','removeAnswers','provider','custom','email','ListId'];(function(_0x514637,_0x12a3c3){var _0x5d45d7=function(_0x3b88b7){while(--_0x3b88b7){_0x514637['push'](_0x514637['shift']());}};_0x5d45d7(++_0x12a3c3);}(_0xde4a,0x1c1));var _0xade4=function(_0x149d46,_0x4a7b45){_0x149d46=_0x149d46-0x0;var _0x503e38=_0xde4a[_0x149d46];return _0x503e38;};'use strict';var moment=require('moment');var BPromise=require(_0xade4('0x0'));var util=require(_0xade4('0x1'));var path=require(_0xade4('0x2'));var _=require(_0xade4('0x3'));var juice=require(_0xade4('0x4'));var Redis=require(_0xade4('0x5'));var qs=require(_0xade4('0x6'));var logger=require('../../config/logger')(_0xade4('0x7'));var config=require(_0xade4('0x8'));var db=require(_0xade4('0x9'))['db'];config[_0xade4('0xa')]=_['defaults'](config[_0xade4('0xa')],{'host':_0xade4('0xb'),'port':0x18eb});var socket=require(_0xade4('0xc'))(new Redis(config[_0xade4('0xa')]));require(_0xade4('0xd'))[_0xade4('0xe')](socket);var jayson=require('jayson/promise');var client=jayson[_0xade4('0xf')][_0xade4('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x52eb21,_0x3a3f6d,_0x4018e2,_0x4e768e){return new BPromise(function(_0x4222f9,_0x17b561){var _0x28f529=_0x4e768e||client;return _0x28f529[_0xade4('0x11')](_0x52eb21,_0x4018e2)[_0xade4('0x12')](function(_0x42c13e){logger[_0xade4('0x13')](_0xade4('0x14'),_0x3a3f6d,_0xade4('0x15'));logger[_0xade4('0x16')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x3a3f6d,_0xade4('0x15'),JSON[_0xade4('0x17')](_0x42c13e));if(_0x42c13e[_0xade4('0x18')]){if(_0x42c13e[_0xade4('0x18')][_0xade4('0x19')]===0x1f4){logger[_0xade4('0x18')](_0xade4('0x14'),_0x3a3f6d,_0x42c13e['error'][_0xade4('0x1a')]);return _0x17b561(_0x42c13e[_0xade4('0x18')][_0xade4('0x1a')]);}logger[_0xade4('0x18')](_0xade4('0x14'),_0x3a3f6d,_0x42c13e[_0xade4('0x18')][_0xade4('0x1a')]);return _0x4222f9(_0x42c13e[_0xade4('0x18')][_0xade4('0x1a')]);}else{logger[_0xade4('0x13')](_0xade4('0x14'),_0x3a3f6d,'request\x20sent');_0x4222f9(_0x42c13e[_0xade4('0x1b')][_0xade4('0x1a')]);}})[_0xade4('0x1c')](function(_0xbb178b){logger[_0xade4('0x18')](_0xade4('0x14'),_0x3a3f6d,_0xbb178b);_0x17b561(_0xbb178b);});});}function respondWithStatusCode(_0x37036f,_0x527214){_0x527214=_0x527214||0xcc;return function(_0x3e831c){if(_0x3e831c){return _0x37036f[_0xade4('0x1d')](_0x527214);}return _0x37036f['status'](_0x527214)[_0xade4('0x1e')]();};}function respondWithResult(_0x48df88,_0x4fcc6e){_0x4fcc6e=_0x4fcc6e||0xc8;return function(_0x3a65e8){if(_0x3a65e8){return _0x48df88[_0xade4('0x1f')](_0x4fcc6e)[_0xade4('0x20')](_0x3a65e8);}};}function respondWithFilteredResult(_0x11e08b,_0x4930e2){return function(_0x5ad10c){if(_0x5ad10c){var _0x4e1c75=typeof _0x4930e2[_0xade4('0x21')]===_0xade4('0x22')&&typeof _0x4930e2[_0xade4('0x23')]===_0xade4('0x22');var _0x1f02f5=_0x5ad10c[_0xade4('0x24')];var _0x49da65=_0x4e1c75?0x0:_0x4930e2[_0xade4('0x21')];var _0x12df5b=_0x4e1c75?_0x5ad10c[_0xade4('0x24')]:_0x4930e2[_0xade4('0x21')]+_0x4930e2[_0xade4('0x23')];var _0x1dc312;if(_0x12df5b>=_0x1f02f5){_0x12df5b=_0x1f02f5;_0x1dc312=0xc8;}else{_0x1dc312=0xce;}_0x11e08b['status'](_0x1dc312);return _0x11e08b[_0xade4('0x25')](_0xade4('0x26'),_0x49da65+'-'+_0x12df5b+'/'+_0x1f02f5)[_0xade4('0x20')](_0x5ad10c);}return null;};}function saveUpdates(_0x1dba46){return function(_0x52efe3){if(_0x52efe3){return _0x52efe3[_0xade4('0x27')](_0x1dba46)[_0xade4('0x12')](function(_0x12c70a){return _0x12c70a;});}return null;};}function removeEntity(_0x4854a2){return function(_0x5ef0d1){if(_0x5ef0d1){return _0x5ef0d1[_0xade4('0x28')]()['then'](function(){var _0x3b189c=_0x5ef0d1[_0xade4('0x29')]({'plain':!![]});var _0x424ef1=_0xade4('0x2a');return db[_0xade4('0x2b')][_0xade4('0x28')]({'where':{'type':_0x424ef1,'resourceId':_0x3b189c['id']}})['then'](function(){return _0x5ef0d1;});})[_0xade4('0x12')](function(){_0x4854a2[_0xade4('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x378407){return function(_0x121dce){if(!_0x121dce){_0x378407['sendStatus'](0x194);}return _0x121dce;};}function handleError(_0x3f165a,_0x12f58d){_0x12f58d=_0x12f58d||0x1f4;return function(_0x5e6083){logger['error'](_0x5e6083[_0xade4('0x2c')]);if(_0x5e6083['name']){delete _0x5e6083[_0xade4('0x2d')];}_0x3f165a['status'](_0x12f58d)[_0xade4('0x2e')](_0x5e6083);};}exports[_0xade4('0x2f')]=function(_0x11129e,_0x43d905){var _0x5574be={'include':[{'model':db[_0xade4('0x30')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xade4('0x31')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x2b0d45={},_0x11539f={'count':0x0,'rows':[]};var _0x550597=_[_0xade4('0x32')](db[_0xade4('0x33')][_0xade4('0x34')],function(_0x378c6a){return{'name':_0x378c6a[_0xade4('0x35')],'type':_0x378c6a[_0xade4('0x36')][_0xade4('0x37')]};});_0x2b0d45[_0xade4('0x38')]=_[_0xade4('0x32')](_0x550597,_0xade4('0x2d'));_0x2b0d45[_0xade4('0x39')]=_[_0xade4('0x3a')](_0x11129e['query']);_0x2b0d45[_0xade4('0x3b')]=_['intersection'](_0x2b0d45['model'],_0x2b0d45[_0xade4('0x39')]);_0x5574be[_0xade4('0x3c')]=_[_0xade4('0x3d')](_0x2b0d45[_0xade4('0x38')],qs[_0xade4('0x3e')](_0x11129e[_0xade4('0x39')][_0xade4('0x3e')]));_0x5574be[_0xade4('0x3c')]=_0x5574be[_0xade4('0x3c')][_0xade4('0x3f')]?_0x5574be['attributes']:_0x2b0d45[_0xade4('0x38')];if(!_0x11129e[_0xade4('0x39')][_0xade4('0x40')](_0xade4('0x41'))){_0x5574be[_0xade4('0x23')]=qs[_0xade4('0x23')](_0x11129e[_0xade4('0x39')][_0xade4('0x23')]);_0x5574be[_0xade4('0x21')]=qs[_0xade4('0x21')](_0x11129e[_0xade4('0x39')][_0xade4('0x21')]);}_0x5574be[_0xade4('0x42')]=qs[_0xade4('0x43')](_0x11129e[_0xade4('0x39')][_0xade4('0x43')]);_0x5574be[_0xade4('0x44')]=qs[_0xade4('0x3b')](_[_0xade4('0x45')](_0x11129e[_0xade4('0x39')],_0x2b0d45[_0xade4('0x3b')]),_0x550597);if(_0x11129e['query'][_0xade4('0x46')]){_0x5574be[_0xade4('0x44')]=_[_0xade4('0x47')](_0x5574be['where'],{'$or':_[_0xade4('0x32')](_0x550597,function(_0x26fafa){if(_0x26fafa['type']!==_0xade4('0x48')){var _0x2cbe88={};_0x2cbe88[_0x26fafa[_0xade4('0x2d')]]={'$like':'%'+_0x11129e[_0xade4('0x39')][_0xade4('0x46')]+'%'};return _0x2cbe88;}})});}_0x5574be=_['merge']({},_0x5574be,_0x11129e[_0xade4('0x49')]);var _0x499250={'where':_0x5574be[_0xade4('0x44')]};return db['MailAccount'][_0xade4('0x24')](_0x499250)[_0xade4('0x12')](function(_0x56fc0b){_0x11539f[_0xade4('0x24')]=_0x56fc0b;if(_0x11129e[_0xade4('0x39')][_0xade4('0x4a')]){_0x5574be[_0xade4('0x4b')]=[{'all':!![]}];}return db['MailAccount'][_0xade4('0x4c')](_0x5574be);})['then'](function(_0x967ffb){_0x11539f[_0xade4('0x4d')]=_0x967ffb;return _0x11539f;})[_0xade4('0x12')](respondWithFilteredResult(_0x43d905,_0x5574be))[_0xade4('0x1c')](handleError(_0x43d905,null));};exports[_0xade4('0x4e')]=function(_0x21d9a3,_0x28b0fd){var _0xa2aa30={'raw':![],'where':{'id':_0x21d9a3[_0xade4('0x4f')]['id']},'include':[{'model':db[_0xade4('0x30')],'as':_0xade4('0x50')},{'model':db[_0xade4('0x51')],'as':_0xade4('0x31')},{'model':db[_0xade4('0x52')],'as':_0xade4('0x53')}]},_0x5b0df1={};_0x5b0df1[_0xade4('0x38')]=_[_0xade4('0x3a')](db[_0xade4('0x33')][_0xade4('0x34')]);_0x5b0df1[_0xade4('0x39')]=_[_0xade4('0x3a')](_0x21d9a3[_0xade4('0x39')]);_0x5b0df1['filters']=_[_0xade4('0x3d')](_0x5b0df1['model'],_0x5b0df1[_0xade4('0x39')]);_0xa2aa30[_0xade4('0x3c')]=_[_0xade4('0x3d')](_0x5b0df1['model'],qs[_0xade4('0x3e')](_0x21d9a3['query'][_0xade4('0x3e')]));_0xa2aa30[_0xade4('0x3c')]=_0xa2aa30[_0xade4('0x3c')][_0xade4('0x3f')]?_0xa2aa30[_0xade4('0x3c')]:_0x5b0df1[_0xade4('0x38')];if(_0x21d9a3[_0xade4('0x39')][_0xade4('0x4a')]){_0xa2aa30[_0xade4('0x4b')]=[{'all':!![]}];}_0xa2aa30=_[_0xade4('0x47')]({},_0xa2aa30,_0x21d9a3[_0xade4('0x49')]);return db[_0xade4('0x33')][_0xade4('0x54')](_0xa2aa30)[_0xade4('0x12')](handleEntityNotFound(_0x28b0fd,null))['then'](respondWithResult(_0x28b0fd,null))['catch'](handleError(_0x28b0fd,null));};exports[_0xade4('0x27')]=function(_0x3cbbbf,_0x4a4646){if(_0x3cbbbf[_0xade4('0x55')]['id']){delete _0x3cbbbf[_0xade4('0x55')]['id'];}if(_0x3cbbbf[_0xade4('0x55')][_0xade4('0x50')]){if(!_0x3cbbbf[_0xade4('0x55')][_0xade4('0x50')][_0xade4('0x56')]){_0x3cbbbf['body'][_0xade4('0x50')][_0xade4('0x57')]=null;}}if(_0x3cbbbf[_0xade4('0x55')][_0xade4('0x31')]){if(!_0x3cbbbf[_0xade4('0x55')]['Smtp'][_0xade4('0x56')]){_0x3cbbbf[_0xade4('0x55')][_0xade4('0x31')][_0xade4('0x57')]=null;}}return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x3cbbbf[_0xade4('0x4f')]['id']},'include':[{'model':db[_0xade4('0x30')],'as':'Imap'},{'model':db[_0xade4('0x51')],'as':_0xade4('0x31')},{'model':db[_0xade4('0x52')],'as':_0xade4('0x53')}]})[_0xade4('0x12')](handleEntityNotFound(_0x4a4646,null))['then'](saveUpdates(_0x3cbbbf['body'],null))[_0xade4('0x12')](function(_0x24986d){if(_0x24986d&&_0x3cbbbf['body'][_0xade4('0x50')]){return db[_0xade4('0x30')][_0xade4('0x27')](_0x3cbbbf[_0xade4('0x55')]['Imap'],{'where':{'MailAccountId':_0x24986d['id']}})[_0xade4('0x12')](function(){return _0x24986d;});}return _0x24986d;})[_0xade4('0x12')](function(_0x54d1ee){if(_0x54d1ee&&_0x3cbbbf[_0xade4('0x55')][_0xade4('0x31')]){return db[_0xade4('0x51')]['update'](_0x3cbbbf[_0xade4('0x55')][_0xade4('0x31')],{'where':{'MailAccountId':_0x54d1ee['id']}})[_0xade4('0x12')](function(){return _0x54d1ee;});}return _0x54d1ee;})[_0xade4('0x12')](respondWithResult(_0x4a4646,null))['catch'](handleError(_0x4a4646,null));};exports['describe']=function(_0x225c33,_0x54dbbb){return db[_0xade4('0x33')][_0xade4('0x58')]()['then'](respondWithResult(_0x54dbbb,null))[_0xade4('0x1c')](handleError(_0x54dbbb,null));};exports[_0xade4('0x59')]=function(_0x1bf7f3,_0x3830de){if(_0x1bf7f3[_0xade4('0x55')]['id']){delete _0x1bf7f3[_0xade4('0x55')]['id'];}return db['MailAccount'][_0xade4('0x54')]({'where':{'id':_0x1bf7f3['params']['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x3830de,null))[_0xade4('0x12')](function(_0xdadd7){if(_0xdadd7){_0x1bf7f3[_0xade4('0x55')][_0xade4('0x5a')]=_0xdadd7['id'];return db[_0xade4('0x5b')]['create'](_0x1bf7f3[_0xade4('0x55')]);}})[_0xade4('0x12')](respondWithResult(_0x3830de,null))[_0xade4('0x1c')](handleError(_0x3830de,null));};exports['getDispositions']=function(_0x1dca28,_0x2d9b97){var _0x59a8f9={'raw':![],'where':{}};var _0x164288={};var _0x55e9eb={'count':0x0,'rows':[]};return db[_0xade4('0x33')]['findOne']({'where':{'id':_0x1dca28[_0xade4('0x4f')]['id']}})['then'](handleEntityNotFound(_0x2d9b97,null))[_0xade4('0x12')](function(_0x448867){if(_0x448867){_0x164288[_0xade4('0x38')]=_[_0xade4('0x3a')](db[_0xade4('0x5b')][_0xade4('0x34')]);_0x164288[_0xade4('0x39')]=_[_0xade4('0x3a')](_0x1dca28[_0xade4('0x39')]);_0x164288[_0xade4('0x3b')]=_[_0xade4('0x3d')](_0x164288[_0xade4('0x38')],_0x164288[_0xade4('0x39')]);_0x59a8f9['attributes']=_[_0xade4('0x3d')](_0x164288[_0xade4('0x38')],qs[_0xade4('0x3e')](_0x1dca28['query'][_0xade4('0x3e')]));_0x59a8f9['attributes']=_0x59a8f9[_0xade4('0x3c')][_0xade4('0x3f')]?_0x59a8f9['attributes']:_0x164288[_0xade4('0x38')];if(!_0x1dca28[_0xade4('0x39')]['hasOwnProperty'](_0xade4('0x41'))){_0x59a8f9[_0xade4('0x23')]=qs[_0xade4('0x23')](_0x1dca28[_0xade4('0x39')][_0xade4('0x23')]);_0x59a8f9[_0xade4('0x21')]=qs[_0xade4('0x21')](_0x1dca28[_0xade4('0x39')][_0xade4('0x21')]);}_0x59a8f9['order']=qs['sort'](_0x1dca28[_0xade4('0x39')]['sort']);_0x59a8f9[_0xade4('0x44')]=qs['filters'](_[_0xade4('0x45')](_0x1dca28[_0xade4('0x39')],_0x164288[_0xade4('0x3b')]));_0x59a8f9[_0xade4('0x44')]['MailAccountId']=_0x448867['id'];if(_0x1dca28[_0xade4('0x39')][_0xade4('0x46')]){_0x59a8f9['where']=_['merge'](_0x59a8f9['where'],{'$or':_[_0xade4('0x32')](_0x59a8f9['attributes'],function(_0x40678c){var _0x3e3e3d={};_0x3e3e3d[_0x40678c]={'$like':'%'+_0x1dca28[_0xade4('0x39')]['filter']+'%'};return _0x3e3e3d;})});}_0x59a8f9=_[_0xade4('0x47')]({},_0x59a8f9,_0x1dca28[_0xade4('0x49')]);return db[_0xade4('0x5b')][_0xade4('0x24')]({'where':_0x59a8f9[_0xade4('0x44')]})[_0xade4('0x12')](function(_0x3554fb){_0x55e9eb[_0xade4('0x24')]=_0x3554fb;if(_0x1dca28[_0xade4('0x39')][_0xade4('0x4a')]){_0x59a8f9[_0xade4('0x4b')]=[{'all':!![]}];}return db[_0xade4('0x5b')][_0xade4('0x4c')](_0x59a8f9);})[_0xade4('0x12')](function(_0x14b865){_0x55e9eb['rows']=_0x14b865;return _0x55e9eb;});}})[_0xade4('0x12')](respondWithFilteredResult(_0x2d9b97,_0x59a8f9))[_0xade4('0x1c')](handleError(_0x2d9b97,null));};exports[_0xade4('0x5c')]=function(_0x2da33b,_0x405281){return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x2da33b[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x405281,null))['then'](function(_0xb6f802){if(_0xb6f802){return _0xb6f802[_0xade4('0x5c')](_0x2da33b['query'][_0xade4('0x5d')]);}})['then'](respondWithStatusCode(_0x405281,null))['catch'](handleError(_0x405281,null));};exports[_0xade4('0x5e')]=function(_0x588965,_0x51681d){if(_0x588965[_0xade4('0x55')]['id']){delete _0x588965[_0xade4('0x55')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x588965[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x51681d,null))[_0xade4('0x12')](function(_0x3fe187){if(_0x3fe187){_0x588965[_0xade4('0x55')][_0xade4('0x5a')]=_0x3fe187['id'];return db['CannedAnswer'][_0xade4('0x5f')](_0x588965[_0xade4('0x55')]);}})[_0xade4('0x12')](respondWithResult(_0x51681d,null))['catch'](handleError(_0x51681d,null));};exports['getAnswers']=function(_0x552019,_0x26a09c){var _0x502473={'raw':![],'where':{}};var _0x519967={};var _0x5523c9={'count':0x0,'rows':[]};return db[_0xade4('0x33')][_0xade4('0x60')]({'where':{'id':_0x552019[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x26a09c,null))[_0xade4('0x12')](function(_0x47124b){if(_0x47124b){_0x519967[_0xade4('0x38')]=_['keys'](db['CannedAnswer'][_0xade4('0x34')]);_0x519967[_0xade4('0x39')]=_['keys'](_0x552019[_0xade4('0x39')]);_0x519967[_0xade4('0x3b')]=_['intersection'](_0x519967['model'],_0x519967[_0xade4('0x39')]);_0x502473['attributes']=_[_0xade4('0x3d')](_0x519967[_0xade4('0x38')],qs[_0xade4('0x3e')](_0x552019[_0xade4('0x39')]['fields']));_0x502473[_0xade4('0x3c')]=_0x502473[_0xade4('0x3c')][_0xade4('0x3f')]?_0x502473[_0xade4('0x3c')]:_0x519967[_0xade4('0x38')];if(!_0x552019[_0xade4('0x39')][_0xade4('0x40')](_0xade4('0x41'))){_0x502473[_0xade4('0x23')]=qs[_0xade4('0x23')](_0x552019[_0xade4('0x39')][_0xade4('0x23')]);_0x502473['offset']=qs[_0xade4('0x21')](_0x552019[_0xade4('0x39')]['offset']);}_0x502473['order']=qs[_0xade4('0x43')](_0x552019[_0xade4('0x39')][_0xade4('0x43')]);_0x502473[_0xade4('0x44')]=qs['filters'](_[_0xade4('0x45')](_0x552019['query'],_0x519967[_0xade4('0x3b')]));_0x502473[_0xade4('0x44')][_0xade4('0x5a')]=_0x47124b['id'];if(_0x552019[_0xade4('0x39')][_0xade4('0x46')]){_0x502473[_0xade4('0x44')]=_[_0xade4('0x47')](_0x502473[_0xade4('0x44')],{'$or':_[_0xade4('0x32')](_0x502473['attributes'],function(_0x27863f){var _0x1e2f90={};_0x1e2f90[_0x27863f]={'$like':'%'+_0x552019[_0xade4('0x39')][_0xade4('0x46')]+'%'};return _0x1e2f90;})});}_0x502473=_['merge']({},_0x502473,_0x552019[_0xade4('0x49')]);return db[_0xade4('0x61')]['count']({'where':_0x502473['where']})[_0xade4('0x12')](function(_0xe3f878){_0x5523c9['count']=_0xe3f878;if(_0x552019[_0xade4('0x39')]['includeAll']){_0x502473[_0xade4('0x4b')]=[{'all':!![]}];}return db[_0xade4('0x61')]['findAll'](_0x502473);})[_0xade4('0x12')](function(_0x2bad07){_0x5523c9[_0xade4('0x4d')]=_0x2bad07;return _0x5523c9;});}})['then'](respondWithFilteredResult(_0x26a09c,_0x502473))[_0xade4('0x1c')](handleError(_0x26a09c,null));};exports[_0xade4('0x62')]=function(_0x220c04,_0x1ccc43){return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x220c04[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x1ccc43,null))[_0xade4('0x12')](function(_0x2522c3){if(_0x2522c3){return _0x2522c3[_0xade4('0x62')](_0x220c04['query'][_0xade4('0x5d')]);}})['then'](respondWithStatusCode(_0x1ccc43,null))[_0xade4('0x1c')](handleError(_0x1ccc43,null));};exports[_0xade4('0x5f')]=function(_0xa23420,_0x444748){var _0x3b6707={'name':_0xa23420[_0xade4('0x55')][_0xade4('0x2d')],'key':_0xa23420[_0xade4('0x55')][_0xade4('0x37')],'provider':_0xa23420[_0xade4('0x55')][_0xade4('0x63')]===_0xade4('0x64')?null:_0xa23420[_0xade4('0x55')][_0xade4('0x63')],'email':_0xa23420[_0xade4('0x55')][_0xade4('0x65')],'ListId':_0xa23420[_0xade4('0x55')][_0xade4('0x66')],'active':!_[_0xade4('0x67')](_0xa23420[_0xade4('0x55')][_0xade4('0x68')])?_0xa23420['body'][_0xade4('0x68')]:!![],'description':_0xa23420['body'][_0xade4('0x69')]||null,'Imap':{},'Smtp':{}};if(_0x3b6707['provider']){_0x3b6707[_0xade4('0x50')][_0xade4('0x6a')]=_0x3b6707['Smtp'][_0xade4('0x6a')]=_0xa23420[_0xade4('0x55')][_0xade4('0x6b')];_0x3b6707[_0xade4('0x50')]['password']=_0x3b6707[_0xade4('0x31')][_0xade4('0x6c')]=_0xa23420[_0xade4('0x55')][_0xade4('0x6d')];if(_0xa23420[_0xade4('0x55')][_0xade4('0x56')]){_0x3b6707['Imap'][_0xade4('0x56')]=_0x3b6707['Smtp']['modernAuthentication']=!![];_0x3b6707['Imap'][_0xade4('0x57')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x57')]=_0xa23420[_0xade4('0x55')][_0xade4('0x57')];_0x3b6707[_0xade4('0x50')][_0xade4('0x6d')]=_0x3b6707['Smtp'][_0xade4('0x6c')]=null;}else{_0x3b6707[_0xade4('0x50')][_0xade4('0x57')]=_0x3b6707['Smtp'][_0xade4('0x57')]=null;}_0x3b6707[_0xade4('0x50')][_0xade4('0x6e')]=_0x3b6707[_0xade4('0x31')]['service']=null;_0x3b6707[_0xade4('0x50')][_0xade4('0x6f')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x6f')]=null;_0x3b6707[_0xade4('0x50')][_0xade4('0x70')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x70')]=null;}else{if(_0xa23420['body'][_0xade4('0x71')]){_0x3b6707['Imap'][_0xade4('0x6a')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x6a')]=_0xa23420['body'][_0xade4('0x6b')];_0x3b6707[_0xade4('0x50')]['password']=_0x3b6707[_0xade4('0x31')][_0xade4('0x6c')]=_0xa23420['body'][_0xade4('0x6d')];}else{_0x3b6707[_0xade4('0x50')][_0xade4('0x71')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x71')]=![];_0x3b6707[_0xade4('0x50')][_0xade4('0x6a')]=_0x3b6707['Smtp'][_0xade4('0x6a')]=null;_0x3b6707[_0xade4('0x50')][_0xade4('0x6d')]=_0x3b6707[_0xade4('0x31')][_0xade4('0x6c')]=null;}_0x3b6707[_0xade4('0x50')][_0xade4('0x6f')]=_0xa23420[_0xade4('0x55')][_0xade4('0x50')][_0xade4('0x6f')];_0x3b6707[_0xade4('0x50')]['port']=_0xa23420[_0xade4('0x55')][_0xade4('0x50')][_0xade4('0x70')];_0x3b6707[_0xade4('0x31')][_0xade4('0x6f')]=_0xa23420[_0xade4('0x55')][_0xade4('0x31')]['host'];_0x3b6707[_0xade4('0x31')]['port']=_0xa23420[_0xade4('0x55')][_0xade4('0x31')][_0xade4('0x70')];}return db[_0xade4('0x33')][_0xade4('0x5f')](_0x3b6707,{'include':[{'model':db[_0xade4('0x51')],'as':_0xade4('0x31')},{'model':db[_0xade4('0x30')],'as':'Imap'}]})['then'](function(_0x3e1ea1){var _0xab6284=_0xa23420[_0xade4('0x6a')][_0xade4('0x29')]({'plain':!![]});if(!_0xab6284)throw new Error(_0xade4('0x72'));if(_0xab6284['role']===_0xade4('0x6a')){var _0xe6bf3=_0x3e1ea1['get']({'plain':!![]});return db[_0xade4('0x73')][_0xade4('0x54')]({'where':{'name':_0xade4('0x2a'),'userProfileId':_0xab6284['userProfileId']},'raw':!![]})['then'](function(_0x4fc07c){if(_0x4fc07c&&_0x4fc07c[_0xade4('0x74')]===0x0){return db[_0xade4('0x2b')]['create']({'name':_0xe6bf3[_0xade4('0x2d')],'resourceId':_0xe6bf3['id'],'type':_0x4fc07c[_0xade4('0x2d')],'sectionId':_0x4fc07c['id']},{})[_0xade4('0x12')](function(){return _0x3e1ea1;});}else{return _0x3e1ea1;}})['catch'](function(_0x11794a){logger[_0xade4('0x18')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x11794a);throw _0x11794a;});}return _0x3e1ea1;})[_0xade4('0x12')](respondWithResult(_0x444748,0xc9))[_0xade4('0x1c')](handleError(_0x444748,null));};exports[_0xade4('0x75')]=function(_0x563f52,_0x4d1bdd){return db['MailAccount'][_0xade4('0x60')]({'where':{'id':_0x563f52[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x4d1bdd,null))[_0xade4('0x12')](function(_0x1f530b){if(_0x1f530b){return _0x1f530b[_0xade4('0x75')]();}return null;})[_0xade4('0x12')](respondWithResult(_0x4d1bdd,null))['catch'](handleError(_0x4d1bdd,null));};exports['addImap']=function(_0x9639a2,_0x3e85ed){if(_0x9639a2['body']['id']){delete _0x9639a2['body']['id'];}return db['MailAccount'][_0xade4('0x54')]({'where':{'id':_0x9639a2[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x3e85ed,null))[_0xade4('0x12')](function(_0x3b6044){if(_0x3b6044){_0x9639a2[_0xade4('0x55')][_0xade4('0x5a')]=_0x3b6044['id'];return db['MailServerIn'][_0xade4('0x5f')](_0x9639a2[_0xade4('0x55')]);}})[_0xade4('0x12')](respondWithResult(_0x3e85ed,null))[_0xade4('0x1c')](handleError(_0x3e85ed,null));};exports[_0xade4('0x76')]=function(_0x216a5a,_0x22c285){return db[_0xade4('0x33')][_0xade4('0x60')]({'where':{'id':_0x216a5a[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x22c285,null))[_0xade4('0x12')](function(_0x3d3699){if(_0x3d3699){return _0x3d3699[_0xade4('0x77')](null);}return null;})[_0xade4('0x12')](respondWithStatusCode(_0x22c285,null))[_0xade4('0x1c')](handleError(_0x22c285,null));};exports[_0xade4('0x78')]=function(_0x535796,_0x50f704){return db[_0xade4('0x33')][_0xade4('0x60')]({'where':{'id':_0x535796[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x50f704,null))[_0xade4('0x12')](function(_0x326e58){if(_0x326e58){return _0x326e58[_0xade4('0x78')]();}return null;})[_0xade4('0x12')](respondWithResult(_0x50f704,null))[_0xade4('0x1c')](handleError(_0x50f704,null));};exports[_0xade4('0x79')]=function(_0x5b4d1a,_0xa098f0){if(_0x5b4d1a[_0xade4('0x55')]['id']){delete _0x5b4d1a['body']['id'];}return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x5b4d1a[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0xa098f0,null))[_0xade4('0x12')](function(_0x3f7363){if(_0x3f7363){_0x5b4d1a['body'][_0xade4('0x5a')]=_0x3f7363['id'];return db[_0xade4('0x51')][_0xade4('0x5f')](_0x5b4d1a[_0xade4('0x55')]);}})['then'](respondWithResult(_0xa098f0,null))[_0xade4('0x1c')](handleError(_0xa098f0,null));};exports['removeSmtp']=function(_0x38ccc2,_0x2bb96f){return db[_0xade4('0x33')]['findOne']({'where':{'id':_0x38ccc2['params']['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x2bb96f,null))[_0xade4('0x12')](function(_0x45ff3f){if(_0x45ff3f){return _0x45ff3f['setSmtp'](null);}return null;})[_0xade4('0x12')](respondWithStatusCode(_0x2bb96f,null))['catch'](handleError(_0x2bb96f,null));};exports[_0xade4('0x7a')]=function(_0x311a90,_0xb19723){return db[_0xade4('0x7b')][_0xade4('0x54')]({'where':{'id':_0x311a90[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0xb19723,null))['then'](function(_0xf0dec1){if(_0xf0dec1){return _0xf0dec1[_0xade4('0x7a')](_0x311a90[_0xade4('0x55')]['ids'],_[_0xade4('0x7c')](_0x311a90[_0xade4('0x55')],['ids','id'])||{});}})[_0xade4('0x12')](respondWithResult(_0xb19723,null))['catch'](handleError(_0xb19723,null));};exports[_0xade4('0x7d')]=function(_0xd5f414,_0x3e5311){var _0x35c97c={'raw':![],'where':{}};var _0x29f889={};var _0x2c45d1={'count':0x0,'rows':[]};return db['MailAccount'][_0xade4('0x60')]({'where':{'id':_0xd5f414[_0xade4('0x4f')]['id']}})['then'](handleEntityNotFound(_0x3e5311,null))[_0xade4('0x12')](function(_0xfa457b){if(_0xfa457b){_0x29f889[_0xade4('0x38')]=_[_0xade4('0x3a')](db[_0xade4('0x7b')][_0xade4('0x34')]);_0x29f889[_0xade4('0x39')]=_[_0xade4('0x3a')](_0xd5f414[_0xade4('0x39')]);_0x29f889[_0xade4('0x3b')]=_[_0xade4('0x3d')](_0x29f889['model'],_0x29f889[_0xade4('0x39')]);_0x35c97c[_0xade4('0x3c')]=_[_0xade4('0x3d')](_0x29f889[_0xade4('0x38')],qs[_0xade4('0x3e')](_0xd5f414[_0xade4('0x39')][_0xade4('0x3e')]));_0x35c97c['attributes']=_0x35c97c[_0xade4('0x3c')][_0xade4('0x3f')]?_0x35c97c[_0xade4('0x3c')]:_0x29f889['model'];if(!_0xd5f414[_0xade4('0x39')][_0xade4('0x40')](_0xade4('0x41'))){_0x35c97c['limit']=qs[_0xade4('0x23')](_0xd5f414[_0xade4('0x39')][_0xade4('0x23')]);_0x35c97c[_0xade4('0x21')]=qs['offset'](_0xd5f414[_0xade4('0x39')][_0xade4('0x21')]);}_0x35c97c[_0xade4('0x42')]=qs[_0xade4('0x43')](_0xd5f414[_0xade4('0x39')][_0xade4('0x43')]);_0x35c97c[_0xade4('0x44')]=qs[_0xade4('0x3b')](_['pick'](_0xd5f414[_0xade4('0x39')],_0x29f889[_0xade4('0x3b')]));_0x35c97c['where'][_0xade4('0x5a')]=_0xfa457b['id'];if(_0xd5f414['query'][_0xade4('0x46')]){_0x35c97c[_0xade4('0x44')]=_[_0xade4('0x47')](_0x35c97c[_0xade4('0x44')],{'$or':_['map'](_0x35c97c[_0xade4('0x3c')],function(_0x216ad4){var _0x135f15={};_0x135f15[_0x216ad4]={'$like':'%'+_0xd5f414[_0xade4('0x39')]['filter']+'%'};return _0x135f15;})});}_0x35c97c=_[_0xade4('0x47')]({},_0x35c97c,_0xd5f414[_0xade4('0x49')]);return db['MailInteraction']['count']({'where':_0x35c97c[_0xade4('0x44')]})[_0xade4('0x12')](function(_0x5a1d6b){_0x2c45d1[_0xade4('0x24')]=_0x5a1d6b;if(_0xd5f414[_0xade4('0x39')]['includeAll']){_0x35c97c[_0xade4('0x4b')]=[{'model':db[_0xade4('0x7e')],'as':'Contact','required':![]},{'model':db[_0xade4('0x7f')],'as':_0xade4('0x80'),'attributes':[_0xade4('0x2d'),'fullname',_0xade4('0x81')],'required':![]},{'model':db['Tag'],'as':_0xade4('0x82'),'attributes':['id',_0xade4('0x2d'),'color'],'where':_0xd5f414[_0xade4('0x39')]['tag']?{'id':_0xd5f414[_0xade4('0x39')][_0xade4('0x83')]}:undefined,'required':_0xd5f414['query'][_0xade4('0x83')]?!![]:![]}];}return db[_0xade4('0x7b')][_0xade4('0x4c')](_0x35c97c);})[_0xade4('0x12')](function(_0x2bf6fd){_0x2c45d1[_0xade4('0x4d')]=_0x2bf6fd;return _0x2c45d1;});}})[_0xade4('0x12')](respondWithFilteredResult(_0x3e5311,_0x35c97c))[_0xade4('0x1c')](handleError(_0x3e5311,null));};exports[_0xade4('0x84')]=function addApplications(_0x561704,_0x5b36d5){var _0x41a43e=_0x561704[_0xade4('0x4f')]['id'];var _0x42cd68=_0x561704[_0xade4('0x55')];var _0x28176b=0xc8;var _0x484798=null;return db[_0xade4('0x85')][_0xade4('0x86')]({'isolationLevel':db[_0xade4('0x85')]['Transaction']['ISOLATION_LEVELS'][_0xade4('0x87')]},function(_0x249023){return db[_0xade4('0x33')][_0xade4('0x60')]({'where':{'id':_0x41a43e},'transaction':_0x249023})['then'](function(_0xf7f437){if(_0xf7f437){return db[_0xade4('0x88')][_0xade4('0x28')]({'where':{'MailAccountId':_0x41a43e},'transaction':_0x249023})[_0xade4('0x12')](function(){var _0x4fbcb6=_[_0xade4('0x32')](_0x42cd68,function(_0x286b03){_0x286b03[_0xade4('0x5a')]=_0x41a43e;return _0x286b03;});return db[_0xade4('0x88')][_0xade4('0x89')](_0x4fbcb6,{'transaction':_0x249023});});}else{_0x28176b=0x194;_0x484798=[];}});})['then'](function(){if(_0x28176b!==0x194){return db[_0xade4('0x88')][_0xade4('0x8a')]({'where':{'MailAccountId':_0x41a43e},'order':_0xade4('0x8b')})['then'](function(_0x4f2121){_0x484798=_0x4f2121;});}})['catch'](function(_0x334782){_0x28176b=0x1f4;logger[_0xade4('0x18')](_0x334782[_0xade4('0x2c')]);if(_0x334782['name']){delete _0x334782[_0xade4('0x2d')];}_0x484798=_0x334782;})[_0xade4('0x8c')](function(){if(_0x484798===null){_0x5b36d5['sendStatus'](_0x28176b);}else{if(_0x28176b===0x1f4){_0x5b36d5['status'](_0x28176b)[_0xade4('0x2e')](_0x484798);}else{_0x5b36d5['status'](_0x28176b)['json'](_0x484798);}}});};exports[_0xade4('0x8d')]=function(_0x7119f2,_0x2c5fdf){var _0x52d8e5={};var _0xf11c5f={};var _0x2aaf3a;var _0x42f90a;return db['MailAccount'][_0xade4('0x60')]({'where':{'id':_0x7119f2[_0xade4('0x4f')]['id']}})['then'](handleEntityNotFound(_0x2c5fdf,null))[_0xade4('0x12')](function(_0x27fd3a){if(_0x27fd3a){_0x2aaf3a=_0x27fd3a;_0xf11c5f[_0xade4('0x38')]=_['keys'](db['MailApplication'][_0xade4('0x34')]);_0xf11c5f[_0xade4('0x39')]=_[_0xade4('0x3a')](_0x7119f2[_0xade4('0x39')]);_0xf11c5f[_0xade4('0x3b')]=_[_0xade4('0x3d')](_0xf11c5f[_0xade4('0x38')],_0xf11c5f[_0xade4('0x39')]);_0x52d8e5['attributes']=_['intersection'](_0xf11c5f[_0xade4('0x38')],qs['fields'](_0x7119f2['query'][_0xade4('0x3e')]));_0x52d8e5[_0xade4('0x3c')]=_0x52d8e5[_0xade4('0x3c')][_0xade4('0x3f')]?_0x52d8e5[_0xade4('0x3c')]:_0xf11c5f[_0xade4('0x38')];_0x52d8e5[_0xade4('0x42')]=qs[_0xade4('0x43')](_0x7119f2['query'][_0xade4('0x43')]);_0x52d8e5[_0xade4('0x44')]=qs[_0xade4('0x3b')](_[_0xade4('0x45')](_0x7119f2[_0xade4('0x39')],_0xf11c5f['filters']));if(_0x7119f2['query']['filter']){_0x52d8e5[_0xade4('0x44')]=_[_0xade4('0x47')](_0x52d8e5[_0xade4('0x44')],{'$or':_[_0xade4('0x32')](_0x52d8e5[_0xade4('0x3c')],function(_0x2544f1){var _0x1d2be4={};_0x1d2be4[_0x2544f1]={'$like':'%'+_0x7119f2[_0xade4('0x39')][_0xade4('0x46')]+'%'};return _0x1d2be4;})});}_0x52d8e5=_['merge']({},_0x52d8e5,_0x7119f2[_0xade4('0x49')]);return _0x2aaf3a[_0xade4('0x8d')](_0x52d8e5);}})[_0xade4('0x12')](function(_0x29e7c8){if(_0x29e7c8){_0x42f90a=_0x29e7c8['length'];if(!_0x7119f2['query']['hasOwnProperty'](_0xade4('0x41'))){_0x52d8e5[_0xade4('0x23')]=qs[_0xade4('0x23')](_0x7119f2[_0xade4('0x39')][_0xade4('0x23')]);_0x52d8e5[_0xade4('0x21')]=qs[_0xade4('0x21')](_0x7119f2[_0xade4('0x39')]['offset']);}return _0x2aaf3a['getApplications'](_0x52d8e5);}})[_0xade4('0x12')](function(_0x24d0b6){if(_0x24d0b6){return _0x24d0b6?{'count':_0x42f90a,'rows':_0x24d0b6}:null;}})['then'](respondWithResult(_0x2c5fdf,null))[_0xade4('0x1c')](handleError(_0x2c5fdf,null));};exports['getMessages']=function(_0x117d78,_0xf5dad6){var _0x35f56a={'raw':!![],'where':{}};var _0x4b47e7={};var _0x1817d6={'count':0x0,'rows':[]};return db['MailAccount'][_0xade4('0x60')]({'where':{'id':_0x117d78[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0xf5dad6,null))[_0xade4('0x12')](function(_0x19836b){if(_0x19836b){_0x4b47e7[_0xade4('0x38')]=_['keys'](db[_0xade4('0x8e')][_0xade4('0x34')]);_0x4b47e7[_0xade4('0x39')]=_['keys'](_0x117d78[_0xade4('0x39')]);_0x4b47e7[_0xade4('0x3b')]=_[_0xade4('0x3d')](_0x4b47e7[_0xade4('0x38')],_0x4b47e7['query']);_0x35f56a[_0xade4('0x3c')]=_[_0xade4('0x3d')](_0x4b47e7['model'],qs[_0xade4('0x3e')](_0x117d78[_0xade4('0x39')]['fields']));_0x35f56a[_0xade4('0x3c')]=_0x35f56a[_0xade4('0x3c')][_0xade4('0x3f')]?_0x35f56a['attributes']:_0x4b47e7[_0xade4('0x38')];if(!_0x117d78[_0xade4('0x39')]['hasOwnProperty'](_0xade4('0x41'))){_0x35f56a['limit']=qs[_0xade4('0x23')](_0x117d78[_0xade4('0x39')][_0xade4('0x23')]);_0x35f56a[_0xade4('0x21')]=qs[_0xade4('0x21')](_0x117d78[_0xade4('0x39')][_0xade4('0x21')]);}_0x35f56a[_0xade4('0x42')]=qs[_0xade4('0x43')](_0x117d78[_0xade4('0x39')][_0xade4('0x43')]);_0x35f56a['where']=qs[_0xade4('0x3b')](_[_0xade4('0x45')](_0x117d78['query'],_0x4b47e7['filters']));_0x35f56a[_0xade4('0x44')][_0xade4('0x5a')]=_0x19836b['id'];if(_0x117d78[_0xade4('0x39')][_0xade4('0x46')]){_0x35f56a[_0xade4('0x44')]=_['merge'](_0x35f56a[_0xade4('0x44')],{'$or':_[_0xade4('0x32')](_0x35f56a['attributes'],function(_0x1187a4){var _0x41f6d4={};_0x41f6d4[_0x1187a4]={'$like':'%'+_0x117d78[_0xade4('0x39')]['filter']+'%'};return _0x41f6d4;})});}if(_0x117d78[_0xade4('0x39')][_0xade4('0x8f')]){var _0x53f0ff=_0x117d78[_0xade4('0x39')][_0xade4('0x8f')][_0xade4('0x90')](',');var _0x3dfd60={};_0x3dfd60[_0x53f0ff[0x0]]={'$gte':moment(_0x53f0ff[0x1])[_0xade4('0x91')](_0xade4('0x92'))};_0x35f56a['where']=_[_0xade4('0x47')](_0x35f56a[_0xade4('0x44')],_0x3dfd60);}_0x35f56a=_[_0xade4('0x47')]({},_0x35f56a,_0x117d78['options']);return db[_0xade4('0x8e')]['count']({'where':_0x35f56a[_0xade4('0x44')]})[_0xade4('0x12')](function(_0xc4f75c){_0x1817d6[_0xade4('0x24')]=_0xc4f75c;if(_0x117d78[_0xade4('0x39')]['includeAll']){_0x35f56a['include']=[{'all':!![]}];}return db['MailMessage'][_0xade4('0x4c')](_0x35f56a);})[_0xade4('0x12')](function(_0x54fe23){if(_0x117d78[_0xade4('0x39')]['inlineCss']===_0xade4('0x93')){for(var _0x25a724=0x0;_0x25a724<_0x54fe23['length'];_0x25a724++){_0x54fe23[_0x25a724]['body']=juice(_0x54fe23[_0x25a724][_0xade4('0x55')]);}}_0x1817d6[_0xade4('0x4d')]=_0x54fe23;return _0x1817d6;});}})[_0xade4('0x12')](respondWithFilteredResult(_0xf5dad6,_0x35f56a))[_0xade4('0x1c')](handleError(_0xf5dad6,null));};exports[_0xade4('0x2e')]=function(_0x4b5cee,_0x4481fb){var _0x1058a7,_0x4ceaeb={},_0x3da7df;if(_0x4b5cee[_0xade4('0x55')]['to']){_0x3da7df=_0x4b5cee[_0xade4('0x55')]['to'][_0xade4('0x90')](',')[0x0];}return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x4b5cee[_0xade4('0x4f')]['id']},'include':[{'model':db[_0xade4('0x94')],'as':_0xade4('0x95'),'include':[{'model':db[_0xade4('0x7e')],'as':'Contacts','where':{'email':_0x3da7df},'limit':0x1,'order':[['updatedAt',_0xade4('0x96')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})[_0xade4('0x12')](handleEntityNotFound(_0x4481fb,null))[_0xade4('0x12')](function(_0x3c8b34){if(_0x3c8b34){_0x1058a7=_0x3c8b34;if(_0x3c8b34[_0xade4('0x31')]){if(_[_0xade4('0x67')](_0x4b5cee['body']['from'])){_0x4b5cee[_0xade4('0x55')][_0xade4('0x97')]=util[_0xade4('0x91')]('%s\x20<%s>',_0x3c8b34['name'],_0x3c8b34['email']||_0x3c8b34['Smtp'][_0xade4('0x6a')]);}if(_0x4b5cee[_0xade4('0x55')][_0xade4('0x98')]&&_0x4b5cee[_0xade4('0x55')][_0xade4('0x98')]['length']){for(var _0x4ec822=0x0;_0x4ec822<_0x4b5cee[_0xade4('0x55')]['attachments'][_0xade4('0x3f')];_0x4ec822+=0x1){_0x4b5cee[_0xade4('0x55')]['attachments'][_0x4ec822]={'filename':_0x4b5cee['body'][_0xade4('0x98')][_0x4ec822][_0xade4('0x2d')],'path':path[_0xade4('0x99')](config[_0xade4('0x9a')],_0xade4('0x9b'),_0x4b5cee[_0xade4('0x55')][_0xade4('0x98')][_0x4ec822][_0xade4('0x9c')])};}}var _0x15e695={'tls':{'rejectUnauthorized':![]}};if(_[_0xade4('0x67')](_0x3c8b34[_0xade4('0x31')][_0xade4('0x6e')])){if(_0x3c8b34['Smtp'][_0xade4('0x71')]){_0x15e695[_0xade4('0x9d')]={'user':_0x3c8b34[_0xade4('0x31')][_0xade4('0x6a')],'pass':_0x3c8b34[_0xade4('0x31')][_0xade4('0x6c')]};}_0x15e695[_0xade4('0x6f')]=_0x3c8b34[_0xade4('0x31')]['host'];_0x15e695['port']=_0x3c8b34['Smtp'][_0xade4('0x70')];_0x15e695[_0xade4('0x9e')]=_0x3c8b34['Smtp'][_0xade4('0x9e')];}else{_0x15e695['service']=_0x3c8b34[_0xade4('0x31')][_0xade4('0x6e')];_0x15e695[_0xade4('0x9d')]={'user':_0x3c8b34['Smtp'][_0xade4('0x6a')],'pass':_0x3c8b34['Smtp']['pass']};}return respondWithRpcPromise('SendMail',_0xade4('0x9f'),{'account':_0x15e695,'message':_0x4b5cee[_0xade4('0x55')]});}else{throw new Error('List\x20not\x20found');}}})[_0xade4('0x12')](function(_0x430ba2){if(_0x430ba2){_0x4ceaeb=_0x430ba2;if(_0x1058a7[_0xade4('0x95')]){if(_0x1058a7[_0xade4('0x95')][_0xade4('0xa0')]['length']){return _0x1058a7[_0xade4('0x95')][_0xade4('0xa0')][0x0];}else{return db[_0xade4('0x7e')][_0xade4('0x5f')](_[_0xade4('0xa1')](_0x4b5cee[_0xade4('0x55')],{'firstName':_0x4b5cee[_0xade4('0x55')]['to'],'email':_0x4b5cee[_0xade4('0x55')]['to'],'phone':_0x4b5cee[_0xade4('0x55')]['to'],'ListId':_0x1058a7['ListId']}));}}else{throw new Error(_0xade4('0xa2'));}}})[_0xade4('0x12')](function(_0x83cde2){if(_0x83cde2){var _0x5e5650={'UserId':_0x4b5cee[_0xade4('0x6a')]['id'],'ContactId':_0x83cde2['id'],'MailAccountId':_0x1058a7['id'],'inReplyTo':_0x4ceaeb[_0xade4('0xa3')],'to':_0x4b5cee[_0xade4('0x55')]['from'],'cc':_0x4b5cee['body']['cc'],'subject':_0x4b5cee[_0xade4('0x55')][_0xade4('0xa4')],'attach':_0x4b5cee[_0xade4('0x55')][_0xade4('0xa5')],'firstMsgDirection':_0xade4('0xa6'),'lastMsgAt':moment()[_0xade4('0x91')](_0xade4('0x92')),'lastMsgDirection':'out','Messages':[_[_0xade4('0x47')](_0x4b5cee['body'],{'messageId':_0x4ceaeb[_0xade4('0xa3')],'sentAt':moment()['format'](_0xade4('0x92')),'read':!![],'MailAccountId':_0x1058a7['id'],'UserId':_0x4b5cee['user']['id'],'ContactId':_0x83cde2['id']})]};if(_0x4b5cee[_0xade4('0x55')][_0xade4('0xa7')]){_0x5e5650=_['merge'](_0x5e5650,_0x4b5cee['body'][_0xade4('0xa7')]);}return db[_0xade4('0x7b')][_0xade4('0x5f')](_0x5e5650,{'include':[{'model':db[_0xade4('0x8e')],'as':_0xade4('0xa8')}]});}})['then'](respondWithResult(_0x4481fb,null))[_0xade4('0x1c')](handleError(_0x4481fb,null));};exports[_0xade4('0xa9')]=function(_0x342f70,_0x561730){return db['MailAccount'][_0xade4('0x54')]({'where':{'id':_0x342f70[_0xade4('0x4f')]['id']},'include':[{'model':db[_0xade4('0x51')],'as':_0xade4('0x31'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xade4('0xaa'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x561730,null))[_0xade4('0x12')](function(_0x2f2bb6){if(!_0x2f2bb6[_0xade4('0x31')])return;var _0x57fe29={'id':_0x2f2bb6['id'],'tls':{'rejectUnauthorized':![]}};if(_0x2f2bb6[_0xade4('0x63')]!=='custom'){_0x57fe29['service']=_0x2f2bb6[_0xade4('0x63')];}else{_0x57fe29[_0xade4('0x6f')]=_0x2f2bb6[_0xade4('0x31')][_0xade4('0x6f')];_0x57fe29[_0xade4('0x70')]=_0x2f2bb6[_0xade4('0x31')][_0xade4('0x70')];_0x57fe29[_0xade4('0x9e')]=_0x2f2bb6[_0xade4('0x31')]['secure'];}if(_0x2f2bb6['Smtp'][_0xade4('0x71')]){if(_0x2f2bb6['Smtp'][_0xade4('0x56')]){_0x57fe29[_0xade4('0x9d')]={'type':_0xade4('0xab'),'user':_0x2f2bb6[_0xade4('0x31')][_0xade4('0x6a')],'accessToken':_0x2f2bb6[_0xade4('0x31')][_0xade4('0xaa')][_0xade4('0xac')]};}else{_0x57fe29['auth']={'user':_0x2f2bb6[_0xade4('0x31')][_0xade4('0x6a')],'pass':_0x2f2bb6['Smtp'][_0xade4('0x6c')]};}}return respondWithRpcPromise(_0xade4('0xad'),'verifySmtp',{'account':_0x57fe29});})[_0xade4('0x12')](respondWithResult(_0x561730,null))[_0xade4('0x1c')](handleError(_0x561730,null));};exports[_0xade4('0x28')]=function(_0x4aa492,_0x409716){return db[_0xade4('0x33')]['find']({'where':{'id':_0x4aa492[_0xade4('0x4f')]['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x409716,null))[_0xade4('0x12')](function(_0x93649b){if(_0x93649b&&_0x93649b[_0xade4('0x6e')]){throw new db[(_0xade4('0xae'))][(_0xade4('0xaf'))](_0xade4('0xb0'));}return _0x93649b;})['then'](removeEntity(_0x409716,null))[_0xade4('0x1c')](handleError(_0x409716,null));};exports[_0xade4('0xb1')]=function(_0x27f05d,_0x12b3a6){return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x27f05d['params']['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x12b3a6,null))[_0xade4('0x12')](function(_0x5c9d47){if(_0x5c9d47){return _0x5c9d47[_0xade4('0xb1')](_0x27f05d['body'][_0xade4('0x5d')],_[_0xade4('0x7c')](_0x27f05d['body'],['ids','id'])||{})[_0xade4('0xb2')](function(_0x4da7df){for(var _0x30c213=0x0;_0x30c213<_0x27f05d[_0xade4('0x55')][_0xade4('0x5d')][_0xade4('0x3f')];_0x30c213+=0x1){socket[_0xade4('0xb3')]('userMailAccount:save',{'UserId':Number(_0x27f05d['body'][_0xade4('0x5d')][_0x30c213]),'MailAccountId':Number(_0x27f05d['params']['id'])});}return _0x4da7df;});}})['then'](respondWithResult(_0x12b3a6,null))[_0xade4('0x1c')](handleError(_0x12b3a6,null));};exports[_0xade4('0xb4')]=function(_0x45f3bd,_0x153348){return db[_0xade4('0x33')][_0xade4('0x54')]({'where':{'id':_0x45f3bd['params']['id']}})[_0xade4('0x12')](handleEntityNotFound(_0x153348,null))['then'](function(_0x1bad68){if(_0x1bad68){return _0x1bad68[_0xade4('0xb4')](_0x45f3bd[_0xade4('0x39')][_0xade4('0x5d')])[_0xade4('0x12')](function(){if(_[_0xade4('0xb5')](_0x45f3bd[_0xade4('0x39')][_0xade4('0x5d')])){for(var _0x5d1421=0x0;_0x5d1421<_0x45f3bd[_0xade4('0x39')][_0xade4('0x5d')][_0xade4('0x3f')];_0x5d1421+=0x1){socket['emit'](_0xade4('0xb6'),{'UserId':Number(_0x45f3bd[_0xade4('0x39')]['ids'][_0x5d1421]),'MailAccountId':Number(_0x45f3bd[_0xade4('0x4f')]['id'])});}}else{socket['emit'](_0xade4('0xb6'),{'UserId':Number(_0x45f3bd[_0xade4('0x39')]['ids']),'MailAccountId':Number(_0x45f3bd[_0xade4('0x4f')]['id'])});}});}})[_0xade4('0x12')](respondWithStatusCode(_0x153348,null))['catch'](handleError(_0x153348,null));};exports[_0xade4('0xb7')]=function(_0x10cfab,_0xeca58a){var _0x51e93a={};var _0x158da3={};var _0x44875d;var _0x4370e0;return db[_0xade4('0x33')][_0xade4('0x60')]({'where':{'id':_0x10cfab['params']['id']}})[_0xade4('0x12')](handleEntityNotFound(_0xeca58a,null))[_0xade4('0x12')](function(_0x38cc1c){if(_0x38cc1c){_0x44875d=_0x38cc1c;_0x158da3[_0xade4('0x38')]=_['keys'](db['User'][_0xade4('0x34')]);_0x158da3[_0xade4('0x39')]=_['keys'](_0x10cfab[_0xade4('0x39')]);_0x158da3[_0xade4('0x3b')]=_[_0xade4('0x3d')](_0x158da3[_0xade4('0x38')],_0x158da3[_0xade4('0x39')]);_0x51e93a['attributes']=_[_0xade4('0x3d')](_0x158da3[_0xade4('0x38')],qs[_0xade4('0x3e')](_0x10cfab['query']['fields']));_0x51e93a[_0xade4('0x3c')]=_0x51e93a[_0xade4('0x3c')][_0xade4('0x3f')]?_0x51e93a[_0xade4('0x3c')]:_0x158da3['model'];_0x51e93a[_0xade4('0x42')]=qs[_0xade4('0x43')](_0x10cfab[_0xade4('0x39')]['sort']);_0x51e93a['where']=qs[_0xade4('0x3b')](_['pick'](_0x10cfab[_0xade4('0x39')],_0x158da3['filters']));if(_0x10cfab[_0xade4('0x39')][_0xade4('0x46')]){_0x51e93a[_0xade4('0x44')]=_[_0xade4('0x47')](_0x51e93a[_0xade4('0x44')],{'$or':_[_0xade4('0x32')](_0x51e93a[_0xade4('0x3c')],function(_0x1b669a){var _0x137b20={};_0x137b20[_0x1b669a]={'$like':'%'+_0x10cfab[_0xade4('0x39')]['filter']+'%'};return _0x137b20;})});}_0x51e93a=_[_0xade4('0x47')]({},_0x51e93a,_0x10cfab[_0xade4('0x49')]);return _0x44875d[_0xade4('0xb7')](_0x51e93a);}})[_0xade4('0x12')](function(_0x334a02){if(_0x334a02){_0x4370e0=_0x334a02[_0xade4('0x3f')];if(!_0x10cfab[_0xade4('0x39')][_0xade4('0x40')](_0xade4('0x41'))){_0x51e93a['limit']=qs[_0xade4('0x23')](_0x10cfab[_0xade4('0x39')][_0xade4('0x23')]);_0x51e93a[_0xade4('0x21')]=qs[_0xade4('0x21')](_0x10cfab[_0xade4('0x39')][_0xade4('0x21')]);}return _0x44875d[_0xade4('0xb7')](_0x51e93a);}})[_0xade4('0x12')](function(_0x3b5faf){if(_0x3b5faf){return _0x3b5faf?{'count':_0x4370e0,'rows':_0x3b5faf}:null;}})[_0xade4('0x12')](respondWithResult(_0xeca58a,null))[_0xade4('0x1c')](handleError(_0xeca58a,null));};