Built motion from commit 355702c8.|2.5.41
[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 _0x3cb8=['name','status','MailServerIn','Imap','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','MailAccount','findAll','rows','show','params','MailServerOut','Smtp','intersection','includeAll','include','find','update','body','modernAuthentication','CloudProviderId','describe','MailAccountId','create','getDispositions','findOne','Disposition','removeDispositions','addAnswer','CannedAnswer','getAnswers','ids','email','ListId','isNil','active','user','username','pass','service','host','port','authentication','password','get','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','options','CmContact','Contact','User','Tag','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','MailApplication','bulkCreate','findAndCountAll','finally','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','send','CmList','List','Contacts','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','auth','secure','SendMail','sendMail','List\x20not\x20found','subject','attach','out','Messages','verifySmtp','CloudProvider','provider','custom','OAuth2','data5','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','moment','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','client','http','request','then','MailAccount,\x20%s,\x20%s','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','catch','sendStatus','json','offset','undefined','count','set','Content-Range','UserProfileResource','destroy','stack'];(function(_0x243cca,_0x514c2d){var _0xf94771=function(_0x42d3de){while(--_0x42d3de){_0x243cca['push'](_0x243cca['shift']());}};_0xf94771(++_0x514c2d);}(_0x3cb8,0x8e));var _0x83cb=function(_0x136a5f,_0x10ce37){_0x136a5f=_0x136a5f-0x0;var _0x3f645d=_0x3cb8[_0x136a5f];return _0x3f645d;};'use strict';var moment=require(_0x83cb('0x0'));var BPromise=require('bluebird');var util=require(_0x83cb('0x1'));var path=require(_0x83cb('0x2'));var _=require(_0x83cb('0x3'));var juice=require('juice');var Redis=require(_0x83cb('0x4'));var qs=require(_0x83cb('0x5'));var logger=require(_0x83cb('0x6'))(_0x83cb('0x7'));var config=require(_0x83cb('0x8'));var db=require(_0x83cb('0x9'))['db'];config[_0x83cb('0xa')]=_[_0x83cb('0xb')](config[_0x83cb('0xa')],{'host':_0x83cb('0xc'),'port':0x18eb});var socket=require(_0x83cb('0xd'))(new Redis(config['redis']));require('./mailAccount.socket')[_0x83cb('0xe')](socket);var jayson=require('jayson/promise');var client=jayson[_0x83cb('0xf')][_0x83cb('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x35ad7b,_0xb87e95,_0x48a0fd,_0x217d58){return new BPromise(function(_0x196ad6,_0x106d41){var _0x5ce326=_0x217d58||client;return _0x5ce326[_0x83cb('0x11')](_0x35ad7b,_0x48a0fd)[_0x83cb('0x12')](function(_0x26120c){logger['info'](_0x83cb('0x13'),_0xb87e95,'request\x20sent');logger['debug'](_0x83cb('0x14'),_0xb87e95,_0x83cb('0x15'),JSON[_0x83cb('0x16')](_0x26120c));if(_0x26120c['error']){if(_0x26120c[_0x83cb('0x17')][_0x83cb('0x18')]===0x1f4){logger['error'](_0x83cb('0x13'),_0xb87e95,_0x26120c['error'][_0x83cb('0x19')]);return _0x106d41(_0x26120c[_0x83cb('0x17')][_0x83cb('0x19')]);}logger[_0x83cb('0x17')](_0x83cb('0x13'),_0xb87e95,_0x26120c['error'][_0x83cb('0x19')]);return _0x196ad6(_0x26120c['error'][_0x83cb('0x19')]);}else{logger[_0x83cb('0x1a')]('MailAccount,\x20%s,\x20%s',_0xb87e95,_0x83cb('0x15'));_0x196ad6(_0x26120c['result'][_0x83cb('0x19')]);}})[_0x83cb('0x1b')](function(_0x34f315){logger[_0x83cb('0x17')](_0x83cb('0x13'),_0xb87e95,_0x34f315);_0x106d41(_0x34f315);});});}function respondWithStatusCode(_0xe487d1,_0x1417d0){_0x1417d0=_0x1417d0||0xcc;return function(_0x50d08d){if(_0x50d08d){return _0xe487d1[_0x83cb('0x1c')](_0x1417d0);}return _0xe487d1['status'](_0x1417d0)['end']();};}function respondWithResult(_0x44727e,_0x28fff5){_0x28fff5=_0x28fff5||0xc8;return function(_0x515afc){if(_0x515afc){return _0x44727e['status'](_0x28fff5)[_0x83cb('0x1d')](_0x515afc);}};}function respondWithFilteredResult(_0x1ee08d,_0x1a85f7){return function(_0x187857){if(_0x187857){var _0x26a0b3=typeof _0x1a85f7[_0x83cb('0x1e')]==='undefined'&&typeof _0x1a85f7['limit']===_0x83cb('0x1f');var _0x50b82d=_0x187857[_0x83cb('0x20')];var _0x57fccd=_0x26a0b3?0x0:_0x1a85f7[_0x83cb('0x1e')];var _0x1e7136=_0x26a0b3?_0x187857[_0x83cb('0x20')]:_0x1a85f7['offset']+_0x1a85f7['limit'];var _0x31e454;if(_0x1e7136>=_0x50b82d){_0x1e7136=_0x50b82d;_0x31e454=0xc8;}else{_0x31e454=0xce;}_0x1ee08d['status'](_0x31e454);return _0x1ee08d[_0x83cb('0x21')](_0x83cb('0x22'),_0x57fccd+'-'+_0x1e7136+'/'+_0x50b82d)[_0x83cb('0x1d')](_0x187857);}return null;};}function saveUpdates(_0xe2b396){return function(_0x2f7861){if(_0x2f7861){return _0x2f7861['update'](_0xe2b396)[_0x83cb('0x12')](function(_0xb3ac6e){return _0xb3ac6e;});}return null;};}function removeEntity(_0x4cba1d){return function(_0x42b005){if(_0x42b005){return _0x42b005['destroy']()[_0x83cb('0x12')](function(){var _0x41c76e=_0x42b005['get']({'plain':!![]});var _0x5d3b56='MailAccounts';return db[_0x83cb('0x23')][_0x83cb('0x24')]({'where':{'type':_0x5d3b56,'resourceId':_0x41c76e['id']}})[_0x83cb('0x12')](function(){return _0x42b005;});})[_0x83cb('0x12')](function(){_0x4cba1d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x98c4a6){return function(_0x26783c){if(!_0x26783c){_0x98c4a6[_0x83cb('0x1c')](0x194);}return _0x26783c;};}function handleError(_0x201873,_0x96d04d){_0x96d04d=_0x96d04d||0x1f4;return function(_0x5c63a9){logger[_0x83cb('0x17')](_0x5c63a9[_0x83cb('0x25')]);if(_0x5c63a9['name']){delete _0x5c63a9[_0x83cb('0x26')];}_0x201873[_0x83cb('0x27')](_0x96d04d)['send'](_0x5c63a9);};}exports['index']=function(_0x4ad62f,_0x5f33f6){var _0x29f500={'include':[{'model':db[_0x83cb('0x28')],'as':_0x83cb('0x29')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':_0x83cb('0x2a')}]},_0x4c8f8a={},_0x16a305={'count':0x0,'rows':[]};var _0x4f2c24=_[_0x83cb('0x2b')](db['MailAccount'][_0x83cb('0x2c')],function(_0x16afb6){return{'name':_0x16afb6[_0x83cb('0x2d')],'type':_0x16afb6[_0x83cb('0x2e')][_0x83cb('0x2f')]};});_0x4c8f8a[_0x83cb('0x30')]=_[_0x83cb('0x2b')](_0x4f2c24,_0x83cb('0x26'));_0x4c8f8a[_0x83cb('0x31')]=_[_0x83cb('0x32')](_0x4ad62f['query']);_0x4c8f8a[_0x83cb('0x33')]=_['intersection'](_0x4c8f8a[_0x83cb('0x30')],_0x4c8f8a[_0x83cb('0x31')]);_0x29f500[_0x83cb('0x34')]=_['intersection'](_0x4c8f8a[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x4ad62f[_0x83cb('0x31')][_0x83cb('0x35')]));_0x29f500['attributes']=_0x29f500['attributes'][_0x83cb('0x36')]?_0x29f500[_0x83cb('0x34')]:_0x4c8f8a[_0x83cb('0x30')];if(!_0x4ad62f['query'][_0x83cb('0x37')](_0x83cb('0x38'))){_0x29f500['limit']=qs[_0x83cb('0x39')](_0x4ad62f[_0x83cb('0x31')][_0x83cb('0x39')]);_0x29f500['offset']=qs[_0x83cb('0x1e')](_0x4ad62f[_0x83cb('0x31')]['offset']);}_0x29f500[_0x83cb('0x3a')]=qs[_0x83cb('0x3b')](_0x4ad62f[_0x83cb('0x31')]['sort']);_0x29f500[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x4ad62f[_0x83cb('0x31')],_0x4c8f8a[_0x83cb('0x33')]),_0x4f2c24);if(_0x4ad62f[_0x83cb('0x31')][_0x83cb('0x3e')]){_0x29f500[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0x29f500['where'],{'$or':_[_0x83cb('0x2b')](_0x4f2c24,function(_0x344f66){if(_0x344f66[_0x83cb('0x2e')]!==_0x83cb('0x40')){var _0x217ed4={};_0x217ed4[_0x344f66[_0x83cb('0x26')]]={'$like':'%'+_0x4ad62f[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x217ed4;}})});}_0x29f500=_[_0x83cb('0x3f')]({},_0x29f500,_0x4ad62f['options']);var _0x4a5bb8={'where':_0x29f500['where']};return db[_0x83cb('0x41')][_0x83cb('0x20')](_0x4a5bb8)[_0x83cb('0x12')](function(_0x2757ba){_0x16a305[_0x83cb('0x20')]=_0x2757ba;if(_0x4ad62f['query']['includeAll']){_0x29f500['include']=[{'all':!![]}];}return db[_0x83cb('0x41')][_0x83cb('0x42')](_0x29f500);})['then'](function(_0x13c608){_0x16a305[_0x83cb('0x43')]=_0x13c608;return _0x16a305;})[_0x83cb('0x12')](respondWithFilteredResult(_0x5f33f6,_0x29f500))['catch'](handleError(_0x5f33f6,null));};exports[_0x83cb('0x44')]=function(_0x29bc21,_0x20e8a7){var _0x8a1bb6={'raw':![],'where':{'id':_0x29bc21[_0x83cb('0x45')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x83cb('0x46')],'as':_0x83cb('0x47')},{'model':db['Pause'],'as':_0x83cb('0x2a')}]},_0x5b59db={};_0x5b59db[_0x83cb('0x30')]=_['keys'](db[_0x83cb('0x41')][_0x83cb('0x2c')]);_0x5b59db['query']=_[_0x83cb('0x32')](_0x29bc21[_0x83cb('0x31')]);_0x5b59db[_0x83cb('0x33')]=_[_0x83cb('0x48')](_0x5b59db[_0x83cb('0x30')],_0x5b59db['query']);_0x8a1bb6[_0x83cb('0x34')]=_['intersection'](_0x5b59db[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x29bc21[_0x83cb('0x31')]['fields']));_0x8a1bb6[_0x83cb('0x34')]=_0x8a1bb6[_0x83cb('0x34')][_0x83cb('0x36')]?_0x8a1bb6['attributes']:_0x5b59db[_0x83cb('0x30')];if(_0x29bc21[_0x83cb('0x31')][_0x83cb('0x49')]){_0x8a1bb6[_0x83cb('0x4a')]=[{'all':!![]}];}_0x8a1bb6=_['merge']({},_0x8a1bb6,_0x29bc21['options']);return db[_0x83cb('0x41')][_0x83cb('0x4b')](_0x8a1bb6)['then'](handleEntityNotFound(_0x20e8a7,null))[_0x83cb('0x12')](respondWithResult(_0x20e8a7,null))[_0x83cb('0x1b')](handleError(_0x20e8a7,null));};exports[_0x83cb('0x4c')]=function(_0x3d335d,_0x3e78cf){if(_0x3d335d[_0x83cb('0x4d')]['id']){delete _0x3d335d[_0x83cb('0x4d')]['id'];}if(_0x3d335d['body'][_0x83cb('0x29')]){if(!_0x3d335d[_0x83cb('0x4d')][_0x83cb('0x29')][_0x83cb('0x4e')]){_0x3d335d[_0x83cb('0x4d')]['Imap'][_0x83cb('0x4f')]=null;}}if(_0x3d335d[_0x83cb('0x4d')]['Smtp']){if(!_0x3d335d['body'][_0x83cb('0x47')][_0x83cb('0x4e')]){_0x3d335d[_0x83cb('0x4d')]['Smtp'][_0x83cb('0x4f')]=null;}}return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x3d335d[_0x83cb('0x45')]['id']},'include':[{'model':db[_0x83cb('0x28')],'as':_0x83cb('0x29')},{'model':db[_0x83cb('0x46')],'as':_0x83cb('0x47')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x83cb('0x12')](handleEntityNotFound(_0x3e78cf,null))[_0x83cb('0x12')](saveUpdates(_0x3d335d[_0x83cb('0x4d')],null))[_0x83cb('0x12')](function(_0x255f58){if(_0x255f58&&_0x3d335d[_0x83cb('0x4d')][_0x83cb('0x29')]){return db[_0x83cb('0x28')][_0x83cb('0x4c')](_0x3d335d[_0x83cb('0x4d')]['Imap'],{'where':{'MailAccountId':_0x255f58['id']}})[_0x83cb('0x12')](function(){return _0x255f58;});}return _0x255f58;})[_0x83cb('0x12')](function(_0x33d47e){if(_0x33d47e&&_0x3d335d[_0x83cb('0x4d')][_0x83cb('0x47')]){return db['MailServerOut'][_0x83cb('0x4c')](_0x3d335d[_0x83cb('0x4d')][_0x83cb('0x47')],{'where':{'MailAccountId':_0x33d47e['id']}})['then'](function(){return _0x33d47e;});}return _0x33d47e;})[_0x83cb('0x12')](respondWithResult(_0x3e78cf,null))[_0x83cb('0x1b')](handleError(_0x3e78cf,null));};exports[_0x83cb('0x50')]=function(_0x5592e0,_0x493df0){return db[_0x83cb('0x41')]['describe']()[_0x83cb('0x12')](respondWithResult(_0x493df0,null))[_0x83cb('0x1b')](handleError(_0x493df0,null));};exports['addDisposition']=function(_0x1b9418,_0x544275){if(_0x1b9418[_0x83cb('0x4d')]['id']){delete _0x1b9418[_0x83cb('0x4d')]['id'];}return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x1b9418[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x544275,null))[_0x83cb('0x12')](function(_0x1ca2dc){if(_0x1ca2dc){_0x1b9418[_0x83cb('0x4d')][_0x83cb('0x51')]=_0x1ca2dc['id'];return db['Disposition'][_0x83cb('0x52')](_0x1b9418[_0x83cb('0x4d')]);}})['then'](respondWithResult(_0x544275,null))[_0x83cb('0x1b')](handleError(_0x544275,null));};exports[_0x83cb('0x53')]=function(_0x382898,_0xc79cd1){var _0x551350={'raw':![],'where':{}};var _0x11942d={};var _0x300060={'count':0x0,'rows':[]};return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x382898['params']['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0xc79cd1,null))[_0x83cb('0x12')](function(_0x15a1d6){if(_0x15a1d6){_0x11942d[_0x83cb('0x30')]=_['keys'](db['Disposition'][_0x83cb('0x2c')]);_0x11942d[_0x83cb('0x31')]=_[_0x83cb('0x32')](_0x382898[_0x83cb('0x31')]);_0x11942d[_0x83cb('0x33')]=_['intersection'](_0x11942d[_0x83cb('0x30')],_0x11942d[_0x83cb('0x31')]);_0x551350[_0x83cb('0x34')]=_[_0x83cb('0x48')](_0x11942d[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x382898[_0x83cb('0x31')][_0x83cb('0x35')]));_0x551350['attributes']=_0x551350['attributes'][_0x83cb('0x36')]?_0x551350[_0x83cb('0x34')]:_0x11942d[_0x83cb('0x30')];if(!_0x382898['query'][_0x83cb('0x37')](_0x83cb('0x38'))){_0x551350['limit']=qs[_0x83cb('0x39')](_0x382898[_0x83cb('0x31')][_0x83cb('0x39')]);_0x551350[_0x83cb('0x1e')]=qs[_0x83cb('0x1e')](_0x382898['query'][_0x83cb('0x1e')]);}_0x551350['order']=qs['sort'](_0x382898[_0x83cb('0x31')][_0x83cb('0x3b')]);_0x551350[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x382898[_0x83cb('0x31')],_0x11942d[_0x83cb('0x33')]));_0x551350['where'][_0x83cb('0x51')]=_0x15a1d6['id'];if(_0x382898[_0x83cb('0x31')][_0x83cb('0x3e')]){_0x551350['where']=_[_0x83cb('0x3f')](_0x551350[_0x83cb('0x3c')],{'$or':_[_0x83cb('0x2b')](_0x551350[_0x83cb('0x34')],function(_0x40b163){var _0x2c636c={};_0x2c636c[_0x40b163]={'$like':'%'+_0x382898[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x2c636c;})});}_0x551350=_['merge']({},_0x551350,_0x382898['options']);return db[_0x83cb('0x55')][_0x83cb('0x20')]({'where':_0x551350['where']})['then'](function(_0x1ccb49){_0x300060[_0x83cb('0x20')]=_0x1ccb49;if(_0x382898[_0x83cb('0x31')][_0x83cb('0x49')]){_0x551350[_0x83cb('0x4a')]=[{'all':!![]}];}return db[_0x83cb('0x55')]['findAll'](_0x551350);})['then'](function(_0x1fa792){_0x300060[_0x83cb('0x43')]=_0x1fa792;return _0x300060;});}})[_0x83cb('0x12')](respondWithFilteredResult(_0xc79cd1,_0x551350))[_0x83cb('0x1b')](handleError(_0xc79cd1,null));};exports[_0x83cb('0x56')]=function(_0x5537bc,_0x4fa78e){return db[_0x83cb('0x41')]['find']({'where':{'id':_0x5537bc[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x4fa78e,null))[_0x83cb('0x12')](function(_0x260064){if(_0x260064){return _0x260064[_0x83cb('0x56')](_0x5537bc['query']['ids']);}})[_0x83cb('0x12')](respondWithStatusCode(_0x4fa78e,null))[_0x83cb('0x1b')](handleError(_0x4fa78e,null));};exports[_0x83cb('0x57')]=function(_0x200f13,_0x1afb84){if(_0x200f13[_0x83cb('0x4d')]['id']){delete _0x200f13[_0x83cb('0x4d')]['id'];}return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x200f13[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x1afb84,null))[_0x83cb('0x12')](function(_0x52aa15){if(_0x52aa15){_0x200f13[_0x83cb('0x4d')][_0x83cb('0x51')]=_0x52aa15['id'];return db[_0x83cb('0x58')][_0x83cb('0x52')](_0x200f13[_0x83cb('0x4d')]);}})[_0x83cb('0x12')](respondWithResult(_0x1afb84,null))[_0x83cb('0x1b')](handleError(_0x1afb84,null));};exports[_0x83cb('0x59')]=function(_0x1ea801,_0x1f480b){var _0x29437a={'raw':![],'where':{}};var _0x209945={};var _0x4064a5={'count':0x0,'rows':[]};return db['MailAccount'][_0x83cb('0x54')]({'where':{'id':_0x1ea801['params']['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x1f480b,null))[_0x83cb('0x12')](function(_0x1914f1){if(_0x1914f1){_0x209945[_0x83cb('0x30')]=_[_0x83cb('0x32')](db[_0x83cb('0x58')]['rawAttributes']);_0x209945[_0x83cb('0x31')]=_['keys'](_0x1ea801[_0x83cb('0x31')]);_0x209945['filters']=_[_0x83cb('0x48')](_0x209945[_0x83cb('0x30')],_0x209945['query']);_0x29437a[_0x83cb('0x34')]=_[_0x83cb('0x48')](_0x209945[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x1ea801[_0x83cb('0x31')]['fields']));_0x29437a[_0x83cb('0x34')]=_0x29437a[_0x83cb('0x34')][_0x83cb('0x36')]?_0x29437a[_0x83cb('0x34')]:_0x209945[_0x83cb('0x30')];if(!_0x1ea801['query'][_0x83cb('0x37')](_0x83cb('0x38'))){_0x29437a[_0x83cb('0x39')]=qs['limit'](_0x1ea801['query'][_0x83cb('0x39')]);_0x29437a[_0x83cb('0x1e')]=qs[_0x83cb('0x1e')](_0x1ea801[_0x83cb('0x31')][_0x83cb('0x1e')]);}_0x29437a[_0x83cb('0x3a')]=qs[_0x83cb('0x3b')](_0x1ea801[_0x83cb('0x31')][_0x83cb('0x3b')]);_0x29437a[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x1ea801[_0x83cb('0x31')],_0x209945['filters']));_0x29437a['where'][_0x83cb('0x51')]=_0x1914f1['id'];if(_0x1ea801[_0x83cb('0x31')][_0x83cb('0x3e')]){_0x29437a[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0x29437a[_0x83cb('0x3c')],{'$or':_['map'](_0x29437a[_0x83cb('0x34')],function(_0x12ba65){var _0x1292bc={};_0x1292bc[_0x12ba65]={'$like':'%'+_0x1ea801[_0x83cb('0x31')]['filter']+'%'};return _0x1292bc;})});}_0x29437a=_['merge']({},_0x29437a,_0x1ea801['options']);return db[_0x83cb('0x58')][_0x83cb('0x20')]({'where':_0x29437a[_0x83cb('0x3c')]})[_0x83cb('0x12')](function(_0x35e288){_0x4064a5[_0x83cb('0x20')]=_0x35e288;if(_0x1ea801[_0x83cb('0x31')]['includeAll']){_0x29437a[_0x83cb('0x4a')]=[{'all':!![]}];}return db['CannedAnswer']['findAll'](_0x29437a);})[_0x83cb('0x12')](function(_0xc0326f){_0x4064a5[_0x83cb('0x43')]=_0xc0326f;return _0x4064a5;});}})[_0x83cb('0x12')](respondWithFilteredResult(_0x1f480b,_0x29437a))[_0x83cb('0x1b')](handleError(_0x1f480b,null));};exports['removeAnswers']=function(_0x4ed907,_0xe1b62d){return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x4ed907[_0x83cb('0x45')]['id']}})['then'](handleEntityNotFound(_0xe1b62d,null))[_0x83cb('0x12')](function(_0x5aae79){if(_0x5aae79){return _0x5aae79['removeAnswers'](_0x4ed907['query'][_0x83cb('0x5a')]);}})[_0x83cb('0x12')](respondWithStatusCode(_0xe1b62d,null))[_0x83cb('0x1b')](handleError(_0xe1b62d,null));};exports[_0x83cb('0x52')]=function(_0x2befce,_0x164a44){var _0x51cc88={'name':_0x2befce[_0x83cb('0x4d')]['name'],'key':_0x2befce['body']['key'],'provider':_0x2befce[_0x83cb('0x4d')]['provider']==='custom'?null:_0x2befce[_0x83cb('0x4d')]['provider'],'email':_0x2befce[_0x83cb('0x4d')][_0x83cb('0x5b')],'ListId':_0x2befce[_0x83cb('0x4d')][_0x83cb('0x5c')],'active':!_[_0x83cb('0x5d')](_0x2befce['body']['active'])?_0x2befce['body'][_0x83cb('0x5e')]:!![],'description':_0x2befce[_0x83cb('0x4d')]['description']||null,'Imap':{},'Smtp':{}};if(_0x51cc88['provider']){_0x51cc88[_0x83cb('0x29')][_0x83cb('0x5f')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x5f')]=_0x2befce[_0x83cb('0x4d')][_0x83cb('0x60')];_0x51cc88[_0x83cb('0x29')]['password']=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x61')]=_0x2befce[_0x83cb('0x4d')]['password'];if(_0x2befce[_0x83cb('0x4d')]['modernAuthentication']){_0x51cc88[_0x83cb('0x29')][_0x83cb('0x4e')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x4e')]=!![];_0x51cc88[_0x83cb('0x29')]['CloudProviderId']=_0x51cc88[_0x83cb('0x47')]['CloudProviderId']=_0x2befce[_0x83cb('0x4d')]['CloudProviderId'];_0x51cc88[_0x83cb('0x29')]['password']=_0x51cc88[_0x83cb('0x47')]['pass']=null;}else{_0x51cc88[_0x83cb('0x29')][_0x83cb('0x4f')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x4f')]=null;}_0x51cc88[_0x83cb('0x29')][_0x83cb('0x62')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x62')]=null;_0x51cc88[_0x83cb('0x29')][_0x83cb('0x63')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x63')]=null;_0x51cc88[_0x83cb('0x29')][_0x83cb('0x64')]=_0x51cc88['Smtp'][_0x83cb('0x64')]=null;}else{if(_0x2befce[_0x83cb('0x4d')][_0x83cb('0x65')]){_0x51cc88[_0x83cb('0x29')][_0x83cb('0x5f')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x5f')]=_0x2befce[_0x83cb('0x4d')][_0x83cb('0x60')];_0x51cc88[_0x83cb('0x29')][_0x83cb('0x66')]=_0x51cc88[_0x83cb('0x47')][_0x83cb('0x61')]=_0x2befce['body'][_0x83cb('0x66')];}else{_0x51cc88[_0x83cb('0x29')]['authentication']=_0x51cc88[_0x83cb('0x47')]['authentication']=![];_0x51cc88['Imap'][_0x83cb('0x5f')]=_0x51cc88[_0x83cb('0x47')]['user']=null;_0x51cc88['Imap'][_0x83cb('0x66')]=_0x51cc88['Smtp'][_0x83cb('0x61')]=null;}_0x51cc88[_0x83cb('0x29')][_0x83cb('0x63')]=_0x2befce['body']['Imap'][_0x83cb('0x63')];_0x51cc88[_0x83cb('0x29')][_0x83cb('0x64')]=_0x2befce[_0x83cb('0x4d')]['Imap'][_0x83cb('0x64')];_0x51cc88[_0x83cb('0x47')][_0x83cb('0x63')]=_0x2befce[_0x83cb('0x4d')]['Smtp'][_0x83cb('0x63')];_0x51cc88[_0x83cb('0x47')][_0x83cb('0x64')]=_0x2befce[_0x83cb('0x4d')][_0x83cb('0x47')]['port'];}return db[_0x83cb('0x41')][_0x83cb('0x52')](_0x51cc88,{'include':[{'model':db[_0x83cb('0x46')],'as':_0x83cb('0x47')},{'model':db[_0x83cb('0x28')],'as':_0x83cb('0x29')}]})['then'](function(_0x250171){var _0x1994bb=_0x2befce['user'][_0x83cb('0x67')]({'plain':!![]});if(!_0x1994bb)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1994bb[_0x83cb('0x68')]===_0x83cb('0x5f')){var _0x373f42=_0x250171[_0x83cb('0x67')]({'plain':!![]});return db[_0x83cb('0x69')][_0x83cb('0x4b')]({'where':{'name':'MailAccounts','userProfileId':_0x1994bb[_0x83cb('0x6a')]},'raw':!![]})['then'](function(_0x408031){if(_0x408031&&_0x408031[_0x83cb('0x6b')]===0x0){return db['UserProfileResource']['create']({'name':_0x373f42[_0x83cb('0x26')],'resourceId':_0x373f42['id'],'type':_0x408031[_0x83cb('0x26')],'sectionId':_0x408031['id']},{})['then'](function(){return _0x250171;});}else{return _0x250171;}})[_0x83cb('0x1b')](function(_0x189dc9){logger[_0x83cb('0x17')](_0x83cb('0x6c'),_0x189dc9);throw _0x189dc9;});}return _0x250171;})[_0x83cb('0x12')](respondWithResult(_0x164a44,0xc9))[_0x83cb('0x1b')](handleError(_0x164a44,null));};exports[_0x83cb('0x6d')]=function(_0x9c9131,_0x536c00){return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x9c9131[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x536c00,null))['then'](function(_0x18187c){if(_0x18187c){return _0x18187c[_0x83cb('0x6d')]();}return null;})['then'](respondWithResult(_0x536c00,null))[_0x83cb('0x1b')](handleError(_0x536c00,null));};exports[_0x83cb('0x6e')]=function(_0x4f534d,_0x36e000){if(_0x4f534d['body']['id']){delete _0x4f534d[_0x83cb('0x4d')]['id'];}return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x4f534d[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x36e000,null))[_0x83cb('0x12')](function(_0x5925a2){if(_0x5925a2){_0x4f534d['body'][_0x83cb('0x51')]=_0x5925a2['id'];return db[_0x83cb('0x28')][_0x83cb('0x52')](_0x4f534d[_0x83cb('0x4d')]);}})[_0x83cb('0x12')](respondWithResult(_0x36e000,null))[_0x83cb('0x1b')](handleError(_0x36e000,null));};exports['removeImap']=function(_0x1ef4ec,_0x5b20a5){return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x1ef4ec[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x5b20a5,null))[_0x83cb('0x12')](function(_0x5655b1){if(_0x5655b1){return _0x5655b1[_0x83cb('0x6f')](null);}return null;})[_0x83cb('0x12')](respondWithStatusCode(_0x5b20a5,null))[_0x83cb('0x1b')](handleError(_0x5b20a5,null));};exports[_0x83cb('0x70')]=function(_0xbc22f8,_0x298529){return db['MailAccount'][_0x83cb('0x54')]({'where':{'id':_0xbc22f8[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x298529,null))[_0x83cb('0x12')](function(_0x34058a){if(_0x34058a){return _0x34058a[_0x83cb('0x70')]();}return null;})[_0x83cb('0x12')](respondWithResult(_0x298529,null))['catch'](handleError(_0x298529,null));};exports[_0x83cb('0x71')]=function(_0x749835,_0x1c66d8){if(_0x749835['body']['id']){delete _0x749835['body']['id'];}return db['MailAccount'][_0x83cb('0x4b')]({'where':{'id':_0x749835[_0x83cb('0x45')]['id']}})['then'](handleEntityNotFound(_0x1c66d8,null))[_0x83cb('0x12')](function(_0x931c3f){if(_0x931c3f){_0x749835[_0x83cb('0x4d')][_0x83cb('0x51')]=_0x931c3f['id'];return db['MailServerOut'][_0x83cb('0x52')](_0x749835[_0x83cb('0x4d')]);}})[_0x83cb('0x12')](respondWithResult(_0x1c66d8,null))[_0x83cb('0x1b')](handleError(_0x1c66d8,null));};exports['removeSmtp']=function(_0x2c1332,_0x200242){return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x2c1332['params']['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x200242,null))[_0x83cb('0x12')](function(_0x30dd33){if(_0x30dd33){return _0x30dd33[_0x83cb('0x72')](null);}return null;})[_0x83cb('0x12')](respondWithStatusCode(_0x200242,null))[_0x83cb('0x1b')](handleError(_0x200242,null));};exports[_0x83cb('0x73')]=function(_0x712818,_0x3018cb){return db['MailInteraction'][_0x83cb('0x4b')]({'where':{'id':_0x712818[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x3018cb,null))[_0x83cb('0x12')](function(_0x3037d8){if(_0x3037d8){return _0x3037d8[_0x83cb('0x73')](_0x712818[_0x83cb('0x4d')][_0x83cb('0x5a')],_[_0x83cb('0x74')](_0x712818[_0x83cb('0x4d')],[_0x83cb('0x5a'),'id'])||{});}})['then'](respondWithResult(_0x3018cb,null))['catch'](handleError(_0x3018cb,null));};exports[_0x83cb('0x75')]=function(_0x9036ed,_0x499f5e){var _0x3e687b={'raw':![],'where':{}};var _0x172f7f={};var _0x2d1381={'count':0x0,'rows':[]};return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x9036ed['params']['id']}})['then'](handleEntityNotFound(_0x499f5e,null))['then'](function(_0x58a5f2){if(_0x58a5f2){_0x172f7f[_0x83cb('0x30')]=_[_0x83cb('0x32')](db[_0x83cb('0x76')]['rawAttributes']);_0x172f7f['query']=_[_0x83cb('0x32')](_0x9036ed[_0x83cb('0x31')]);_0x172f7f['filters']=_[_0x83cb('0x48')](_0x172f7f[_0x83cb('0x30')],_0x172f7f[_0x83cb('0x31')]);_0x3e687b['attributes']=_[_0x83cb('0x48')](_0x172f7f[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x9036ed[_0x83cb('0x31')][_0x83cb('0x35')]));_0x3e687b[_0x83cb('0x34')]=_0x3e687b[_0x83cb('0x34')][_0x83cb('0x36')]?_0x3e687b['attributes']:_0x172f7f[_0x83cb('0x30')];if(!_0x9036ed[_0x83cb('0x31')]['hasOwnProperty'](_0x83cb('0x38'))){_0x3e687b[_0x83cb('0x39')]=qs[_0x83cb('0x39')](_0x9036ed[_0x83cb('0x31')]['limit']);_0x3e687b['offset']=qs[_0x83cb('0x1e')](_0x9036ed[_0x83cb('0x31')][_0x83cb('0x1e')]);}_0x3e687b[_0x83cb('0x3a')]=qs[_0x83cb('0x3b')](_0x9036ed[_0x83cb('0x31')]['sort']);_0x3e687b[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x9036ed[_0x83cb('0x31')],_0x172f7f['filters']));_0x3e687b['where'][_0x83cb('0x51')]=_0x58a5f2['id'];if(_0x9036ed['query'][_0x83cb('0x3e')]){_0x3e687b[_0x83cb('0x3c')]=_['merge'](_0x3e687b['where'],{'$or':_[_0x83cb('0x2b')](_0x3e687b[_0x83cb('0x34')],function(_0x44a21b){var _0x1c6ac8={};_0x1c6ac8[_0x44a21b]={'$like':'%'+_0x9036ed[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x1c6ac8;})});}_0x3e687b=_[_0x83cb('0x3f')]({},_0x3e687b,_0x9036ed[_0x83cb('0x77')]);return db[_0x83cb('0x76')][_0x83cb('0x20')]({'where':_0x3e687b[_0x83cb('0x3c')]})[_0x83cb('0x12')](function(_0x2583e0){_0x2d1381[_0x83cb('0x20')]=_0x2583e0;if(_0x9036ed[_0x83cb('0x31')][_0x83cb('0x49')]){_0x3e687b[_0x83cb('0x4a')]=[{'model':db[_0x83cb('0x78')],'as':_0x83cb('0x79'),'required':![]},{'model':db[_0x83cb('0x7a')],'as':'Owner','attributes':['name','fullname','internal'],'required':![]},{'model':db[_0x83cb('0x7b')],'as':'Tags','attributes':['id',_0x83cb('0x26'),_0x83cb('0x7c')],'where':_0x9036ed[_0x83cb('0x31')]['tag']?{'id':_0x9036ed[_0x83cb('0x31')]['tag']}:undefined,'required':_0x9036ed[_0x83cb('0x31')][_0x83cb('0x7d')]?!![]:![]}];}return db[_0x83cb('0x76')][_0x83cb('0x42')](_0x3e687b);})[_0x83cb('0x12')](function(_0x1ce4f5){_0x2d1381['rows']=_0x1ce4f5;return _0x2d1381;});}})['then'](respondWithFilteredResult(_0x499f5e,_0x3e687b))['catch'](handleError(_0x499f5e,null));};exports[_0x83cb('0x7e')]=function addApplications(_0x39aab3,_0x1d2b54){var _0x41b491=_0x39aab3[_0x83cb('0x45')]['id'];var _0x42bb70=_0x39aab3[_0x83cb('0x4d')];var _0x30ae31=0xc8;var _0x5db450=null;return db[_0x83cb('0x7f')][_0x83cb('0x80')]({'isolationLevel':db[_0x83cb('0x7f')][_0x83cb('0x81')][_0x83cb('0x82')]['READ_COMMITTED']},function(_0x274c87){return db[_0x83cb('0x41')][_0x83cb('0x54')]({'where':{'id':_0x41b491},'transaction':_0x274c87})[_0x83cb('0x12')](function(_0x58c916){if(_0x58c916){return db['MailApplication'][_0x83cb('0x24')]({'where':{'MailAccountId':_0x41b491},'transaction':_0x274c87})[_0x83cb('0x12')](function(){var _0x64bf0d=_[_0x83cb('0x2b')](_0x42bb70,function(_0x3d0519){_0x3d0519[_0x83cb('0x51')]=_0x41b491;return _0x3d0519;});return db[_0x83cb('0x83')][_0x83cb('0x84')](_0x64bf0d,{'transaction':_0x274c87});});}else{_0x30ae31=0x194;_0x5db450=[];}});})[_0x83cb('0x12')](function(){if(_0x30ae31!==0x194){return db[_0x83cb('0x83')][_0x83cb('0x85')]({'where':{'MailAccountId':_0x41b491},'order':'priority'})[_0x83cb('0x12')](function(_0x44f21d){_0x5db450=_0x44f21d;});}})[_0x83cb('0x1b')](function(_0x17c48c){_0x30ae31=0x1f4;logger[_0x83cb('0x17')](_0x17c48c['stack']);if(_0x17c48c[_0x83cb('0x26')]){delete _0x17c48c[_0x83cb('0x26')];}_0x5db450=_0x17c48c;})[_0x83cb('0x86')](function(){if(_0x5db450===null){_0x1d2b54['sendStatus'](_0x30ae31);}else{if(_0x30ae31===0x1f4){_0x1d2b54[_0x83cb('0x27')](_0x30ae31)['send'](_0x5db450);}else{_0x1d2b54[_0x83cb('0x27')](_0x30ae31)[_0x83cb('0x1d')](_0x5db450);}}});};exports[_0x83cb('0x87')]=function(_0x56728f,_0x369aa1){var _0xdd4b48={};var _0x10dddd={};var _0x24f3a2;var _0x4243b9;return db[_0x83cb('0x41')]['findOne']({'where':{'id':_0x56728f['params']['id']}})['then'](handleEntityNotFound(_0x369aa1,null))[_0x83cb('0x12')](function(_0x5f3358){if(_0x5f3358){_0x24f3a2=_0x5f3358;_0x10dddd['model']=_['keys'](db[_0x83cb('0x83')][_0x83cb('0x2c')]);_0x10dddd[_0x83cb('0x31')]=_[_0x83cb('0x32')](_0x56728f[_0x83cb('0x31')]);_0x10dddd['filters']=_[_0x83cb('0x48')](_0x10dddd[_0x83cb('0x30')],_0x10dddd[_0x83cb('0x31')]);_0xdd4b48['attributes']=_[_0x83cb('0x48')](_0x10dddd[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x56728f[_0x83cb('0x31')][_0x83cb('0x35')]));_0xdd4b48['attributes']=_0xdd4b48['attributes'][_0x83cb('0x36')]?_0xdd4b48[_0x83cb('0x34')]:_0x10dddd['model'];_0xdd4b48['order']=qs[_0x83cb('0x3b')](_0x56728f['query'][_0x83cb('0x3b')]);_0xdd4b48['where']=qs['filters'](_['pick'](_0x56728f[_0x83cb('0x31')],_0x10dddd[_0x83cb('0x33')]));if(_0x56728f[_0x83cb('0x31')][_0x83cb('0x3e')]){_0xdd4b48[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0xdd4b48[_0x83cb('0x3c')],{'$or':_[_0x83cb('0x2b')](_0xdd4b48['attributes'],function(_0x57da3c){var _0x2bd7bf={};_0x2bd7bf[_0x57da3c]={'$like':'%'+_0x56728f[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x2bd7bf;})});}_0xdd4b48=_[_0x83cb('0x3f')]({},_0xdd4b48,_0x56728f['options']);return _0x24f3a2[_0x83cb('0x87')](_0xdd4b48);}})[_0x83cb('0x12')](function(_0x144c72){if(_0x144c72){_0x4243b9=_0x144c72[_0x83cb('0x36')];if(!_0x56728f[_0x83cb('0x31')][_0x83cb('0x37')]('nolimit')){_0xdd4b48[_0x83cb('0x39')]=qs[_0x83cb('0x39')](_0x56728f[_0x83cb('0x31')][_0x83cb('0x39')]);_0xdd4b48[_0x83cb('0x1e')]=qs['offset'](_0x56728f[_0x83cb('0x31')]['offset']);}return _0x24f3a2[_0x83cb('0x87')](_0xdd4b48);}})['then'](function(_0x25911f){if(_0x25911f){return _0x25911f?{'count':_0x4243b9,'rows':_0x25911f}:null;}})[_0x83cb('0x12')](respondWithResult(_0x369aa1,null))[_0x83cb('0x1b')](handleError(_0x369aa1,null));};exports[_0x83cb('0x88')]=function(_0x3d3dbd,_0x4834c2){var _0xdfcdba={'raw':!![],'where':{}};var _0x2a2c81={};var _0x1c6dcc={'count':0x0,'rows':[]};return db['MailAccount'][_0x83cb('0x54')]({'where':{'id':_0x3d3dbd[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x4834c2,null))[_0x83cb('0x12')](function(_0x13aa9b){if(_0x13aa9b){_0x2a2c81[_0x83cb('0x30')]=_['keys'](db['MailMessage'][_0x83cb('0x2c')]);_0x2a2c81[_0x83cb('0x31')]=_[_0x83cb('0x32')](_0x3d3dbd['query']);_0x2a2c81[_0x83cb('0x33')]=_[_0x83cb('0x48')](_0x2a2c81['model'],_0x2a2c81[_0x83cb('0x31')]);_0xdfcdba[_0x83cb('0x34')]=_['intersection'](_0x2a2c81[_0x83cb('0x30')],qs['fields'](_0x3d3dbd[_0x83cb('0x31')]['fields']));_0xdfcdba[_0x83cb('0x34')]=_0xdfcdba['attributes']['length']?_0xdfcdba[_0x83cb('0x34')]:_0x2a2c81['model'];if(!_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x37')](_0x83cb('0x38'))){_0xdfcdba[_0x83cb('0x39')]=qs[_0x83cb('0x39')](_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x39')]);_0xdfcdba['offset']=qs['offset'](_0x3d3dbd['query']['offset']);}_0xdfcdba['order']=qs[_0x83cb('0x3b')](_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x3b')]);_0xdfcdba[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x3d3dbd[_0x83cb('0x31')],_0x2a2c81[_0x83cb('0x33')]));_0xdfcdba[_0x83cb('0x3c')][_0x83cb('0x51')]=_0x13aa9b['id'];if(_0x3d3dbd[_0x83cb('0x31')]['filter']){_0xdfcdba[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0xdfcdba['where'],{'$or':_[_0x83cb('0x2b')](_0xdfcdba['attributes'],function(_0x3526fa){var _0x4eec13={};_0x4eec13[_0x3526fa]={'$like':'%'+_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x4eec13;})});}if(_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x89')]){var _0x3eaf86=_0x3d3dbd[_0x83cb('0x31')]['$gte'][_0x83cb('0x8a')](',');var _0x4306b1={};_0x4306b1[_0x3eaf86[0x0]]={'$gte':moment(_0x3eaf86[0x1])[_0x83cb('0x8b')](_0x83cb('0x8c'))};_0xdfcdba[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0xdfcdba[_0x83cb('0x3c')],_0x4306b1);}_0xdfcdba=_['merge']({},_0xdfcdba,_0x3d3dbd[_0x83cb('0x77')]);return db[_0x83cb('0x8d')][_0x83cb('0x20')]({'where':_0xdfcdba['where']})[_0x83cb('0x12')](function(_0x1f4ac6){_0x1c6dcc['count']=_0x1f4ac6;if(_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x49')]){_0xdfcdba[_0x83cb('0x4a')]=[{'all':!![]}];}return db[_0x83cb('0x8d')][_0x83cb('0x42')](_0xdfcdba);})['then'](function(_0x53c51e){if(_0x3d3dbd[_0x83cb('0x31')][_0x83cb('0x8e')]==='true'){for(var _0x288596=0x0;_0x288596<_0x53c51e['length'];_0x288596++){_0x53c51e[_0x288596]['body']=juice(_0x53c51e[_0x288596][_0x83cb('0x4d')]);}}_0x1c6dcc[_0x83cb('0x43')]=_0x53c51e;return _0x1c6dcc;});}})[_0x83cb('0x12')](respondWithFilteredResult(_0x4834c2,_0xdfcdba))[_0x83cb('0x1b')](handleError(_0x4834c2,null));};exports[_0x83cb('0x8f')]=function(_0x50f510,_0x4f50cc){var _0x2e2e46,_0x2bde02={},_0x498084;if(_0x50f510['body']['to']){_0x498084=_0x50f510[_0x83cb('0x4d')]['to'][_0x83cb('0x8a')](',')[0x0];}return db[_0x83cb('0x41')][_0x83cb('0x4b')]({'where':{'id':_0x50f510[_0x83cb('0x45')]['id']},'include':[{'model':db[_0x83cb('0x90')],'as':_0x83cb('0x91'),'include':[{'model':db[_0x83cb('0x78')],'as':_0x83cb('0x92'),'where':{'email':_0x498084},'limit':0x1,'order':[['updatedAt',_0x83cb('0x93')]]}]},{'model':db[_0x83cb('0x46')],'as':_0x83cb('0x47'),'raw':!![]}]})[_0x83cb('0x12')](handleEntityNotFound(_0x4f50cc,null))[_0x83cb('0x12')](function(_0x1a5772){if(_0x1a5772){_0x2e2e46=_0x1a5772;if(_0x1a5772[_0x83cb('0x47')]){if(_[_0x83cb('0x5d')](_0x50f510[_0x83cb('0x4d')][_0x83cb('0x94')])){_0x50f510[_0x83cb('0x4d')][_0x83cb('0x94')]=util['format'](_0x83cb('0x95'),_0x1a5772[_0x83cb('0x26')],_0x1a5772[_0x83cb('0x5b')]||_0x1a5772[_0x83cb('0x47')][_0x83cb('0x5f')]);}if(_0x50f510['body']['attachments']&&_0x50f510[_0x83cb('0x4d')][_0x83cb('0x96')][_0x83cb('0x36')]){for(var _0x1b88cd=0x0;_0x1b88cd<_0x50f510[_0x83cb('0x4d')][_0x83cb('0x96')][_0x83cb('0x36')];_0x1b88cd+=0x1){_0x50f510[_0x83cb('0x4d')][_0x83cb('0x96')][_0x1b88cd]={'filename':_0x50f510[_0x83cb('0x4d')][_0x83cb('0x96')][_0x1b88cd][_0x83cb('0x26')],'path':path[_0x83cb('0x97')](config[_0x83cb('0x98')],_0x83cb('0x99'),_0x50f510[_0x83cb('0x4d')][_0x83cb('0x96')][_0x1b88cd]['basename'])};}}var _0x251f76={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x1a5772[_0x83cb('0x47')][_0x83cb('0x62')])){if(_0x1a5772['Smtp'][_0x83cb('0x65')]){_0x251f76[_0x83cb('0x9a')]={'user':_0x1a5772[_0x83cb('0x47')][_0x83cb('0x5f')],'pass':_0x1a5772[_0x83cb('0x47')][_0x83cb('0x61')]};}_0x251f76[_0x83cb('0x63')]=_0x1a5772['Smtp'][_0x83cb('0x63')];_0x251f76[_0x83cb('0x64')]=_0x1a5772['Smtp'][_0x83cb('0x64')];_0x251f76['secure']=_0x1a5772['Smtp'][_0x83cb('0x9b')];}else{_0x251f76['service']=_0x1a5772[_0x83cb('0x47')][_0x83cb('0x62')];_0x251f76[_0x83cb('0x9a')]={'user':_0x1a5772['Smtp'][_0x83cb('0x5f')],'pass':_0x1a5772[_0x83cb('0x47')][_0x83cb('0x61')]};}return respondWithRpcPromise(_0x83cb('0x9c'),_0x83cb('0x9d'),{'account':_0x251f76,'message':_0x50f510[_0x83cb('0x4d')]});}else{throw new Error(_0x83cb('0x9e'));}}})[_0x83cb('0x12')](function(_0x3e4233){if(_0x3e4233){_0x2bde02=_0x3e4233;if(_0x2e2e46[_0x83cb('0x91')]){if(_0x2e2e46[_0x83cb('0x91')][_0x83cb('0x92')][_0x83cb('0x36')]){return _0x2e2e46['List']['Contacts'][0x0];}else{return db[_0x83cb('0x78')][_0x83cb('0x52')](_[_0x83cb('0xb')](_0x50f510[_0x83cb('0x4d')],{'firstName':_0x50f510['body']['to'],'email':_0x50f510[_0x83cb('0x4d')]['to'],'phone':_0x50f510['body']['to'],'ListId':_0x2e2e46[_0x83cb('0x5c')]}));}}else{throw new Error(_0x83cb('0x9e'));}}})[_0x83cb('0x12')](function(_0x57aa56){if(_0x57aa56){var _0x3d97ee={'UserId':_0x50f510[_0x83cb('0x5f')]['id'],'ContactId':_0x57aa56['id'],'MailAccountId':_0x2e2e46['id'],'inReplyTo':_0x2bde02['messageId'],'to':_0x50f510[_0x83cb('0x4d')][_0x83cb('0x94')],'cc':_0x50f510[_0x83cb('0x4d')]['cc'],'subject':_0x50f510[_0x83cb('0x4d')][_0x83cb('0x9f')],'attach':_0x50f510[_0x83cb('0x4d')][_0x83cb('0xa0')],'firstMsgDirection':_0x83cb('0xa1'),'lastMsgAt':moment()['format'](_0x83cb('0x8c')),'lastMsgDirection':_0x83cb('0xa1'),'Messages':[_[_0x83cb('0x3f')](_0x50f510['body'],{'messageId':_0x2bde02['messageId'],'sentAt':moment()['format'](_0x83cb('0x8c')),'read':!![],'MailAccountId':_0x2e2e46['id'],'UserId':_0x50f510['user']['id'],'ContactId':_0x57aa56['id']})]};if(_0x50f510[_0x83cb('0x4d')]['Interaction']){_0x3d97ee=_[_0x83cb('0x3f')](_0x3d97ee,_0x50f510[_0x83cb('0x4d')]['Interaction']);}return db[_0x83cb('0x76')][_0x83cb('0x52')](_0x3d97ee,{'include':[{'model':db[_0x83cb('0x8d')],'as':_0x83cb('0xa2')}]});}})[_0x83cb('0x12')](respondWithResult(_0x4f50cc,null))[_0x83cb('0x1b')](handleError(_0x4f50cc,null));};exports[_0x83cb('0xa3')]=function(_0x44aaa4,_0x30473d){return db['MailAccount'][_0x83cb('0x4b')]({'where':{'id':_0x44aaa4['params']['id']},'include':[{'model':db[_0x83cb('0x46')],'as':_0x83cb('0x47'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x83cb('0xa4'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x30473d,null))[_0x83cb('0x12')](function(_0x1e620d){if(!_0x1e620d[_0x83cb('0x47')])return;var _0x4ee7a2={'id':_0x1e620d['id'],'tls':{'rejectUnauthorized':![]}};if(_0x1e620d[_0x83cb('0xa5')]!==_0x83cb('0xa6')){_0x4ee7a2[_0x83cb('0x62')]=_0x1e620d[_0x83cb('0xa5')];}else{_0x4ee7a2['host']=_0x1e620d['Smtp']['host'];_0x4ee7a2[_0x83cb('0x64')]=_0x1e620d[_0x83cb('0x47')][_0x83cb('0x64')];_0x4ee7a2[_0x83cb('0x9b')]=_0x1e620d[_0x83cb('0x47')][_0x83cb('0x9b')];}if(_0x1e620d[_0x83cb('0x47')]['authentication']){if(_0x1e620d[_0x83cb('0x47')][_0x83cb('0x4e')]){_0x4ee7a2[_0x83cb('0x9a')]={'type':_0x83cb('0xa7'),'user':_0x1e620d[_0x83cb('0x47')][_0x83cb('0x5f')],'accessToken':_0x1e620d[_0x83cb('0x47')]['CloudProvider'][_0x83cb('0xa8')]};}else{_0x4ee7a2[_0x83cb('0x9a')]={'user':_0x1e620d[_0x83cb('0x47')][_0x83cb('0x5f')],'pass':_0x1e620d[_0x83cb('0x47')][_0x83cb('0x61')]};}}return respondWithRpcPromise(_0x83cb('0xa9'),_0x83cb('0xa3'),{'account':_0x4ee7a2});})[_0x83cb('0x12')](respondWithResult(_0x30473d,null))[_0x83cb('0x1b')](handleError(_0x30473d,null));};exports[_0x83cb('0x24')]=function(_0x44f2e1,_0x35a45a){return db['MailAccount']['find']({'where':{'id':_0x44f2e1[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x35a45a,null))[_0x83cb('0x12')](function(_0x57ff3f){if(_0x57ff3f&&_0x57ff3f['service']){throw new db[(_0x83cb('0xaa'))]['ValidationError'](_0x83cb('0xab'));}return _0x57ff3f;})[_0x83cb('0x12')](removeEntity(_0x35a45a,null))[_0x83cb('0x1b')](handleError(_0x35a45a,null));};exports[_0x83cb('0xac')]=function(_0x49dfb0,_0x41d4cb){return db['MailAccount'][_0x83cb('0x4b')]({'where':{'id':_0x49dfb0[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x41d4cb,null))[_0x83cb('0x12')](function(_0x32f572){if(_0x32f572){return _0x32f572[_0x83cb('0xac')](_0x49dfb0['body'][_0x83cb('0x5a')],_[_0x83cb('0x74')](_0x49dfb0[_0x83cb('0x4d')],[_0x83cb('0x5a'),'id'])||{})[_0x83cb('0xad')](function(_0x4cacef){for(var _0x3829bc=0x0;_0x3829bc<_0x49dfb0[_0x83cb('0x4d')][_0x83cb('0x5a')][_0x83cb('0x36')];_0x3829bc+=0x1){socket[_0x83cb('0xae')](_0x83cb('0xaf'),{'UserId':Number(_0x49dfb0[_0x83cb('0x4d')][_0x83cb('0x5a')][_0x3829bc]),'MailAccountId':Number(_0x49dfb0[_0x83cb('0x45')]['id'])});}return _0x4cacef;});}})[_0x83cb('0x12')](respondWithResult(_0x41d4cb,null))[_0x83cb('0x1b')](handleError(_0x41d4cb,null));};exports['removeAgents']=function(_0x107af0,_0x41ad93){return db['MailAccount'][_0x83cb('0x4b')]({'where':{'id':_0x107af0[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x41ad93,null))[_0x83cb('0x12')](function(_0x30188d){if(_0x30188d){return _0x30188d[_0x83cb('0xb0')](_0x107af0[_0x83cb('0x31')][_0x83cb('0x5a')])['then'](function(){if(_[_0x83cb('0xb1')](_0x107af0[_0x83cb('0x31')][_0x83cb('0x5a')])){for(var _0x13882b=0x0;_0x13882b<_0x107af0[_0x83cb('0x31')]['ids']['length'];_0x13882b+=0x1){socket[_0x83cb('0xae')](_0x83cb('0xb2'),{'UserId':Number(_0x107af0['query'][_0x83cb('0x5a')][_0x13882b]),'MailAccountId':Number(_0x107af0[_0x83cb('0x45')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x107af0[_0x83cb('0x31')][_0x83cb('0x5a')]),'MailAccountId':Number(_0x107af0[_0x83cb('0x45')]['id'])});}});}})[_0x83cb('0x12')](respondWithStatusCode(_0x41ad93,null))[_0x83cb('0x1b')](handleError(_0x41ad93,null));};exports[_0x83cb('0xb3')]=function(_0x3acb60,_0x4d78bd){var _0x1f8e15={};var _0x410b81={};var _0x33ebb2;var _0x1e0f65;return db['MailAccount'][_0x83cb('0x54')]({'where':{'id':_0x3acb60[_0x83cb('0x45')]['id']}})[_0x83cb('0x12')](handleEntityNotFound(_0x4d78bd,null))[_0x83cb('0x12')](function(_0x5bb143){if(_0x5bb143){_0x33ebb2=_0x5bb143;_0x410b81[_0x83cb('0x30')]=_['keys'](db[_0x83cb('0x7a')]['rawAttributes']);_0x410b81[_0x83cb('0x31')]=_[_0x83cb('0x32')](_0x3acb60[_0x83cb('0x31')]);_0x410b81[_0x83cb('0x33')]=_[_0x83cb('0x48')](_0x410b81['model'],_0x410b81[_0x83cb('0x31')]);_0x1f8e15[_0x83cb('0x34')]=_[_0x83cb('0x48')](_0x410b81[_0x83cb('0x30')],qs[_0x83cb('0x35')](_0x3acb60[_0x83cb('0x31')][_0x83cb('0x35')]));_0x1f8e15[_0x83cb('0x34')]=_0x1f8e15[_0x83cb('0x34')]['length']?_0x1f8e15['attributes']:_0x410b81['model'];_0x1f8e15[_0x83cb('0x3a')]=qs[_0x83cb('0x3b')](_0x3acb60[_0x83cb('0x31')]['sort']);_0x1f8e15[_0x83cb('0x3c')]=qs[_0x83cb('0x33')](_[_0x83cb('0x3d')](_0x3acb60[_0x83cb('0x31')],_0x410b81[_0x83cb('0x33')]));if(_0x3acb60[_0x83cb('0x31')][_0x83cb('0x3e')]){_0x1f8e15[_0x83cb('0x3c')]=_[_0x83cb('0x3f')](_0x1f8e15[_0x83cb('0x3c')],{'$or':_[_0x83cb('0x2b')](_0x1f8e15[_0x83cb('0x34')],function(_0x5e71d7){var _0x2659d9={};_0x2659d9[_0x5e71d7]={'$like':'%'+_0x3acb60[_0x83cb('0x31')][_0x83cb('0x3e')]+'%'};return _0x2659d9;})});}_0x1f8e15=_[_0x83cb('0x3f')]({},_0x1f8e15,_0x3acb60[_0x83cb('0x77')]);return _0x33ebb2[_0x83cb('0xb3')](_0x1f8e15);}})['then'](function(_0x3acbce){if(_0x3acbce){_0x1e0f65=_0x3acbce[_0x83cb('0x36')];if(!_0x3acb60['query'][_0x83cb('0x37')](_0x83cb('0x38'))){_0x1f8e15[_0x83cb('0x39')]=qs['limit'](_0x3acb60[_0x83cb('0x31')][_0x83cb('0x39')]);_0x1f8e15[_0x83cb('0x1e')]=qs[_0x83cb('0x1e')](_0x3acb60[_0x83cb('0x31')][_0x83cb('0x1e')]);}return _0x33ebb2[_0x83cb('0xb3')](_0x1f8e15);}})['then'](function(_0x1003d7){if(_0x1003d7){return _0x1003d7?{'count':_0x1e0f65,'rows':_0x1003d7}:null;}})[_0x83cb('0x12')](respondWithResult(_0x4d78bd,null))['catch'](handleError(_0x4d78bd,null));};