Built motion from commit (unavailable).|2.5.14
[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 _0xa097=['Imap','MailServerOut','Pause','includeAll','find','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','rawAttributes','pick','findAll','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','cservice','user','cuser','pass','cpassword','authentication','host','port','service','password','UserProfileSection','MailAccounts','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','getInteractions','Contact','Owner','fullname','internal','Tag','color','tag','addApplications','transaction','MailApplication','bulkCreate','getApplications','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','send','split','CmList','CmContact','Contacts','updatedAt','from','attachments','join','root','server/files/attachments','basename','auth','SendMail','sendMail','List','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','secure','Sequelize','ValidationError','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','User','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','jayson/promise','client','request','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','catch','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','update','then','get','UserProfileResource','destroy','end','name','index','MailServerIn','Smtp','mandatoryDispositionPause','MailAccount','fieldName','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','count','include','rows','show','params'];(function(_0x43a37c,_0x25a567){var _0x5d1d40=function(_0x3ec673){while(--_0x3ec673){_0x43a37c['push'](_0x43a37c['shift']());}};_0x5d1d40(++_0x25a567);}(_0xa097,0x1e8));var _0x7a09=function(_0x40f5d4,_0x5c7478){_0x40f5d4=_0x40f5d4-0x0;var _0x4408b9=_0xa097[_0x40f5d4];return _0x4408b9;};'use strict';var pdf=require(_0x7a09('0x0'));var emlformat=require(_0x7a09('0x1'));var rimraf=require(_0x7a09('0x2'));var zipdir=require(_0x7a09('0x3'));var jsonpatch=require(_0x7a09('0x4'));var rp=require(_0x7a09('0x5'));var moment=require(_0x7a09('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x7a09('0x7'));var util=require(_0x7a09('0x8'));var path=require(_0x7a09('0x9'));var sox=require(_0x7a09('0xa'));var csv=require(_0x7a09('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7a09('0xc'));var squel=require(_0x7a09('0xd'));var crypto=require(_0x7a09('0xe'));var jsforce=require(_0x7a09('0xf'));var deskjs=require(_0x7a09('0x10'));var toCsv=require(_0x7a09('0xb'));var querystring=require('querystring');var Papa=require(_0x7a09('0x11'));var Redis=require(_0x7a09('0x12'));var authService=require(_0x7a09('0x13'));var qs=require(_0x7a09('0x14'));var as=require(_0x7a09('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x7a09('0x16'));var config=require(_0x7a09('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x7a09('0x18'))['db'];config[_0x7a09('0x19')]=_[_0x7a09('0x1a')](config['redis'],{'host':_0x7a09('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7a09('0x1c'))['register'](socket);var jayson=require(_0x7a09('0x1d'));var client=jayson[_0x7a09('0x1e')]['http']({'port':0x232b});function respondWithRpcPromise(_0xffd2e1,_0x59e821,_0x2f76d8,_0x530f6e){return new BPromise(function(_0x481080,_0x5411be){var _0x58888c=_0x530f6e||client;return _0x58888c[_0x7a09('0x1f')](_0xffd2e1,_0x2f76d8)['then'](function(_0x4106c1){logger[_0x7a09('0x20')](_0x7a09('0x21'),_0x59e821,'request\x20sent');logger[_0x7a09('0x22')](_0x7a09('0x23'),_0x59e821,_0x7a09('0x24'),JSON[_0x7a09('0x25')](_0x4106c1));if(_0x4106c1[_0x7a09('0x26')]){if(_0x4106c1[_0x7a09('0x26')][_0x7a09('0x27')]===0x1f4){logger[_0x7a09('0x26')]('MailAccount,\x20%s,\x20%s',_0x59e821,_0x4106c1[_0x7a09('0x26')][_0x7a09('0x28')]);return _0x5411be(_0x4106c1[_0x7a09('0x26')][_0x7a09('0x28')]);}logger[_0x7a09('0x26')](_0x7a09('0x21'),_0x59e821,_0x4106c1[_0x7a09('0x26')][_0x7a09('0x28')]);return _0x481080(_0x4106c1[_0x7a09('0x26')][_0x7a09('0x28')]);}else{logger[_0x7a09('0x20')](_0x7a09('0x21'),_0x59e821,_0x7a09('0x24'));_0x481080(_0x4106c1['result'][_0x7a09('0x28')]);}})[_0x7a09('0x29')](function(_0x394282){logger['error'](_0x7a09('0x21'),_0x59e821,_0x394282);_0x5411be(_0x394282);});});}function respondWithStatusCode(_0x58e07d,_0x23a1c2){_0x23a1c2=_0x23a1c2||0xcc;return function(_0x18cbbd){if(_0x18cbbd){return _0x58e07d[_0x7a09('0x2a')](_0x23a1c2);}return _0x58e07d[_0x7a09('0x2b')](_0x23a1c2)['end']();};}function respondWithResult(_0x561364,_0xca3097){_0xca3097=_0xca3097||0xc8;return function(_0x3b8da2){if(_0x3b8da2){return _0x561364['status'](_0xca3097)[_0x7a09('0x2c')](_0x3b8da2);}};}function respondWithFilteredResult(_0x545e6b,_0x4d8935){return function(_0x4f017e){if(_0x4f017e){var _0x537c0a=_0x4f017e['count'],_0x115b7b=_0x4d8935['offset'],_0xcc4902=_0x4d8935[_0x7a09('0x2d')]+_0x4d8935[_0x7a09('0x2e')],_0x291b77;if(_0xcc4902>=_0x537c0a){_0xcc4902=_0x537c0a;_0x291b77=0xc8;}else{_0x291b77=0xce;}_0x545e6b[_0x7a09('0x2b')](_0x291b77);return _0x545e6b[_0x7a09('0x2f')](_0x7a09('0x30'),_0x115b7b+'-'+_0xcc4902+'/'+_0x537c0a)['json'](_0x4f017e);}return null;};}function patchUpdates(_0x227344){return function(_0x3a247c){try{jsonpatch[_0x7a09('0x31')](_0x3a247c,_0x227344,!![]);}catch(_0x2c1eb5){return BPromise[_0x7a09('0x32')](_0x2c1eb5);}return _0x3a247c['save']();};}function saveUpdates(_0x4d823c,_0xb2a4b2){return function(_0x4aa925){if(_0x4aa925){return _0x4aa925[_0x7a09('0x33')](_0x4d823c)[_0x7a09('0x34')](function(_0x52c202){return _0x52c202;});}return null;};}function removeEntity(_0xe0e573,_0x5a8184){return function(_0x56b73a){if(_0x56b73a){return _0x56b73a['destroy']()['then'](function(){var _0x1dc492=_0x56b73a[_0x7a09('0x35')]({'plain':!![]});var _0x230a06='MailAccounts';return db[_0x7a09('0x36')][_0x7a09('0x37')]({'where':{'type':_0x230a06,'resourceId':_0x1dc492['id']}})[_0x7a09('0x34')](function(){return _0x56b73a;});})['then'](function(){_0xe0e573[_0x7a09('0x2b')](0xcc)[_0x7a09('0x38')]();});}};}function handleEntityNotFound(_0x10570a,_0x50e87d){return function(_0x2fcb26){if(!_0x2fcb26){_0x10570a['sendStatus'](0x194);}return _0x2fcb26;};}function handleError(_0x50c14f,_0x16bb6a){_0x16bb6a=_0x16bb6a||0x1f4;return function(_0x3d4877){logger[_0x7a09('0x26')](_0x3d4877['stack']);if(_0x3d4877[_0x7a09('0x39')]){delete _0x3d4877[_0x7a09('0x39')];}_0x50c14f[_0x7a09('0x2b')](_0x16bb6a)['send'](_0x3d4877);};}exports[_0x7a09('0x3a')]=function(_0x15b488,_0x373dad){var _0x5a7826={'include':[{'model':db[_0x7a09('0x3b')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x7a09('0x3c')},{'model':db['Pause'],'as':_0x7a09('0x3d')}]},_0x1feb24={},_0x17ff09={'count':0x0,'rows':[]};var _0xb01f84=_['map'](db[_0x7a09('0x3e')]['rawAttributes'],function(_0xcdbf37){return{'name':_0xcdbf37[_0x7a09('0x3f')],'type':_0xcdbf37[_0x7a09('0x40')]['key']};});_0x1feb24[_0x7a09('0x41')]=_[_0x7a09('0x42')](_0xb01f84,_0x7a09('0x39'));_0x1feb24[_0x7a09('0x43')]=_[_0x7a09('0x44')](_0x15b488['query']);_0x1feb24[_0x7a09('0x45')]=_[_0x7a09('0x46')](_0x1feb24['model'],_0x1feb24[_0x7a09('0x43')]);_0x5a7826['attributes']=_[_0x7a09('0x46')](_0x1feb24[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0x15b488[_0x7a09('0x43')][_0x7a09('0x47')]));_0x5a7826[_0x7a09('0x48')]=_0x5a7826[_0x7a09('0x48')][_0x7a09('0x49')]?_0x5a7826[_0x7a09('0x48')]:_0x1feb24[_0x7a09('0x41')];if(!_0x15b488[_0x7a09('0x43')][_0x7a09('0x4a')](_0x7a09('0x4b'))){_0x5a7826[_0x7a09('0x2e')]=qs[_0x7a09('0x2e')](_0x15b488['query'][_0x7a09('0x2e')]);_0x5a7826[_0x7a09('0x2d')]=qs['offset'](_0x15b488[_0x7a09('0x43')][_0x7a09('0x2d')]);}_0x5a7826[_0x7a09('0x4c')]=qs[_0x7a09('0x4d')](_0x15b488['query']['sort']);_0x5a7826['where']=qs['filters'](_['pick'](_0x15b488[_0x7a09('0x43')],_0x1feb24[_0x7a09('0x45')]),_0xb01f84);if(_0x15b488[_0x7a09('0x43')][_0x7a09('0x4e')]){_0x5a7826[_0x7a09('0x4f')]=_[_0x7a09('0x50')](_0x5a7826[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0xb01f84,function(_0x44756a){if(_0x44756a[_0x7a09('0x40')]!==_0x7a09('0x51')){var _0xe681c2={};_0xe681c2[_0x44756a[_0x7a09('0x39')]]={'$like':'%'+_0x15b488[_0x7a09('0x43')]['filter']+'%'};return _0xe681c2;}})});}_0x5a7826=_[_0x7a09('0x50')]({},_0x5a7826,_0x15b488[_0x7a09('0x52')]);var _0x36252e={'where':_0x5a7826[_0x7a09('0x4f')]};return db['MailAccount'][_0x7a09('0x53')](_0x36252e)['then'](function(_0x7d2c50){_0x17ff09[_0x7a09('0x53')]=_0x7d2c50;if(_0x15b488['query']['includeAll']){_0x5a7826[_0x7a09('0x54')]=[{'all':!![]}];}return db[_0x7a09('0x3e')]['findAll'](_0x5a7826);})[_0x7a09('0x34')](function(_0x46469f){_0x17ff09[_0x7a09('0x55')]=_0x46469f;return _0x17ff09;})['then'](respondWithFilteredResult(_0x373dad,_0x5a7826))[_0x7a09('0x29')](handleError(_0x373dad,null));};exports[_0x7a09('0x56')]=function(_0x1e180b,_0x5f63a0){var _0x17e14f={'raw':![],'where':{'id':_0x1e180b[_0x7a09('0x57')]['id']},'include':[{'model':db[_0x7a09('0x3b')],'as':_0x7a09('0x58')},{'model':db[_0x7a09('0x59')],'as':'Smtp'},{'model':db[_0x7a09('0x5a')],'as':'mandatoryDispositionPause'}]},_0x1bd180={};_0x1bd180['model']=_[_0x7a09('0x44')](db[_0x7a09('0x3e')]['rawAttributes']);_0x1bd180[_0x7a09('0x43')]=_[_0x7a09('0x44')](_0x1e180b[_0x7a09('0x43')]);_0x1bd180[_0x7a09('0x45')]=_[_0x7a09('0x46')](_0x1bd180['model'],_0x1bd180[_0x7a09('0x43')]);_0x17e14f[_0x7a09('0x48')]=_[_0x7a09('0x46')](_0x1bd180[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0x1e180b['query'][_0x7a09('0x47')]));_0x17e14f[_0x7a09('0x48')]=_0x17e14f['attributes'][_0x7a09('0x49')]?_0x17e14f['attributes']:_0x1bd180[_0x7a09('0x41')];if(_0x1e180b[_0x7a09('0x43')][_0x7a09('0x5b')]){_0x17e14f[_0x7a09('0x54')]=[{'all':!![]}];}_0x17e14f=_['merge']({},_0x17e14f,_0x1e180b['options']);return db[_0x7a09('0x3e')][_0x7a09('0x5c')](_0x17e14f)[_0x7a09('0x34')](handleEntityNotFound(_0x5f63a0,null))[_0x7a09('0x34')](respondWithResult(_0x5f63a0,null))[_0x7a09('0x29')](handleError(_0x5f63a0,null));};exports['update']=function(_0x41e39b,_0x2c6f99){if(_0x41e39b[_0x7a09('0x5d')]['id']){delete _0x41e39b[_0x7a09('0x5d')]['id'];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x41e39b[_0x7a09('0x57')]['id']},'include':[{'model':db[_0x7a09('0x3b')],'as':_0x7a09('0x58')},{'model':db['MailServerOut'],'as':_0x7a09('0x3c')},{'model':db[_0x7a09('0x5a')],'as':_0x7a09('0x3d')}]})[_0x7a09('0x34')](handleEntityNotFound(_0x2c6f99,null))[_0x7a09('0x34')](saveUpdates(_0x41e39b[_0x7a09('0x5d')],null))['then'](function(_0xf26409){if(_0xf26409&&_0x41e39b['body'][_0x7a09('0x58')]){return db[_0x7a09('0x3b')][_0x7a09('0x33')](_0x41e39b['body'][_0x7a09('0x58')],{'where':{'MailAccountId':_0xf26409['id']}})[_0x7a09('0x34')](function(){return _0xf26409;});}return _0xf26409;})[_0x7a09('0x34')](function(_0x1c867a){if(_0x1c867a&&_0x41e39b[_0x7a09('0x5d')]['Smtp']){return db[_0x7a09('0x59')][_0x7a09('0x33')](_0x41e39b['body'][_0x7a09('0x3c')],{'where':{'MailAccountId':_0x1c867a['id']}})['then'](function(){return _0x1c867a;});}return _0x1c867a;})['then'](respondWithResult(_0x2c6f99,null))[_0x7a09('0x29')](handleError(_0x2c6f99,null));};exports[_0x7a09('0x5e')]=function(_0x2e05f2,_0x1ebfb2){return db[_0x7a09('0x3e')][_0x7a09('0x5e')]()[_0x7a09('0x34')](respondWithResult(_0x1ebfb2,null))['catch'](handleError(_0x1ebfb2,null));};exports[_0x7a09('0x5f')]=function(_0x1b87f1,_0x565736,_0xa1c10c){if(_0x1b87f1['body']['id']){delete _0x1b87f1[_0x7a09('0x5d')]['id'];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x1b87f1[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x565736,null))[_0x7a09('0x34')](function(_0xe262e9){if(_0xe262e9){_0x1b87f1[_0x7a09('0x5d')][_0x7a09('0x60')]=_0xe262e9['id'];return db[_0x7a09('0x61')][_0x7a09('0x62')](_0x1b87f1['body']);}})['then'](respondWithResult(_0x565736,null))['catch'](handleError(_0x565736,null));};exports[_0x7a09('0x63')]=function(_0x19e640,_0x4042c2,_0x5ae424){var _0x29d0b0={'raw':![],'where':{}};var _0x3795b7={};var _0x34c76a={'count':0x0,'rows':[]};return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x19e640[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x4042c2,null))['then'](function(_0x2bff9e){if(_0x2bff9e){_0x3795b7['model']=_[_0x7a09('0x44')](db[_0x7a09('0x61')][_0x7a09('0x65')]);_0x3795b7[_0x7a09('0x43')]=_[_0x7a09('0x44')](_0x19e640[_0x7a09('0x43')]);_0x3795b7['filters']=_[_0x7a09('0x46')](_0x3795b7[_0x7a09('0x41')],_0x3795b7[_0x7a09('0x43')]);_0x29d0b0['attributes']=_[_0x7a09('0x46')](_0x3795b7[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0x19e640['query'][_0x7a09('0x47')]));_0x29d0b0[_0x7a09('0x48')]=_0x29d0b0[_0x7a09('0x48')][_0x7a09('0x49')]?_0x29d0b0[_0x7a09('0x48')]:_0x3795b7[_0x7a09('0x41')];if(!_0x19e640[_0x7a09('0x43')][_0x7a09('0x4a')](_0x7a09('0x4b'))){_0x29d0b0[_0x7a09('0x2e')]=qs[_0x7a09('0x2e')](_0x19e640['query'][_0x7a09('0x2e')]);_0x29d0b0['offset']=qs['offset'](_0x19e640[_0x7a09('0x43')][_0x7a09('0x2d')]);}_0x29d0b0['order']=qs[_0x7a09('0x4d')](_0x19e640[_0x7a09('0x43')][_0x7a09('0x4d')]);_0x29d0b0[_0x7a09('0x4f')]=qs['filters'](_[_0x7a09('0x66')](_0x19e640[_0x7a09('0x43')],_0x3795b7[_0x7a09('0x45')]));_0x29d0b0[_0x7a09('0x4f')][_0x7a09('0x60')]=_0x2bff9e['id'];if(_0x19e640['query'][_0x7a09('0x4e')]){_0x29d0b0[_0x7a09('0x4f')]=_['merge'](_0x29d0b0[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x29d0b0[_0x7a09('0x48')],function(_0x2609d3){var _0x30b7a2={};_0x30b7a2[_0x2609d3]={'$like':'%'+_0x19e640[_0x7a09('0x43')][_0x7a09('0x4e')]+'%'};return _0x30b7a2;})});}_0x29d0b0=_[_0x7a09('0x50')]({},_0x29d0b0,_0x19e640['options']);return db[_0x7a09('0x61')][_0x7a09('0x53')]({'where':_0x29d0b0[_0x7a09('0x4f')]})[_0x7a09('0x34')](function(_0x4c6718){_0x34c76a[_0x7a09('0x53')]=_0x4c6718;if(_0x19e640['query'][_0x7a09('0x5b')]){_0x29d0b0[_0x7a09('0x54')]=[{'all':!![]}];}return db[_0x7a09('0x61')][_0x7a09('0x67')](_0x29d0b0);})[_0x7a09('0x34')](function(_0x5f52ce){_0x34c76a[_0x7a09('0x55')]=_0x5f52ce;return _0x34c76a;});}})['then'](respondWithFilteredResult(_0x4042c2,_0x29d0b0))['catch'](handleError(_0x4042c2,null));};exports['removeDispositions']=function(_0x5a6917,_0x214896,_0x5bdbfa){return db[_0x7a09('0x3e')]['find']({'where':{'id':_0x5a6917[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x214896,null))[_0x7a09('0x34')](function(_0x7ed9cc){if(_0x7ed9cc){return _0x7ed9cc[_0x7a09('0x68')](_0x5a6917[_0x7a09('0x43')][_0x7a09('0x69')]);}})['then'](respondWithStatusCode(_0x214896,null))[_0x7a09('0x29')](handleError(_0x214896,null));};exports[_0x7a09('0x6a')]=function(_0x50c587,_0x58f58b,_0x36759a){if(_0x50c587[_0x7a09('0x5d')]['id']){delete _0x50c587[_0x7a09('0x5d')]['id'];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x50c587[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x58f58b,null))[_0x7a09('0x34')](function(_0xcc363d){if(_0xcc363d){_0x50c587[_0x7a09('0x5d')][_0x7a09('0x60')]=_0xcc363d['id'];return db[_0x7a09('0x6b')]['create'](_0x50c587[_0x7a09('0x5d')]);}})[_0x7a09('0x34')](respondWithResult(_0x58f58b,null))[_0x7a09('0x29')](handleError(_0x58f58b,null));};exports['getAnswers']=function(_0xd31396,_0x884542,_0x413865){var _0x4350ad={'raw':![],'where':{}};var _0x5ca189={};var _0x2001a8={'count':0x0,'rows':[]};return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0xd31396[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x884542,null))['then'](function(_0x1a7dc1){if(_0x1a7dc1){_0x5ca189['model']=_['keys'](db[_0x7a09('0x6b')][_0x7a09('0x65')]);_0x5ca189['query']=_[_0x7a09('0x44')](_0xd31396['query']);_0x5ca189[_0x7a09('0x45')]=_[_0x7a09('0x46')](_0x5ca189[_0x7a09('0x41')],_0x5ca189[_0x7a09('0x43')]);_0x4350ad[_0x7a09('0x48')]=_[_0x7a09('0x46')](_0x5ca189[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0xd31396[_0x7a09('0x43')][_0x7a09('0x47')]));_0x4350ad[_0x7a09('0x48')]=_0x4350ad[_0x7a09('0x48')]['length']?_0x4350ad[_0x7a09('0x48')]:_0x5ca189[_0x7a09('0x41')];if(!_0xd31396[_0x7a09('0x43')][_0x7a09('0x4a')]('nolimit')){_0x4350ad['limit']=qs['limit'](_0xd31396['query'][_0x7a09('0x2e')]);_0x4350ad[_0x7a09('0x2d')]=qs[_0x7a09('0x2d')](_0xd31396['query'][_0x7a09('0x2d')]);}_0x4350ad[_0x7a09('0x4c')]=qs[_0x7a09('0x4d')](_0xd31396[_0x7a09('0x43')][_0x7a09('0x4d')]);_0x4350ad[_0x7a09('0x4f')]=qs[_0x7a09('0x45')](_[_0x7a09('0x66')](_0xd31396[_0x7a09('0x43')],_0x5ca189['filters']));_0x4350ad[_0x7a09('0x4f')][_0x7a09('0x60')]=_0x1a7dc1['id'];if(_0xd31396[_0x7a09('0x43')][_0x7a09('0x4e')]){_0x4350ad['where']=_[_0x7a09('0x50')](_0x4350ad[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x4350ad[_0x7a09('0x48')],function(_0x41d5d4){var _0x5c07ee={};_0x5c07ee[_0x41d5d4]={'$like':'%'+_0xd31396[_0x7a09('0x43')][_0x7a09('0x4e')]+'%'};return _0x5c07ee;})});}_0x4350ad=_[_0x7a09('0x50')]({},_0x4350ad,_0xd31396[_0x7a09('0x52')]);return db[_0x7a09('0x6b')][_0x7a09('0x53')]({'where':_0x4350ad['where']})[_0x7a09('0x34')](function(_0x42ea72){_0x2001a8[_0x7a09('0x53')]=_0x42ea72;if(_0xd31396[_0x7a09('0x43')][_0x7a09('0x5b')]){_0x4350ad['include']=[{'all':!![]}];}return db['CannedAnswer'][_0x7a09('0x67')](_0x4350ad);})[_0x7a09('0x34')](function(_0x150a4d){_0x2001a8[_0x7a09('0x55')]=_0x150a4d;return _0x2001a8;});}})['then'](respondWithFilteredResult(_0x884542,_0x4350ad))[_0x7a09('0x29')](handleError(_0x884542,null));};exports[_0x7a09('0x6c')]=function(_0xf9f1b3,_0x2363ca,_0x24b06f){return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0xf9f1b3[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x2363ca,null))[_0x7a09('0x34')](function(_0x1b7ed1){if(_0x1b7ed1){return _0x1b7ed1[_0x7a09('0x6c')](_0xf9f1b3[_0x7a09('0x43')][_0x7a09('0x69')]);}})['then'](respondWithStatusCode(_0x2363ca,null))[_0x7a09('0x29')](handleError(_0x2363ca,null));};exports[_0x7a09('0x62')]=function(_0x3cac4e,_0x244ef1){var _0x1c96e8={'name':_0x3cac4e[_0x7a09('0x5d')]['name'],'key':_0x3cac4e[_0x7a09('0x5d')]['key'],'email':_0x3cac4e[_0x7a09('0x5d')][_0x7a09('0x6d')],'ListId':_0x3cac4e['body'][_0x7a09('0x6e')],'active':!_[_0x7a09('0x6f')](_0x3cac4e[_0x7a09('0x5d')]['active'])?_0x3cac4e['body'][_0x7a09('0x70')]:!![],'description':_0x3cac4e['body'][_0x7a09('0x71')]||null,'Imap':{},'Smtp':{}};if(_[_0x7a09('0x6f')](_0x3cac4e['body'][_0x7a09('0x72')])){if(_0x3cac4e['body']['cauthentication']){_0x1c96e8[_0x7a09('0x58')][_0x7a09('0x73')]=_0x1c96e8[_0x7a09('0x3c')]['user']=_0x3cac4e[_0x7a09('0x5d')][_0x7a09('0x74')];_0x1c96e8[_0x7a09('0x58')]['password']=_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x75')]=_0x3cac4e[_0x7a09('0x5d')][_0x7a09('0x76')];}else{_0x1c96e8['Imap'][_0x7a09('0x77')]=_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x77')]=![];}_0x1c96e8[_0x7a09('0x58')][_0x7a09('0x78')]=_0x3cac4e[_0x7a09('0x5d')][_0x7a09('0x58')]['host'];_0x1c96e8['Imap'][_0x7a09('0x79')]=_0x3cac4e[_0x7a09('0x5d')]['Imap'][_0x7a09('0x79')];_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x78')]=_0x3cac4e['body']['Smtp'][_0x7a09('0x78')];_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x79')]=_0x3cac4e['body'][_0x7a09('0x3c')]['port'];}else{_0x1c96e8['Imap'][_0x7a09('0x7a')]=_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x7a')]=_0x3cac4e['body'][_0x7a09('0x72')];_0x1c96e8[_0x7a09('0x58')]['user']=_0x1c96e8['Smtp'][_0x7a09('0x73')]=_0x3cac4e['body']['cuser'];_0x1c96e8[_0x7a09('0x58')][_0x7a09('0x7b')]=_0x1c96e8[_0x7a09('0x3c')][_0x7a09('0x75')]=_0x3cac4e[_0x7a09('0x5d')][_0x7a09('0x76')];}return db['MailAccount'][_0x7a09('0x62')](_0x1c96e8,{'include':[{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0x7a09('0x58')}]})[_0x7a09('0x34')](function(_0x32008e){var _0x2c84aa=_0x3cac4e['user']['get']({'plain':!![]});if(!_0x2c84aa)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c84aa['role']===_0x7a09('0x73')){var _0x2ae59d=_0x32008e['get']({'plain':!![]});return db[_0x7a09('0x7c')][_0x7a09('0x5c')]({'where':{'name':_0x7a09('0x7d'),'userProfileId':_0x2c84aa[_0x7a09('0x7e')]},'raw':!![]})['then'](function(_0x5bd1bf){if(_0x5bd1bf&&_0x5bd1bf[_0x7a09('0x7f')]===0x0){return db[_0x7a09('0x36')][_0x7a09('0x62')]({'name':_0x2ae59d[_0x7a09('0x39')],'resourceId':_0x2ae59d['id'],'type':_0x5bd1bf[_0x7a09('0x39')],'sectionId':_0x5bd1bf['id']},{})[_0x7a09('0x34')](function(){return _0x32008e;});}else{return _0x32008e;}})[_0x7a09('0x29')](function(_0x580707){logger[_0x7a09('0x26')](_0x7a09('0x80'),_0x580707);throw _0x580707;});}return _0x32008e;})[_0x7a09('0x34')](respondWithResult(_0x244ef1,0xc9))['catch'](handleError(_0x244ef1,null));};exports[_0x7a09('0x81')]=function(_0x53258d,_0x231070,_0x1d9187){return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x53258d[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x231070,null))[_0x7a09('0x34')](function(_0x51acd7){if(_0x51acd7){return _0x51acd7[_0x7a09('0x81')]();}return null;})[_0x7a09('0x34')](respondWithResult(_0x231070,null))['catch'](handleError(_0x231070,null));};exports[_0x7a09('0x82')]=function(_0x4e44f6,_0x1a485a,_0x530e0b){if(_0x4e44f6['body']['id']){delete _0x4e44f6[_0x7a09('0x5d')]['id'];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x4e44f6[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x1a485a,null))[_0x7a09('0x34')](function(_0x1ccc2a){if(_0x1ccc2a){_0x4e44f6[_0x7a09('0x5d')][_0x7a09('0x60')]=_0x1ccc2a['id'];return db[_0x7a09('0x3b')][_0x7a09('0x62')](_0x4e44f6[_0x7a09('0x5d')]);}})['then'](respondWithResult(_0x1a485a,null))['catch'](handleError(_0x1a485a,null));};exports[_0x7a09('0x83')]=function(_0x402501,_0x2704ca,_0xd9602f){return db[_0x7a09('0x3e')]['findOne']({'where':{'id':_0x402501[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x2704ca,null))[_0x7a09('0x34')](function(_0x4ce327){if(_0x4ce327){return _0x4ce327[_0x7a09('0x84')](null);}return null;})[_0x7a09('0x34')](respondWithStatusCode(_0x2704ca,null))[_0x7a09('0x29')](handleError(_0x2704ca,null));};exports['getSmtp']=function(_0x374f3b,_0x3df90d,_0x3ea599){return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x374f3b[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x3df90d,null))[_0x7a09('0x34')](function(_0x3a29ca){if(_0x3a29ca){return _0x3a29ca['getSmtp']();}return null;})['then'](respondWithResult(_0x3df90d,null))[_0x7a09('0x29')](handleError(_0x3df90d,null));};exports[_0x7a09('0x85')]=function(_0x474160,_0x22709e,_0x23427a){if(_0x474160[_0x7a09('0x5d')]['id']){delete _0x474160[_0x7a09('0x5d')]['id'];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x474160['params']['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x22709e,null))[_0x7a09('0x34')](function(_0x25131f){if(_0x25131f){_0x474160[_0x7a09('0x5d')][_0x7a09('0x60')]=_0x25131f['id'];return db['MailServerOut'][_0x7a09('0x62')](_0x474160['body']);}})[_0x7a09('0x34')](respondWithResult(_0x22709e,null))[_0x7a09('0x29')](handleError(_0x22709e,null));};exports[_0x7a09('0x86')]=function(_0x2bd266,_0x164491,_0x464bd7){return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x2bd266[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x164491,null))[_0x7a09('0x34')](function(_0x267922){if(_0x267922){return _0x267922[_0x7a09('0x87')](null);}return null;})[_0x7a09('0x34')](respondWithStatusCode(_0x164491,null))['catch'](handleError(_0x164491,null));};exports['addInteraction']=function(_0x3cadc0,_0x17a4bf,_0x19551a){return db[_0x7a09('0x88')][_0x7a09('0x5c')]({'where':{'id':_0x3cadc0[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x17a4bf,null))[_0x7a09('0x34')](function(_0x5e922c){if(_0x5e922c){return _0x5e922c[_0x7a09('0x89')](_0x3cadc0[_0x7a09('0x5d')][_0x7a09('0x69')],_['omit'](_0x3cadc0[_0x7a09('0x5d')],[_0x7a09('0x69'),'id'])||{});}})[_0x7a09('0x34')](respondWithResult(_0x17a4bf,null))[_0x7a09('0x29')](handleError(_0x17a4bf,null));};exports[_0x7a09('0x8a')]=function(_0x1ebdc0,_0x9b7a9d,_0x304886){var _0x570e2e={'raw':![],'where':{}};var _0x1c3b10={};var _0x2d8310={'count':0x0,'rows':[]};return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x1ebdc0['params']['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x9b7a9d,null))[_0x7a09('0x34')](function(_0xc5a1a){if(_0xc5a1a){_0x1c3b10[_0x7a09('0x41')]=_[_0x7a09('0x44')](db['MailInteraction'][_0x7a09('0x65')]);_0x1c3b10[_0x7a09('0x43')]=_[_0x7a09('0x44')](_0x1ebdc0[_0x7a09('0x43')]);_0x1c3b10[_0x7a09('0x45')]=_['intersection'](_0x1c3b10['model'],_0x1c3b10[_0x7a09('0x43')]);_0x570e2e[_0x7a09('0x48')]=_[_0x7a09('0x46')](_0x1c3b10['model'],qs[_0x7a09('0x47')](_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x47')]));_0x570e2e['attributes']=_0x570e2e[_0x7a09('0x48')][_0x7a09('0x49')]?_0x570e2e[_0x7a09('0x48')]:_0x1c3b10[_0x7a09('0x41')];if(!_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x4a')](_0x7a09('0x4b'))){_0x570e2e['limit']=qs[_0x7a09('0x2e')](_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x2e')]);_0x570e2e[_0x7a09('0x2d')]=qs['offset'](_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x2d')]);}_0x570e2e['order']=qs[_0x7a09('0x4d')](_0x1ebdc0[_0x7a09('0x43')]['sort']);_0x570e2e[_0x7a09('0x4f')]=qs['filters'](_[_0x7a09('0x66')](_0x1ebdc0[_0x7a09('0x43')],_0x1c3b10[_0x7a09('0x45')]));_0x570e2e[_0x7a09('0x4f')]['MailAccountId']=_0xc5a1a['id'];if(_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x4e')]){_0x570e2e[_0x7a09('0x4f')]=_[_0x7a09('0x50')](_0x570e2e[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x570e2e[_0x7a09('0x48')],function(_0x3bfdcd){var _0x55001d={};_0x55001d[_0x3bfdcd]={'$like':'%'+_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x4e')]+'%'};return _0x55001d;})});}_0x570e2e=_['merge']({},_0x570e2e,_0x1ebdc0[_0x7a09('0x52')]);return db[_0x7a09('0x88')][_0x7a09('0x53')]({'where':_0x570e2e['where']})['then'](function(_0x3ae637){_0x2d8310[_0x7a09('0x53')]=_0x3ae637;if(_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x5b')]){_0x570e2e[_0x7a09('0x54')]=[{'model':db['CmContact'],'as':_0x7a09('0x8b'),'required':![]},{'model':db['User'],'as':_0x7a09('0x8c'),'attributes':['name',_0x7a09('0x8d'),_0x7a09('0x8e')],'required':![]},{'model':db[_0x7a09('0x8f')],'as':'Tags','attributes':['id',_0x7a09('0x39'),_0x7a09('0x90')],'where':_0x1ebdc0[_0x7a09('0x43')]['tag']?{'id':_0x1ebdc0[_0x7a09('0x43')][_0x7a09('0x91')]}:undefined,'required':_0x1ebdc0[_0x7a09('0x43')]['tag']?!![]:![]}];}return db[_0x7a09('0x88')][_0x7a09('0x67')](_0x570e2e);})[_0x7a09('0x34')](function(_0x3b3a2f){_0x2d8310[_0x7a09('0x55')]=_0x3b3a2f;return _0x2d8310;});}})[_0x7a09('0x34')](respondWithFilteredResult(_0x9b7a9d,_0x570e2e))[_0x7a09('0x29')](handleError(_0x9b7a9d,null));};exports[_0x7a09('0x92')]=function(_0x3931ed,_0x20ddba,_0x7f74bd){return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x3931ed[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x20ddba,null))[_0x7a09('0x34')](function(_0x3a57ed){if(_0x3a57ed){return db['sequelize'][_0x7a09('0x93')](function(_0x220870){return db[_0x7a09('0x94')][_0x7a09('0x37')]({'where':{'MailAccountId':_0x3931ed[_0x7a09('0x57')]['id']},'transaction':_0x220870})['then'](function(_0x38af77){var _0x40cf3e=_[_0x7a09('0x42')](_0x3931ed[_0x7a09('0x5d')],function(_0x2f320b){_0x2f320b[_0x7a09('0x60')]=_0x3931ed['params']['id'];return _0x2f320b;});return db[_0x7a09('0x94')][_0x7a09('0x95')](_0x40cf3e,{'transaction':_0x220870});});})[_0x7a09('0x34')](function(){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0x3931ed[_0x7a09('0x57')]['id']},'order':'priority'});});}})[_0x7a09('0x34')](respondWithResult(_0x20ddba,null))['catch'](handleError(_0x20ddba,null));};exports[_0x7a09('0x96')]=function(_0x3f87e0,_0xe3192a,_0x3a7bb8){var _0x9d593e={};var _0x3a33f8={};var _0x3334a8;var _0x3bb38d;return db[_0x7a09('0x3e')][_0x7a09('0x64')]({'where':{'id':_0x3f87e0[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0xe3192a,null))['then'](function(_0x5ba363){if(_0x5ba363){_0x3334a8=_0x5ba363;_0x3a33f8[_0x7a09('0x41')]=_['keys'](db[_0x7a09('0x94')][_0x7a09('0x65')]);_0x3a33f8['query']=_[_0x7a09('0x44')](_0x3f87e0[_0x7a09('0x43')]);_0x3a33f8['filters']=_[_0x7a09('0x46')](_0x3a33f8[_0x7a09('0x41')],_0x3a33f8[_0x7a09('0x43')]);_0x9d593e[_0x7a09('0x48')]=_[_0x7a09('0x46')](_0x3a33f8[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0x3f87e0[_0x7a09('0x43')][_0x7a09('0x47')]));_0x9d593e[_0x7a09('0x48')]=_0x9d593e[_0x7a09('0x48')]['length']?_0x9d593e[_0x7a09('0x48')]:_0x3a33f8[_0x7a09('0x41')];_0x9d593e['order']=qs[_0x7a09('0x4d')](_0x3f87e0[_0x7a09('0x43')]['sort']);_0x9d593e[_0x7a09('0x4f')]=qs[_0x7a09('0x45')](_[_0x7a09('0x66')](_0x3f87e0['query'],_0x3a33f8[_0x7a09('0x45')]));if(_0x3f87e0[_0x7a09('0x43')][_0x7a09('0x4e')]){_0x9d593e['where']=_['merge'](_0x9d593e[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x9d593e['attributes'],function(_0x49a8b9){var _0xdbd9c9={};_0xdbd9c9[_0x49a8b9]={'$like':'%'+_0x3f87e0[_0x7a09('0x43')]['filter']+'%'};return _0xdbd9c9;})});}_0x9d593e=_[_0x7a09('0x50')]({},_0x9d593e,_0x3f87e0[_0x7a09('0x52')]);return _0x3334a8[_0x7a09('0x96')](_0x9d593e);}})['then'](function(_0x13218c){if(_0x13218c){_0x3bb38d=_0x13218c[_0x7a09('0x49')];if(!_0x3f87e0[_0x7a09('0x43')]['hasOwnProperty'](_0x7a09('0x4b'))){_0x9d593e[_0x7a09('0x2e')]=qs[_0x7a09('0x2e')](_0x3f87e0['query'][_0x7a09('0x2e')]);_0x9d593e['offset']=qs[_0x7a09('0x2d')](_0x3f87e0[_0x7a09('0x43')][_0x7a09('0x2d')]);}return _0x3334a8[_0x7a09('0x96')](_0x9d593e);}})['then'](function(_0x285add){if(_0x285add){return _0x285add?{'count':_0x3bb38d,'rows':_0x285add}:null;}})[_0x7a09('0x34')](respondWithResult(_0xe3192a,null))[_0x7a09('0x29')](handleError(_0xe3192a,null));};exports['getMessages']=function(_0x1fe36a,_0x102f88,_0x18539f){var _0x22c9db={'raw':!![],'where':{}};var _0x3c0dc8={};var _0x34da1c={'count':0x0,'rows':[]};return db['MailAccount'][_0x7a09('0x64')]({'where':{'id':_0x1fe36a['params']['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x102f88,null))[_0x7a09('0x34')](function(_0x57d043){if(_0x57d043){_0x3c0dc8[_0x7a09('0x41')]=_[_0x7a09('0x44')](db[_0x7a09('0x97')][_0x7a09('0x65')]);_0x3c0dc8[_0x7a09('0x43')]=_[_0x7a09('0x44')](_0x1fe36a['query']);_0x3c0dc8[_0x7a09('0x45')]=_['intersection'](_0x3c0dc8[_0x7a09('0x41')],_0x3c0dc8[_0x7a09('0x43')]);_0x22c9db['attributes']=_[_0x7a09('0x46')](_0x3c0dc8[_0x7a09('0x41')],qs[_0x7a09('0x47')](_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x47')]));_0x22c9db['attributes']=_0x22c9db['attributes'][_0x7a09('0x49')]?_0x22c9db[_0x7a09('0x48')]:_0x3c0dc8[_0x7a09('0x41')];if(!_0x1fe36a[_0x7a09('0x43')]['hasOwnProperty'](_0x7a09('0x4b'))){_0x22c9db[_0x7a09('0x2e')]=qs['limit'](_0x1fe36a['query']['limit']);_0x22c9db[_0x7a09('0x2d')]=qs['offset'](_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x2d')]);}_0x22c9db['order']=qs[_0x7a09('0x4d')](_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x4d')]);_0x22c9db['where']=qs['filters'](_[_0x7a09('0x66')](_0x1fe36a[_0x7a09('0x43')],_0x3c0dc8[_0x7a09('0x45')]));_0x22c9db[_0x7a09('0x4f')][_0x7a09('0x60')]=_0x57d043['id'];if(_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x4e')]){_0x22c9db['where']=_['merge'](_0x22c9db[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x22c9db[_0x7a09('0x48')],function(_0x5c3809){var _0x1569f4={};_0x1569f4[_0x5c3809]={'$like':'%'+_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x4e')]+'%'};return _0x1569f4;})});}if(_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x98')]){var _0x19b19a=_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x98')]['split'](',');var _0x416ae0={};_0x416ae0[_0x19b19a[0x0]]={'$gte':moment(_0x19b19a[0x1])[_0x7a09('0x99')](_0x7a09('0x9a'))};_0x22c9db['where']=_[_0x7a09('0x50')](_0x22c9db[_0x7a09('0x4f')],_0x416ae0);}_0x22c9db=_[_0x7a09('0x50')]({},_0x22c9db,_0x1fe36a[_0x7a09('0x52')]);return db['MailMessage']['count']({'where':_0x22c9db[_0x7a09('0x4f')]})[_0x7a09('0x34')](function(_0x5ac1e6){_0x34da1c[_0x7a09('0x53')]=_0x5ac1e6;if(_0x1fe36a[_0x7a09('0x43')][_0x7a09('0x5b')]){_0x22c9db[_0x7a09('0x54')]=[{'all':!![]}];}return db[_0x7a09('0x97')][_0x7a09('0x67')](_0x22c9db);})[_0x7a09('0x34')](function(_0x132d88){_0x34da1c[_0x7a09('0x55')]=_0x132d88;return _0x34da1c;});}})[_0x7a09('0x34')](respondWithFilteredResult(_0x102f88,_0x22c9db))[_0x7a09('0x29')](handleError(_0x102f88,null));};exports[_0x7a09('0x9b')]=function(_0x10dbb7,_0x1666b8,_0x4e8ac8){var _0x4a5b44,_0x3c385b={},_0xc052ad;if(_0x10dbb7[_0x7a09('0x5d')]['to']){_0xc052ad=_0x10dbb7[_0x7a09('0x5d')]['to'][_0x7a09('0x9c')](',')[0x0];}return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x10dbb7[_0x7a09('0x57')]['id']},'include':[{'model':db[_0x7a09('0x9d')],'as':'List','include':[{'model':db[_0x7a09('0x9e')],'as':_0x7a09('0x9f'),'where':{'email':_0xc052ad},'limit':0x1,'order':[[_0x7a09('0xa0'),'DESC']]}]},{'model':db['MailServerOut'],'as':_0x7a09('0x3c'),'raw':!![]}]})['then'](handleEntityNotFound(_0x1666b8,null))[_0x7a09('0x34')](function(_0x2d3aa9){if(_0x2d3aa9){_0x4a5b44=_0x2d3aa9;if(_0x2d3aa9['Smtp']){if(_[_0x7a09('0x6f')](_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xa1')])){_0x10dbb7['body'][_0x7a09('0xa1')]=util[_0x7a09('0x99')]('%s\x20<%s>',_0x2d3aa9[_0x7a09('0x39')],_0x2d3aa9['email']||_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x73')]);}if(_0x10dbb7[_0x7a09('0x5d')]['attachments']&&_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xa2')][_0x7a09('0x49')]){for(var _0x4ad30e=0x0;_0x4ad30e<_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xa2')][_0x7a09('0x49')];_0x4ad30e+=0x1){_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xa2')][_0x4ad30e]={'filename':_0x10dbb7['body']['attachments'][_0x4ad30e]['name'],'path':path[_0x7a09('0xa3')](config[_0x7a09('0xa4')],_0x7a09('0xa5'),_0x10dbb7[_0x7a09('0x5d')]['attachments'][_0x4ad30e][_0x7a09('0xa6')])};}}var _0x2b96f8={'tls':{'rejectUnauthorized':![]}};if(_[_0x7a09('0x6f')](_0x2d3aa9['Smtp'][_0x7a09('0x7a')])){if(_0x2d3aa9['Smtp'][_0x7a09('0x77')]){_0x2b96f8[_0x7a09('0xa7')]={'user':_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x73')],'pass':_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x75')]};}_0x2b96f8[_0x7a09('0x78')]=_0x2d3aa9[_0x7a09('0x3c')]['host'];_0x2b96f8['port']=_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x79')];_0x2b96f8['secure']=_0x2d3aa9[_0x7a09('0x3c')]['secure'];}else{_0x2b96f8[_0x7a09('0x7a')]=_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x7a')];_0x2b96f8[_0x7a09('0xa7')]={'user':_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x73')],'pass':_0x2d3aa9[_0x7a09('0x3c')][_0x7a09('0x75')]};}return respondWithRpcPromise(_0x7a09('0xa8'),_0x7a09('0xa9'),{'account':_0x2b96f8,'message':_0x10dbb7[_0x7a09('0x5d')]});}else{throw new Error('List\x20not\x20found');}}})[_0x7a09('0x34')](function(_0x1c2d7b){if(_0x1c2d7b){_0x3c385b=_0x1c2d7b;if(_0x4a5b44[_0x7a09('0xaa')]){if(_0x4a5b44[_0x7a09('0xaa')]['Contacts']['length']){return _0x4a5b44[_0x7a09('0xaa')][_0x7a09('0x9f')][0x0];}else{return db[_0x7a09('0x9e')]['create'](_[_0x7a09('0x1a')](_0x10dbb7[_0x7a09('0x5d')],{'firstName':_0x10dbb7[_0x7a09('0x5d')]['to'],'email':_0x10dbb7[_0x7a09('0x5d')]['to'],'phone':_0x10dbb7[_0x7a09('0x5d')]['to'],'ListId':_0x4a5b44[_0x7a09('0x6e')]}));}}else{throw new Error(_0x7a09('0xab'));}}})[_0x7a09('0x34')](function(_0x3f4bc9){if(_0x3f4bc9){var _0x567971={'UserId':_0x10dbb7['user']['id'],'ContactId':_0x3f4bc9['id'],'MailAccountId':_0x4a5b44['id'],'inReplyTo':_0x3c385b[_0x7a09('0xac')],'to':_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xa1')],'cc':_0x10dbb7[_0x7a09('0x5d')]['cc'],'subject':_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xad')],'attach':_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xae')],'firstMsgDirection':_0x7a09('0xaf'),'lastMsgAt':moment()[_0x7a09('0x99')](_0x7a09('0x9a')),'lastMsgDirection':_0x7a09('0xaf'),'lastMsgBody':_0x10dbb7['body'][_0x7a09('0x5d')],'Messages':[_['merge'](_0x10dbb7['body'],{'messageId':_0x3c385b['messageId'],'sentAt':moment()[_0x7a09('0x99')](_0x7a09('0x9a')),'read':!![],'MailAccountId':_0x4a5b44['id'],'UserId':_0x10dbb7[_0x7a09('0x73')]['id'],'ContactId':_0x3f4bc9['id']})]};if(_0x10dbb7[_0x7a09('0x5d')]['Interaction']){_0x567971=_[_0x7a09('0x50')](_0x567971,_0x10dbb7[_0x7a09('0x5d')][_0x7a09('0xb0')]);}return db[_0x7a09('0x88')][_0x7a09('0x62')](_0x567971,{'include':[{'model':db['MailMessage'],'as':_0x7a09('0xb1')}]});}})['then'](respondWithResult(_0x1666b8,null))[_0x7a09('0x29')](handleError(_0x1666b8,null));};exports[_0x7a09('0xb2')]=function(_0x536dce,_0x53f274,_0x3c16b9){return db['MailAccount'][_0x7a09('0x5c')]({'where':{'id':_0x536dce[_0x7a09('0x57')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x7a09('0x3c'),'raw':!![]}]})[_0x7a09('0x34')](handleEntityNotFound(_0x53f274,null))[_0x7a09('0x34')](function(_0x197380){if(_0x197380&&_0x197380[_0x7a09('0x3c')]){var _0x5526f1={'id':_0x197380['id'],'tls':{'rejectUnauthorized':![]}};if(_0x197380['Smtp'][_0x7a09('0x7a')]){_0x5526f1[_0x7a09('0x7a')]=_0x197380[_0x7a09('0x3c')][_0x7a09('0x7a')];}else{_0x5526f1[_0x7a09('0x78')]=_0x197380['Smtp']['host'];_0x5526f1[_0x7a09('0x79')]=_0x197380[_0x7a09('0x3c')]['port'];_0x5526f1[_0x7a09('0xb3')]=_0x197380[_0x7a09('0x3c')][_0x7a09('0xb3')];}if(_0x197380[_0x7a09('0x3c')]['authentication']){_0x5526f1[_0x7a09('0xa7')]={'user':_0x197380[_0x7a09('0x3c')]['user'],'pass':_0x197380[_0x7a09('0x3c')][_0x7a09('0x75')]};}return respondWithRpcPromise('VerifySmtp',_0x7a09('0xb2'),{'account':_0x5526f1});}})[_0x7a09('0x34')](respondWithResult(_0x53f274,null))['catch'](handleError(_0x53f274,null));};exports[_0x7a09('0x37')]=function(_0x48c59d,_0x40c452){return db[_0x7a09('0x3e')]['find']({'where':{'id':_0x48c59d[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x40c452,null))[_0x7a09('0x34')](function(_0x1f6c5a){if(_0x1f6c5a&&_0x1f6c5a[_0x7a09('0x7a')]){throw new db[(_0x7a09('0xb4'))][(_0x7a09('0xb5'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x1f6c5a;})[_0x7a09('0x34')](removeEntity(_0x40c452,null))[_0x7a09('0x29')](handleError(_0x40c452,null));};exports[_0x7a09('0xb6')]=function(_0x28c2c6,_0x1a0506,_0x391342){return db[_0x7a09('0x3e')][_0x7a09('0x5c')]({'where':{'id':_0x28c2c6[_0x7a09('0x57')]['id']}})[_0x7a09('0x34')](handleEntityNotFound(_0x1a0506,null))[_0x7a09('0x34')](function(_0x5fae79){if(_0x5fae79){return _0x5fae79[_0x7a09('0xb6')](_0x28c2c6['body'][_0x7a09('0x69')],_[_0x7a09('0xb7')](_0x28c2c6['body'],['ids','id'])||{})[_0x7a09('0xb8')](function(_0x5c51ff){for(var _0x30cfbe=0x0;_0x30cfbe<_0x28c2c6['body'][_0x7a09('0x69')][_0x7a09('0x49')];_0x30cfbe+=0x1){socket[_0x7a09('0xb9')](_0x7a09('0xba'),{'UserId':_0x28c2c6['body'][_0x7a09('0x69')][_0x30cfbe],'MailAccountId':_0x28c2c6['params']['id']});}return _0x5c51ff;});}})[_0x7a09('0x34')](respondWithResult(_0x1a0506,null))[_0x7a09('0x29')](handleError(_0x1a0506,null));};exports[_0x7a09('0xbb')]=function(_0x519906,_0x270e33,_0x25dc30){return db['MailAccount'][_0x7a09('0x5c')]({'where':{'id':_0x519906['params']['id']}})['then'](handleEntityNotFound(_0x270e33,null))[_0x7a09('0x34')](function(_0x2a76cf){if(_0x2a76cf){return _0x2a76cf[_0x7a09('0xbb')](_0x519906[_0x7a09('0x43')][_0x7a09('0x69')])[_0x7a09('0x34')](function(){if(_[_0x7a09('0xbc')](_0x519906['query'][_0x7a09('0x69')])){for(var _0x2852e7=0x0;_0x2852e7<_0x519906['query']['ids']['length'];_0x2852e7+=0x1){socket[_0x7a09('0xb9')](_0x7a09('0xbd'),{'UserId':Number(_0x519906[_0x7a09('0x43')][_0x7a09('0x69')][_0x2852e7]),'MailAccountId':Number(_0x519906[_0x7a09('0x57')]['id'])});}}else{socket[_0x7a09('0xb9')]('userMailAccount:remove',{'UserId':Number(_0x519906['query'][_0x7a09('0x69')]),'MailAccountId':Number(_0x519906[_0x7a09('0x57')]['id'])});}});}})[_0x7a09('0x34')](respondWithStatusCode(_0x270e33,null))[_0x7a09('0x29')](handleError(_0x270e33,null));};exports['getAgents']=function(_0x47b7ee,_0x3aaab0,_0x5eefb1){var _0x1a950b={};var _0xa64efa={};var _0x3a8b62;var _0x595fcd;return db[_0x7a09('0x3e')]['findOne']({'where':{'id':_0x47b7ee[_0x7a09('0x57')]['id']}})['then'](handleEntityNotFound(_0x3aaab0,null))[_0x7a09('0x34')](function(_0x3a2404){if(_0x3a2404){_0x3a8b62=_0x3a2404;_0xa64efa[_0x7a09('0x41')]=_[_0x7a09('0x44')](db[_0x7a09('0xbe')][_0x7a09('0x65')]);_0xa64efa[_0x7a09('0x43')]=_['keys'](_0x47b7ee[_0x7a09('0x43')]);_0xa64efa[_0x7a09('0x45')]=_[_0x7a09('0x46')](_0xa64efa['model'],_0xa64efa[_0x7a09('0x43')]);_0x1a950b['attributes']=_[_0x7a09('0x46')](_0xa64efa[_0x7a09('0x41')],qs['fields'](_0x47b7ee[_0x7a09('0x43')][_0x7a09('0x47')]));_0x1a950b[_0x7a09('0x48')]=_0x1a950b['attributes']['length']?_0x1a950b[_0x7a09('0x48')]:_0xa64efa[_0x7a09('0x41')];_0x1a950b[_0x7a09('0x4c')]=qs[_0x7a09('0x4d')](_0x47b7ee[_0x7a09('0x43')][_0x7a09('0x4d')]);_0x1a950b[_0x7a09('0x4f')]=qs['filters'](_[_0x7a09('0x66')](_0x47b7ee['query'],_0xa64efa['filters']));if(_0x47b7ee[_0x7a09('0x43')]['filter']){_0x1a950b[_0x7a09('0x4f')]=_['merge'](_0x1a950b[_0x7a09('0x4f')],{'$or':_[_0x7a09('0x42')](_0x1a950b['attributes'],function(_0x1ace5d){var _0x965be8={};_0x965be8[_0x1ace5d]={'$like':'%'+_0x47b7ee[_0x7a09('0x43')][_0x7a09('0x4e')]+'%'};return _0x965be8;})});}_0x1a950b=_[_0x7a09('0x50')]({},_0x1a950b,_0x47b7ee[_0x7a09('0x52')]);return _0x3a8b62[_0x7a09('0xbf')](_0x1a950b);}})['then'](function(_0x400486){if(_0x400486){_0x595fcd=_0x400486[_0x7a09('0x49')];if(!_0x47b7ee[_0x7a09('0x43')]['hasOwnProperty'](_0x7a09('0x4b'))){_0x1a950b[_0x7a09('0x2e')]=qs[_0x7a09('0x2e')](_0x47b7ee['query'][_0x7a09('0x2e')]);_0x1a950b['offset']=qs[_0x7a09('0x2d')](_0x47b7ee[_0x7a09('0x43')][_0x7a09('0x2d')]);}return _0x3a8b62[_0x7a09('0xbf')](_0x1a950b);}})['then'](function(_0x2af9e0){if(_0x2af9e0){return _0x2af9e0?{'count':_0x595fcd,'rows':_0x2af9e0}:null;}})[_0x7a09('0x34')](respondWithResult(_0x3aaab0,null))[_0x7a09('0x29')](handleError(_0x3aaab0,null));};