Built motion from commit (unavailable).|2.5.31
[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 _0x2899=['save','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','index','MailServerOut','Smtp','mandatoryDispositionPause','map','MailAccount','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','params','MailServerIn','Imap','Pause','find','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','pick','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','findOne','removeAnswers','email','isNil','active','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tag','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','format','inlineCss','true','split','CmList','List','Contacts','updatedAt','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','SendMail','List\x20not\x20found','ListId','subject','attach','out','messageId','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','info','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject'];(function(_0x3e05d4,_0x2af9fb){var _0x45eba4=function(_0x32793a){while(--_0x32793a){_0x3e05d4['push'](_0x3e05d4['shift']());}};_0x45eba4(++_0x2af9fb);}(_0x2899,0x15e));var _0x9289=function(_0x59378b,_0x310ef3){_0x59378b=_0x59378b-0x0;var _0x38d137=_0x2899[_0x59378b];return _0x38d137;};'use strict';var emlformat=require(_0x9289('0x0'));var rimraf=require(_0x9289('0x1'));var zipdir=require(_0x9289('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9289('0x3'));var moment=require(_0x9289('0x4'));var BPromise=require(_0x9289('0x5'));var Mustache=require(_0x9289('0x6'));var util=require(_0x9289('0x7'));var path=require(_0x9289('0x8'));var sox=require('sox');var csv=require(_0x9289('0x9'));var ejs=require(_0x9289('0xa'));var fs=require('fs');var fs_extra=require(_0x9289('0xb'));var _=require(_0x9289('0xc'));var squel=require(_0x9289('0xd'));var crypto=require(_0x9289('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x9289('0xf'));var toCsv=require('to-csv');var querystring=require(_0x9289('0x10'));var Papa=require(_0x9289('0x11'));var htmlToText=require(_0x9289('0x12'));var juice=require(_0x9289('0x13'));var Redis=require(_0x9289('0x14'));var authService=require(_0x9289('0x15'));var qs=require(_0x9289('0x16'));var as=require(_0x9289('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x9289('0x18'));var config=require(_0x9289('0x19'));var licenseUtil=require(_0x9289('0x1a'));var db=require(_0x9289('0x1b'))['db'];config[_0x9289('0x1c')]=_[_0x9289('0x1d')](config[_0x9289('0x1c')],{'host':_0x9289('0x1e'),'port':0x18eb});var socket=require(_0x9289('0x1f'))(new Redis(config[_0x9289('0x1c')]));require('./mailAccount.socket')[_0x9289('0x20')](socket);var jayson=require(_0x9289('0x21'));var client=jayson[_0x9289('0x22')][_0x9289('0x23')]({'port':0x232b});function respondWithRpcPromise(_0x5d2e79,_0x2f01c5,_0x2aee2f,_0x5e45cc){return new BPromise(function(_0x3d63c5,_0xf06921){var _0x55e4da=_0x5e45cc||client;return _0x55e4da[_0x9289('0x24')](_0x5d2e79,_0x2aee2f)[_0x9289('0x25')](function(_0x1e7a88){logger['info'](_0x9289('0x26'),_0x2f01c5,_0x9289('0x27'));logger[_0x9289('0x28')](_0x9289('0x29'),_0x2f01c5,'request\x20sent',JSON[_0x9289('0x2a')](_0x1e7a88));if(_0x1e7a88[_0x9289('0x2b')]){if(_0x1e7a88[_0x9289('0x2b')]['code']===0x1f4){logger[_0x9289('0x2b')]('MailAccount,\x20%s,\x20%s',_0x2f01c5,_0x1e7a88[_0x9289('0x2b')][_0x9289('0x2c')]);return _0xf06921(_0x1e7a88[_0x9289('0x2b')][_0x9289('0x2c')]);}logger[_0x9289('0x2b')]('MailAccount,\x20%s,\x20%s',_0x2f01c5,_0x1e7a88[_0x9289('0x2b')]['message']);return _0x3d63c5(_0x1e7a88['error'][_0x9289('0x2c')]);}else{logger[_0x9289('0x2d')](_0x9289('0x26'),_0x2f01c5,_0x9289('0x27'));_0x3d63c5(_0x1e7a88[_0x9289('0x2e')][_0x9289('0x2c')]);}})[_0x9289('0x2f')](function(_0x58f74f){logger['error'](_0x9289('0x26'),_0x2f01c5,_0x58f74f);_0xf06921(_0x58f74f);});});}function respondWithStatusCode(_0x33f757,_0x156d0e){_0x156d0e=_0x156d0e||0xcc;return function(_0x35e925){if(_0x35e925){return _0x33f757[_0x9289('0x30')](_0x156d0e);}return _0x33f757[_0x9289('0x31')](_0x156d0e)[_0x9289('0x32')]();};}function respondWithResult(_0x5aff8a,_0x130452){_0x130452=_0x130452||0xc8;return function(_0x33ced4){if(_0x33ced4){return _0x5aff8a[_0x9289('0x31')](_0x130452)[_0x9289('0x33')](_0x33ced4);}};}function respondWithFilteredResult(_0x20faff,_0x3c2a76){return function(_0x5126b9){if(_0x5126b9){var _0x49fd2e=typeof _0x3c2a76[_0x9289('0x34')]===_0x9289('0x35')&&typeof _0x3c2a76[_0x9289('0x36')]===_0x9289('0x35');var _0x5f424b=_0x5126b9['count'];var _0x2e3c40=_0x49fd2e?0x0:_0x3c2a76[_0x9289('0x34')];var _0x36a5f4=_0x49fd2e?_0x5126b9[_0x9289('0x37')]:_0x3c2a76[_0x9289('0x34')]+_0x3c2a76[_0x9289('0x36')];var _0x16c6b8;if(_0x36a5f4>=_0x5f424b){_0x36a5f4=_0x5f424b;_0x16c6b8=0xc8;}else{_0x16c6b8=0xce;}_0x20faff[_0x9289('0x31')](_0x16c6b8);return _0x20faff[_0x9289('0x38')](_0x9289('0x39'),_0x2e3c40+'-'+_0x36a5f4+'/'+_0x5f424b)['json'](_0x5126b9);}return null;};}function patchUpdates(_0x2137d7){return function(_0x1e1fae){try{jsonpatch[_0x9289('0x3a')](_0x1e1fae,_0x2137d7,!![]);}catch(_0x2d5c96){return BPromise[_0x9289('0x3b')](_0x2d5c96);}return _0x1e1fae[_0x9289('0x3c')]();};}function saveUpdates(_0x32bf3c,_0xd7c7f1){return function(_0x3b4680){if(_0x3b4680){return _0x3b4680[_0x9289('0x3d')](_0x32bf3c)[_0x9289('0x25')](function(_0x5dc52e){return _0x5dc52e;});}return null;};}function removeEntity(_0x4dc927,_0x14aec2){return function(_0x1275d7){if(_0x1275d7){return _0x1275d7[_0x9289('0x3e')]()[_0x9289('0x25')](function(){var _0x1d5ac6=_0x1275d7[_0x9289('0x3f')]({'plain':!![]});var _0x5960b6=_0x9289('0x40');return db[_0x9289('0x41')][_0x9289('0x3e')]({'where':{'type':_0x5960b6,'resourceId':_0x1d5ac6['id']}})[_0x9289('0x25')](function(){return _0x1275d7;});})[_0x9289('0x25')](function(){_0x4dc927[_0x9289('0x31')](0xcc)[_0x9289('0x32')]();});}};}function handleEntityNotFound(_0x258d70,_0x3d759e){return function(_0x1faace){if(!_0x1faace){_0x258d70[_0x9289('0x30')](0x194);}return _0x1faace;};}function handleError(_0x28073d,_0x5104d0){_0x5104d0=_0x5104d0||0x1f4;return function(_0x256b6f){logger[_0x9289('0x2b')](_0x256b6f[_0x9289('0x42')]);if(_0x256b6f[_0x9289('0x43')]){delete _0x256b6f['name'];}_0x28073d[_0x9289('0x31')](_0x5104d0)[_0x9289('0x44')](_0x256b6f);};}exports[_0x9289('0x45')]=function(_0x2d4167,_0x1c1a6f){var _0x4589cf={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x9289('0x46')],'as':_0x9289('0x47')},{'model':db['Pause'],'as':_0x9289('0x48')}]},_0x1f070d={},_0x416438={'count':0x0,'rows':[]};var _0xad00b6=_[_0x9289('0x49')](db[_0x9289('0x4a')][_0x9289('0x4b')],function(_0x487cf4){return{'name':_0x487cf4['fieldName'],'type':_0x487cf4[_0x9289('0x4c')][_0x9289('0x4d')]};});_0x1f070d[_0x9289('0x4e')]=_[_0x9289('0x49')](_0xad00b6,_0x9289('0x43'));_0x1f070d[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x2d4167[_0x9289('0x4f')]);_0x1f070d[_0x9289('0x51')]=_[_0x9289('0x52')](_0x1f070d['model'],_0x1f070d[_0x9289('0x4f')]);_0x4589cf[_0x9289('0x53')]=_['intersection'](_0x1f070d[_0x9289('0x4e')],qs['fields'](_0x2d4167[_0x9289('0x4f')][_0x9289('0x54')]));_0x4589cf[_0x9289('0x53')]=_0x4589cf['attributes'][_0x9289('0x55')]?_0x4589cf[_0x9289('0x53')]:_0x1f070d['model'];if(!_0x2d4167[_0x9289('0x4f')][_0x9289('0x56')](_0x9289('0x57'))){_0x4589cf['limit']=qs['limit'](_0x2d4167[_0x9289('0x4f')][_0x9289('0x36')]);_0x4589cf[_0x9289('0x34')]=qs[_0x9289('0x34')](_0x2d4167[_0x9289('0x4f')][_0x9289('0x34')]);}_0x4589cf[_0x9289('0x58')]=qs[_0x9289('0x59')](_0x2d4167[_0x9289('0x4f')][_0x9289('0x59')]);_0x4589cf['where']=qs['filters'](_['pick'](_0x2d4167[_0x9289('0x4f')],_0x1f070d[_0x9289('0x51')]),_0xad00b6);if(_0x2d4167[_0x9289('0x4f')][_0x9289('0x5a')]){_0x4589cf[_0x9289('0x5b')]=_[_0x9289('0x5c')](_0x4589cf[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0xad00b6,function(_0x40f3bd){if(_0x40f3bd[_0x9289('0x4c')]!==_0x9289('0x5d')){var _0x1d7081={};_0x1d7081[_0x40f3bd['name']]={'$like':'%'+_0x2d4167[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0x1d7081;}})});}_0x4589cf=_[_0x9289('0x5c')]({},_0x4589cf,_0x2d4167[_0x9289('0x5e')]);var _0x33ffc6={'where':_0x4589cf[_0x9289('0x5b')]};return db[_0x9289('0x4a')]['count'](_0x33ffc6)[_0x9289('0x25')](function(_0x4e6308){_0x416438[_0x9289('0x37')]=_0x4e6308;if(_0x2d4167['query'][_0x9289('0x5f')]){_0x4589cf[_0x9289('0x60')]=[{'all':!![]}];}return db[_0x9289('0x4a')][_0x9289('0x61')](_0x4589cf);})[_0x9289('0x25')](function(_0x26c95d){_0x416438[_0x9289('0x62')]=_0x26c95d;return _0x416438;})[_0x9289('0x25')](respondWithFilteredResult(_0x1c1a6f,_0x4589cf))[_0x9289('0x2f')](handleError(_0x1c1a6f,null));};exports['show']=function(_0x56f209,_0x56fa79){var _0x3dfa45={'raw':![],'where':{'id':_0x56f209[_0x9289('0x63')]['id']},'include':[{'model':db[_0x9289('0x64')],'as':_0x9289('0x65')},{'model':db[_0x9289('0x46')],'as':_0x9289('0x47')},{'model':db[_0x9289('0x66')],'as':_0x9289('0x48')}]},_0x3d4d3b={};_0x3d4d3b[_0x9289('0x4e')]=_[_0x9289('0x50')](db['MailAccount'][_0x9289('0x4b')]);_0x3d4d3b[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x56f209[_0x9289('0x4f')]);_0x3d4d3b[_0x9289('0x51')]=_[_0x9289('0x52')](_0x3d4d3b[_0x9289('0x4e')],_0x3d4d3b['query']);_0x3dfa45[_0x9289('0x53')]=_[_0x9289('0x52')](_0x3d4d3b[_0x9289('0x4e')],qs[_0x9289('0x54')](_0x56f209['query'][_0x9289('0x54')]));_0x3dfa45[_0x9289('0x53')]=_0x3dfa45[_0x9289('0x53')][_0x9289('0x55')]?_0x3dfa45['attributes']:_0x3d4d3b['model'];if(_0x56f209[_0x9289('0x4f')][_0x9289('0x5f')]){_0x3dfa45[_0x9289('0x60')]=[{'all':!![]}];}_0x3dfa45=_[_0x9289('0x5c')]({},_0x3dfa45,_0x56f209[_0x9289('0x5e')]);return db[_0x9289('0x4a')][_0x9289('0x67')](_0x3dfa45)[_0x9289('0x25')](handleEntityNotFound(_0x56fa79,null))[_0x9289('0x25')](respondWithResult(_0x56fa79,null))[_0x9289('0x2f')](handleError(_0x56fa79,null));};exports[_0x9289('0x3d')]=function(_0x2d055d,_0x39a2e3){if(_0x2d055d[_0x9289('0x68')]['id']){delete _0x2d055d['body']['id'];}return db['MailAccount'][_0x9289('0x67')]({'where':{'id':_0x2d055d['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0x9289('0x65')},{'model':db[_0x9289('0x46')],'as':'Smtp'},{'model':db['Pause'],'as':_0x9289('0x48')}]})['then'](handleEntityNotFound(_0x39a2e3,null))['then'](saveUpdates(_0x2d055d[_0x9289('0x68')],null))[_0x9289('0x25')](function(_0x48cbf3){if(_0x48cbf3&&_0x2d055d[_0x9289('0x68')][_0x9289('0x65')]){return db['MailServerIn'][_0x9289('0x3d')](_0x2d055d[_0x9289('0x68')]['Imap'],{'where':{'MailAccountId':_0x48cbf3['id']}})[_0x9289('0x25')](function(){return _0x48cbf3;});}return _0x48cbf3;})[_0x9289('0x25')](function(_0x593079){if(_0x593079&&_0x2d055d[_0x9289('0x68')]['Smtp']){return db[_0x9289('0x46')][_0x9289('0x3d')](_0x2d055d[_0x9289('0x68')][_0x9289('0x47')],{'where':{'MailAccountId':_0x593079['id']}})[_0x9289('0x25')](function(){return _0x593079;});}return _0x593079;})[_0x9289('0x25')](respondWithResult(_0x39a2e3,null))[_0x9289('0x2f')](handleError(_0x39a2e3,null));};exports[_0x9289('0x69')]=function(_0x474420,_0x20b144){return db['MailAccount'][_0x9289('0x69')]()['then'](respondWithResult(_0x20b144,null))[_0x9289('0x2f')](handleError(_0x20b144,null));};exports[_0x9289('0x6a')]=function(_0x38cbc4,_0x9e4cc8,_0x560d57){if(_0x38cbc4[_0x9289('0x68')]['id']){delete _0x38cbc4[_0x9289('0x68')]['id'];}return db[_0x9289('0x4a')][_0x9289('0x67')]({'where':{'id':_0x38cbc4['params']['id']}})['then'](handleEntityNotFound(_0x9e4cc8,null))[_0x9289('0x25')](function(_0x1daade){if(_0x1daade){_0x38cbc4[_0x9289('0x68')][_0x9289('0x6b')]=_0x1daade['id'];return db[_0x9289('0x6c')][_0x9289('0x6d')](_0x38cbc4[_0x9289('0x68')]);}})['then'](respondWithResult(_0x9e4cc8,null))[_0x9289('0x2f')](handleError(_0x9e4cc8,null));};exports[_0x9289('0x6e')]=function(_0x4b09f2,_0x44a1f,_0x147c80){var _0x18f66c={'raw':![],'where':{}};var _0x16fd9f={};var _0x18cb6a={'count':0x0,'rows':[]};return db[_0x9289('0x4a')]['findOne']({'where':{'id':_0x4b09f2[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x44a1f,null))[_0x9289('0x25')](function(_0x129f77){if(_0x129f77){_0x16fd9f[_0x9289('0x4e')]=_[_0x9289('0x50')](db[_0x9289('0x6c')][_0x9289('0x4b')]);_0x16fd9f['query']=_[_0x9289('0x50')](_0x4b09f2['query']);_0x16fd9f[_0x9289('0x51')]=_['intersection'](_0x16fd9f[_0x9289('0x4e')],_0x16fd9f[_0x9289('0x4f')]);_0x18f66c['attributes']=_[_0x9289('0x52')](_0x16fd9f[_0x9289('0x4e')],qs[_0x9289('0x54')](_0x4b09f2[_0x9289('0x4f')][_0x9289('0x54')]));_0x18f66c['attributes']=_0x18f66c['attributes'][_0x9289('0x55')]?_0x18f66c[_0x9289('0x53')]:_0x16fd9f[_0x9289('0x4e')];if(!_0x4b09f2[_0x9289('0x4f')][_0x9289('0x56')](_0x9289('0x57'))){_0x18f66c[_0x9289('0x36')]=qs[_0x9289('0x36')](_0x4b09f2[_0x9289('0x4f')][_0x9289('0x36')]);_0x18f66c['offset']=qs[_0x9289('0x34')](_0x4b09f2[_0x9289('0x4f')][_0x9289('0x34')]);}_0x18f66c['order']=qs[_0x9289('0x59')](_0x4b09f2['query'][_0x9289('0x59')]);_0x18f66c[_0x9289('0x5b')]=qs['filters'](_[_0x9289('0x6f')](_0x4b09f2['query'],_0x16fd9f[_0x9289('0x51')]));_0x18f66c[_0x9289('0x5b')][_0x9289('0x6b')]=_0x129f77['id'];if(_0x4b09f2['query'][_0x9289('0x5a')]){_0x18f66c[_0x9289('0x5b')]=_[_0x9289('0x5c')](_0x18f66c[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x18f66c[_0x9289('0x53')],function(_0x1e9654){var _0x23a3e5={};_0x23a3e5[_0x1e9654]={'$like':'%'+_0x4b09f2[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0x23a3e5;})});}_0x18f66c=_[_0x9289('0x5c')]({},_0x18f66c,_0x4b09f2[_0x9289('0x5e')]);return db['Disposition'][_0x9289('0x37')]({'where':_0x18f66c[_0x9289('0x5b')]})[_0x9289('0x25')](function(_0x55789a){_0x18cb6a[_0x9289('0x37')]=_0x55789a;if(_0x4b09f2['query']['includeAll']){_0x18f66c[_0x9289('0x60')]=[{'all':!![]}];}return db[_0x9289('0x6c')]['findAll'](_0x18f66c);})[_0x9289('0x25')](function(_0x35419e){_0x18cb6a[_0x9289('0x62')]=_0x35419e;return _0x18cb6a;});}})[_0x9289('0x25')](respondWithFilteredResult(_0x44a1f,_0x18f66c))[_0x9289('0x2f')](handleError(_0x44a1f,null));};exports[_0x9289('0x70')]=function(_0x33efaa,_0x107042,_0x4191c2){return db[_0x9289('0x4a')]['find']({'where':{'id':_0x33efaa[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x107042,null))[_0x9289('0x25')](function(_0xc9b74){if(_0xc9b74){return _0xc9b74[_0x9289('0x70')](_0x33efaa['query'][_0x9289('0x71')]);}})[_0x9289('0x25')](respondWithStatusCode(_0x107042,null))[_0x9289('0x2f')](handleError(_0x107042,null));};exports[_0x9289('0x72')]=function(_0x504879,_0x3e42fe,_0x43bd58){if(_0x504879['body']['id']){delete _0x504879[_0x9289('0x68')]['id'];}return db[_0x9289('0x4a')]['find']({'where':{'id':_0x504879[_0x9289('0x63')]['id']}})['then'](handleEntityNotFound(_0x3e42fe,null))[_0x9289('0x25')](function(_0x5abfe5){if(_0x5abfe5){_0x504879[_0x9289('0x68')][_0x9289('0x6b')]=_0x5abfe5['id'];return db[_0x9289('0x73')][_0x9289('0x6d')](_0x504879[_0x9289('0x68')]);}})[_0x9289('0x25')](respondWithResult(_0x3e42fe,null))[_0x9289('0x2f')](handleError(_0x3e42fe,null));};exports[_0x9289('0x74')]=function(_0x2b81d0,_0x190e91,_0x384cb1){var _0x48995c={'raw':![],'where':{}};var _0xe87515={};var _0x4e4b92={'count':0x0,'rows':[]};return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x2b81d0[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x190e91,null))[_0x9289('0x25')](function(_0x99138e){if(_0x99138e){_0xe87515[_0x9289('0x4e')]=_['keys'](db[_0x9289('0x73')][_0x9289('0x4b')]);_0xe87515[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x2b81d0[_0x9289('0x4f')]);_0xe87515[_0x9289('0x51')]=_[_0x9289('0x52')](_0xe87515[_0x9289('0x4e')],_0xe87515[_0x9289('0x4f')]);_0x48995c[_0x9289('0x53')]=_['intersection'](_0xe87515['model'],qs[_0x9289('0x54')](_0x2b81d0['query'][_0x9289('0x54')]));_0x48995c[_0x9289('0x53')]=_0x48995c[_0x9289('0x53')]['length']?_0x48995c['attributes']:_0xe87515['model'];if(!_0x2b81d0['query'][_0x9289('0x56')]('nolimit')){_0x48995c['limit']=qs['limit'](_0x2b81d0[_0x9289('0x4f')][_0x9289('0x36')]);_0x48995c[_0x9289('0x34')]=qs[_0x9289('0x34')](_0x2b81d0[_0x9289('0x4f')][_0x9289('0x34')]);}_0x48995c[_0x9289('0x58')]=qs[_0x9289('0x59')](_0x2b81d0[_0x9289('0x4f')][_0x9289('0x59')]);_0x48995c[_0x9289('0x5b')]=qs['filters'](_['pick'](_0x2b81d0[_0x9289('0x4f')],_0xe87515[_0x9289('0x51')]));_0x48995c[_0x9289('0x5b')]['MailAccountId']=_0x99138e['id'];if(_0x2b81d0[_0x9289('0x4f')][_0x9289('0x5a')]){_0x48995c[_0x9289('0x5b')]=_['merge'](_0x48995c[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x48995c[_0x9289('0x53')],function(_0x851d0c){var _0x2d817a={};_0x2d817a[_0x851d0c]={'$like':'%'+_0x2b81d0['query']['filter']+'%'};return _0x2d817a;})});}_0x48995c=_[_0x9289('0x5c')]({},_0x48995c,_0x2b81d0[_0x9289('0x5e')]);return db[_0x9289('0x73')]['count']({'where':_0x48995c['where']})['then'](function(_0x5c6d64){_0x4e4b92[_0x9289('0x37')]=_0x5c6d64;if(_0x2b81d0[_0x9289('0x4f')][_0x9289('0x5f')]){_0x48995c[_0x9289('0x60')]=[{'all':!![]}];}return db[_0x9289('0x73')]['findAll'](_0x48995c);})[_0x9289('0x25')](function(_0x4c1fdd){_0x4e4b92[_0x9289('0x62')]=_0x4c1fdd;return _0x4e4b92;});}})[_0x9289('0x25')](respondWithFilteredResult(_0x190e91,_0x48995c))[_0x9289('0x2f')](handleError(_0x190e91,null));};exports[_0x9289('0x76')]=function(_0x27162d,_0x1d82b0,_0x3d1991){return db['MailAccount'][_0x9289('0x67')]({'where':{'id':_0x27162d[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x1d82b0,null))[_0x9289('0x25')](function(_0x281bfc){if(_0x281bfc){return _0x281bfc[_0x9289('0x76')](_0x27162d[_0x9289('0x4f')][_0x9289('0x71')]);}})[_0x9289('0x25')](respondWithStatusCode(_0x1d82b0,null))[_0x9289('0x2f')](handleError(_0x1d82b0,null));};exports[_0x9289('0x6d')]=function(_0x153053,_0x12c332){var _0x16a74b={'name':_0x153053[_0x9289('0x68')][_0x9289('0x43')],'key':_0x153053[_0x9289('0x68')][_0x9289('0x4d')],'email':_0x153053[_0x9289('0x68')][_0x9289('0x77')],'ListId':_0x153053['body']['ListId'],'active':!_[_0x9289('0x78')](_0x153053[_0x9289('0x68')]['active'])?_0x153053[_0x9289('0x68')][_0x9289('0x79')]:!![],'description':_0x153053[_0x9289('0x68')]['description']||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x153053[_0x9289('0x68')][_0x9289('0x7a')])){if(_0x153053['body']['cauthentication']){_0x16a74b[_0x9289('0x65')][_0x9289('0x7b')]=_0x16a74b['Smtp']['user']=_0x153053[_0x9289('0x68')][_0x9289('0x7c')];_0x16a74b[_0x9289('0x65')][_0x9289('0x7d')]=_0x16a74b['Smtp'][_0x9289('0x7e')]=_0x153053[_0x9289('0x68')][_0x9289('0x7f')];}else{_0x16a74b['Imap'][_0x9289('0x80')]=_0x16a74b['Smtp'][_0x9289('0x80')]=![];}_0x16a74b[_0x9289('0x65')][_0x9289('0x81')]=_0x153053[_0x9289('0x68')]['Imap']['host'];_0x16a74b['Imap'][_0x9289('0x82')]=_0x153053[_0x9289('0x68')]['Imap'][_0x9289('0x82')];_0x16a74b['Smtp']['host']=_0x153053['body'][_0x9289('0x47')]['host'];_0x16a74b[_0x9289('0x47')]['port']=_0x153053[_0x9289('0x68')][_0x9289('0x47')]['port'];}else{_0x16a74b[_0x9289('0x65')]['service']=_0x16a74b[_0x9289('0x47')][_0x9289('0x83')]=_0x153053[_0x9289('0x68')][_0x9289('0x7a')];_0x16a74b['Imap'][_0x9289('0x7b')]=_0x16a74b['Smtp'][_0x9289('0x7b')]=_0x153053[_0x9289('0x68')][_0x9289('0x7c')];_0x16a74b[_0x9289('0x65')][_0x9289('0x7d')]=_0x16a74b[_0x9289('0x47')]['pass']=_0x153053[_0x9289('0x68')][_0x9289('0x7f')];}return db['MailAccount']['create'](_0x16a74b,{'include':[{'model':db[_0x9289('0x46')],'as':'Smtp'},{'model':db[_0x9289('0x64')],'as':_0x9289('0x65')}]})[_0x9289('0x25')](function(_0x5c7ef3){var _0x5f09b4=_0x153053['user'][_0x9289('0x3f')]({'plain':!![]});if(!_0x5f09b4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5f09b4['role']===_0x9289('0x7b')){var _0x272cec=_0x5c7ef3[_0x9289('0x3f')]({'plain':!![]});return db[_0x9289('0x84')][_0x9289('0x67')]({'where':{'name':_0x9289('0x40'),'userProfileId':_0x5f09b4[_0x9289('0x85')]},'raw':!![]})[_0x9289('0x25')](function(_0x27d8b4){if(_0x27d8b4&&_0x27d8b4[_0x9289('0x86')]===0x0){return db[_0x9289('0x41')][_0x9289('0x6d')]({'name':_0x272cec[_0x9289('0x43')],'resourceId':_0x272cec['id'],'type':_0x27d8b4[_0x9289('0x43')],'sectionId':_0x27d8b4['id']},{})[_0x9289('0x25')](function(){return _0x5c7ef3;});}else{return _0x5c7ef3;}})[_0x9289('0x2f')](function(_0x463eea){logger['error'](_0x9289('0x87'),_0x463eea);throw _0x463eea;});}return _0x5c7ef3;})['then'](respondWithResult(_0x12c332,0xc9))[_0x9289('0x2f')](handleError(_0x12c332,null));};exports[_0x9289('0x88')]=function(_0x388276,_0x241b10,_0x27069b){return db[_0x9289('0x4a')]['findOne']({'where':{'id':_0x388276['params']['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x241b10,null))[_0x9289('0x25')](function(_0x1e5677){if(_0x1e5677){return _0x1e5677['getImap']();}return null;})[_0x9289('0x25')](respondWithResult(_0x241b10,null))[_0x9289('0x2f')](handleError(_0x241b10,null));};exports[_0x9289('0x89')]=function(_0x23b9ac,_0x441542,_0x6db7b4){if(_0x23b9ac[_0x9289('0x68')]['id']){delete _0x23b9ac[_0x9289('0x68')]['id'];}return db[_0x9289('0x4a')]['find']({'where':{'id':_0x23b9ac[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x441542,null))[_0x9289('0x25')](function(_0x26daa5){if(_0x26daa5){_0x23b9ac[_0x9289('0x68')][_0x9289('0x6b')]=_0x26daa5['id'];return db[_0x9289('0x64')][_0x9289('0x6d')](_0x23b9ac[_0x9289('0x68')]);}})['then'](respondWithResult(_0x441542,null))[_0x9289('0x2f')](handleError(_0x441542,null));};exports[_0x9289('0x8a')]=function(_0x403a35,_0x155686,_0x5ea921){return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x403a35[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x155686,null))[_0x9289('0x25')](function(_0xed66cb){if(_0xed66cb){return _0xed66cb[_0x9289('0x8b')](null);}return null;})['then'](respondWithStatusCode(_0x155686,null))[_0x9289('0x2f')](handleError(_0x155686,null));};exports['getSmtp']=function(_0xaaaf2d,_0x3c9d3c,_0xad5d04){return db[_0x9289('0x4a')]['findOne']({'where':{'id':_0xaaaf2d[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x3c9d3c,null))[_0x9289('0x25')](function(_0x3380c0){if(_0x3380c0){return _0x3380c0[_0x9289('0x8c')]();}return null;})[_0x9289('0x25')](respondWithResult(_0x3c9d3c,null))[_0x9289('0x2f')](handleError(_0x3c9d3c,null));};exports[_0x9289('0x8d')]=function(_0x320698,_0x5d801f,_0x104643){if(_0x320698[_0x9289('0x68')]['id']){delete _0x320698['body']['id'];}return db[_0x9289('0x4a')][_0x9289('0x67')]({'where':{'id':_0x320698[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x5d801f,null))[_0x9289('0x25')](function(_0x5c7202){if(_0x5c7202){_0x320698[_0x9289('0x68')][_0x9289('0x6b')]=_0x5c7202['id'];return db['MailServerOut']['create'](_0x320698[_0x9289('0x68')]);}})['then'](respondWithResult(_0x5d801f,null))[_0x9289('0x2f')](handleError(_0x5d801f,null));};exports[_0x9289('0x8e')]=function(_0x1cc889,_0x1235cb,_0x2d9fd6){return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x1cc889['params']['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x1235cb,null))[_0x9289('0x25')](function(_0xed2991){if(_0xed2991){return _0xed2991[_0x9289('0x8f')](null);}return null;})['then'](respondWithStatusCode(_0x1235cb,null))[_0x9289('0x2f')](handleError(_0x1235cb,null));};exports[_0x9289('0x90')]=function(_0x4336d2,_0x473d95,_0xfc9f02){return db[_0x9289('0x91')]['find']({'where':{'id':_0x4336d2[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x473d95,null))[_0x9289('0x25')](function(_0x595a14){if(_0x595a14){return _0x595a14['addInteraction'](_0x4336d2['body'][_0x9289('0x71')],_[_0x9289('0x92')](_0x4336d2[_0x9289('0x68')],[_0x9289('0x71'),'id'])||{});}})['then'](respondWithResult(_0x473d95,null))[_0x9289('0x2f')](handleError(_0x473d95,null));};exports[_0x9289('0x93')]=function(_0x45c416,_0x2b6627,_0x5d8b28){var _0x50e4d1={'raw':![],'where':{}};var _0x289158={};var _0x16c646={'count':0x0,'rows':[]};return db['MailAccount'][_0x9289('0x75')]({'where':{'id':_0x45c416[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x2b6627,null))[_0x9289('0x25')](function(_0x4b43cf){if(_0x4b43cf){_0x289158['model']=_[_0x9289('0x50')](db[_0x9289('0x91')][_0x9289('0x4b')]);_0x289158[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x45c416[_0x9289('0x4f')]);_0x289158[_0x9289('0x51')]=_[_0x9289('0x52')](_0x289158[_0x9289('0x4e')],_0x289158[_0x9289('0x4f')]);_0x50e4d1[_0x9289('0x53')]=_[_0x9289('0x52')](_0x289158['model'],qs[_0x9289('0x54')](_0x45c416[_0x9289('0x4f')][_0x9289('0x54')]));_0x50e4d1[_0x9289('0x53')]=_0x50e4d1[_0x9289('0x53')][_0x9289('0x55')]?_0x50e4d1[_0x9289('0x53')]:_0x289158['model'];if(!_0x45c416[_0x9289('0x4f')][_0x9289('0x56')]('nolimit')){_0x50e4d1[_0x9289('0x36')]=qs[_0x9289('0x36')](_0x45c416['query'][_0x9289('0x36')]);_0x50e4d1[_0x9289('0x34')]=qs[_0x9289('0x34')](_0x45c416[_0x9289('0x4f')][_0x9289('0x34')]);}_0x50e4d1['order']=qs[_0x9289('0x59')](_0x45c416[_0x9289('0x4f')]['sort']);_0x50e4d1[_0x9289('0x5b')]=qs['filters'](_[_0x9289('0x6f')](_0x45c416['query'],_0x289158[_0x9289('0x51')]));_0x50e4d1[_0x9289('0x5b')][_0x9289('0x6b')]=_0x4b43cf['id'];if(_0x45c416[_0x9289('0x4f')][_0x9289('0x5a')]){_0x50e4d1['where']=_[_0x9289('0x5c')](_0x50e4d1[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x50e4d1[_0x9289('0x53')],function(_0x2e7bd6){var _0xd0268a={};_0xd0268a[_0x2e7bd6]={'$like':'%'+_0x45c416[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0xd0268a;})});}_0x50e4d1=_['merge']({},_0x50e4d1,_0x45c416['options']);return db[_0x9289('0x91')][_0x9289('0x37')]({'where':_0x50e4d1[_0x9289('0x5b')]})['then'](function(_0x4e716c){_0x16c646[_0x9289('0x37')]=_0x4e716c;if(_0x45c416['query'][_0x9289('0x5f')]){_0x50e4d1['include']=[{'model':db[_0x9289('0x94')],'as':_0x9289('0x95'),'required':![]},{'model':db[_0x9289('0x96')],'as':_0x9289('0x97'),'attributes':['name',_0x9289('0x98'),_0x9289('0x99')],'required':![]},{'model':db[_0x9289('0x9a')],'as':'Tags','attributes':['id',_0x9289('0x43'),'color'],'where':_0x45c416[_0x9289('0x4f')][_0x9289('0x9b')]?{'id':_0x45c416[_0x9289('0x4f')][_0x9289('0x9b')]}:undefined,'required':_0x45c416['query'][_0x9289('0x9b')]?!![]:![]}];}return db['MailInteraction'][_0x9289('0x61')](_0x50e4d1);})[_0x9289('0x25')](function(_0x2aec9e){_0x16c646['rows']=_0x2aec9e;return _0x16c646;});}})[_0x9289('0x25')](respondWithFilteredResult(_0x2b6627,_0x50e4d1))[_0x9289('0x2f')](handleError(_0x2b6627,null));};exports[_0x9289('0x9c')]=function(_0x1f9e61,_0x414b66,_0x172b6d){return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x1f9e61[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x414b66,null))[_0x9289('0x25')](function(_0x36cae1){if(_0x36cae1){return db[_0x9289('0x9d')][_0x9289('0x9e')](function(_0x9d392b){return db['MailApplication'][_0x9289('0x3e')]({'where':{'MailAccountId':_0x1f9e61[_0x9289('0x63')]['id']},'transaction':_0x9d392b})[_0x9289('0x25')](function(_0x19f3f5){var _0x459151=_[_0x9289('0x49')](_0x1f9e61['body'],function(_0x590705){_0x590705[_0x9289('0x6b')]=_0x1f9e61[_0x9289('0x63')]['id'];return _0x590705;});return db[_0x9289('0x9f')][_0x9289('0xa0')](_0x459151,{'transaction':_0x9d392b});});})['then'](function(){return db[_0x9289('0x9f')][_0x9289('0xa1')]({'where':{'MailAccountId':_0x1f9e61['params']['id']},'order':_0x9289('0xa2')});});}})[_0x9289('0x25')](respondWithResult(_0x414b66,null))[_0x9289('0x2f')](handleError(_0x414b66,null));};exports['getApplications']=function(_0x450ff9,_0x228854,_0x3e30c4){var _0x7ee4db={};var _0xdc9420={};var _0x5c0ddf;var _0x2e18c5;return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x450ff9[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x228854,null))['then'](function(_0x3d9d37){if(_0x3d9d37){_0x5c0ddf=_0x3d9d37;_0xdc9420[_0x9289('0x4e')]=_[_0x9289('0x50')](db['MailApplication'][_0x9289('0x4b')]);_0xdc9420[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x450ff9[_0x9289('0x4f')]);_0xdc9420[_0x9289('0x51')]=_[_0x9289('0x52')](_0xdc9420[_0x9289('0x4e')],_0xdc9420[_0x9289('0x4f')]);_0x7ee4db[_0x9289('0x53')]=_[_0x9289('0x52')](_0xdc9420[_0x9289('0x4e')],qs[_0x9289('0x54')](_0x450ff9['query'][_0x9289('0x54')]));_0x7ee4db[_0x9289('0x53')]=_0x7ee4db[_0x9289('0x53')]['length']?_0x7ee4db[_0x9289('0x53')]:_0xdc9420[_0x9289('0x4e')];_0x7ee4db[_0x9289('0x58')]=qs[_0x9289('0x59')](_0x450ff9[_0x9289('0x4f')]['sort']);_0x7ee4db[_0x9289('0x5b')]=qs[_0x9289('0x51')](_[_0x9289('0x6f')](_0x450ff9['query'],_0xdc9420['filters']));if(_0x450ff9[_0x9289('0x4f')]['filter']){_0x7ee4db[_0x9289('0x5b')]=_['merge'](_0x7ee4db[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x7ee4db[_0x9289('0x53')],function(_0x39f2f7){var _0x3540b9={};_0x3540b9[_0x39f2f7]={'$like':'%'+_0x450ff9[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0x3540b9;})});}_0x7ee4db=_['merge']({},_0x7ee4db,_0x450ff9[_0x9289('0x5e')]);return _0x5c0ddf['getApplications'](_0x7ee4db);}})[_0x9289('0x25')](function(_0xe31e71){if(_0xe31e71){_0x2e18c5=_0xe31e71[_0x9289('0x55')];if(!_0x450ff9[_0x9289('0x4f')][_0x9289('0x56')](_0x9289('0x57'))){_0x7ee4db[_0x9289('0x36')]=qs[_0x9289('0x36')](_0x450ff9[_0x9289('0x4f')][_0x9289('0x36')]);_0x7ee4db[_0x9289('0x34')]=qs['offset'](_0x450ff9[_0x9289('0x4f')][_0x9289('0x34')]);}return _0x5c0ddf[_0x9289('0xa3')](_0x7ee4db);}})[_0x9289('0x25')](function(_0x36f1cf){if(_0x36f1cf){return _0x36f1cf?{'count':_0x2e18c5,'rows':_0x36f1cf}:null;}})['then'](respondWithResult(_0x228854,null))[_0x9289('0x2f')](handleError(_0x228854,null));};exports[_0x9289('0xa4')]=function(_0x5d9f52,_0x246972,_0x328eb7){var _0x3c3a28={'raw':!![],'where':{}};var _0x2b9d77={};var _0x5e2f3c={'count':0x0,'rows':[]};return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x5d9f52[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x246972,null))[_0x9289('0x25')](function(_0x3e50e7){if(_0x3e50e7){_0x2b9d77[_0x9289('0x4e')]=_[_0x9289('0x50')](db[_0x9289('0xa5')][_0x9289('0x4b')]);_0x2b9d77[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x5d9f52[_0x9289('0x4f')]);_0x2b9d77[_0x9289('0x51')]=_['intersection'](_0x2b9d77[_0x9289('0x4e')],_0x2b9d77[_0x9289('0x4f')]);_0x3c3a28[_0x9289('0x53')]=_['intersection'](_0x2b9d77[_0x9289('0x4e')],qs[_0x9289('0x54')](_0x5d9f52[_0x9289('0x4f')]['fields']));_0x3c3a28['attributes']=_0x3c3a28[_0x9289('0x53')]['length']?_0x3c3a28[_0x9289('0x53')]:_0x2b9d77[_0x9289('0x4e')];if(!_0x5d9f52['query']['hasOwnProperty'](_0x9289('0x57'))){_0x3c3a28['limit']=qs[_0x9289('0x36')](_0x5d9f52[_0x9289('0x4f')][_0x9289('0x36')]);_0x3c3a28[_0x9289('0x34')]=qs[_0x9289('0x34')](_0x5d9f52[_0x9289('0x4f')]['offset']);}_0x3c3a28[_0x9289('0x58')]=qs[_0x9289('0x59')](_0x5d9f52[_0x9289('0x4f')][_0x9289('0x59')]);_0x3c3a28[_0x9289('0x5b')]=qs['filters'](_[_0x9289('0x6f')](_0x5d9f52['query'],_0x2b9d77['filters']));_0x3c3a28[_0x9289('0x5b')][_0x9289('0x6b')]=_0x3e50e7['id'];if(_0x5d9f52[_0x9289('0x4f')][_0x9289('0x5a')]){_0x3c3a28[_0x9289('0x5b')]=_['merge'](_0x3c3a28[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x3c3a28[_0x9289('0x53')],function(_0x341ca1){var _0x5d1532={};_0x5d1532[_0x341ca1]={'$like':'%'+_0x5d9f52[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0x5d1532;})});}if(_0x5d9f52['query'][_0x9289('0xa6')]){var _0x313e32=_0x5d9f52[_0x9289('0x4f')][_0x9289('0xa6')]['split'](',');var _0x4791bb={};_0x4791bb[_0x313e32[0x0]]={'$gte':moment(_0x313e32[0x1])[_0x9289('0xa7')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3c3a28[_0x9289('0x5b')]=_[_0x9289('0x5c')](_0x3c3a28['where'],_0x4791bb);}_0x3c3a28=_[_0x9289('0x5c')]({},_0x3c3a28,_0x5d9f52[_0x9289('0x5e')]);return db[_0x9289('0xa5')][_0x9289('0x37')]({'where':_0x3c3a28[_0x9289('0x5b')]})[_0x9289('0x25')](function(_0x9de24c){_0x5e2f3c['count']=_0x9de24c;if(_0x5d9f52[_0x9289('0x4f')][_0x9289('0x5f')]){_0x3c3a28[_0x9289('0x60')]=[{'all':!![]}];}return db[_0x9289('0xa5')][_0x9289('0x61')](_0x3c3a28);})[_0x9289('0x25')](function(_0xc7745b){if(_0x5d9f52[_0x9289('0x4f')][_0x9289('0xa8')]===_0x9289('0xa9')){for(var _0x3cfd2d=0x0;_0x3cfd2d<_0xc7745b[_0x9289('0x55')];_0x3cfd2d++){_0xc7745b[_0x3cfd2d]['body']=juice(_0xc7745b[_0x3cfd2d][_0x9289('0x68')]);}}_0x5e2f3c[_0x9289('0x62')]=_0xc7745b;return _0x5e2f3c;});}})['then'](respondWithFilteredResult(_0x246972,_0x3c3a28))['catch'](handleError(_0x246972,null));};exports[_0x9289('0x44')]=function(_0x56c4be,_0x1c85bd,_0x132c77){var _0x20f66a,_0x220d32={},_0x4ec33e;if(_0x56c4be[_0x9289('0x68')]['to']){_0x4ec33e=_0x56c4be[_0x9289('0x68')]['to'][_0x9289('0xaa')](',')[0x0];}return db[_0x9289('0x4a')]['find']({'where':{'id':_0x56c4be[_0x9289('0x63')]['id']},'include':[{'model':db[_0x9289('0xab')],'as':_0x9289('0xac'),'include':[{'model':db[_0x9289('0x94')],'as':_0x9289('0xad'),'where':{'email':_0x4ec33e},'limit':0x1,'order':[[_0x9289('0xae'),'DESC']]}]},{'model':db[_0x9289('0x46')],'as':_0x9289('0x47'),'raw':!![]}]})[_0x9289('0x25')](handleEntityNotFound(_0x1c85bd,null))['then'](function(_0x5c26a8){if(_0x5c26a8){_0x20f66a=_0x5c26a8;if(_0x5c26a8[_0x9289('0x47')]){if(_['isNil'](_0x56c4be['body'][_0x9289('0xaf')])){_0x56c4be[_0x9289('0x68')][_0x9289('0xaf')]=util[_0x9289('0xa7')](_0x9289('0xb0'),_0x5c26a8['name'],_0x5c26a8[_0x9289('0x77')]||_0x5c26a8[_0x9289('0x47')][_0x9289('0x7b')]);}if(_0x56c4be[_0x9289('0x68')][_0x9289('0xb1')]&&_0x56c4be[_0x9289('0x68')][_0x9289('0xb1')][_0x9289('0x55')]){for(var _0x5d3945=0x0;_0x5d3945<_0x56c4be[_0x9289('0x68')][_0x9289('0xb1')]['length'];_0x5d3945+=0x1){_0x56c4be[_0x9289('0x68')][_0x9289('0xb1')][_0x5d3945]={'filename':_0x56c4be['body']['attachments'][_0x5d3945][_0x9289('0x43')],'path':path[_0x9289('0xb2')](config[_0x9289('0xb3')],_0x9289('0xb4'),_0x56c4be[_0x9289('0x68')][_0x9289('0xb1')][_0x5d3945][_0x9289('0xb5')])};}}var _0x48b224={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x5c26a8['Smtp'][_0x9289('0x83')])){if(_0x5c26a8[_0x9289('0x47')][_0x9289('0x80')]){_0x48b224[_0x9289('0xb6')]={'user':_0x5c26a8[_0x9289('0x47')]['user'],'pass':_0x5c26a8['Smtp'][_0x9289('0x7e')]};}_0x48b224[_0x9289('0x81')]=_0x5c26a8[_0x9289('0x47')]['host'];_0x48b224[_0x9289('0x82')]=_0x5c26a8['Smtp']['port'];_0x48b224[_0x9289('0xb7')]=_0x5c26a8[_0x9289('0x47')][_0x9289('0xb7')];}else{_0x48b224[_0x9289('0x83')]=_0x5c26a8[_0x9289('0x47')][_0x9289('0x83')];_0x48b224[_0x9289('0xb6')]={'user':_0x5c26a8[_0x9289('0x47')][_0x9289('0x7b')],'pass':_0x5c26a8[_0x9289('0x47')][_0x9289('0x7e')]};}return respondWithRpcPromise(_0x9289('0xb8'),'sendMail',{'account':_0x48b224,'message':_0x56c4be[_0x9289('0x68')]});}else{throw new Error(_0x9289('0xb9'));}}})[_0x9289('0x25')](function(_0x24b9a7){if(_0x24b9a7){_0x220d32=_0x24b9a7;if(_0x20f66a[_0x9289('0xac')]){if(_0x20f66a[_0x9289('0xac')]['Contacts'][_0x9289('0x55')]){return _0x20f66a[_0x9289('0xac')][_0x9289('0xad')][0x0];}else{return db[_0x9289('0x94')][_0x9289('0x6d')](_[_0x9289('0x1d')](_0x56c4be[_0x9289('0x68')],{'firstName':_0x56c4be['body']['to'],'email':_0x56c4be['body']['to'],'phone':_0x56c4be[_0x9289('0x68')]['to'],'ListId':_0x20f66a[_0x9289('0xba')]}));}}else{throw new Error('List\x20not\x20found');}}})[_0x9289('0x25')](function(_0x27fc5){if(_0x27fc5){var _0x1f8e0b={'UserId':_0x56c4be[_0x9289('0x7b')]['id'],'ContactId':_0x27fc5['id'],'MailAccountId':_0x20f66a['id'],'inReplyTo':_0x220d32['messageId'],'to':_0x56c4be[_0x9289('0x68')][_0x9289('0xaf')],'cc':_0x56c4be['body']['cc'],'subject':_0x56c4be[_0x9289('0x68')][_0x9289('0xbb')],'attach':_0x56c4be['body'][_0x9289('0xbc')],'firstMsgDirection':_0x9289('0xbd'),'lastMsgAt':moment()[_0x9289('0xa7')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x9289('0xbd'),'Messages':[_['merge'](_0x56c4be['body'],{'messageId':_0x220d32[_0x9289('0xbe')],'sentAt':moment()[_0x9289('0xa7')](_0x9289('0xbf')),'read':!![],'MailAccountId':_0x20f66a['id'],'UserId':_0x56c4be['user']['id'],'ContactId':_0x27fc5['id']})]};if(_0x56c4be[_0x9289('0x68')][_0x9289('0xc0')]){_0x1f8e0b=_[_0x9289('0x5c')](_0x1f8e0b,_0x56c4be[_0x9289('0x68')][_0x9289('0xc0')]);}return db[_0x9289('0x91')]['create'](_0x1f8e0b,{'include':[{'model':db[_0x9289('0xa5')],'as':_0x9289('0xc1')}]});}})[_0x9289('0x25')](respondWithResult(_0x1c85bd,null))[_0x9289('0x2f')](handleError(_0x1c85bd,null));};exports[_0x9289('0xc2')]=function(_0x48f25f,_0x509939,_0xd9a097){return db['MailAccount'][_0x9289('0x67')]({'where':{'id':_0x48f25f[_0x9289('0x63')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x9289('0x47'),'raw':!![]}]})[_0x9289('0x25')](handleEntityNotFound(_0x509939,null))[_0x9289('0x25')](function(_0x3a5f69){if(_0x3a5f69&&_0x3a5f69['Smtp']){var _0x4f9bec={'id':_0x3a5f69['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3a5f69[_0x9289('0x47')][_0x9289('0x83')]){_0x4f9bec[_0x9289('0x83')]=_0x3a5f69['Smtp'][_0x9289('0x83')];}else{_0x4f9bec[_0x9289('0x81')]=_0x3a5f69[_0x9289('0x47')][_0x9289('0x81')];_0x4f9bec[_0x9289('0x82')]=_0x3a5f69[_0x9289('0x47')][_0x9289('0x82')];_0x4f9bec[_0x9289('0xb7')]=_0x3a5f69[_0x9289('0x47')][_0x9289('0xb7')];}if(_0x3a5f69['Smtp'][_0x9289('0x80')]){_0x4f9bec[_0x9289('0xb6')]={'user':_0x3a5f69['Smtp']['user'],'pass':_0x3a5f69[_0x9289('0x47')][_0x9289('0x7e')]};}return respondWithRpcPromise('VerifySmtp',_0x9289('0xc2'),{'account':_0x4f9bec});}})[_0x9289('0x25')](respondWithResult(_0x509939,null))[_0x9289('0x2f')](handleError(_0x509939,null));};exports[_0x9289('0x3e')]=function(_0x470bb6,_0x5bd310){return db[_0x9289('0x4a')][_0x9289('0x67')]({'where':{'id':_0x470bb6[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x5bd310,null))['then'](function(_0x36868a){if(_0x36868a&&_0x36868a[_0x9289('0x83')]){throw new db[(_0x9289('0xc3'))][(_0x9289('0xc4'))](_0x9289('0xc5'));}return _0x36868a;})[_0x9289('0x25')](removeEntity(_0x5bd310,null))[_0x9289('0x2f')](handleError(_0x5bd310,null));};exports['addAgents']=function(_0x4b1b63,_0x362171,_0x729409){return db[_0x9289('0x4a')][_0x9289('0x67')]({'where':{'id':_0x4b1b63[_0x9289('0x63')]['id']}})['then'](handleEntityNotFound(_0x362171,null))[_0x9289('0x25')](function(_0x58a582){if(_0x58a582){return _0x58a582[_0x9289('0xc6')](_0x4b1b63[_0x9289('0x68')][_0x9289('0x71')],_['omit'](_0x4b1b63['body'],[_0x9289('0x71'),'id'])||{})[_0x9289('0xc7')](function(_0x1c1a92){for(var _0xa99214=0x0;_0xa99214<_0x4b1b63['body'][_0x9289('0x71')]['length'];_0xa99214+=0x1){socket[_0x9289('0xc8')](_0x9289('0xc9'),{'UserId':_0x4b1b63[_0x9289('0x68')][_0x9289('0x71')][_0xa99214],'MailAccountId':_0x4b1b63[_0x9289('0x63')]['id']});}return _0x1c1a92;});}})['then'](respondWithResult(_0x362171,null))['catch'](handleError(_0x362171,null));};exports['removeAgents']=function(_0x39bfe6,_0x5a3fd7,_0x229fda){return db['MailAccount'][_0x9289('0x67')]({'where':{'id':_0x39bfe6[_0x9289('0x63')]['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x5a3fd7,null))[_0x9289('0x25')](function(_0x2b4737){if(_0x2b4737){return _0x2b4737[_0x9289('0xca')](_0x39bfe6[_0x9289('0x4f')][_0x9289('0x71')])[_0x9289('0x25')](function(){if(_['isArray'](_0x39bfe6[_0x9289('0x4f')]['ids'])){for(var _0x363058=0x0;_0x363058<_0x39bfe6[_0x9289('0x4f')]['ids']['length'];_0x363058+=0x1){socket['emit'](_0x9289('0xcb'),{'UserId':Number(_0x39bfe6[_0x9289('0x4f')][_0x9289('0x71')][_0x363058]),'MailAccountId':Number(_0x39bfe6[_0x9289('0x63')]['id'])});}}else{socket[_0x9289('0xc8')]('userMailAccount:remove',{'UserId':Number(_0x39bfe6[_0x9289('0x4f')][_0x9289('0x71')]),'MailAccountId':Number(_0x39bfe6[_0x9289('0x63')]['id'])});}});}})[_0x9289('0x25')](respondWithStatusCode(_0x5a3fd7,null))[_0x9289('0x2f')](handleError(_0x5a3fd7,null));};exports['getAgents']=function(_0x4001e3,_0x4dec26,_0x322111){var _0x5ec244={};var _0x12d3ac={};var _0x3647f4;var _0x42b0ee;return db[_0x9289('0x4a')][_0x9289('0x75')]({'where':{'id':_0x4001e3['params']['id']}})[_0x9289('0x25')](handleEntityNotFound(_0x4dec26,null))['then'](function(_0x31092e){if(_0x31092e){_0x3647f4=_0x31092e;_0x12d3ac['model']=_[_0x9289('0x50')](db[_0x9289('0x96')][_0x9289('0x4b')]);_0x12d3ac[_0x9289('0x4f')]=_[_0x9289('0x50')](_0x4001e3['query']);_0x12d3ac[_0x9289('0x51')]=_[_0x9289('0x52')](_0x12d3ac[_0x9289('0x4e')],_0x12d3ac['query']);_0x5ec244['attributes']=_[_0x9289('0x52')](_0x12d3ac[_0x9289('0x4e')],qs[_0x9289('0x54')](_0x4001e3['query']['fields']));_0x5ec244[_0x9289('0x53')]=_0x5ec244[_0x9289('0x53')][_0x9289('0x55')]?_0x5ec244[_0x9289('0x53')]:_0x12d3ac['model'];_0x5ec244['order']=qs[_0x9289('0x59')](_0x4001e3[_0x9289('0x4f')]['sort']);_0x5ec244[_0x9289('0x5b')]=qs[_0x9289('0x51')](_['pick'](_0x4001e3['query'],_0x12d3ac['filters']));if(_0x4001e3[_0x9289('0x4f')][_0x9289('0x5a')]){_0x5ec244[_0x9289('0x5b')]=_[_0x9289('0x5c')](_0x5ec244[_0x9289('0x5b')],{'$or':_[_0x9289('0x49')](_0x5ec244[_0x9289('0x53')],function(_0x44b0dd){var _0x1d41c7={};_0x1d41c7[_0x44b0dd]={'$like':'%'+_0x4001e3[_0x9289('0x4f')][_0x9289('0x5a')]+'%'};return _0x1d41c7;})});}_0x5ec244=_[_0x9289('0x5c')]({},_0x5ec244,_0x4001e3[_0x9289('0x5e')]);return _0x3647f4[_0x9289('0xcc')](_0x5ec244);}})['then'](function(_0x4069b4){if(_0x4069b4){_0x42b0ee=_0x4069b4['length'];if(!_0x4001e3[_0x9289('0x4f')][_0x9289('0x56')](_0x9289('0x57'))){_0x5ec244[_0x9289('0x36')]=qs[_0x9289('0x36')](_0x4001e3[_0x9289('0x4f')][_0x9289('0x36')]);_0x5ec244[_0x9289('0x34')]=qs['offset'](_0x4001e3[_0x9289('0x4f')][_0x9289('0x34')]);}return _0x3647f4['getAgents'](_0x5ec244);}})[_0x9289('0x25')](function(_0x3f6e34){if(_0x3f6e34){return _0x3f6e34?{'count':_0x42b0ee,'rows':_0x3f6e34}:null;}})[_0x9289('0x25')](respondWithResult(_0x4dec26,null))['catch'](handleError(_0x4dec26,null));};