Built motion from commit 9d1906d1.|2.5.40
[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 _0xb59d=['MailServerIn','Imap','MailServerOut','describe','addDisposition','params','MailAccountId','create','getDispositions','pick','Disposition','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','findOne','map','removeAnswers','key','email','ListId','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','cpassword','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','getImap','addImap','removeImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','CmContact','fullname','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','json','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','authentication','auth','secure','SendMail','sendMail','List\x20not\x20found','Contacts','subject','messageId','verifySmtp','VerifySmtp','Sequelize','ValidationError','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','squel','crypto','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','register','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','apply','save','update','destroy','get','MailAccounts','stack','name','send','index','Smtp','Pause','mandatoryDispositionPause','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','merge','where','filter','options','MailAccount','includeAll','include','findAll','rows','show','keys','find','body'];(function(_0x31f1f5,_0x4a617f){var _0x4fe905=function(_0xcf4a03){while(--_0xcf4a03){_0x31f1f5['push'](_0x31f1f5['shift']());}};_0x4fe905(++_0x4a617f);}(_0xb59d,0x6d));var _0xdb59=function(_0x102cbf,_0x4f1153){_0x102cbf=_0x102cbf-0x0;var _0x38a591=_0xb59d[_0x102cbf];return _0x38a591;};'use strict';var emlformat=require(_0xdb59('0x0'));var rimraf=require(_0xdb59('0x1'));var zipdir=require(_0xdb59('0x2'));var jsonpatch=require(_0xdb59('0x3'));var rp=require(_0xdb59('0x4'));var moment=require(_0xdb59('0x5'));var BPromise=require(_0xdb59('0x6'));var Mustache=require(_0xdb59('0x7'));var util=require('util');var path=require(_0xdb59('0x8'));var sox=require('sox');var csv=require(_0xdb59('0x9'));var ejs=require(_0xdb59('0xa'));var fs=require('fs');var fs_extra=require(_0xdb59('0xb'));var _=require('lodash');var squel=require(_0xdb59('0xc'));var crypto=require(_0xdb59('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xdb59('0xe'));var Papa=require(_0xdb59('0xf'));var htmlToText=require(_0xdb59('0x10'));var juice=require(_0xdb59('0x11'));var Redis=require(_0xdb59('0x12'));var authService=require(_0xdb59('0x13'));var qs=require(_0xdb59('0x14'));var as=require(_0xdb59('0x15'));var hardwareService=require(_0xdb59('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0xdb59('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xdb59('0x18'))['db'];config[_0xdb59('0x19')]=_[_0xdb59('0x1a')](config[_0xdb59('0x19')],{'host':_0xdb59('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xdb59('0x19')]));require(_0xdb59('0x1c'))[_0xdb59('0x1d')](socket);var jayson=require(_0xdb59('0x1e'));var client=jayson[_0xdb59('0x1f')][_0xdb59('0x20')]({'port':0x232b});function respondWithRpcPromise(_0x1df111,_0x1edf08,_0x260872,_0x2d07e0){return new BPromise(function(_0x158b56,_0x1c547c){var _0x4073bd=_0x2d07e0||client;return _0x4073bd['request'](_0x1df111,_0x260872)[_0xdb59('0x21')](function(_0x4ec60d){logger[_0xdb59('0x22')](_0xdb59('0x23'),_0x1edf08,_0xdb59('0x24'));logger[_0xdb59('0x25')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x1edf08,_0xdb59('0x24'),JSON[_0xdb59('0x26')](_0x4ec60d));if(_0x4ec60d[_0xdb59('0x27')]){if(_0x4ec60d[_0xdb59('0x27')][_0xdb59('0x28')]===0x1f4){logger[_0xdb59('0x27')]('MailAccount,\x20%s,\x20%s',_0x1edf08,_0x4ec60d[_0xdb59('0x27')]['message']);return _0x1c547c(_0x4ec60d[_0xdb59('0x27')][_0xdb59('0x29')]);}logger[_0xdb59('0x27')](_0xdb59('0x23'),_0x1edf08,_0x4ec60d[_0xdb59('0x27')]['message']);return _0x158b56(_0x4ec60d['error']['message']);}else{logger[_0xdb59('0x22')](_0xdb59('0x23'),_0x1edf08,_0xdb59('0x24'));_0x158b56(_0x4ec60d[_0xdb59('0x2a')][_0xdb59('0x29')]);}})[_0xdb59('0x2b')](function(_0xc65a91){logger[_0xdb59('0x27')](_0xdb59('0x23'),_0x1edf08,_0xc65a91);_0x1c547c(_0xc65a91);});});}function respondWithStatusCode(_0x5832c9,_0x12c179){_0x12c179=_0x12c179||0xcc;return function(_0x55697a){if(_0x55697a){return _0x5832c9[_0xdb59('0x2c')](_0x12c179);}return _0x5832c9[_0xdb59('0x2d')](_0x12c179)[_0xdb59('0x2e')]();};}function respondWithResult(_0x105e76,_0x3e6567){_0x3e6567=_0x3e6567||0xc8;return function(_0x3a1587){if(_0x3a1587){return _0x105e76[_0xdb59('0x2d')](_0x3e6567)['json'](_0x3a1587);}};}function respondWithFilteredResult(_0x4e7bd6,_0x3c7a38){return function(_0x49252f){if(_0x49252f){var _0x55e873=typeof _0x3c7a38[_0xdb59('0x2f')]===_0xdb59('0x30')&&typeof _0x3c7a38['limit']===_0xdb59('0x30');var _0x33c42f=_0x49252f[_0xdb59('0x31')];var _0x29492a=_0x55e873?0x0:_0x3c7a38[_0xdb59('0x2f')];var _0x24da61=_0x55e873?_0x49252f['count']:_0x3c7a38['offset']+_0x3c7a38[_0xdb59('0x32')];var _0x54cb67;if(_0x24da61>=_0x33c42f){_0x24da61=_0x33c42f;_0x54cb67=0xc8;}else{_0x54cb67=0xce;}_0x4e7bd6[_0xdb59('0x2d')](_0x54cb67);return _0x4e7bd6[_0xdb59('0x33')](_0xdb59('0x34'),_0x29492a+'-'+_0x24da61+'/'+_0x33c42f)['json'](_0x49252f);}return null;};}function patchUpdates(_0x406d3e){return function(_0x22a9a2){try{jsonpatch[_0xdb59('0x35')](_0x22a9a2,_0x406d3e,!![]);}catch(_0x1873cf){return BPromise['reject'](_0x1873cf);}return _0x22a9a2[_0xdb59('0x36')]();};}function saveUpdates(_0x2a53d4,_0x58b0f2){return function(_0x3b0a20){if(_0x3b0a20){return _0x3b0a20[_0xdb59('0x37')](_0x2a53d4)[_0xdb59('0x21')](function(_0x30a068){return _0x30a068;});}return null;};}function removeEntity(_0x293905,_0x21e221){return function(_0x14a9c9){if(_0x14a9c9){return _0x14a9c9[_0xdb59('0x38')]()[_0xdb59('0x21')](function(){var _0xa634bc=_0x14a9c9[_0xdb59('0x39')]({'plain':!![]});var _0x5000e4=_0xdb59('0x3a');return db['UserProfileResource'][_0xdb59('0x38')]({'where':{'type':_0x5000e4,'resourceId':_0xa634bc['id']}})['then'](function(){return _0x14a9c9;});})[_0xdb59('0x21')](function(){_0x293905[_0xdb59('0x2d')](0xcc)[_0xdb59('0x2e')]();});}};}function handleEntityNotFound(_0x389049,_0x12f2d8){return function(_0x149890){if(!_0x149890){_0x389049[_0xdb59('0x2c')](0x194);}return _0x149890;};}function handleError(_0x209380,_0x54ea91){_0x54ea91=_0x54ea91||0x1f4;return function(_0x4067b4){logger[_0xdb59('0x27')](_0x4067b4[_0xdb59('0x3b')]);if(_0x4067b4[_0xdb59('0x3c')]){delete _0x4067b4[_0xdb59('0x3c')];}_0x209380['status'](_0x54ea91)[_0xdb59('0x3d')](_0x4067b4);};}exports[_0xdb59('0x3e')]=function(_0x2a88a9,_0x449eea){var _0x1f45ce={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xdb59('0x3f')},{'model':db[_0xdb59('0x40')],'as':_0xdb59('0x41')}]},_0x1bea61={},_0x2eb408={'count':0x0,'rows':[]};var _0x30bd4f=_['map'](db['MailAccount'][_0xdb59('0x42')],function(_0x51ba33){return{'name':_0x51ba33[_0xdb59('0x43')],'type':_0x51ba33[_0xdb59('0x44')]['key']};});_0x1bea61[_0xdb59('0x45')]=_['map'](_0x30bd4f,_0xdb59('0x3c'));_0x1bea61[_0xdb59('0x46')]=_['keys'](_0x2a88a9[_0xdb59('0x46')]);_0x1bea61[_0xdb59('0x47')]=_[_0xdb59('0x48')](_0x1bea61[_0xdb59('0x45')],_0x1bea61['query']);_0x1f45ce[_0xdb59('0x49')]=_['intersection'](_0x1bea61['model'],qs[_0xdb59('0x4a')](_0x2a88a9[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x1f45ce[_0xdb59('0x49')]=_0x1f45ce[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x1f45ce['attributes']:_0x1bea61[_0xdb59('0x45')];if(!_0x2a88a9[_0xdb59('0x46')][_0xdb59('0x4c')](_0xdb59('0x4d'))){_0x1f45ce[_0xdb59('0x32')]=qs[_0xdb59('0x32')](_0x2a88a9[_0xdb59('0x46')][_0xdb59('0x32')]);_0x1f45ce['offset']=qs[_0xdb59('0x2f')](_0x2a88a9[_0xdb59('0x46')][_0xdb59('0x2f')]);}_0x1f45ce[_0xdb59('0x4e')]=qs[_0xdb59('0x4f')](_0x2a88a9['query'][_0xdb59('0x4f')]);_0x1f45ce['where']=qs['filters'](_['pick'](_0x2a88a9['query'],_0x1bea61[_0xdb59('0x47')]),_0x30bd4f);if(_0x2a88a9[_0xdb59('0x46')]['filter']){_0x1f45ce['where']=_[_0xdb59('0x50')](_0x1f45ce[_0xdb59('0x51')],{'$or':_['map'](_0x30bd4f,function(_0x930118){if(_0x930118[_0xdb59('0x44')]!=='VIRTUAL'){var _0x243c64={};_0x243c64[_0x930118[_0xdb59('0x3c')]]={'$like':'%'+_0x2a88a9['query'][_0xdb59('0x52')]+'%'};return _0x243c64;}})});}_0x1f45ce=_[_0xdb59('0x50')]({},_0x1f45ce,_0x2a88a9[_0xdb59('0x53')]);var _0x521da3={'where':_0x1f45ce[_0xdb59('0x51')]};return db[_0xdb59('0x54')][_0xdb59('0x31')](_0x521da3)[_0xdb59('0x21')](function(_0x3517ab){_0x2eb408['count']=_0x3517ab;if(_0x2a88a9[_0xdb59('0x46')][_0xdb59('0x55')]){_0x1f45ce[_0xdb59('0x56')]=[{'all':!![]}];}return db['MailAccount'][_0xdb59('0x57')](_0x1f45ce);})[_0xdb59('0x21')](function(_0x5554fe){_0x2eb408[_0xdb59('0x58')]=_0x5554fe;return _0x2eb408;})[_0xdb59('0x21')](respondWithFilteredResult(_0x449eea,_0x1f45ce))[_0xdb59('0x2b')](handleError(_0x449eea,null));};exports[_0xdb59('0x59')]=function(_0x402274,_0x1b8cc5){var _0x2a8dcc={'raw':![],'where':{'id':_0x402274['params']['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xdb59('0x3f')},{'model':db[_0xdb59('0x40')],'as':_0xdb59('0x41')}]},_0x5688bc={};_0x5688bc[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db[_0xdb59('0x54')][_0xdb59('0x42')]);_0x5688bc[_0xdb59('0x46')]=_[_0xdb59('0x5a')](_0x402274['query']);_0x5688bc[_0xdb59('0x47')]=_['intersection'](_0x5688bc[_0xdb59('0x45')],_0x5688bc[_0xdb59('0x46')]);_0x2a8dcc[_0xdb59('0x49')]=_[_0xdb59('0x48')](_0x5688bc[_0xdb59('0x45')],qs[_0xdb59('0x4a')](_0x402274[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x2a8dcc[_0xdb59('0x49')]=_0x2a8dcc[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x2a8dcc[_0xdb59('0x49')]:_0x5688bc['model'];if(_0x402274[_0xdb59('0x46')][_0xdb59('0x55')]){_0x2a8dcc['include']=[{'all':!![]}];}_0x2a8dcc=_[_0xdb59('0x50')]({},_0x2a8dcc,_0x402274[_0xdb59('0x53')]);return db['MailAccount'][_0xdb59('0x5b')](_0x2a8dcc)['then'](handleEntityNotFound(_0x1b8cc5,null))['then'](respondWithResult(_0x1b8cc5,null))[_0xdb59('0x2b')](handleError(_0x1b8cc5,null));};exports[_0xdb59('0x37')]=function(_0x47d74c,_0x513995){if(_0x47d74c[_0xdb59('0x5c')]['id']){delete _0x47d74c[_0xdb59('0x5c')]['id'];}return db['MailAccount'][_0xdb59('0x5b')]({'where':{'id':_0x47d74c['params']['id']},'include':[{'model':db[_0xdb59('0x5d')],'as':_0xdb59('0x5e')},{'model':db['MailServerOut'],'as':_0xdb59('0x3f')},{'model':db[_0xdb59('0x40')],'as':_0xdb59('0x41')}]})['then'](handleEntityNotFound(_0x513995,null))[_0xdb59('0x21')](saveUpdates(_0x47d74c[_0xdb59('0x5c')],null))[_0xdb59('0x21')](function(_0x265ff4){if(_0x265ff4&&_0x47d74c[_0xdb59('0x5c')][_0xdb59('0x5e')]){return db[_0xdb59('0x5d')][_0xdb59('0x37')](_0x47d74c['body'][_0xdb59('0x5e')],{'where':{'MailAccountId':_0x265ff4['id']}})['then'](function(){return _0x265ff4;});}return _0x265ff4;})['then'](function(_0x473758){if(_0x473758&&_0x47d74c[_0xdb59('0x5c')]['Smtp']){return db[_0xdb59('0x5f')]['update'](_0x47d74c[_0xdb59('0x5c')]['Smtp'],{'where':{'MailAccountId':_0x473758['id']}})[_0xdb59('0x21')](function(){return _0x473758;});}return _0x473758;})[_0xdb59('0x21')](respondWithResult(_0x513995,null))[_0xdb59('0x2b')](handleError(_0x513995,null));};exports[_0xdb59('0x60')]=function(_0x388c19,_0x5c43e4){return db['MailAccount'][_0xdb59('0x60')]()['then'](respondWithResult(_0x5c43e4,null))[_0xdb59('0x2b')](handleError(_0x5c43e4,null));};exports[_0xdb59('0x61')]=function(_0x592674,_0xb21069,_0x326395){if(_0x592674[_0xdb59('0x5c')]['id']){delete _0x592674[_0xdb59('0x5c')]['id'];}return db['MailAccount'][_0xdb59('0x5b')]({'where':{'id':_0x592674[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0xb21069,null))['then'](function(_0x540e31){if(_0x540e31){_0x592674[_0xdb59('0x5c')][_0xdb59('0x63')]=_0x540e31['id'];return db['Disposition'][_0xdb59('0x64')](_0x592674['body']);}})[_0xdb59('0x21')](respondWithResult(_0xb21069,null))[_0xdb59('0x2b')](handleError(_0xb21069,null));};exports[_0xdb59('0x65')]=function(_0x13eaca,_0x455c4c,_0x3b52d4){var _0x385e6b={'raw':![],'where':{}};var _0x23783c={};var _0x3f13b9={'count':0x0,'rows':[]};return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x13eaca['params']['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x455c4c,null))['then'](function(_0x5b6767){if(_0x5b6767){_0x23783c[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db['Disposition'][_0xdb59('0x42')]);_0x23783c[_0xdb59('0x46')]=_['keys'](_0x13eaca['query']);_0x23783c[_0xdb59('0x47')]=_[_0xdb59('0x48')](_0x23783c[_0xdb59('0x45')],_0x23783c[_0xdb59('0x46')]);_0x385e6b[_0xdb59('0x49')]=_[_0xdb59('0x48')](_0x23783c[_0xdb59('0x45')],qs[_0xdb59('0x4a')](_0x13eaca['query']['fields']));_0x385e6b[_0xdb59('0x49')]=_0x385e6b[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x385e6b['attributes']:_0x23783c[_0xdb59('0x45')];if(!_0x13eaca[_0xdb59('0x46')]['hasOwnProperty'](_0xdb59('0x4d'))){_0x385e6b[_0xdb59('0x32')]=qs[_0xdb59('0x32')](_0x13eaca[_0xdb59('0x46')][_0xdb59('0x32')]);_0x385e6b[_0xdb59('0x2f')]=qs[_0xdb59('0x2f')](_0x13eaca[_0xdb59('0x46')]['offset']);}_0x385e6b[_0xdb59('0x4e')]=qs[_0xdb59('0x4f')](_0x13eaca[_0xdb59('0x46')]['sort']);_0x385e6b['where']=qs[_0xdb59('0x47')](_[_0xdb59('0x66')](_0x13eaca[_0xdb59('0x46')],_0x23783c['filters']));_0x385e6b[_0xdb59('0x51')]['MailAccountId']=_0x5b6767['id'];if(_0x13eaca[_0xdb59('0x46')]['filter']){_0x385e6b[_0xdb59('0x51')]=_['merge'](_0x385e6b['where'],{'$or':_['map'](_0x385e6b[_0xdb59('0x49')],function(_0x100ae2){var _0x7c51be={};_0x7c51be[_0x100ae2]={'$like':'%'+_0x13eaca[_0xdb59('0x46')]['filter']+'%'};return _0x7c51be;})});}_0x385e6b=_['merge']({},_0x385e6b,_0x13eaca[_0xdb59('0x53')]);return db[_0xdb59('0x67')][_0xdb59('0x31')]({'where':_0x385e6b[_0xdb59('0x51')]})[_0xdb59('0x21')](function(_0x397367){_0x3f13b9[_0xdb59('0x31')]=_0x397367;if(_0x13eaca['query'][_0xdb59('0x55')]){_0x385e6b[_0xdb59('0x56')]=[{'all':!![]}];}return db[_0xdb59('0x67')][_0xdb59('0x57')](_0x385e6b);})[_0xdb59('0x21')](function(_0x138002){_0x3f13b9[_0xdb59('0x58')]=_0x138002;return _0x3f13b9;});}})[_0xdb59('0x21')](respondWithFilteredResult(_0x455c4c,_0x385e6b))[_0xdb59('0x2b')](handleError(_0x455c4c,null));};exports[_0xdb59('0x68')]=function(_0x5454eb,_0x1e6204,_0x17331c){return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x5454eb[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x1e6204,null))['then'](function(_0x55f1ca){if(_0x55f1ca){return _0x55f1ca['removeDispositions'](_0x5454eb[_0xdb59('0x46')][_0xdb59('0x69')]);}})[_0xdb59('0x21')](respondWithStatusCode(_0x1e6204,null))[_0xdb59('0x2b')](handleError(_0x1e6204,null));};exports[_0xdb59('0x6a')]=function(_0x54d7a6,_0x444ced,_0x192bc2){if(_0x54d7a6[_0xdb59('0x5c')]['id']){delete _0x54d7a6[_0xdb59('0x5c')]['id'];}return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x54d7a6['params']['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x444ced,null))[_0xdb59('0x21')](function(_0x2dc70d){if(_0x2dc70d){_0x54d7a6[_0xdb59('0x5c')][_0xdb59('0x63')]=_0x2dc70d['id'];return db[_0xdb59('0x6b')][_0xdb59('0x64')](_0x54d7a6[_0xdb59('0x5c')]);}})[_0xdb59('0x21')](respondWithResult(_0x444ced,null))[_0xdb59('0x2b')](handleError(_0x444ced,null));};exports[_0xdb59('0x6c')]=function(_0x1bc3fc,_0x36dc85,_0xe9852a){var _0x171bb8={'raw':![],'where':{}};var _0x262844={};var _0xd814aa={'count':0x0,'rows':[]};return db['MailAccount'][_0xdb59('0x6d')]({'where':{'id':_0x1bc3fc[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x36dc85,null))[_0xdb59('0x21')](function(_0x4faa1){if(_0x4faa1){_0x262844[_0xdb59('0x45')]=_['keys'](db[_0xdb59('0x6b')][_0xdb59('0x42')]);_0x262844[_0xdb59('0x46')]=_[_0xdb59('0x5a')](_0x1bc3fc[_0xdb59('0x46')]);_0x262844[_0xdb59('0x47')]=_[_0xdb59('0x48')](_0x262844[_0xdb59('0x45')],_0x262844[_0xdb59('0x46')]);_0x171bb8[_0xdb59('0x49')]=_['intersection'](_0x262844[_0xdb59('0x45')],qs[_0xdb59('0x4a')](_0x1bc3fc['query'][_0xdb59('0x4a')]));_0x171bb8[_0xdb59('0x49')]=_0x171bb8[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x171bb8['attributes']:_0x262844[_0xdb59('0x45')];if(!_0x1bc3fc['query'][_0xdb59('0x4c')](_0xdb59('0x4d'))){_0x171bb8[_0xdb59('0x32')]=qs[_0xdb59('0x32')](_0x1bc3fc[_0xdb59('0x46')][_0xdb59('0x32')]);_0x171bb8[_0xdb59('0x2f')]=qs[_0xdb59('0x2f')](_0x1bc3fc[_0xdb59('0x46')][_0xdb59('0x2f')]);}_0x171bb8[_0xdb59('0x4e')]=qs[_0xdb59('0x4f')](_0x1bc3fc[_0xdb59('0x46')]['sort']);_0x171bb8[_0xdb59('0x51')]=qs[_0xdb59('0x47')](_[_0xdb59('0x66')](_0x1bc3fc[_0xdb59('0x46')],_0x262844[_0xdb59('0x47')]));_0x171bb8['where'][_0xdb59('0x63')]=_0x4faa1['id'];if(_0x1bc3fc[_0xdb59('0x46')][_0xdb59('0x52')]){_0x171bb8['where']=_[_0xdb59('0x50')](_0x171bb8[_0xdb59('0x51')],{'$or':_[_0xdb59('0x6e')](_0x171bb8[_0xdb59('0x49')],function(_0x4aa1e6){var _0x191bea={};_0x191bea[_0x4aa1e6]={'$like':'%'+_0x1bc3fc[_0xdb59('0x46')][_0xdb59('0x52')]+'%'};return _0x191bea;})});}_0x171bb8=_[_0xdb59('0x50')]({},_0x171bb8,_0x1bc3fc['options']);return db[_0xdb59('0x6b')][_0xdb59('0x31')]({'where':_0x171bb8[_0xdb59('0x51')]})[_0xdb59('0x21')](function(_0x50b61d){_0xd814aa[_0xdb59('0x31')]=_0x50b61d;if(_0x1bc3fc[_0xdb59('0x46')][_0xdb59('0x55')]){_0x171bb8['include']=[{'all':!![]}];}return db[_0xdb59('0x6b')][_0xdb59('0x57')](_0x171bb8);})[_0xdb59('0x21')](function(_0x521c11){_0xd814aa[_0xdb59('0x58')]=_0x521c11;return _0xd814aa;});}})['then'](respondWithFilteredResult(_0x36dc85,_0x171bb8))[_0xdb59('0x2b')](handleError(_0x36dc85,null));};exports[_0xdb59('0x6f')]=function(_0xb03cc9,_0x462ad8,_0x1ac9e6){return db['MailAccount'][_0xdb59('0x5b')]({'where':{'id':_0xb03cc9[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x462ad8,null))[_0xdb59('0x21')](function(_0x51432c){if(_0x51432c){return _0x51432c[_0xdb59('0x6f')](_0xb03cc9[_0xdb59('0x46')][_0xdb59('0x69')]);}})[_0xdb59('0x21')](respondWithStatusCode(_0x462ad8,null))[_0xdb59('0x2b')](handleError(_0x462ad8,null));};exports[_0xdb59('0x64')]=function(_0x4e77c2,_0x3ba808){var _0x151f59={'name':_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x3c')],'key':_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x70')],'email':_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x71')],'ListId':_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x72')],'active':!_[_0xdb59('0x73')](_0x4e77c2['body'][_0xdb59('0x74')])?_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x74')]:!![],'description':_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x75')]||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x76')])){if(_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x77')]){_0x151f59['Imap'][_0xdb59('0x78')]=_0x151f59['Smtp'][_0xdb59('0x78')]=_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x79')];_0x151f59['Imap'][_0xdb59('0x7a')]=_0x151f59[_0xdb59('0x3f')][_0xdb59('0x7b')]=_0x4e77c2['body'][_0xdb59('0x7c')];}else{_0x151f59[_0xdb59('0x5e')]['authentication']=_0x151f59[_0xdb59('0x3f')]['authentication']=![];}_0x151f59[_0xdb59('0x5e')][_0xdb59('0x7d')]=_0x4e77c2[_0xdb59('0x5c')]['Imap'][_0xdb59('0x7d')];_0x151f59[_0xdb59('0x5e')][_0xdb59('0x7e')]=_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x5e')][_0xdb59('0x7e')];_0x151f59['Smtp'][_0xdb59('0x7d')]=_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x3f')]['host'];_0x151f59[_0xdb59('0x3f')]['port']=_0x4e77c2[_0xdb59('0x5c')]['Smtp'][_0xdb59('0x7e')];}else{_0x151f59[_0xdb59('0x5e')][_0xdb59('0x7f')]=_0x151f59[_0xdb59('0x3f')][_0xdb59('0x7f')]=_0x4e77c2[_0xdb59('0x5c')][_0xdb59('0x76')];_0x151f59['Imap'][_0xdb59('0x78')]=_0x151f59['Smtp'][_0xdb59('0x78')]=_0x4e77c2['body'][_0xdb59('0x79')];_0x151f59[_0xdb59('0x5e')][_0xdb59('0x7a')]=_0x151f59['Smtp'][_0xdb59('0x7b')]=_0x4e77c2[_0xdb59('0x5c')]['cpassword'];}return db[_0xdb59('0x54')][_0xdb59('0x64')](_0x151f59,{'include':[{'model':db[_0xdb59('0x5f')],'as':_0xdb59('0x3f')},{'model':db[_0xdb59('0x5d')],'as':_0xdb59('0x5e')}]})[_0xdb59('0x21')](function(_0x3956d4){var _0x33da8a=_0x4e77c2['user'][_0xdb59('0x39')]({'plain':!![]});if(!_0x33da8a)throw new Error(_0xdb59('0x80'));if(_0x33da8a[_0xdb59('0x81')]===_0xdb59('0x78')){var _0x1ddf0c=_0x3956d4[_0xdb59('0x39')]({'plain':!![]});return db[_0xdb59('0x82')][_0xdb59('0x5b')]({'where':{'name':'MailAccounts','userProfileId':_0x33da8a['userProfileId']},'raw':!![]})[_0xdb59('0x21')](function(_0x35f203){if(_0x35f203&&_0x35f203[_0xdb59('0x83')]===0x0){return db['UserProfileResource']['create']({'name':_0x1ddf0c['name'],'resourceId':_0x1ddf0c['id'],'type':_0x35f203[_0xdb59('0x3c')],'sectionId':_0x35f203['id']},{})['then'](function(){return _0x3956d4;});}else{return _0x3956d4;}})['catch'](function(_0x4c7c84){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4c7c84);throw _0x4c7c84;});}return _0x3956d4;})['then'](respondWithResult(_0x3ba808,0xc9))[_0xdb59('0x2b')](handleError(_0x3ba808,null));};exports[_0xdb59('0x84')]=function(_0xbb2c05,_0x2dccab,_0x4fcce8){return db[_0xdb59('0x54')][_0xdb59('0x6d')]({'where':{'id':_0xbb2c05[_0xdb59('0x62')]['id']}})['then'](handleEntityNotFound(_0x2dccab,null))[_0xdb59('0x21')](function(_0x1a5bd7){if(_0x1a5bd7){return _0x1a5bd7['getImap']();}return null;})[_0xdb59('0x21')](respondWithResult(_0x2dccab,null))[_0xdb59('0x2b')](handleError(_0x2dccab,null));};exports[_0xdb59('0x85')]=function(_0x4f9042,_0x24e766,_0x4a3728){if(_0x4f9042['body']['id']){delete _0x4f9042['body']['id'];}return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x4f9042[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x24e766,null))[_0xdb59('0x21')](function(_0x56deb9){if(_0x56deb9){_0x4f9042[_0xdb59('0x5c')][_0xdb59('0x63')]=_0x56deb9['id'];return db[_0xdb59('0x5d')][_0xdb59('0x64')](_0x4f9042[_0xdb59('0x5c')]);}})[_0xdb59('0x21')](respondWithResult(_0x24e766,null))[_0xdb59('0x2b')](handleError(_0x24e766,null));};exports[_0xdb59('0x86')]=function(_0x85febc,_0x46a6bb,_0x2f7a6b){return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x85febc['params']['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x46a6bb,null))['then'](function(_0x390f06){if(_0x390f06){return _0x390f06['setImap'](null);}return null;})[_0xdb59('0x21')](respondWithStatusCode(_0x46a6bb,null))[_0xdb59('0x2b')](handleError(_0x46a6bb,null));};exports['getSmtp']=function(_0x181a36,_0x2339ff,_0x5b6333){return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x181a36[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x2339ff,null))[_0xdb59('0x21')](function(_0x2a658d){if(_0x2a658d){return _0x2a658d[_0xdb59('0x87')]();}return null;})[_0xdb59('0x21')](respondWithResult(_0x2339ff,null))[_0xdb59('0x2b')](handleError(_0x2339ff,null));};exports['addSmtp']=function(_0x1c9c35,_0x52c661,_0x22feeb){if(_0x1c9c35[_0xdb59('0x5c')]['id']){delete _0x1c9c35[_0xdb59('0x5c')]['id'];}return db['MailAccount'][_0xdb59('0x5b')]({'where':{'id':_0x1c9c35[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x52c661,null))[_0xdb59('0x21')](function(_0x5a22ff){if(_0x5a22ff){_0x1c9c35[_0xdb59('0x5c')][_0xdb59('0x63')]=_0x5a22ff['id'];return db[_0xdb59('0x5f')][_0xdb59('0x64')](_0x1c9c35[_0xdb59('0x5c')]);}})['then'](respondWithResult(_0x52c661,null))[_0xdb59('0x2b')](handleError(_0x52c661,null));};exports[_0xdb59('0x88')]=function(_0x4ea65a,_0x42f979,_0x10f1ad){return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x4ea65a[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x42f979,null))['then'](function(_0x176594){if(_0x176594){return _0x176594[_0xdb59('0x89')](null);}return null;})[_0xdb59('0x21')](respondWithStatusCode(_0x42f979,null))[_0xdb59('0x2b')](handleError(_0x42f979,null));};exports[_0xdb59('0x8a')]=function(_0x57e216,_0x348dbe,_0x1ff364){return db[_0xdb59('0x8b')][_0xdb59('0x5b')]({'where':{'id':_0x57e216[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x348dbe,null))['then'](function(_0x536b1f){if(_0x536b1f){return _0x536b1f['addInteraction'](_0x57e216[_0xdb59('0x5c')]['ids'],_['omit'](_0x57e216[_0xdb59('0x5c')],[_0xdb59('0x69'),'id'])||{});}})[_0xdb59('0x21')](respondWithResult(_0x348dbe,null))[_0xdb59('0x2b')](handleError(_0x348dbe,null));};exports[_0xdb59('0x8c')]=function(_0x4be06a,_0x6fc9d4,_0x15818f){var _0x405b03={'raw':![],'where':{}};var _0x4bb48f={};var _0x5638c7={'count':0x0,'rows':[]};return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x4be06a[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x6fc9d4,null))[_0xdb59('0x21')](function(_0x102148){if(_0x102148){_0x4bb48f[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db[_0xdb59('0x8b')][_0xdb59('0x42')]);_0x4bb48f[_0xdb59('0x46')]=_[_0xdb59('0x5a')](_0x4be06a['query']);_0x4bb48f[_0xdb59('0x47')]=_['intersection'](_0x4bb48f['model'],_0x4bb48f[_0xdb59('0x46')]);_0x405b03[_0xdb59('0x49')]=_[_0xdb59('0x48')](_0x4bb48f[_0xdb59('0x45')],qs[_0xdb59('0x4a')](_0x4be06a[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x405b03[_0xdb59('0x49')]=_0x405b03[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x405b03[_0xdb59('0x49')]:_0x4bb48f['model'];if(!_0x4be06a[_0xdb59('0x46')]['hasOwnProperty'](_0xdb59('0x4d'))){_0x405b03['limit']=qs[_0xdb59('0x32')](_0x4be06a[_0xdb59('0x46')][_0xdb59('0x32')]);_0x405b03[_0xdb59('0x2f')]=qs[_0xdb59('0x2f')](_0x4be06a['query'][_0xdb59('0x2f')]);}_0x405b03[_0xdb59('0x4e')]=qs['sort'](_0x4be06a[_0xdb59('0x46')][_0xdb59('0x4f')]);_0x405b03['where']=qs[_0xdb59('0x47')](_['pick'](_0x4be06a[_0xdb59('0x46')],_0x4bb48f['filters']));_0x405b03[_0xdb59('0x51')]['MailAccountId']=_0x102148['id'];if(_0x4be06a[_0xdb59('0x46')]['filter']){_0x405b03[_0xdb59('0x51')]=_[_0xdb59('0x50')](_0x405b03[_0xdb59('0x51')],{'$or':_['map'](_0x405b03[_0xdb59('0x49')],function(_0x440623){var _0x141310={};_0x141310[_0x440623]={'$like':'%'+_0x4be06a[_0xdb59('0x46')][_0xdb59('0x52')]+'%'};return _0x141310;})});}_0x405b03=_[_0xdb59('0x50')]({},_0x405b03,_0x4be06a[_0xdb59('0x53')]);return db[_0xdb59('0x8b')][_0xdb59('0x31')]({'where':_0x405b03[_0xdb59('0x51')]})[_0xdb59('0x21')](function(_0x531832){_0x5638c7[_0xdb59('0x31')]=_0x531832;if(_0x4be06a[_0xdb59('0x46')][_0xdb59('0x55')]){_0x405b03[_0xdb59('0x56')]=[{'model':db[_0xdb59('0x8d')],'as':'Contact','required':![]},{'model':db['User'],'as':'Owner','attributes':[_0xdb59('0x3c'),_0xdb59('0x8e'),'internal'],'required':![]},{'model':db[_0xdb59('0x8f')],'as':_0xdb59('0x90'),'attributes':['id',_0xdb59('0x3c'),_0xdb59('0x91')],'where':_0x4be06a['query'][_0xdb59('0x92')]?{'id':_0x4be06a[_0xdb59('0x46')][_0xdb59('0x92')]}:undefined,'required':_0x4be06a[_0xdb59('0x46')][_0xdb59('0x92')]?!![]:![]}];}return db[_0xdb59('0x8b')][_0xdb59('0x57')](_0x405b03);})[_0xdb59('0x21')](function(_0x1b6fe2){_0x5638c7['rows']=_0x1b6fe2;return _0x5638c7;});}})['then'](respondWithFilteredResult(_0x6fc9d4,_0x405b03))[_0xdb59('0x2b')](handleError(_0x6fc9d4,null));};exports[_0xdb59('0x93')]=function addApplications(_0x860348,_0x252f0e){var _0x1c765f=_0x860348['params']['id'];var _0x10fd8a=_0x860348['body'];var _0x2fadb8=0xc8;var _0x341fe5=null;return db[_0xdb59('0x94')][_0xdb59('0x95')]({'isolationLevel':db['sequelize'][_0xdb59('0x96')][_0xdb59('0x97')][_0xdb59('0x98')]},function(_0x46e8a5){return db[_0xdb59('0x54')][_0xdb59('0x6d')]({'where':{'id':_0x1c765f},'transaction':_0x46e8a5})[_0xdb59('0x21')](function(_0x2adcfa){if(_0x2adcfa){return db[_0xdb59('0x99')][_0xdb59('0x38')]({'where':{'MailAccountId':_0x1c765f},'transaction':_0x46e8a5})[_0xdb59('0x21')](function(){var _0x56655d=_[_0xdb59('0x6e')](_0x10fd8a,function(_0x44add6){_0x44add6[_0xdb59('0x63')]=_0x1c765f;return _0x44add6;});return db[_0xdb59('0x99')][_0xdb59('0x9a')](_0x56655d,{'transaction':_0x46e8a5});});}else{_0x2fadb8=0x194;_0x341fe5=[];}});})[_0xdb59('0x21')](function(){if(_0x2fadb8!==0x194){return db[_0xdb59('0x99')][_0xdb59('0x9b')]({'where':{'MailAccountId':_0x1c765f},'order':_0xdb59('0x9c')})[_0xdb59('0x21')](function(_0x2714a1){_0x341fe5=_0x2714a1;});}})[_0xdb59('0x2b')](function(_0xcb8c97){_0x2fadb8=0x1f4;logger[_0xdb59('0x27')](_0xcb8c97[_0xdb59('0x3b')]);if(_0xcb8c97[_0xdb59('0x3c')]){delete _0xcb8c97[_0xdb59('0x3c')];}_0x341fe5=_0xcb8c97;})[_0xdb59('0x9d')](function(){if(_0x341fe5===null){_0x252f0e[_0xdb59('0x2c')](_0x2fadb8);}else{if(_0x2fadb8===0x1f4){_0x252f0e['status'](_0x2fadb8)[_0xdb59('0x3d')](_0x341fe5);}else{_0x252f0e['status'](_0x2fadb8)[_0xdb59('0x9e')](_0x341fe5);}}});};exports[_0xdb59('0x9f')]=function(_0x4fc62f,_0x135bb8,_0xfa1736){var _0x300ab6={};var _0x1f2509={};var _0x3f669a;var _0x5c22a3;return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x4fc62f['params']['id']}})['then'](handleEntityNotFound(_0x135bb8,null))[_0xdb59('0x21')](function(_0x40bf2d){if(_0x40bf2d){_0x3f669a=_0x40bf2d;_0x1f2509[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db[_0xdb59('0x99')][_0xdb59('0x42')]);_0x1f2509[_0xdb59('0x46')]=_[_0xdb59('0x5a')](_0x4fc62f[_0xdb59('0x46')]);_0x1f2509[_0xdb59('0x47')]=_['intersection'](_0x1f2509[_0xdb59('0x45')],_0x1f2509[_0xdb59('0x46')]);_0x300ab6['attributes']=_[_0xdb59('0x48')](_0x1f2509[_0xdb59('0x45')],qs[_0xdb59('0x4a')](_0x4fc62f[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x300ab6[_0xdb59('0x49')]=_0x300ab6[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x300ab6[_0xdb59('0x49')]:_0x1f2509[_0xdb59('0x45')];_0x300ab6[_0xdb59('0x4e')]=qs[_0xdb59('0x4f')](_0x4fc62f[_0xdb59('0x46')][_0xdb59('0x4f')]);_0x300ab6['where']=qs[_0xdb59('0x47')](_[_0xdb59('0x66')](_0x4fc62f[_0xdb59('0x46')],_0x1f2509[_0xdb59('0x47')]));if(_0x4fc62f['query'][_0xdb59('0x52')]){_0x300ab6['where']=_['merge'](_0x300ab6[_0xdb59('0x51')],{'$or':_[_0xdb59('0x6e')](_0x300ab6[_0xdb59('0x49')],function(_0x50a8fd){var _0x5436cb={};_0x5436cb[_0x50a8fd]={'$like':'%'+_0x4fc62f[_0xdb59('0x46')]['filter']+'%'};return _0x5436cb;})});}_0x300ab6=_[_0xdb59('0x50')]({},_0x300ab6,_0x4fc62f[_0xdb59('0x53')]);return _0x3f669a[_0xdb59('0x9f')](_0x300ab6);}})[_0xdb59('0x21')](function(_0x24e447){if(_0x24e447){_0x5c22a3=_0x24e447[_0xdb59('0x4b')];if(!_0x4fc62f['query'][_0xdb59('0x4c')](_0xdb59('0x4d'))){_0x300ab6[_0xdb59('0x32')]=qs['limit'](_0x4fc62f[_0xdb59('0x46')][_0xdb59('0x32')]);_0x300ab6[_0xdb59('0x2f')]=qs[_0xdb59('0x2f')](_0x4fc62f[_0xdb59('0x46')][_0xdb59('0x2f')]);}return _0x3f669a[_0xdb59('0x9f')](_0x300ab6);}})[_0xdb59('0x21')](function(_0x5ac0eb){if(_0x5ac0eb){return _0x5ac0eb?{'count':_0x5c22a3,'rows':_0x5ac0eb}:null;}})[_0xdb59('0x21')](respondWithResult(_0x135bb8,null))['catch'](handleError(_0x135bb8,null));};exports[_0xdb59('0xa0')]=function(_0x5400a2,_0x2e7516,_0xd4ed8a){var _0x2ff0ad={'raw':!![],'where':{}};var _0x4a6c7b={};var _0x268d27={'count':0x0,'rows':[]};return db[_0xdb59('0x54')][_0xdb59('0x6d')]({'where':{'id':_0x5400a2[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x2e7516,null))['then'](function(_0x5120be){if(_0x5120be){_0x4a6c7b[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db[_0xdb59('0xa1')][_0xdb59('0x42')]);_0x4a6c7b[_0xdb59('0x46')]=_['keys'](_0x5400a2[_0xdb59('0x46')]);_0x4a6c7b[_0xdb59('0x47')]=_[_0xdb59('0x48')](_0x4a6c7b[_0xdb59('0x45')],_0x4a6c7b[_0xdb59('0x46')]);_0x2ff0ad['attributes']=_[_0xdb59('0x48')](_0x4a6c7b[_0xdb59('0x45')],qs['fields'](_0x5400a2[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x2ff0ad['attributes']=_0x2ff0ad[_0xdb59('0x49')]['length']?_0x2ff0ad[_0xdb59('0x49')]:_0x4a6c7b[_0xdb59('0x45')];if(!_0x5400a2[_0xdb59('0x46')][_0xdb59('0x4c')](_0xdb59('0x4d'))){_0x2ff0ad[_0xdb59('0x32')]=qs['limit'](_0x5400a2[_0xdb59('0x46')][_0xdb59('0x32')]);_0x2ff0ad['offset']=qs['offset'](_0x5400a2[_0xdb59('0x46')][_0xdb59('0x2f')]);}_0x2ff0ad[_0xdb59('0x4e')]=qs[_0xdb59('0x4f')](_0x5400a2['query'][_0xdb59('0x4f')]);_0x2ff0ad[_0xdb59('0x51')]=qs[_0xdb59('0x47')](_[_0xdb59('0x66')](_0x5400a2[_0xdb59('0x46')],_0x4a6c7b[_0xdb59('0x47')]));_0x2ff0ad['where']['MailAccountId']=_0x5120be['id'];if(_0x5400a2[_0xdb59('0x46')]['filter']){_0x2ff0ad[_0xdb59('0x51')]=_[_0xdb59('0x50')](_0x2ff0ad[_0xdb59('0x51')],{'$or':_[_0xdb59('0x6e')](_0x2ff0ad[_0xdb59('0x49')],function(_0xad604f){var _0xb3d50a={};_0xb3d50a[_0xad604f]={'$like':'%'+_0x5400a2[_0xdb59('0x46')][_0xdb59('0x52')]+'%'};return _0xb3d50a;})});}if(_0x5400a2[_0xdb59('0x46')]['$gte']){var _0x52536b=_0x5400a2['query'][_0xdb59('0xa2')][_0xdb59('0xa3')](',');var _0x3989ee={};_0x3989ee[_0x52536b[0x0]]={'$gte':moment(_0x52536b[0x1])[_0xdb59('0xa4')](_0xdb59('0xa5'))};_0x2ff0ad[_0xdb59('0x51')]=_[_0xdb59('0x50')](_0x2ff0ad[_0xdb59('0x51')],_0x3989ee);}_0x2ff0ad=_[_0xdb59('0x50')]({},_0x2ff0ad,_0x5400a2['options']);return db[_0xdb59('0xa1')][_0xdb59('0x31')]({'where':_0x2ff0ad[_0xdb59('0x51')]})[_0xdb59('0x21')](function(_0x50f7fb){_0x268d27[_0xdb59('0x31')]=_0x50f7fb;if(_0x5400a2['query']['includeAll']){_0x2ff0ad['include']=[{'all':!![]}];}return db[_0xdb59('0xa1')][_0xdb59('0x57')](_0x2ff0ad);})[_0xdb59('0x21')](function(_0x21a955){if(_0x5400a2[_0xdb59('0x46')][_0xdb59('0xa6')]===_0xdb59('0xa7')){for(var _0x4063ba=0x0;_0x4063ba<_0x21a955[_0xdb59('0x4b')];_0x4063ba++){_0x21a955[_0x4063ba][_0xdb59('0x5c')]=juice(_0x21a955[_0x4063ba][_0xdb59('0x5c')]);}}_0x268d27[_0xdb59('0x58')]=_0x21a955;return _0x268d27;});}})[_0xdb59('0x21')](respondWithFilteredResult(_0x2e7516,_0x2ff0ad))[_0xdb59('0x2b')](handleError(_0x2e7516,null));};exports[_0xdb59('0x3d')]=function(_0x54d8fb,_0x1e1d92,_0x5498a6){var _0x27a0e2,_0x6c5b18={},_0x10352f;if(_0x54d8fb['body']['to']){_0x10352f=_0x54d8fb[_0xdb59('0x5c')]['to'][_0xdb59('0xa3')](',')[0x0];}return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x54d8fb['params']['id']},'include':[{'model':db[_0xdb59('0xa8')],'as':_0xdb59('0xa9'),'include':[{'model':db[_0xdb59('0x8d')],'as':'Contacts','where':{'email':_0x10352f},'limit':0x1,'order':[[_0xdb59('0xaa'),_0xdb59('0xab')]]}]},{'model':db[_0xdb59('0x5f')],'as':_0xdb59('0x3f'),'raw':!![]}]})['then'](handleEntityNotFound(_0x1e1d92,null))[_0xdb59('0x21')](function(_0x1436c2){if(_0x1436c2){_0x27a0e2=_0x1436c2;if(_0x1436c2['Smtp']){if(_['isNil'](_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xac')])){_0x54d8fb[_0xdb59('0x5c')]['from']=util[_0xdb59('0xa4')](_0xdb59('0xad'),_0x1436c2[_0xdb59('0x3c')],_0x1436c2['email']||_0x1436c2[_0xdb59('0x3f')][_0xdb59('0x78')]);}if(_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xae')]&&_0x54d8fb[_0xdb59('0x5c')]['attachments'][_0xdb59('0x4b')]){for(var _0x1fb2ef=0x0;_0x1fb2ef<_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xae')]['length'];_0x1fb2ef+=0x1){_0x54d8fb[_0xdb59('0x5c')]['attachments'][_0x1fb2ef]={'filename':_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xae')][_0x1fb2ef][_0xdb59('0x3c')],'path':path[_0xdb59('0xaf')](config[_0xdb59('0xb0')],_0xdb59('0xb1'),_0x54d8fb[_0xdb59('0x5c')]['attachments'][_0x1fb2ef][_0xdb59('0xb2')])};}}var _0x1a3d33={'tls':{'rejectUnauthorized':![]}};if(_[_0xdb59('0x73')](_0x1436c2['Smtp'][_0xdb59('0x7f')])){if(_0x1436c2['Smtp'][_0xdb59('0xb3')]){_0x1a3d33[_0xdb59('0xb4')]={'user':_0x1436c2[_0xdb59('0x3f')]['user'],'pass':_0x1436c2[_0xdb59('0x3f')][_0xdb59('0x7b')]};}_0x1a3d33[_0xdb59('0x7d')]=_0x1436c2[_0xdb59('0x3f')][_0xdb59('0x7d')];_0x1a3d33[_0xdb59('0x7e')]=_0x1436c2[_0xdb59('0x3f')][_0xdb59('0x7e')];_0x1a3d33[_0xdb59('0xb5')]=_0x1436c2['Smtp'][_0xdb59('0xb5')];}else{_0x1a3d33[_0xdb59('0x7f')]=_0x1436c2['Smtp'][_0xdb59('0x7f')];_0x1a3d33[_0xdb59('0xb4')]={'user':_0x1436c2['Smtp']['user'],'pass':_0x1436c2[_0xdb59('0x3f')][_0xdb59('0x7b')]};}return respondWithRpcPromise(_0xdb59('0xb6'),_0xdb59('0xb7'),{'account':_0x1a3d33,'message':_0x54d8fb[_0xdb59('0x5c')]});}else{throw new Error(_0xdb59('0xb8'));}}})['then'](function(_0x3ceeb1){if(_0x3ceeb1){_0x6c5b18=_0x3ceeb1;if(_0x27a0e2[_0xdb59('0xa9')]){if(_0x27a0e2['List'][_0xdb59('0xb9')][_0xdb59('0x4b')]){return _0x27a0e2[_0xdb59('0xa9')][_0xdb59('0xb9')][0x0];}else{return db[_0xdb59('0x8d')][_0xdb59('0x64')](_[_0xdb59('0x1a')](_0x54d8fb[_0xdb59('0x5c')],{'firstName':_0x54d8fb['body']['to'],'email':_0x54d8fb[_0xdb59('0x5c')]['to'],'phone':_0x54d8fb['body']['to'],'ListId':_0x27a0e2[_0xdb59('0x72')]}));}}else{throw new Error(_0xdb59('0xb8'));}}})[_0xdb59('0x21')](function(_0x368455){if(_0x368455){var _0x1092e1={'UserId':_0x54d8fb[_0xdb59('0x78')]['id'],'ContactId':_0x368455['id'],'MailAccountId':_0x27a0e2['id'],'inReplyTo':_0x6c5b18['messageId'],'to':_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xac')],'cc':_0x54d8fb[_0xdb59('0x5c')]['cc'],'subject':_0x54d8fb[_0xdb59('0x5c')][_0xdb59('0xba')],'attach':_0x54d8fb[_0xdb59('0x5c')]['attach'],'firstMsgDirection':'out','lastMsgAt':moment()[_0xdb59('0xa4')](_0xdb59('0xa5')),'lastMsgDirection':'out','Messages':[_['merge'](_0x54d8fb[_0xdb59('0x5c')],{'messageId':_0x6c5b18[_0xdb59('0xbb')],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x27a0e2['id'],'UserId':_0x54d8fb[_0xdb59('0x78')]['id'],'ContactId':_0x368455['id']})]};if(_0x54d8fb['body']['Interaction']){_0x1092e1=_[_0xdb59('0x50')](_0x1092e1,_0x54d8fb[_0xdb59('0x5c')]['Interaction']);}return db['MailInteraction'][_0xdb59('0x64')](_0x1092e1,{'include':[{'model':db[_0xdb59('0xa1')],'as':'Messages'}]});}})[_0xdb59('0x21')](respondWithResult(_0x1e1d92,null))[_0xdb59('0x2b')](handleError(_0x1e1d92,null));};exports[_0xdb59('0xbc')]=function(_0x44ca79,_0x527fcd,_0x41b974){return db[_0xdb59('0x54')]['find']({'where':{'id':_0x44ca79[_0xdb59('0x62')]['id']},'include':[{'model':db[_0xdb59('0x5f')],'as':_0xdb59('0x3f'),'raw':!![]}]})[_0xdb59('0x21')](handleEntityNotFound(_0x527fcd,null))[_0xdb59('0x21')](function(_0x3d0500){if(_0x3d0500&&_0x3d0500[_0xdb59('0x3f')]){var _0x29d902={'id':_0x3d0500['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3d0500[_0xdb59('0x3f')]['service']){_0x29d902['service']=_0x3d0500[_0xdb59('0x3f')]['service'];}else{_0x29d902['host']=_0x3d0500[_0xdb59('0x3f')][_0xdb59('0x7d')];_0x29d902[_0xdb59('0x7e')]=_0x3d0500['Smtp'][_0xdb59('0x7e')];_0x29d902['secure']=_0x3d0500[_0xdb59('0x3f')][_0xdb59('0xb5')];}if(_0x3d0500['Smtp'][_0xdb59('0xb3')]){_0x29d902[_0xdb59('0xb4')]={'user':_0x3d0500[_0xdb59('0x3f')]['user'],'pass':_0x3d0500[_0xdb59('0x3f')][_0xdb59('0x7b')]};}return respondWithRpcPromise(_0xdb59('0xbd'),_0xdb59('0xbc'),{'account':_0x29d902});}})['then'](respondWithResult(_0x527fcd,null))[_0xdb59('0x2b')](handleError(_0x527fcd,null));};exports[_0xdb59('0x38')]=function(_0x1c454e,_0x21756c){return db[_0xdb59('0x54')]['find']({'where':{'id':_0x1c454e[_0xdb59('0x62')]['id']}})['then'](handleEntityNotFound(_0x21756c,null))[_0xdb59('0x21')](function(_0x1f8d0f){if(_0x1f8d0f&&_0x1f8d0f['service']){throw new db[(_0xdb59('0xbe'))][(_0xdb59('0xbf'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x1f8d0f;})[_0xdb59('0x21')](removeEntity(_0x21756c,null))[_0xdb59('0x2b')](handleError(_0x21756c,null));};exports[_0xdb59('0xc0')]=function(_0x4e15da,_0x592525,_0x37b037){return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x4e15da['params']['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x592525,null))[_0xdb59('0x21')](function(_0x41e055){if(_0x41e055){return _0x41e055['addAgents'](_0x4e15da[_0xdb59('0x5c')][_0xdb59('0x69')],_[_0xdb59('0xc1')](_0x4e15da[_0xdb59('0x5c')],[_0xdb59('0x69'),'id'])||{})[_0xdb59('0xc2')](function(_0x133253){for(var _0x362aba=0x0;_0x362aba<_0x4e15da[_0xdb59('0x5c')][_0xdb59('0x69')][_0xdb59('0x4b')];_0x362aba+=0x1){socket[_0xdb59('0xc3')](_0xdb59('0xc4'),{'UserId':Number(_0x4e15da[_0xdb59('0x5c')][_0xdb59('0x69')][_0x362aba]),'MailAccountId':Number(_0x4e15da[_0xdb59('0x62')]['id'])});}return _0x133253;});}})[_0xdb59('0x21')](respondWithResult(_0x592525,null))[_0xdb59('0x2b')](handleError(_0x592525,null));};exports[_0xdb59('0xc5')]=function(_0x4facb4,_0x45c030,_0x52ec77){return db[_0xdb59('0x54')][_0xdb59('0x5b')]({'where':{'id':_0x4facb4['params']['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x45c030,null))[_0xdb59('0x21')](function(_0x5b7cd2){if(_0x5b7cd2){return _0x5b7cd2[_0xdb59('0xc5')](_0x4facb4[_0xdb59('0x46')][_0xdb59('0x69')])[_0xdb59('0x21')](function(){if(_[_0xdb59('0xc6')](_0x4facb4['query'][_0xdb59('0x69')])){for(var _0x5d309c=0x0;_0x5d309c<_0x4facb4[_0xdb59('0x46')]['ids'][_0xdb59('0x4b')];_0x5d309c+=0x1){socket[_0xdb59('0xc3')](_0xdb59('0xc7'),{'UserId':Number(_0x4facb4[_0xdb59('0x46')]['ids'][_0x5d309c]),'MailAccountId':Number(_0x4facb4[_0xdb59('0x62')]['id'])});}}else{socket[_0xdb59('0xc3')](_0xdb59('0xc7'),{'UserId':Number(_0x4facb4[_0xdb59('0x46')][_0xdb59('0x69')]),'MailAccountId':Number(_0x4facb4[_0xdb59('0x62')]['id'])});}});}})['then'](respondWithStatusCode(_0x45c030,null))['catch'](handleError(_0x45c030,null));};exports[_0xdb59('0xc8')]=function(_0x3bc568,_0x1b2dc4,_0x27443f){var _0x3a9fb8={};var _0x44329b={};var _0x3a9952;var _0x4a2f73;return db[_0xdb59('0x54')]['findOne']({'where':{'id':_0x3bc568[_0xdb59('0x62')]['id']}})[_0xdb59('0x21')](handleEntityNotFound(_0x1b2dc4,null))[_0xdb59('0x21')](function(_0x4caadc){if(_0x4caadc){_0x3a9952=_0x4caadc;_0x44329b[_0xdb59('0x45')]=_[_0xdb59('0x5a')](db[_0xdb59('0xc9')][_0xdb59('0x42')]);_0x44329b['query']=_[_0xdb59('0x5a')](_0x3bc568[_0xdb59('0x46')]);_0x44329b[_0xdb59('0x47')]=_['intersection'](_0x44329b['model'],_0x44329b[_0xdb59('0x46')]);_0x3a9fb8[_0xdb59('0x49')]=_['intersection'](_0x44329b[_0xdb59('0x45')],qs['fields'](_0x3bc568[_0xdb59('0x46')][_0xdb59('0x4a')]));_0x3a9fb8[_0xdb59('0x49')]=_0x3a9fb8[_0xdb59('0x49')][_0xdb59('0x4b')]?_0x3a9fb8[_0xdb59('0x49')]:_0x44329b[_0xdb59('0x45')];_0x3a9fb8[_0xdb59('0x4e')]=qs['sort'](_0x3bc568[_0xdb59('0x46')][_0xdb59('0x4f')]);_0x3a9fb8['where']=qs[_0xdb59('0x47')](_[_0xdb59('0x66')](_0x3bc568[_0xdb59('0x46')],_0x44329b[_0xdb59('0x47')]));if(_0x3bc568['query'][_0xdb59('0x52')]){_0x3a9fb8[_0xdb59('0x51')]=_[_0xdb59('0x50')](_0x3a9fb8[_0xdb59('0x51')],{'$or':_[_0xdb59('0x6e')](_0x3a9fb8[_0xdb59('0x49')],function(_0xd969e7){var _0x3fdb7c={};_0x3fdb7c[_0xd969e7]={'$like':'%'+_0x3bc568['query'][_0xdb59('0x52')]+'%'};return _0x3fdb7c;})});}_0x3a9fb8=_[_0xdb59('0x50')]({},_0x3a9fb8,_0x3bc568[_0xdb59('0x53')]);return _0x3a9952['getAgents'](_0x3a9fb8);}})[_0xdb59('0x21')](function(_0x230964){if(_0x230964){_0x4a2f73=_0x230964[_0xdb59('0x4b')];if(!_0x3bc568['query'][_0xdb59('0x4c')](_0xdb59('0x4d'))){_0x3a9fb8[_0xdb59('0x32')]=qs[_0xdb59('0x32')](_0x3bc568['query']['limit']);_0x3a9fb8[_0xdb59('0x2f')]=qs[_0xdb59('0x2f')](_0x3bc568[_0xdb59('0x46')][_0xdb59('0x2f')]);}return _0x3a9952['getAgents'](_0x3a9fb8);}})[_0xdb59('0x21')](function(_0x38edc1){if(_0x38edc1){return _0x38edc1?{'count':_0x4a2f73,'rows':_0x38edc1}:null;}})['then'](respondWithResult(_0x1b2dc4,null))[_0xdb59('0x2b')](handleError(_0x1b2dc4,null));};