Built motion from commit (unavailable).|2.5.29
[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 _0x34e8=['VIRTUAL','filter','options','MailAccount','includeAll','include','findAll','rows','catch','show','params','Pause','fields','find','body','describe','addDisposition','MailAccountId','create','getDispositions','findOne','Disposition','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','ListId','isNil','active','description','cservice','user','cuser','password','pass','cpassword','authentication','port','host','service','role','UserProfileSection','getImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','CmContact','Contact','User','Owner','fullname','internal','Tags','color','tag','sequelize','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','MailMessage','$gte','format','inlineCss','send','split','CmList','List','updatedAt','from','attachments','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','Contacts','messageId','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','verifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','isArray','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','register','client','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','get','MailAccounts','UserProfileResource','destroy','stack','name','index','MailServerIn','Imap','MailServerOut','Smtp','mandatoryDispositionPause','map','rawAttributes','type','model','keys','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge'];(function(_0x32d749,_0x2a67bb){var _0x50a7cd=function(_0x2cc11e){while(--_0x2cc11e){_0x32d749['push'](_0x32d749['shift']());}};_0x50a7cd(++_0x2a67bb);}(_0x34e8,0x12c));var _0x834e=function(_0x1bf6f6,_0x16b5e2){_0x1bf6f6=_0x1bf6f6-0x0;var _0x556346=_0x34e8[_0x1bf6f6];return _0x556346;};'use strict';var emlformat=require(_0x834e('0x0'));var rimraf=require(_0x834e('0x1'));var zipdir=require(_0x834e('0x2'));var jsonpatch=require(_0x834e('0x3'));var rp=require('request-promise');var moment=require(_0x834e('0x4'));var BPromise=require(_0x834e('0x5'));var Mustache=require(_0x834e('0x6'));var util=require(_0x834e('0x7'));var path=require(_0x834e('0x8'));var sox=require(_0x834e('0x9'));var csv=require(_0x834e('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x834e('0xb'));var _=require('lodash');var squel=require(_0x834e('0xc'));var crypto=require(_0x834e('0xd'));var jsforce=require(_0x834e('0xe'));var deskjs=require(_0x834e('0xf'));var toCsv=require(_0x834e('0xa'));var querystring=require(_0x834e('0x10'));var Papa=require(_0x834e('0x11'));var htmlToText=require(_0x834e('0x12'));var juice=require(_0x834e('0x13'));var Redis=require(_0x834e('0x14'));var authService=require(_0x834e('0x15'));var qs=require(_0x834e('0x16'));var as=require(_0x834e('0x17'));var hardwareService=require(_0x834e('0x18'));var logger=require(_0x834e('0x19'))(_0x834e('0x1a'));var utils=require(_0x834e('0x1b'));var config=require('../../config/environment');var licenseUtil=require(_0x834e('0x1c'));var db=require(_0x834e('0x1d'))['db'];config['redis']=_[_0x834e('0x1e')](config[_0x834e('0x1f')],{'host':_0x834e('0x20'),'port':0x18eb});var socket=require(_0x834e('0x21'))(new Redis(config['redis']));require(_0x834e('0x22'))[_0x834e('0x23')](socket);var jayson=require('jayson/promise');var client=jayson[_0x834e('0x24')]['http']({'port':0x232b});function respondWithRpcPromise(_0x38a8cd,_0x36d443,_0x478afe,_0x43ac41){return new BPromise(function(_0x22106e,_0x370fb5){var _0x50b3f6=_0x43ac41||client;return _0x50b3f6[_0x834e('0x25')](_0x38a8cd,_0x478afe)[_0x834e('0x26')](function(_0x34e41a){logger[_0x834e('0x27')](_0x834e('0x28'),_0x36d443,_0x834e('0x29'));logger[_0x834e('0x2a')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x36d443,_0x834e('0x29'),JSON[_0x834e('0x2b')](_0x34e41a));if(_0x34e41a[_0x834e('0x2c')]){if(_0x34e41a[_0x834e('0x2c')]['code']===0x1f4){logger[_0x834e('0x2c')](_0x834e('0x28'),_0x36d443,_0x34e41a['error'][_0x834e('0x2d')]);return _0x370fb5(_0x34e41a[_0x834e('0x2c')][_0x834e('0x2d')]);}logger['error']('MailAccount,\x20%s,\x20%s',_0x36d443,_0x34e41a[_0x834e('0x2c')][_0x834e('0x2d')]);return _0x22106e(_0x34e41a['error'][_0x834e('0x2d')]);}else{logger[_0x834e('0x27')]('MailAccount,\x20%s,\x20%s',_0x36d443,_0x834e('0x29'));_0x22106e(_0x34e41a[_0x834e('0x2e')][_0x834e('0x2d')]);}})['catch'](function(_0x24fcf7){logger[_0x834e('0x2c')]('MailAccount,\x20%s,\x20%s',_0x36d443,_0x24fcf7);_0x370fb5(_0x24fcf7);});});}function respondWithStatusCode(_0x5bef62,_0x1e713a){_0x1e713a=_0x1e713a||0xcc;return function(_0x508a1d){if(_0x508a1d){return _0x5bef62[_0x834e('0x2f')](_0x1e713a);}return _0x5bef62[_0x834e('0x30')](_0x1e713a)[_0x834e('0x31')]();};}function respondWithResult(_0x2cc2eb,_0x3cd928){_0x3cd928=_0x3cd928||0xc8;return function(_0x130cc5){if(_0x130cc5){return _0x2cc2eb['status'](_0x3cd928)['json'](_0x130cc5);}};}function respondWithFilteredResult(_0x4dc64a,_0x58c1d7){return function(_0x2c7a8d){if(_0x2c7a8d){var _0x567cea=typeof _0x58c1d7[_0x834e('0x32')]==='undefined'&&typeof _0x58c1d7[_0x834e('0x33')]===_0x834e('0x34');var _0x1f3671=_0x2c7a8d[_0x834e('0x35')];var _0x4551f5=_0x567cea?0x0:_0x58c1d7[_0x834e('0x32')];var _0x3d149d=_0x567cea?_0x2c7a8d[_0x834e('0x35')]:_0x58c1d7[_0x834e('0x32')]+_0x58c1d7['limit'];var _0xef9ec2;if(_0x3d149d>=_0x1f3671){_0x3d149d=_0x1f3671;_0xef9ec2=0xc8;}else{_0xef9ec2=0xce;}_0x4dc64a['status'](_0xef9ec2);return _0x4dc64a[_0x834e('0x36')](_0x834e('0x37'),_0x4551f5+'-'+_0x3d149d+'/'+_0x1f3671)[_0x834e('0x38')](_0x2c7a8d);}return null;};}function patchUpdates(_0x2b3418){return function(_0x444366){try{jsonpatch[_0x834e('0x39')](_0x444366,_0x2b3418,!![]);}catch(_0x4696a1){return BPromise[_0x834e('0x3a')](_0x4696a1);}return _0x444366[_0x834e('0x3b')]();};}function saveUpdates(_0x12b2bc,_0x5bd232){return function(_0x2a3c7f){if(_0x2a3c7f){return _0x2a3c7f[_0x834e('0x3c')](_0x12b2bc)[_0x834e('0x26')](function(_0xaf01f4){return _0xaf01f4;});}return null;};}function removeEntity(_0x595cc0,_0x3f88ad){return function(_0x379d60){if(_0x379d60){return _0x379d60['destroy']()['then'](function(){var _0x59385a=_0x379d60[_0x834e('0x3d')]({'plain':!![]});var _0x41bf4d=_0x834e('0x3e');return db[_0x834e('0x3f')][_0x834e('0x40')]({'where':{'type':_0x41bf4d,'resourceId':_0x59385a['id']}})[_0x834e('0x26')](function(){return _0x379d60;});})['then'](function(){_0x595cc0[_0x834e('0x30')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe103fe,_0x6a3ac){return function(_0x47abed){if(!_0x47abed){_0xe103fe[_0x834e('0x2f')](0x194);}return _0x47abed;};}function handleError(_0x2f56c7,_0x491c28){_0x491c28=_0x491c28||0x1f4;return function(_0x481f70){logger[_0x834e('0x2c')](_0x481f70[_0x834e('0x41')]);if(_0x481f70[_0x834e('0x42')]){delete _0x481f70[_0x834e('0x42')];}_0x2f56c7[_0x834e('0x30')](_0x491c28)['send'](_0x481f70);};}exports[_0x834e('0x43')]=function(_0x548d1d,_0x50c243){var _0x1b2edf={'include':[{'model':db[_0x834e('0x44')],'as':_0x834e('0x45')},{'model':db[_0x834e('0x46')],'as':_0x834e('0x47')},{'model':db['Pause'],'as':_0x834e('0x48')}]},_0x4a7f76={},_0x2e5239={'count':0x0,'rows':[]};var _0x26b847=_[_0x834e('0x49')](db['MailAccount'][_0x834e('0x4a')],function(_0x16ac45){return{'name':_0x16ac45['fieldName'],'type':_0x16ac45[_0x834e('0x4b')]['key']};});_0x4a7f76[_0x834e('0x4c')]=_[_0x834e('0x49')](_0x26b847,'name');_0x4a7f76['query']=_[_0x834e('0x4d')](_0x548d1d[_0x834e('0x4e')]);_0x4a7f76[_0x834e('0x4f')]=_[_0x834e('0x50')](_0x4a7f76[_0x834e('0x4c')],_0x4a7f76[_0x834e('0x4e')]);_0x1b2edf[_0x834e('0x51')]=_['intersection'](_0x4a7f76[_0x834e('0x4c')],qs['fields'](_0x548d1d[_0x834e('0x4e')]['fields']));_0x1b2edf[_0x834e('0x51')]=_0x1b2edf['attributes'][_0x834e('0x52')]?_0x1b2edf[_0x834e('0x51')]:_0x4a7f76['model'];if(!_0x548d1d[_0x834e('0x4e')][_0x834e('0x53')](_0x834e('0x54'))){_0x1b2edf[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x548d1d[_0x834e('0x4e')][_0x834e('0x33')]);_0x1b2edf[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x548d1d[_0x834e('0x4e')]['offset']);}_0x1b2edf[_0x834e('0x55')]=qs[_0x834e('0x56')](_0x548d1d['query'][_0x834e('0x56')]);_0x1b2edf[_0x834e('0x57')]=qs[_0x834e('0x4f')](_[_0x834e('0x58')](_0x548d1d[_0x834e('0x4e')],_0x4a7f76[_0x834e('0x4f')]),_0x26b847);if(_0x548d1d['query']['filter']){_0x1b2edf[_0x834e('0x57')]=_[_0x834e('0x59')](_0x1b2edf[_0x834e('0x57')],{'$or':_[_0x834e('0x49')](_0x26b847,function(_0x3da408){if(_0x3da408[_0x834e('0x4b')]!==_0x834e('0x5a')){var _0x43f599={};_0x43f599[_0x3da408[_0x834e('0x42')]]={'$like':'%'+_0x548d1d[_0x834e('0x4e')][_0x834e('0x5b')]+'%'};return _0x43f599;}})});}_0x1b2edf=_[_0x834e('0x59')]({},_0x1b2edf,_0x548d1d[_0x834e('0x5c')]);var _0x1a3237={'where':_0x1b2edf[_0x834e('0x57')]};return db[_0x834e('0x5d')][_0x834e('0x35')](_0x1a3237)[_0x834e('0x26')](function(_0x420841){_0x2e5239[_0x834e('0x35')]=_0x420841;if(_0x548d1d['query'][_0x834e('0x5e')]){_0x1b2edf[_0x834e('0x5f')]=[{'all':!![]}];}return db['MailAccount'][_0x834e('0x60')](_0x1b2edf);})[_0x834e('0x26')](function(_0x55d491){_0x2e5239[_0x834e('0x61')]=_0x55d491;return _0x2e5239;})[_0x834e('0x26')](respondWithFilteredResult(_0x50c243,_0x1b2edf))[_0x834e('0x62')](handleError(_0x50c243,null));};exports[_0x834e('0x63')]=function(_0x4288e4,_0xb77aab){var _0x4549ba={'raw':![],'where':{'id':_0x4288e4[_0x834e('0x64')]['id']},'include':[{'model':db[_0x834e('0x44')],'as':_0x834e('0x45')},{'model':db[_0x834e('0x46')],'as':_0x834e('0x47')},{'model':db[_0x834e('0x65')],'as':_0x834e('0x48')}]},_0x4a8b32={};_0x4a8b32[_0x834e('0x4c')]=_['keys'](db[_0x834e('0x5d')]['rawAttributes']);_0x4a8b32[_0x834e('0x4e')]=_['keys'](_0x4288e4[_0x834e('0x4e')]);_0x4a8b32['filters']=_['intersection'](_0x4a8b32[_0x834e('0x4c')],_0x4a8b32[_0x834e('0x4e')]);_0x4549ba['attributes']=_['intersection'](_0x4a8b32[_0x834e('0x4c')],qs[_0x834e('0x66')](_0x4288e4[_0x834e('0x4e')][_0x834e('0x66')]));_0x4549ba[_0x834e('0x51')]=_0x4549ba[_0x834e('0x51')][_0x834e('0x52')]?_0x4549ba[_0x834e('0x51')]:_0x4a8b32['model'];if(_0x4288e4[_0x834e('0x4e')][_0x834e('0x5e')]){_0x4549ba['include']=[{'all':!![]}];}_0x4549ba=_[_0x834e('0x59')]({},_0x4549ba,_0x4288e4['options']);return db[_0x834e('0x5d')][_0x834e('0x67')](_0x4549ba)['then'](handleEntityNotFound(_0xb77aab,null))[_0x834e('0x26')](respondWithResult(_0xb77aab,null))[_0x834e('0x62')](handleError(_0xb77aab,null));};exports[_0x834e('0x3c')]=function(_0x25f720,_0x5a2924){if(_0x25f720[_0x834e('0x68')]['id']){delete _0x25f720[_0x834e('0x68')]['id'];}return db[_0x834e('0x5d')]['find']({'where':{'id':_0x25f720[_0x834e('0x64')]['id']},'include':[{'model':db[_0x834e('0x44')],'as':_0x834e('0x45')},{'model':db[_0x834e('0x46')],'as':_0x834e('0x47')},{'model':db[_0x834e('0x65')],'as':_0x834e('0x48')}]})[_0x834e('0x26')](handleEntityNotFound(_0x5a2924,null))[_0x834e('0x26')](saveUpdates(_0x25f720[_0x834e('0x68')],null))[_0x834e('0x26')](function(_0x1dfa95){if(_0x1dfa95&&_0x25f720[_0x834e('0x68')][_0x834e('0x45')]){return db[_0x834e('0x44')][_0x834e('0x3c')](_0x25f720[_0x834e('0x68')][_0x834e('0x45')],{'where':{'MailAccountId':_0x1dfa95['id']}})[_0x834e('0x26')](function(){return _0x1dfa95;});}return _0x1dfa95;})[_0x834e('0x26')](function(_0xed4081){if(_0xed4081&&_0x25f720[_0x834e('0x68')]['Smtp']){return db[_0x834e('0x46')][_0x834e('0x3c')](_0x25f720[_0x834e('0x68')][_0x834e('0x47')],{'where':{'MailAccountId':_0xed4081['id']}})['then'](function(){return _0xed4081;});}return _0xed4081;})[_0x834e('0x26')](respondWithResult(_0x5a2924,null))['catch'](handleError(_0x5a2924,null));};exports['describe']=function(_0x2fdb1b,_0x2b1ec7){return db[_0x834e('0x5d')][_0x834e('0x69')]()[_0x834e('0x26')](respondWithResult(_0x2b1ec7,null))[_0x834e('0x62')](handleError(_0x2b1ec7,null));};exports[_0x834e('0x6a')]=function(_0xe5c8f6,_0x525ed3,_0xdef8c4){if(_0xe5c8f6['body']['id']){delete _0xe5c8f6[_0x834e('0x68')]['id'];}return db[_0x834e('0x5d')]['find']({'where':{'id':_0xe5c8f6['params']['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x525ed3,null))[_0x834e('0x26')](function(_0x363cc2){if(_0x363cc2){_0xe5c8f6[_0x834e('0x68')][_0x834e('0x6b')]=_0x363cc2['id'];return db['Disposition'][_0x834e('0x6c')](_0xe5c8f6[_0x834e('0x68')]);}})[_0x834e('0x26')](respondWithResult(_0x525ed3,null))[_0x834e('0x62')](handleError(_0x525ed3,null));};exports[_0x834e('0x6d')]=function(_0x28b5c9,_0x87818b,_0x413d5e){var _0x376f72={'raw':![],'where':{}};var _0x324f67={};var _0x5b2bf6={'count':0x0,'rows':[]};return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x28b5c9[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x87818b,null))['then'](function(_0x46fa0d){if(_0x46fa0d){_0x324f67['model']=_['keys'](db['Disposition'][_0x834e('0x4a')]);_0x324f67[_0x834e('0x4e')]=_['keys'](_0x28b5c9[_0x834e('0x4e')]);_0x324f67[_0x834e('0x4f')]=_['intersection'](_0x324f67[_0x834e('0x4c')],_0x324f67[_0x834e('0x4e')]);_0x376f72['attributes']=_['intersection'](_0x324f67[_0x834e('0x4c')],qs[_0x834e('0x66')](_0x28b5c9[_0x834e('0x4e')][_0x834e('0x66')]));_0x376f72[_0x834e('0x51')]=_0x376f72['attributes'][_0x834e('0x52')]?_0x376f72['attributes']:_0x324f67[_0x834e('0x4c')];if(!_0x28b5c9[_0x834e('0x4e')][_0x834e('0x53')]('nolimit')){_0x376f72[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x28b5c9['query'][_0x834e('0x33')]);_0x376f72[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x28b5c9['query'][_0x834e('0x32')]);}_0x376f72[_0x834e('0x55')]=qs[_0x834e('0x56')](_0x28b5c9[_0x834e('0x4e')][_0x834e('0x56')]);_0x376f72[_0x834e('0x57')]=qs[_0x834e('0x4f')](_[_0x834e('0x58')](_0x28b5c9[_0x834e('0x4e')],_0x324f67[_0x834e('0x4f')]));_0x376f72['where']['MailAccountId']=_0x46fa0d['id'];if(_0x28b5c9['query'][_0x834e('0x5b')]){_0x376f72[_0x834e('0x57')]=_[_0x834e('0x59')](_0x376f72[_0x834e('0x57')],{'$or':_[_0x834e('0x49')](_0x376f72['attributes'],function(_0x483bae){var _0x4520fc={};_0x4520fc[_0x483bae]={'$like':'%'+_0x28b5c9[_0x834e('0x4e')][_0x834e('0x5b')]+'%'};return _0x4520fc;})});}_0x376f72=_[_0x834e('0x59')]({},_0x376f72,_0x28b5c9[_0x834e('0x5c')]);return db['Disposition'][_0x834e('0x35')]({'where':_0x376f72[_0x834e('0x57')]})[_0x834e('0x26')](function(_0x4e1735){_0x5b2bf6[_0x834e('0x35')]=_0x4e1735;if(_0x28b5c9[_0x834e('0x4e')][_0x834e('0x5e')]){_0x376f72[_0x834e('0x5f')]=[{'all':!![]}];}return db[_0x834e('0x6f')]['findAll'](_0x376f72);})['then'](function(_0x227797){_0x5b2bf6[_0x834e('0x61')]=_0x227797;return _0x5b2bf6;});}})['then'](respondWithFilteredResult(_0x87818b,_0x376f72))[_0x834e('0x62')](handleError(_0x87818b,null));};exports['removeDispositions']=function(_0x40c401,_0x3fa2fe,_0x451a8e){return db['MailAccount'][_0x834e('0x67')]({'where':{'id':_0x40c401['params']['id']}})['then'](handleEntityNotFound(_0x3fa2fe,null))['then'](function(_0x6735e6){if(_0x6735e6){return _0x6735e6[_0x834e('0x70')](_0x40c401[_0x834e('0x4e')][_0x834e('0x71')]);}})[_0x834e('0x26')](respondWithStatusCode(_0x3fa2fe,null))[_0x834e('0x62')](handleError(_0x3fa2fe,null));};exports[_0x834e('0x72')]=function(_0x179892,_0x17e61a,_0x53f6e3){if(_0x179892[_0x834e('0x68')]['id']){delete _0x179892['body']['id'];}return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x179892[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x17e61a,null))[_0x834e('0x26')](function(_0x116830){if(_0x116830){_0x179892['body']['MailAccountId']=_0x116830['id'];return db[_0x834e('0x73')][_0x834e('0x6c')](_0x179892['body']);}})[_0x834e('0x26')](respondWithResult(_0x17e61a,null))[_0x834e('0x62')](handleError(_0x17e61a,null));};exports[_0x834e('0x74')]=function(_0x1e225f,_0xc75f5e,_0x5a75e3){var _0x29839d={'raw':![],'where':{}};var _0x78917b={};var _0x4c319d={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x1e225f[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0xc75f5e,null))['then'](function(_0x23ce49){if(_0x23ce49){_0x78917b[_0x834e('0x4c')]=_['keys'](db[_0x834e('0x73')]['rawAttributes']);_0x78917b['query']=_[_0x834e('0x4d')](_0x1e225f[_0x834e('0x4e')]);_0x78917b[_0x834e('0x4f')]=_[_0x834e('0x50')](_0x78917b['model'],_0x78917b[_0x834e('0x4e')]);_0x29839d[_0x834e('0x51')]=_[_0x834e('0x50')](_0x78917b[_0x834e('0x4c')],qs[_0x834e('0x66')](_0x1e225f[_0x834e('0x4e')][_0x834e('0x66')]));_0x29839d[_0x834e('0x51')]=_0x29839d[_0x834e('0x51')][_0x834e('0x52')]?_0x29839d[_0x834e('0x51')]:_0x78917b[_0x834e('0x4c')];if(!_0x1e225f[_0x834e('0x4e')][_0x834e('0x53')](_0x834e('0x54'))){_0x29839d[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x1e225f[_0x834e('0x4e')][_0x834e('0x33')]);_0x29839d[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x1e225f[_0x834e('0x4e')]['offset']);}_0x29839d[_0x834e('0x55')]=qs[_0x834e('0x56')](_0x1e225f[_0x834e('0x4e')][_0x834e('0x56')]);_0x29839d[_0x834e('0x57')]=qs[_0x834e('0x4f')](_[_0x834e('0x58')](_0x1e225f[_0x834e('0x4e')],_0x78917b[_0x834e('0x4f')]));_0x29839d['where']['MailAccountId']=_0x23ce49['id'];if(_0x1e225f['query'][_0x834e('0x5b')]){_0x29839d['where']=_[_0x834e('0x59')](_0x29839d[_0x834e('0x57')],{'$or':_[_0x834e('0x49')](_0x29839d['attributes'],function(_0xae00f){var _0x36e8d7={};_0x36e8d7[_0xae00f]={'$like':'%'+_0x1e225f[_0x834e('0x4e')][_0x834e('0x5b')]+'%'};return _0x36e8d7;})});}_0x29839d=_[_0x834e('0x59')]({},_0x29839d,_0x1e225f[_0x834e('0x5c')]);return db['CannedAnswer'][_0x834e('0x35')]({'where':_0x29839d[_0x834e('0x57')]})[_0x834e('0x26')](function(_0x430973){_0x4c319d[_0x834e('0x35')]=_0x430973;if(_0x1e225f['query']['includeAll']){_0x29839d['include']=[{'all':!![]}];}return db['CannedAnswer'][_0x834e('0x60')](_0x29839d);})[_0x834e('0x26')](function(_0x56fc05){_0x4c319d[_0x834e('0x61')]=_0x56fc05;return _0x4c319d;});}})[_0x834e('0x26')](respondWithFilteredResult(_0xc75f5e,_0x29839d))['catch'](handleError(_0xc75f5e,null));};exports[_0x834e('0x75')]=function(_0x38d82d,_0xbf7693,_0x43a6bf){return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x38d82d['params']['id']}})['then'](handleEntityNotFound(_0xbf7693,null))[_0x834e('0x26')](function(_0x30ab20){if(_0x30ab20){return _0x30ab20[_0x834e('0x75')](_0x38d82d['query'][_0x834e('0x71')]);}})[_0x834e('0x26')](respondWithStatusCode(_0xbf7693,null))['catch'](handleError(_0xbf7693,null));};exports[_0x834e('0x6c')]=function(_0x13d76a,_0x216d1f){var _0x30e3aa={'name':_0x13d76a['body'][_0x834e('0x42')],'key':_0x13d76a['body']['key'],'email':_0x13d76a[_0x834e('0x68')][_0x834e('0x76')],'ListId':_0x13d76a[_0x834e('0x68')][_0x834e('0x77')],'active':!_[_0x834e('0x78')](_0x13d76a[_0x834e('0x68')]['active'])?_0x13d76a['body'][_0x834e('0x79')]:!![],'description':_0x13d76a[_0x834e('0x68')][_0x834e('0x7a')]||null,'Imap':{},'Smtp':{}};if(_[_0x834e('0x78')](_0x13d76a[_0x834e('0x68')][_0x834e('0x7b')])){if(_0x13d76a[_0x834e('0x68')]['cauthentication']){_0x30e3aa[_0x834e('0x45')][_0x834e('0x7c')]=_0x30e3aa['Smtp'][_0x834e('0x7c')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x7d')];_0x30e3aa[_0x834e('0x45')][_0x834e('0x7e')]=_0x30e3aa[_0x834e('0x47')][_0x834e('0x7f')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x80')];}else{_0x30e3aa[_0x834e('0x45')][_0x834e('0x81')]=_0x30e3aa[_0x834e('0x47')][_0x834e('0x81')]=![];}_0x30e3aa[_0x834e('0x45')]['host']=_0x13d76a[_0x834e('0x68')][_0x834e('0x45')]['host'];_0x30e3aa[_0x834e('0x45')]['port']=_0x13d76a[_0x834e('0x68')]['Imap'][_0x834e('0x82')];_0x30e3aa['Smtp'][_0x834e('0x83')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x47')][_0x834e('0x83')];_0x30e3aa['Smtp'][_0x834e('0x82')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x47')][_0x834e('0x82')];}else{_0x30e3aa[_0x834e('0x45')][_0x834e('0x84')]=_0x30e3aa[_0x834e('0x47')][_0x834e('0x84')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x7b')];_0x30e3aa[_0x834e('0x45')][_0x834e('0x7c')]=_0x30e3aa[_0x834e('0x47')][_0x834e('0x7c')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x7d')];_0x30e3aa[_0x834e('0x45')]['password']=_0x30e3aa['Smtp'][_0x834e('0x7f')]=_0x13d76a[_0x834e('0x68')][_0x834e('0x80')];}return db[_0x834e('0x5d')][_0x834e('0x6c')](_0x30e3aa,{'include':[{'model':db[_0x834e('0x46')],'as':_0x834e('0x47')},{'model':db[_0x834e('0x44')],'as':_0x834e('0x45')}]})[_0x834e('0x26')](function(_0x25f1f9){var _0x32645e=_0x13d76a['user'][_0x834e('0x3d')]({'plain':!![]});if(!_0x32645e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x32645e[_0x834e('0x85')]===_0x834e('0x7c')){var _0x19e3a2=_0x25f1f9['get']({'plain':!![]});return db[_0x834e('0x86')][_0x834e('0x67')]({'where':{'name':'MailAccounts','userProfileId':_0x32645e['userProfileId']},'raw':!![]})[_0x834e('0x26')](function(_0x3b7b1a){if(_0x3b7b1a&&_0x3b7b1a['autoAssociation']===0x0){return db[_0x834e('0x3f')][_0x834e('0x6c')]({'name':_0x19e3a2[_0x834e('0x42')],'resourceId':_0x19e3a2['id'],'type':_0x3b7b1a[_0x834e('0x42')],'sectionId':_0x3b7b1a['id']},{})[_0x834e('0x26')](function(){return _0x25f1f9;});}else{return _0x25f1f9;}})['catch'](function(_0x4e7545){logger[_0x834e('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4e7545);throw _0x4e7545;});}return _0x25f1f9;})['then'](respondWithResult(_0x216d1f,0xc9))['catch'](handleError(_0x216d1f,null));};exports[_0x834e('0x87')]=function(_0x3634f7,_0x5cba58,_0x1caf92){return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x3634f7[_0x834e('0x64')]['id']}})['then'](handleEntityNotFound(_0x5cba58,null))[_0x834e('0x26')](function(_0x288eb1){if(_0x288eb1){return _0x288eb1[_0x834e('0x87')]();}return null;})['then'](respondWithResult(_0x5cba58,null))[_0x834e('0x62')](handleError(_0x5cba58,null));};exports['addImap']=function(_0x15e6e4,_0x4af2a2,_0x461420){if(_0x15e6e4[_0x834e('0x68')]['id']){delete _0x15e6e4['body']['id'];}return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x15e6e4[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x4af2a2,null))[_0x834e('0x26')](function(_0x24d77c){if(_0x24d77c){_0x15e6e4['body'][_0x834e('0x6b')]=_0x24d77c['id'];return db[_0x834e('0x44')][_0x834e('0x6c')](_0x15e6e4[_0x834e('0x68')]);}})[_0x834e('0x26')](respondWithResult(_0x4af2a2,null))[_0x834e('0x62')](handleError(_0x4af2a2,null));};exports['removeImap']=function(_0x448420,_0x490a57,_0x4d5afa){return db[_0x834e('0x5d')]['findOne']({'where':{'id':_0x448420['params']['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x490a57,null))[_0x834e('0x26')](function(_0x257fed){if(_0x257fed){return _0x257fed[_0x834e('0x88')](null);}return null;})[_0x834e('0x26')](respondWithStatusCode(_0x490a57,null))[_0x834e('0x62')](handleError(_0x490a57,null));};exports[_0x834e('0x89')]=function(_0x155f2d,_0x1d3ca9,_0x1ce252){return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x155f2d[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x1d3ca9,null))['then'](function(_0x3bd055){if(_0x3bd055){return _0x3bd055['getSmtp']();}return null;})[_0x834e('0x26')](respondWithResult(_0x1d3ca9,null))[_0x834e('0x62')](handleError(_0x1d3ca9,null));};exports[_0x834e('0x8a')]=function(_0x2cdbe0,_0x5ab11f,_0x5f558a){if(_0x2cdbe0[_0x834e('0x68')]['id']){delete _0x2cdbe0[_0x834e('0x68')]['id'];}return db['MailAccount'][_0x834e('0x67')]({'where':{'id':_0x2cdbe0[_0x834e('0x64')]['id']}})['then'](handleEntityNotFound(_0x5ab11f,null))[_0x834e('0x26')](function(_0x38d955){if(_0x38d955){_0x2cdbe0[_0x834e('0x68')][_0x834e('0x6b')]=_0x38d955['id'];return db['MailServerOut']['create'](_0x2cdbe0['body']);}})['then'](respondWithResult(_0x5ab11f,null))[_0x834e('0x62')](handleError(_0x5ab11f,null));};exports[_0x834e('0x8b')]=function(_0x47891e,_0x41ba0c,_0x569d10){return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x47891e[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x41ba0c,null))[_0x834e('0x26')](function(_0xfa6cdb){if(_0xfa6cdb){return _0xfa6cdb[_0x834e('0x8c')](null);}return null;})['then'](respondWithStatusCode(_0x41ba0c,null))[_0x834e('0x62')](handleError(_0x41ba0c,null));};exports[_0x834e('0x8d')]=function(_0x59ac23,_0x22f4c7,_0x4551cb){return db['MailInteraction']['find']({'where':{'id':_0x59ac23['params']['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x22f4c7,null))[_0x834e('0x26')](function(_0x29105a){if(_0x29105a){return _0x29105a['addInteraction'](_0x59ac23[_0x834e('0x68')][_0x834e('0x71')],_[_0x834e('0x8e')](_0x59ac23[_0x834e('0x68')],[_0x834e('0x71'),'id'])||{});}})[_0x834e('0x26')](respondWithResult(_0x22f4c7,null))[_0x834e('0x62')](handleError(_0x22f4c7,null));};exports[_0x834e('0x8f')]=function(_0x8804a8,_0x102640,_0x48b6c4){var _0x5d6b66={'raw':![],'where':{}};var _0x117e8f={};var _0x290a7b={'count':0x0,'rows':[]};return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x8804a8[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x102640,null))[_0x834e('0x26')](function(_0x39210f){if(_0x39210f){_0x117e8f[_0x834e('0x4c')]=_[_0x834e('0x4d')](db[_0x834e('0x90')][_0x834e('0x4a')]);_0x117e8f[_0x834e('0x4e')]=_['keys'](_0x8804a8[_0x834e('0x4e')]);_0x117e8f[_0x834e('0x4f')]=_[_0x834e('0x50')](_0x117e8f[_0x834e('0x4c')],_0x117e8f['query']);_0x5d6b66['attributes']=_['intersection'](_0x117e8f[_0x834e('0x4c')],qs[_0x834e('0x66')](_0x8804a8[_0x834e('0x4e')][_0x834e('0x66')]));_0x5d6b66[_0x834e('0x51')]=_0x5d6b66[_0x834e('0x51')][_0x834e('0x52')]?_0x5d6b66[_0x834e('0x51')]:_0x117e8f['model'];if(!_0x8804a8['query']['hasOwnProperty']('nolimit')){_0x5d6b66[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x8804a8[_0x834e('0x4e')][_0x834e('0x33')]);_0x5d6b66[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x8804a8[_0x834e('0x4e')][_0x834e('0x32')]);}_0x5d6b66[_0x834e('0x55')]=qs['sort'](_0x8804a8['query']['sort']);_0x5d6b66['where']=qs[_0x834e('0x4f')](_[_0x834e('0x58')](_0x8804a8[_0x834e('0x4e')],_0x117e8f[_0x834e('0x4f')]));_0x5d6b66[_0x834e('0x57')][_0x834e('0x6b')]=_0x39210f['id'];if(_0x8804a8[_0x834e('0x4e')][_0x834e('0x5b')]){_0x5d6b66[_0x834e('0x57')]=_[_0x834e('0x59')](_0x5d6b66[_0x834e('0x57')],{'$or':_[_0x834e('0x49')](_0x5d6b66[_0x834e('0x51')],function(_0x2222d6){var _0x421c75={};_0x421c75[_0x2222d6]={'$like':'%'+_0x8804a8[_0x834e('0x4e')]['filter']+'%'};return _0x421c75;})});}_0x5d6b66=_[_0x834e('0x59')]({},_0x5d6b66,_0x8804a8['options']);return db[_0x834e('0x90')][_0x834e('0x35')]({'where':_0x5d6b66[_0x834e('0x57')]})['then'](function(_0x1695c5){_0x290a7b[_0x834e('0x35')]=_0x1695c5;if(_0x8804a8['query']['includeAll']){_0x5d6b66[_0x834e('0x5f')]=[{'model':db[_0x834e('0x91')],'as':_0x834e('0x92'),'required':![]},{'model':db[_0x834e('0x93')],'as':_0x834e('0x94'),'attributes':[_0x834e('0x42'),_0x834e('0x95'),_0x834e('0x96')],'required':![]},{'model':db['Tag'],'as':_0x834e('0x97'),'attributes':['id',_0x834e('0x42'),_0x834e('0x98')],'where':_0x8804a8[_0x834e('0x4e')][_0x834e('0x99')]?{'id':_0x8804a8[_0x834e('0x4e')][_0x834e('0x99')]}:undefined,'required':_0x8804a8['query'][_0x834e('0x99')]?!![]:![]}];}return db['MailInteraction']['findAll'](_0x5d6b66);})[_0x834e('0x26')](function(_0x1e0bc9){_0x290a7b['rows']=_0x1e0bc9;return _0x290a7b;});}})[_0x834e('0x26')](respondWithFilteredResult(_0x102640,_0x5d6b66))[_0x834e('0x62')](handleError(_0x102640,null));};exports['addApplications']=function(_0x29952f,_0x418da2,_0x5d994e){return db['MailAccount'][_0x834e('0x6e')]({'where':{'id':_0x29952f[_0x834e('0x64')]['id']}})['then'](handleEntityNotFound(_0x418da2,null))['then'](function(_0x269ff6){if(_0x269ff6){return db[_0x834e('0x9a')]['transaction'](function(_0x480290){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x29952f[_0x834e('0x64')]['id']},'transaction':_0x480290})['then'](function(_0x3be4c3){var _0x52cdcc=_[_0x834e('0x49')](_0x29952f[_0x834e('0x68')],function(_0x1f7163){_0x1f7163[_0x834e('0x6b')]=_0x29952f['params']['id'];return _0x1f7163;});return db[_0x834e('0x9b')][_0x834e('0x9c')](_0x52cdcc,{'transaction':_0x480290});});})[_0x834e('0x26')](function(){return db[_0x834e('0x9b')][_0x834e('0x9d')]({'where':{'MailAccountId':_0x29952f[_0x834e('0x64')]['id']},'order':_0x834e('0x9e')});});}})[_0x834e('0x26')](respondWithResult(_0x418da2,null))[_0x834e('0x62')](handleError(_0x418da2,null));};exports[_0x834e('0x9f')]=function(_0x590e52,_0x40e12e,_0x48f8da){var _0x3980c0={};var _0x376850={};var _0x2eedc5;var _0x31a7ae;return db[_0x834e('0x5d')]['findOne']({'where':{'id':_0x590e52[_0x834e('0x64')]['id']}})['then'](handleEntityNotFound(_0x40e12e,null))['then'](function(_0x21bf6a){if(_0x21bf6a){_0x2eedc5=_0x21bf6a;_0x376850[_0x834e('0x4c')]=_[_0x834e('0x4d')](db['MailApplication'][_0x834e('0x4a')]);_0x376850[_0x834e('0x4e')]=_[_0x834e('0x4d')](_0x590e52[_0x834e('0x4e')]);_0x376850[_0x834e('0x4f')]=_[_0x834e('0x50')](_0x376850[_0x834e('0x4c')],_0x376850[_0x834e('0x4e')]);_0x3980c0[_0x834e('0x51')]=_[_0x834e('0x50')](_0x376850[_0x834e('0x4c')],qs['fields'](_0x590e52[_0x834e('0x4e')][_0x834e('0x66')]));_0x3980c0[_0x834e('0x51')]=_0x3980c0[_0x834e('0x51')][_0x834e('0x52')]?_0x3980c0[_0x834e('0x51')]:_0x376850['model'];_0x3980c0[_0x834e('0x55')]=qs[_0x834e('0x56')](_0x590e52[_0x834e('0x4e')][_0x834e('0x56')]);_0x3980c0[_0x834e('0x57')]=qs[_0x834e('0x4f')](_[_0x834e('0x58')](_0x590e52[_0x834e('0x4e')],_0x376850[_0x834e('0x4f')]));if(_0x590e52[_0x834e('0x4e')]['filter']){_0x3980c0['where']=_[_0x834e('0x59')](_0x3980c0['where'],{'$or':_[_0x834e('0x49')](_0x3980c0[_0x834e('0x51')],function(_0x1a79e0){var _0x198f0e={};_0x198f0e[_0x1a79e0]={'$like':'%'+_0x590e52[_0x834e('0x4e')][_0x834e('0x5b')]+'%'};return _0x198f0e;})});}_0x3980c0=_['merge']({},_0x3980c0,_0x590e52[_0x834e('0x5c')]);return _0x2eedc5['getApplications'](_0x3980c0);}})['then'](function(_0x4e7998){if(_0x4e7998){_0x31a7ae=_0x4e7998[_0x834e('0x52')];if(!_0x590e52[_0x834e('0x4e')]['hasOwnProperty']('nolimit')){_0x3980c0['limit']=qs[_0x834e('0x33')](_0x590e52[_0x834e('0x4e')][_0x834e('0x33')]);_0x3980c0['offset']=qs[_0x834e('0x32')](_0x590e52[_0x834e('0x4e')][_0x834e('0x32')]);}return _0x2eedc5[_0x834e('0x9f')](_0x3980c0);}})[_0x834e('0x26')](function(_0x3c1a19){if(_0x3c1a19){return _0x3c1a19?{'count':_0x31a7ae,'rows':_0x3c1a19}:null;}})['then'](respondWithResult(_0x40e12e,null))['catch'](handleError(_0x40e12e,null));};exports['getMessages']=function(_0x545bcd,_0x354d58,_0xf82ca8){var _0x15885c={'raw':!![],'where':{}};var _0xfa95ad={};var _0x351316={'count':0x0,'rows':[]};return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x545bcd[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x354d58,null))[_0x834e('0x26')](function(_0x3e7297){if(_0x3e7297){_0xfa95ad[_0x834e('0x4c')]=_[_0x834e('0x4d')](db[_0x834e('0xa0')][_0x834e('0x4a')]);_0xfa95ad['query']=_['keys'](_0x545bcd[_0x834e('0x4e')]);_0xfa95ad[_0x834e('0x4f')]=_[_0x834e('0x50')](_0xfa95ad['model'],_0xfa95ad[_0x834e('0x4e')]);_0x15885c[_0x834e('0x51')]=_[_0x834e('0x50')](_0xfa95ad[_0x834e('0x4c')],qs[_0x834e('0x66')](_0x545bcd[_0x834e('0x4e')][_0x834e('0x66')]));_0x15885c[_0x834e('0x51')]=_0x15885c[_0x834e('0x51')]['length']?_0x15885c[_0x834e('0x51')]:_0xfa95ad[_0x834e('0x4c')];if(!_0x545bcd[_0x834e('0x4e')][_0x834e('0x53')]('nolimit')){_0x15885c[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x545bcd[_0x834e('0x4e')][_0x834e('0x33')]);_0x15885c[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x545bcd[_0x834e('0x4e')][_0x834e('0x32')]);}_0x15885c[_0x834e('0x55')]=qs['sort'](_0x545bcd[_0x834e('0x4e')]['sort']);_0x15885c[_0x834e('0x57')]=qs['filters'](_[_0x834e('0x58')](_0x545bcd[_0x834e('0x4e')],_0xfa95ad[_0x834e('0x4f')]));_0x15885c[_0x834e('0x57')][_0x834e('0x6b')]=_0x3e7297['id'];if(_0x545bcd['query'][_0x834e('0x5b')]){_0x15885c[_0x834e('0x57')]=_['merge'](_0x15885c['where'],{'$or':_[_0x834e('0x49')](_0x15885c['attributes'],function(_0x4e6a75){var _0x57a989={};_0x57a989[_0x4e6a75]={'$like':'%'+_0x545bcd[_0x834e('0x4e')][_0x834e('0x5b')]+'%'};return _0x57a989;})});}if(_0x545bcd[_0x834e('0x4e')][_0x834e('0xa1')]){var _0x307285=_0x545bcd[_0x834e('0x4e')][_0x834e('0xa1')]['split'](',');var _0x28825c={};_0x28825c[_0x307285[0x0]]={'$gte':moment(_0x307285[0x1])[_0x834e('0xa2')]('YYYY-MM-DD\x20HH:mm:ss')};_0x15885c['where']=_[_0x834e('0x59')](_0x15885c[_0x834e('0x57')],_0x28825c);}_0x15885c=_['merge']({},_0x15885c,_0x545bcd['options']);return db[_0x834e('0xa0')][_0x834e('0x35')]({'where':_0x15885c[_0x834e('0x57')]})['then'](function(_0x31d242){_0x351316[_0x834e('0x35')]=_0x31d242;if(_0x545bcd[_0x834e('0x4e')]['includeAll']){_0x15885c[_0x834e('0x5f')]=[{'all':!![]}];}return db['MailMessage'][_0x834e('0x60')](_0x15885c);})[_0x834e('0x26')](function(_0x3a1328){if(_0x545bcd[_0x834e('0x4e')][_0x834e('0xa3')]==='true'){for(var _0x4357db=0x0;_0x4357db<_0x3a1328[_0x834e('0x52')];_0x4357db++){_0x3a1328[_0x4357db][_0x834e('0x68')]=juice(_0x3a1328[_0x4357db][_0x834e('0x68')]);}}_0x351316[_0x834e('0x61')]=_0x3a1328;return _0x351316;});}})['then'](respondWithFilteredResult(_0x354d58,_0x15885c))['catch'](handleError(_0x354d58,null));};exports[_0x834e('0xa4')]=function(_0x272fc7,_0x13d670,_0x4fefb5){var _0x41c969,_0x2e3294={},_0x28d9c3;if(_0x272fc7[_0x834e('0x68')]['to']){_0x28d9c3=_0x272fc7['body']['to'][_0x834e('0xa5')](',')[0x0];}return db[_0x834e('0x5d')]['find']({'where':{'id':_0x272fc7[_0x834e('0x64')]['id']},'include':[{'model':db[_0x834e('0xa6')],'as':_0x834e('0xa7'),'include':[{'model':db[_0x834e('0x91')],'as':'Contacts','where':{'email':_0x28d9c3},'limit':0x1,'order':[[_0x834e('0xa8'),'DESC']]}]},{'model':db[_0x834e('0x46')],'as':_0x834e('0x47'),'raw':!![]}]})[_0x834e('0x26')](handleEntityNotFound(_0x13d670,null))[_0x834e('0x26')](function(_0x3698cf){if(_0x3698cf){_0x41c969=_0x3698cf;if(_0x3698cf[_0x834e('0x47')]){if(_['isNil'](_0x272fc7['body'][_0x834e('0xa9')])){_0x272fc7[_0x834e('0x68')]['from']=util[_0x834e('0xa2')]('%s\x20<%s>',_0x3698cf[_0x834e('0x42')],_0x3698cf[_0x834e('0x76')]||_0x3698cf[_0x834e('0x47')][_0x834e('0x7c')]);}if(_0x272fc7[_0x834e('0x68')][_0x834e('0xaa')]&&_0x272fc7[_0x834e('0x68')]['attachments'][_0x834e('0x52')]){for(var _0x19031a=0x0;_0x19031a<_0x272fc7[_0x834e('0x68')][_0x834e('0xaa')][_0x834e('0x52')];_0x19031a+=0x1){_0x272fc7['body'][_0x834e('0xaa')][_0x19031a]={'filename':_0x272fc7[_0x834e('0x68')][_0x834e('0xaa')][_0x19031a]['name'],'path':path['join'](config['root'],_0x834e('0xab'),_0x272fc7[_0x834e('0x68')][_0x834e('0xaa')][_0x19031a][_0x834e('0xac')])};}}var _0x23118f={'tls':{'rejectUnauthorized':![]}};if(_[_0x834e('0x78')](_0x3698cf[_0x834e('0x47')][_0x834e('0x84')])){if(_0x3698cf[_0x834e('0x47')][_0x834e('0x81')]){_0x23118f[_0x834e('0xad')]={'user':_0x3698cf['Smtp'][_0x834e('0x7c')],'pass':_0x3698cf[_0x834e('0x47')][_0x834e('0x7f')]};}_0x23118f[_0x834e('0x83')]=_0x3698cf[_0x834e('0x47')][_0x834e('0x83')];_0x23118f[_0x834e('0x82')]=_0x3698cf[_0x834e('0x47')]['port'];_0x23118f[_0x834e('0xae')]=_0x3698cf[_0x834e('0x47')]['secure'];}else{_0x23118f[_0x834e('0x84')]=_0x3698cf[_0x834e('0x47')][_0x834e('0x84')];_0x23118f[_0x834e('0xad')]={'user':_0x3698cf['Smtp']['user'],'pass':_0x3698cf[_0x834e('0x47')]['pass']};}return respondWithRpcPromise(_0x834e('0xaf'),_0x834e('0xb0'),{'account':_0x23118f,'message':_0x272fc7[_0x834e('0x68')]});}else{throw new Error(_0x834e('0xb1'));}}})[_0x834e('0x26')](function(_0x533043){if(_0x533043){_0x2e3294=_0x533043;if(_0x41c969[_0x834e('0xa7')]){if(_0x41c969['List']['Contacts'][_0x834e('0x52')]){return _0x41c969[_0x834e('0xa7')][_0x834e('0xb2')][0x0];}else{return db[_0x834e('0x91')][_0x834e('0x6c')](_[_0x834e('0x1e')](_0x272fc7['body'],{'firstName':_0x272fc7[_0x834e('0x68')]['to'],'email':_0x272fc7[_0x834e('0x68')]['to'],'phone':_0x272fc7['body']['to'],'ListId':_0x41c969[_0x834e('0x77')]}));}}else{throw new Error(_0x834e('0xb1'));}}})['then'](function(_0x2d4cd7){if(_0x2d4cd7){var _0x25aa03={'UserId':_0x272fc7['user']['id'],'ContactId':_0x2d4cd7['id'],'MailAccountId':_0x41c969['id'],'inReplyTo':_0x2e3294[_0x834e('0xb3')],'to':_0x272fc7[_0x834e('0x68')][_0x834e('0xa9')],'cc':_0x272fc7[_0x834e('0x68')]['cc'],'subject':_0x272fc7[_0x834e('0x68')][_0x834e('0xb4')],'attach':_0x272fc7[_0x834e('0x68')][_0x834e('0xb5')],'firstMsgDirection':_0x834e('0xb6'),'lastMsgAt':moment()[_0x834e('0xa2')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x834e('0xb6'),'Messages':[_[_0x834e('0x59')](_0x272fc7[_0x834e('0x68')],{'messageId':_0x2e3294[_0x834e('0xb3')],'sentAt':moment()[_0x834e('0xa2')](_0x834e('0xb7')),'read':!![],'MailAccountId':_0x41c969['id'],'UserId':_0x272fc7[_0x834e('0x7c')]['id'],'ContactId':_0x2d4cd7['id']})]};if(_0x272fc7[_0x834e('0x68')][_0x834e('0xb8')]){_0x25aa03=_[_0x834e('0x59')](_0x25aa03,_0x272fc7[_0x834e('0x68')][_0x834e('0xb8')]);}return db['MailInteraction'][_0x834e('0x6c')](_0x25aa03,{'include':[{'model':db[_0x834e('0xa0')],'as':'Messages'}]});}})['then'](respondWithResult(_0x13d670,null))['catch'](handleError(_0x13d670,null));};exports[_0x834e('0xb9')]=function(_0x305d77,_0x3b74c0,_0x3530bc){return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x305d77[_0x834e('0x64')]['id']},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})['then'](handleEntityNotFound(_0x3b74c0,null))['then'](function(_0x684a97){if(_0x684a97&&_0x684a97[_0x834e('0x47')]){var _0x230b09={'id':_0x684a97['id'],'tls':{'rejectUnauthorized':![]}};if(_0x684a97['Smtp']['service']){_0x230b09['service']=_0x684a97[_0x834e('0x47')]['service'];}else{_0x230b09['host']=_0x684a97[_0x834e('0x47')][_0x834e('0x83')];_0x230b09[_0x834e('0x82')]=_0x684a97[_0x834e('0x47')][_0x834e('0x82')];_0x230b09[_0x834e('0xae')]=_0x684a97[_0x834e('0x47')]['secure'];}if(_0x684a97[_0x834e('0x47')][_0x834e('0x81')]){_0x230b09[_0x834e('0xad')]={'user':_0x684a97[_0x834e('0x47')][_0x834e('0x7c')],'pass':_0x684a97['Smtp'][_0x834e('0x7f')]};}return respondWithRpcPromise('VerifySmtp',_0x834e('0xb9'),{'account':_0x230b09});}})[_0x834e('0x26')](respondWithResult(_0x3b74c0,null))[_0x834e('0x62')](handleError(_0x3b74c0,null));};exports['destroy']=function(_0x50682c,_0x58aa88){return db['MailAccount'][_0x834e('0x67')]({'where':{'id':_0x50682c[_0x834e('0x64')]['id']}})['then'](handleEntityNotFound(_0x58aa88,null))['then'](function(_0x20d61c){if(_0x20d61c&&_0x20d61c[_0x834e('0x84')]){throw new db[(_0x834e('0xba'))]['ValidationError'](_0x834e('0xbb'));}return _0x20d61c;})[_0x834e('0x26')](removeEntity(_0x58aa88,null))[_0x834e('0x62')](handleError(_0x58aa88,null));};exports['addAgents']=function(_0x2e228f,_0x1e42b9,_0x1ce1d1){return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x2e228f[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x1e42b9,null))['then'](function(_0x477ad0){if(_0x477ad0){return _0x477ad0[_0x834e('0xbc')](_0x2e228f[_0x834e('0x68')]['ids'],_[_0x834e('0x8e')](_0x2e228f[_0x834e('0x68')],[_0x834e('0x71'),'id'])||{})[_0x834e('0xbd')](function(_0x2bbb1a){for(var _0x1ffed9=0x0;_0x1ffed9<_0x2e228f[_0x834e('0x68')][_0x834e('0x71')][_0x834e('0x52')];_0x1ffed9+=0x1){socket[_0x834e('0xbe')](_0x834e('0xbf'),{'UserId':_0x2e228f[_0x834e('0x68')]['ids'][_0x1ffed9],'MailAccountId':_0x2e228f[_0x834e('0x64')]['id']});}return _0x2bbb1a;});}})['then'](respondWithResult(_0x1e42b9,null))[_0x834e('0x62')](handleError(_0x1e42b9,null));};exports['removeAgents']=function(_0x3291fe,_0x2ea72f,_0x1491f9){return db[_0x834e('0x5d')][_0x834e('0x67')]({'where':{'id':_0x3291fe[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x2ea72f,null))[_0x834e('0x26')](function(_0x5961f1){if(_0x5961f1){return _0x5961f1['removeAgents'](_0x3291fe['query'][_0x834e('0x71')])[_0x834e('0x26')](function(){if(_[_0x834e('0xc0')](_0x3291fe[_0x834e('0x4e')][_0x834e('0x71')])){for(var _0xab680c=0x0;_0xab680c<_0x3291fe[_0x834e('0x4e')][_0x834e('0x71')]['length'];_0xab680c+=0x1){socket['emit'](_0x834e('0xc1'),{'UserId':Number(_0x3291fe[_0x834e('0x4e')][_0x834e('0x71')][_0xab680c]),'MailAccountId':Number(_0x3291fe['params']['id'])});}}else{socket['emit'](_0x834e('0xc1'),{'UserId':Number(_0x3291fe['query'][_0x834e('0x71')]),'MailAccountId':Number(_0x3291fe[_0x834e('0x64')]['id'])});}});}})[_0x834e('0x26')](respondWithStatusCode(_0x2ea72f,null))['catch'](handleError(_0x2ea72f,null));};exports[_0x834e('0xc2')]=function(_0x41a7c6,_0x27bacd,_0x310ebe){var _0x33ffcd={};var _0x3dd6a5={};var _0x5a08a4;var _0x5c93a5;return db[_0x834e('0x5d')][_0x834e('0x6e')]({'where':{'id':_0x41a7c6[_0x834e('0x64')]['id']}})[_0x834e('0x26')](handleEntityNotFound(_0x27bacd,null))[_0x834e('0x26')](function(_0x4cc601){if(_0x4cc601){_0x5a08a4=_0x4cc601;_0x3dd6a5[_0x834e('0x4c')]=_['keys'](db['User'][_0x834e('0x4a')]);_0x3dd6a5['query']=_['keys'](_0x41a7c6[_0x834e('0x4e')]);_0x3dd6a5[_0x834e('0x4f')]=_['intersection'](_0x3dd6a5[_0x834e('0x4c')],_0x3dd6a5['query']);_0x33ffcd['attributes']=_[_0x834e('0x50')](_0x3dd6a5['model'],qs[_0x834e('0x66')](_0x41a7c6[_0x834e('0x4e')][_0x834e('0x66')]));_0x33ffcd[_0x834e('0x51')]=_0x33ffcd[_0x834e('0x51')][_0x834e('0x52')]?_0x33ffcd[_0x834e('0x51')]:_0x3dd6a5[_0x834e('0x4c')];_0x33ffcd[_0x834e('0x55')]=qs['sort'](_0x41a7c6[_0x834e('0x4e')][_0x834e('0x56')]);_0x33ffcd[_0x834e('0x57')]=qs[_0x834e('0x4f')](_['pick'](_0x41a7c6['query'],_0x3dd6a5[_0x834e('0x4f')]));if(_0x41a7c6[_0x834e('0x4e')]['filter']){_0x33ffcd[_0x834e('0x57')]=_['merge'](_0x33ffcd[_0x834e('0x57')],{'$or':_[_0x834e('0x49')](_0x33ffcd[_0x834e('0x51')],function(_0x33b50e){var _0xd7026f={};_0xd7026f[_0x33b50e]={'$like':'%'+_0x41a7c6[_0x834e('0x4e')]['filter']+'%'};return _0xd7026f;})});}_0x33ffcd=_['merge']({},_0x33ffcd,_0x41a7c6['options']);return _0x5a08a4[_0x834e('0xc2')](_0x33ffcd);}})[_0x834e('0x26')](function(_0x5ec1a8){if(_0x5ec1a8){_0x5c93a5=_0x5ec1a8['length'];if(!_0x41a7c6['query'][_0x834e('0x53')](_0x834e('0x54'))){_0x33ffcd[_0x834e('0x33')]=qs[_0x834e('0x33')](_0x41a7c6[_0x834e('0x4e')][_0x834e('0x33')]);_0x33ffcd[_0x834e('0x32')]=qs[_0x834e('0x32')](_0x41a7c6[_0x834e('0x4e')][_0x834e('0x32')]);}return _0x5a08a4[_0x834e('0xc2')](_0x33ffcd);}})['then'](function(_0x2bd542){if(_0x2bd542){return _0x2bd542?{'count':_0x5c93a5,'rows':_0x2bd542}:null;}})[_0x834e('0x26')](respondWithResult(_0x27bacd,null))['catch'](handleError(_0x27bacd,null));};