32c866af19df4734bc9694328b435c00510e63f2
[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 _0x3d3c=['account','index','MailServerIn','Imap','MailServerOut','Smtp','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','keys','intersection','model','attributes','fields','query','length','nolimit','order','sort','filters','pick','where','VIRTUAL','filter','options','includeAll','include','rows','show','Pause','find','body','describe','params','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','findAll','removeDispositions','addAnswer','CannedAnswer','getAnswers','removeAnswers','ids','email','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','omit','CmContact','User','Owner','fullname','internal','Tag','Tags','color','tag','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','send','List','Contacts','updatedAt','DESC','from','format','%s\x20<%s>','attachments','join','root','basename','auth','secure','SendMail','sendMail','ListId','messageId','subject','attach','out','Interaction','Messages','VerifySmtp','verifySmtp','Sequelize','ValidationError','addAgents','spread','emit','isArray','userMailAccount:remove','getAgents','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','html-to-text','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./mailAccount.socket','register','jayson/promise','http','then','info','MailAccount,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','get','MailAccounts','UserProfileResource','stack','name','render','merge','contact','interaction'];(function(_0x4ee3e1,_0x5aa0d4){var _0x567a64=function(_0x3056fb){while(--_0x3056fb){_0x4ee3e1['push'](_0x4ee3e1['shift']());}};_0x567a64(++_0x5aa0d4);}(_0x3d3c,0x8a));var _0xc3d3=function(_0x29b609,_0x19d388){_0x29b609=_0x29b609-0x0;var _0x54c952=_0x3d3c[_0x29b609];return _0x54c952;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc3d3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc3d3('0x1'));var rp=require(_0xc3d3('0x2'));var moment=require(_0xc3d3('0x3'));var BPromise=require(_0xc3d3('0x4'));var Mustache=require(_0xc3d3('0x5'));var util=require(_0xc3d3('0x6'));var path=require(_0xc3d3('0x7'));var sox=require(_0xc3d3('0x8'));var csv=require('to-csv');var ejs=require(_0xc3d3('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc3d3('0xa'));var squel=require(_0xc3d3('0xb'));var crypto=require(_0xc3d3('0xc'));var jsforce=require(_0xc3d3('0xd'));var deskjs=require(_0xc3d3('0xe'));var toCsv=require(_0xc3d3('0xf'));var querystring=require('querystring');var Papa=require(_0xc3d3('0x10'));var htmlToText=require(_0xc3d3('0x11'));var juice=require('juice');var Redis=require('ioredis');var authService=require(_0xc3d3('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc3d3('0x13'));var logger=require(_0xc3d3('0x14'))(_0xc3d3('0x15'));var utils=require(_0xc3d3('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xc3d3('0x17'));var db=require(_0xc3d3('0x18'))['db'];config['redis']=_[_0xc3d3('0x19')](config['redis'],{'host':_0xc3d3('0x1a'),'port':0x18eb});var socket=require(_0xc3d3('0x1b'))(new Redis(config[_0xc3d3('0x1c')]));require(_0xc3d3('0x1d'))[_0xc3d3('0x1e')](socket);var jayson=require(_0xc3d3('0x1f'));var client=jayson['client'][_0xc3d3('0x20')]({'port':0x232b});function respondWithRpcPromise(_0x1354fd,_0x330e7a,_0x5efd4a,_0x7a541d){return new BPromise(function(_0x26aa55,_0x50e5d3){var _0xf20197=_0x7a541d||client;return _0xf20197['request'](_0x1354fd,_0x5efd4a)[_0xc3d3('0x21')](function(_0x3295dc){logger[_0xc3d3('0x22')](_0xc3d3('0x23'),_0x330e7a,'request\x20sent');logger[_0xc3d3('0x24')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x330e7a,_0xc3d3('0x25'),JSON[_0xc3d3('0x26')](_0x3295dc));if(_0x3295dc[_0xc3d3('0x27')]){if(_0x3295dc[_0xc3d3('0x27')][_0xc3d3('0x28')]===0x1f4){logger[_0xc3d3('0x27')](_0xc3d3('0x23'),_0x330e7a,_0x3295dc[_0xc3d3('0x27')][_0xc3d3('0x29')]);return _0x50e5d3(_0x3295dc['error']['message']);}logger[_0xc3d3('0x27')](_0xc3d3('0x23'),_0x330e7a,_0x3295dc['error']['message']);return _0x26aa55(_0x3295dc[_0xc3d3('0x27')][_0xc3d3('0x29')]);}else{logger[_0xc3d3('0x22')](_0xc3d3('0x23'),_0x330e7a,_0xc3d3('0x25'));_0x26aa55(_0x3295dc[_0xc3d3('0x2a')]['message']);}})[_0xc3d3('0x2b')](function(_0x2eb76e){logger[_0xc3d3('0x27')](_0xc3d3('0x23'),_0x330e7a,_0x2eb76e);_0x50e5d3(_0x2eb76e);});});}function respondWithStatusCode(_0x99f436,_0x364c2f){_0x364c2f=_0x364c2f||0xcc;return function(_0x52848f){if(_0x52848f){return _0x99f436[_0xc3d3('0x2c')](_0x364c2f);}return _0x99f436[_0xc3d3('0x2d')](_0x364c2f)[_0xc3d3('0x2e')]();};}function respondWithResult(_0xb76da6,_0x569578){_0x569578=_0x569578||0xc8;return function(_0x3a5768){if(_0x3a5768){return _0xb76da6['status'](_0x569578)[_0xc3d3('0x2f')](_0x3a5768);}};}function respondWithFilteredResult(_0x297a47,_0x4b1244){return function(_0x26df6d){if(_0x26df6d){var _0x397035=typeof _0x4b1244[_0xc3d3('0x30')]===_0xc3d3('0x31')&&typeof _0x4b1244[_0xc3d3('0x32')]===_0xc3d3('0x31');var _0x1542b1=_0x26df6d[_0xc3d3('0x33')];var _0x546520=_0x397035?0x0:_0x4b1244[_0xc3d3('0x30')];var _0x58ec32=_0x397035?_0x26df6d[_0xc3d3('0x33')]:_0x4b1244[_0xc3d3('0x30')]+_0x4b1244[_0xc3d3('0x32')];var _0x4cb13d;if(_0x58ec32>=_0x1542b1){_0x58ec32=_0x1542b1;_0x4cb13d=0xc8;}else{_0x4cb13d=0xce;}_0x297a47[_0xc3d3('0x2d')](_0x4cb13d);return _0x297a47[_0xc3d3('0x34')](_0xc3d3('0x35'),_0x546520+'-'+_0x58ec32+'/'+_0x1542b1)[_0xc3d3('0x2f')](_0x26df6d);}return null;};}function patchUpdates(_0x375620){return function(_0x252ffb){try{jsonpatch['apply'](_0x252ffb,_0x375620,!![]);}catch(_0x3f4ac3){return BPromise[_0xc3d3('0x36')](_0x3f4ac3);}return _0x252ffb[_0xc3d3('0x37')]();};}function saveUpdates(_0x131661,_0x2010ee){return function(_0x219424){if(_0x219424){return _0x219424[_0xc3d3('0x38')](_0x131661)['then'](function(_0x4a9b19){return _0x4a9b19;});}return null;};}function removeEntity(_0x1da8b4,_0x32cb80){return function(_0x160923){if(_0x160923){return _0x160923[_0xc3d3('0x39')]()[_0xc3d3('0x21')](function(){var _0xb81205=_0x160923[_0xc3d3('0x3a')]({'plain':!![]});var _0xfbac44=_0xc3d3('0x3b');return db[_0xc3d3('0x3c')][_0xc3d3('0x39')]({'where':{'type':_0xfbac44,'resourceId':_0xb81205['id']}})[_0xc3d3('0x21')](function(){return _0x160923;});})[_0xc3d3('0x21')](function(){_0x1da8b4['status'](0xcc)[_0xc3d3('0x2e')]();});}};}function handleEntityNotFound(_0x3c398d,_0x400abe){return function(_0x34878d){if(!_0x34878d){_0x3c398d['sendStatus'](0x194);}return _0x34878d;};}function handleError(_0xbfc196,_0x30a6a4){_0x30a6a4=_0x30a6a4||0x1f4;return function(_0x2ea828){logger['error'](_0x2ea828[_0xc3d3('0x3d')]);if(_0x2ea828['name']){delete _0x2ea828[_0xc3d3('0x3e')];}_0xbfc196[_0xc3d3('0x2d')](_0x30a6a4)['send'](_0x2ea828);};}function getMustacheRender(_0x23fa64,_0x41837c){return Mustache[_0xc3d3('0x3f')](_0x23fa64,_[_0xc3d3('0x40')](_0x41837c['body'],{'contact':_0x41837c[_0xc3d3('0x41')],'message':_0x41837c[_0xc3d3('0x29')],'agent':_0x41837c['agent'],'interaction':_0x41837c[_0xc3d3('0x42')],'account':_0x41837c[_0xc3d3('0x43')]}))||'';}exports[_0xc3d3('0x44')]=function(_0x480b9f,_0x16e9d1){var _0x483f81={'include':[{'model':db[_0xc3d3('0x45')],'as':_0xc3d3('0x46')},{'model':db[_0xc3d3('0x47')],'as':_0xc3d3('0x48')},{'model':db['Pause'],'as':_0xc3d3('0x49')}]},_0x5d9a39={},_0x1bfa52={'count':0x0,'rows':[]};var _0x5a36d2=_[_0xc3d3('0x4a')](db[_0xc3d3('0x4b')][_0xc3d3('0x4c')],function(_0x328180){return{'name':_0x328180[_0xc3d3('0x4d')],'type':_0x328180[_0xc3d3('0x4e')][_0xc3d3('0x4f')]};});_0x5d9a39['model']=_[_0xc3d3('0x4a')](_0x5a36d2,_0xc3d3('0x3e'));_0x5d9a39['query']=_[_0xc3d3('0x50')](_0x480b9f['query']);_0x5d9a39['filters']=_[_0xc3d3('0x51')](_0x5d9a39[_0xc3d3('0x52')],_0x5d9a39['query']);_0x483f81[_0xc3d3('0x53')]=_['intersection'](_0x5d9a39['model'],qs[_0xc3d3('0x54')](_0x480b9f[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x483f81[_0xc3d3('0x53')]=_0x483f81[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x483f81[_0xc3d3('0x53')]:_0x5d9a39['model'];if(!_0x480b9f[_0xc3d3('0x55')]['hasOwnProperty'](_0xc3d3('0x57'))){_0x483f81['limit']=qs[_0xc3d3('0x32')](_0x480b9f[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0x483f81[_0xc3d3('0x30')]=qs[_0xc3d3('0x30')](_0x480b9f[_0xc3d3('0x55')]['offset']);}_0x483f81[_0xc3d3('0x58')]=qs[_0xc3d3('0x59')](_0x480b9f[_0xc3d3('0x55')][_0xc3d3('0x59')]);_0x483f81['where']=qs[_0xc3d3('0x5a')](_[_0xc3d3('0x5b')](_0x480b9f['query'],_0x5d9a39[_0xc3d3('0x5a')]),_0x5a36d2);if(_0x480b9f[_0xc3d3('0x55')]['filter']){_0x483f81['where']=_['merge'](_0x483f81[_0xc3d3('0x5c')],{'$or':_['map'](_0x5a36d2,function(_0x49e44c){if(_0x49e44c[_0xc3d3('0x4e')]!==_0xc3d3('0x5d')){var _0xd8dd9c={};_0xd8dd9c[_0x49e44c[_0xc3d3('0x3e')]]={'$like':'%'+_0x480b9f[_0xc3d3('0x55')][_0xc3d3('0x5e')]+'%'};return _0xd8dd9c;}})});}_0x483f81=_[_0xc3d3('0x40')]({},_0x483f81,_0x480b9f[_0xc3d3('0x5f')]);var _0x2dc881={'where':_0x483f81['where']};return db['MailAccount'][_0xc3d3('0x33')](_0x2dc881)[_0xc3d3('0x21')](function(_0x47b249){_0x1bfa52[_0xc3d3('0x33')]=_0x47b249;if(_0x480b9f[_0xc3d3('0x55')][_0xc3d3('0x60')]){_0x483f81[_0xc3d3('0x61')]=[{'all':!![]}];}return db['MailAccount']['findAll'](_0x483f81);})[_0xc3d3('0x21')](function(_0x402040){_0x1bfa52[_0xc3d3('0x62')]=_0x402040;return _0x1bfa52;})[_0xc3d3('0x21')](respondWithFilteredResult(_0x16e9d1,_0x483f81))['catch'](handleError(_0x16e9d1,null));};exports[_0xc3d3('0x63')]=function(_0x30604c,_0x1128e9){var _0x5a63ca={'raw':![],'where':{'id':_0x30604c['params']['id']},'include':[{'model':db[_0xc3d3('0x45')],'as':_0xc3d3('0x46')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xc3d3('0x64')],'as':_0xc3d3('0x49')}]},_0x43b097={};_0x43b097[_0xc3d3('0x52')]=_['keys'](db[_0xc3d3('0x4b')]['rawAttributes']);_0x43b097[_0xc3d3('0x55')]=_[_0xc3d3('0x50')](_0x30604c['query']);_0x43b097[_0xc3d3('0x5a')]=_[_0xc3d3('0x51')](_0x43b097['model'],_0x43b097[_0xc3d3('0x55')]);_0x5a63ca[_0xc3d3('0x53')]=_[_0xc3d3('0x51')](_0x43b097['model'],qs['fields'](_0x30604c['query'][_0xc3d3('0x54')]));_0x5a63ca['attributes']=_0x5a63ca[_0xc3d3('0x53')]['length']?_0x5a63ca['attributes']:_0x43b097[_0xc3d3('0x52')];if(_0x30604c[_0xc3d3('0x55')][_0xc3d3('0x60')]){_0x5a63ca[_0xc3d3('0x61')]=[{'all':!![]}];}_0x5a63ca=_[_0xc3d3('0x40')]({},_0x5a63ca,_0x30604c['options']);return db[_0xc3d3('0x4b')][_0xc3d3('0x65')](_0x5a63ca)[_0xc3d3('0x21')](handleEntityNotFound(_0x1128e9,null))['then'](respondWithResult(_0x1128e9,null))[_0xc3d3('0x2b')](handleError(_0x1128e9,null));};exports['update']=function(_0x51cd51,_0x2d2298){if(_0x51cd51[_0xc3d3('0x66')]['id']){delete _0x51cd51[_0xc3d3('0x66')]['id'];}return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x51cd51['params']['id']},'include':[{'model':db[_0xc3d3('0x45')],'as':_0xc3d3('0x46')},{'model':db[_0xc3d3('0x47')],'as':_0xc3d3('0x48')},{'model':db[_0xc3d3('0x64')],'as':_0xc3d3('0x49')}]})[_0xc3d3('0x21')](handleEntityNotFound(_0x2d2298,null))[_0xc3d3('0x21')](saveUpdates(_0x51cd51[_0xc3d3('0x66')],null))[_0xc3d3('0x21')](function(_0x1e722c){if(_0x1e722c&&_0x51cd51[_0xc3d3('0x66')][_0xc3d3('0x46')]){return db[_0xc3d3('0x45')][_0xc3d3('0x38')](_0x51cd51[_0xc3d3('0x66')][_0xc3d3('0x46')],{'where':{'MailAccountId':_0x1e722c['id']}})[_0xc3d3('0x21')](function(){return _0x1e722c;});}return _0x1e722c;})[_0xc3d3('0x21')](function(_0x48d974){if(_0x48d974&&_0x51cd51[_0xc3d3('0x66')]['Smtp']){return db[_0xc3d3('0x47')][_0xc3d3('0x38')](_0x51cd51['body'][_0xc3d3('0x48')],{'where':{'MailAccountId':_0x48d974['id']}})[_0xc3d3('0x21')](function(){return _0x48d974;});}return _0x48d974;})[_0xc3d3('0x21')](respondWithResult(_0x2d2298,null))[_0xc3d3('0x2b')](handleError(_0x2d2298,null));};exports[_0xc3d3('0x67')]=function(_0x2ce36e,_0xe15952){return db[_0xc3d3('0x4b')][_0xc3d3('0x67')]()[_0xc3d3('0x21')](respondWithResult(_0xe15952,null))[_0xc3d3('0x2b')](handleError(_0xe15952,null));};exports['addDisposition']=function(_0x3672b9,_0x4c2570,_0xdae8b7){if(_0x3672b9['body']['id']){delete _0x3672b9[_0xc3d3('0x66')]['id'];}return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x3672b9[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x4c2570,null))[_0xc3d3('0x21')](function(_0x1cf97e){if(_0x1cf97e){_0x3672b9[_0xc3d3('0x66')][_0xc3d3('0x69')]=_0x1cf97e['id'];return db[_0xc3d3('0x6a')][_0xc3d3('0x6b')](_0x3672b9[_0xc3d3('0x66')]);}})[_0xc3d3('0x21')](respondWithResult(_0x4c2570,null))[_0xc3d3('0x2b')](handleError(_0x4c2570,null));};exports[_0xc3d3('0x6c')]=function(_0x36d989,_0x4e5fe5,_0x50ddc8){var _0x3993fb={'raw':![],'where':{}};var _0x36765e={};var _0x50a073={'count':0x0,'rows':[]};return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x36d989[_0xc3d3('0x68')]['id']}})['then'](handleEntityNotFound(_0x4e5fe5,null))[_0xc3d3('0x21')](function(_0x269495){if(_0x269495){_0x36765e[_0xc3d3('0x52')]=_['keys'](db[_0xc3d3('0x6a')][_0xc3d3('0x4c')]);_0x36765e[_0xc3d3('0x55')]=_[_0xc3d3('0x50')](_0x36d989[_0xc3d3('0x55')]);_0x36765e[_0xc3d3('0x5a')]=_[_0xc3d3('0x51')](_0x36765e[_0xc3d3('0x52')],_0x36765e[_0xc3d3('0x55')]);_0x3993fb[_0xc3d3('0x53')]=_[_0xc3d3('0x51')](_0x36765e[_0xc3d3('0x52')],qs['fields'](_0x36d989[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x3993fb[_0xc3d3('0x53')]=_0x3993fb[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x3993fb[_0xc3d3('0x53')]:_0x36765e[_0xc3d3('0x52')];if(!_0x36d989[_0xc3d3('0x55')][_0xc3d3('0x6e')]('nolimit')){_0x3993fb[_0xc3d3('0x32')]=qs[_0xc3d3('0x32')](_0x36d989['query'][_0xc3d3('0x32')]);_0x3993fb['offset']=qs['offset'](_0x36d989['query'][_0xc3d3('0x30')]);}_0x3993fb[_0xc3d3('0x58')]=qs[_0xc3d3('0x59')](_0x36d989[_0xc3d3('0x55')][_0xc3d3('0x59')]);_0x3993fb[_0xc3d3('0x5c')]=qs[_0xc3d3('0x5a')](_['pick'](_0x36d989[_0xc3d3('0x55')],_0x36765e['filters']));_0x3993fb[_0xc3d3('0x5c')][_0xc3d3('0x69')]=_0x269495['id'];if(_0x36d989['query'][_0xc3d3('0x5e')]){_0x3993fb[_0xc3d3('0x5c')]=_[_0xc3d3('0x40')](_0x3993fb[_0xc3d3('0x5c')],{'$or':_['map'](_0x3993fb[_0xc3d3('0x53')],function(_0x3f52df){var _0x2e2f23={};_0x2e2f23[_0x3f52df]={'$like':'%'+_0x36d989['query']['filter']+'%'};return _0x2e2f23;})});}_0x3993fb=_[_0xc3d3('0x40')]({},_0x3993fb,_0x36d989['options']);return db['Disposition'][_0xc3d3('0x33')]({'where':_0x3993fb[_0xc3d3('0x5c')]})[_0xc3d3('0x21')](function(_0x1135d0){_0x50a073[_0xc3d3('0x33')]=_0x1135d0;if(_0x36d989['query']['includeAll']){_0x3993fb[_0xc3d3('0x61')]=[{'all':!![]}];}return db[_0xc3d3('0x6a')][_0xc3d3('0x6f')](_0x3993fb);})['then'](function(_0x5b2ec2){_0x50a073[_0xc3d3('0x62')]=_0x5b2ec2;return _0x50a073;});}})[_0xc3d3('0x21')](respondWithFilteredResult(_0x4e5fe5,_0x3993fb))[_0xc3d3('0x2b')](handleError(_0x4e5fe5,null));};exports[_0xc3d3('0x70')]=function(_0x12a26a,_0x9fa36d,_0x315762){return db['MailAccount'][_0xc3d3('0x65')]({'where':{'id':_0x12a26a[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x9fa36d,null))[_0xc3d3('0x21')](function(_0x4c626a){if(_0x4c626a){return _0x4c626a[_0xc3d3('0x70')](_0x12a26a[_0xc3d3('0x55')]['ids']);}})[_0xc3d3('0x21')](respondWithStatusCode(_0x9fa36d,null))[_0xc3d3('0x2b')](handleError(_0x9fa36d,null));};exports[_0xc3d3('0x71')]=function(_0x507729,_0x99fbd3,_0x4b577c){if(_0x507729[_0xc3d3('0x66')]['id']){delete _0x507729['body']['id'];}return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x507729[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x99fbd3,null))[_0xc3d3('0x21')](function(_0x3d11ad){if(_0x3d11ad){_0x507729[_0xc3d3('0x66')][_0xc3d3('0x69')]=_0x3d11ad['id'];return db[_0xc3d3('0x72')][_0xc3d3('0x6b')](_0x507729[_0xc3d3('0x66')]);}})[_0xc3d3('0x21')](respondWithResult(_0x99fbd3,null))['catch'](handleError(_0x99fbd3,null));};exports[_0xc3d3('0x73')]=function(_0x5d6f9a,_0x5513d8,_0x1017e1){var _0xce4668={'raw':![],'where':{}};var _0xd3a90e={};var _0x536f78={'count':0x0,'rows':[]};return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x5d6f9a[_0xc3d3('0x68')]['id']}})['then'](handleEntityNotFound(_0x5513d8,null))[_0xc3d3('0x21')](function(_0x2437e2){if(_0x2437e2){_0xd3a90e[_0xc3d3('0x52')]=_['keys'](db[_0xc3d3('0x72')][_0xc3d3('0x4c')]);_0xd3a90e['query']=_[_0xc3d3('0x50')](_0x5d6f9a[_0xc3d3('0x55')]);_0xd3a90e[_0xc3d3('0x5a')]=_[_0xc3d3('0x51')](_0xd3a90e['model'],_0xd3a90e[_0xc3d3('0x55')]);_0xce4668['attributes']=_[_0xc3d3('0x51')](_0xd3a90e[_0xc3d3('0x52')],qs[_0xc3d3('0x54')](_0x5d6f9a[_0xc3d3('0x55')]['fields']));_0xce4668[_0xc3d3('0x53')]=_0xce4668[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0xce4668[_0xc3d3('0x53')]:_0xd3a90e['model'];if(!_0x5d6f9a[_0xc3d3('0x55')][_0xc3d3('0x6e')](_0xc3d3('0x57'))){_0xce4668[_0xc3d3('0x32')]=qs[_0xc3d3('0x32')](_0x5d6f9a[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0xce4668['offset']=qs[_0xc3d3('0x30')](_0x5d6f9a[_0xc3d3('0x55')]['offset']);}_0xce4668[_0xc3d3('0x58')]=qs[_0xc3d3('0x59')](_0x5d6f9a['query']['sort']);_0xce4668[_0xc3d3('0x5c')]=qs[_0xc3d3('0x5a')](_[_0xc3d3('0x5b')](_0x5d6f9a['query'],_0xd3a90e[_0xc3d3('0x5a')]));_0xce4668[_0xc3d3('0x5c')][_0xc3d3('0x69')]=_0x2437e2['id'];if(_0x5d6f9a[_0xc3d3('0x55')][_0xc3d3('0x5e')]){_0xce4668[_0xc3d3('0x5c')]=_[_0xc3d3('0x40')](_0xce4668[_0xc3d3('0x5c')],{'$or':_[_0xc3d3('0x4a')](_0xce4668[_0xc3d3('0x53')],function(_0x30ffb2){var _0x40cd57={};_0x40cd57[_0x30ffb2]={'$like':'%'+_0x5d6f9a[_0xc3d3('0x55')]['filter']+'%'};return _0x40cd57;})});}_0xce4668=_[_0xc3d3('0x40')]({},_0xce4668,_0x5d6f9a[_0xc3d3('0x5f')]);return db[_0xc3d3('0x72')][_0xc3d3('0x33')]({'where':_0xce4668[_0xc3d3('0x5c')]})[_0xc3d3('0x21')](function(_0x9a841b){_0x536f78[_0xc3d3('0x33')]=_0x9a841b;if(_0x5d6f9a['query'][_0xc3d3('0x60')]){_0xce4668['include']=[{'all':!![]}];}return db[_0xc3d3('0x72')][_0xc3d3('0x6f')](_0xce4668);})[_0xc3d3('0x21')](function(_0x372ed5){_0x536f78[_0xc3d3('0x62')]=_0x372ed5;return _0x536f78;});}})[_0xc3d3('0x21')](respondWithFilteredResult(_0x5513d8,_0xce4668))[_0xc3d3('0x2b')](handleError(_0x5513d8,null));};exports[_0xc3d3('0x74')]=function(_0x333700,_0x138bd1,_0x3344ce){return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x333700['params']['id']}})['then'](handleEntityNotFound(_0x138bd1,null))[_0xc3d3('0x21')](function(_0x19c77f){if(_0x19c77f){return _0x19c77f[_0xc3d3('0x74')](_0x333700['query'][_0xc3d3('0x75')]);}})[_0xc3d3('0x21')](respondWithStatusCode(_0x138bd1,null))[_0xc3d3('0x2b')](handleError(_0x138bd1,null));};exports[_0xc3d3('0x6b')]=function(_0xc1e5d6,_0x275e82){var _0x97bdf2={'name':_0xc1e5d6['body'][_0xc3d3('0x3e')],'key':_0xc1e5d6['body'][_0xc3d3('0x4f')],'email':_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x76')],'ListId':_0xc1e5d6[_0xc3d3('0x66')]['ListId'],'active':!_[_0xc3d3('0x77')](_0xc1e5d6['body'][_0xc3d3('0x78')])?_0xc1e5d6['body'][_0xc3d3('0x78')]:!![],'description':_0xc1e5d6['body'][_0xc3d3('0x79')]||null,'Imap':{},'Smtp':{}};if(_[_0xc3d3('0x77')](_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x7a')])){if(_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x7b')]){_0x97bdf2[_0xc3d3('0x46')][_0xc3d3('0x7c')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x7c')]=_0xc1e5d6['body'][_0xc3d3('0x7d')];_0x97bdf2['Imap'][_0xc3d3('0x7e')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x7f')]=_0xc1e5d6['body'][_0xc3d3('0x80')];}else{_0x97bdf2['Imap'][_0xc3d3('0x81')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x81')]=![];}_0x97bdf2['Imap']['host']=_0xc1e5d6['body']['Imap'][_0xc3d3('0x82')];_0x97bdf2['Imap']['port']=_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x46')][_0xc3d3('0x83')];_0x97bdf2['Smtp'][_0xc3d3('0x82')]=_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x48')]['host'];_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x83')]=_0xc1e5d6[_0xc3d3('0x66')]['Smtp'][_0xc3d3('0x83')];}else{_0x97bdf2[_0xc3d3('0x46')][_0xc3d3('0x84')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x84')]=_0xc1e5d6[_0xc3d3('0x66')]['cservice'];_0x97bdf2[_0xc3d3('0x46')][_0xc3d3('0x7c')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x7c')]=_0xc1e5d6[_0xc3d3('0x66')][_0xc3d3('0x7d')];_0x97bdf2[_0xc3d3('0x46')][_0xc3d3('0x7e')]=_0x97bdf2[_0xc3d3('0x48')][_0xc3d3('0x7f')]=_0xc1e5d6['body'][_0xc3d3('0x80')];}return db[_0xc3d3('0x4b')][_0xc3d3('0x6b')](_0x97bdf2,{'include':[{'model':db[_0xc3d3('0x47')],'as':_0xc3d3('0x48')},{'model':db['MailServerIn'],'as':_0xc3d3('0x46')}]})[_0xc3d3('0x21')](function(_0x2325d4){var _0xfa71f3=_0xc1e5d6[_0xc3d3('0x7c')][_0xc3d3('0x3a')]({'plain':!![]});if(!_0xfa71f3)throw new Error(_0xc3d3('0x85'));if(_0xfa71f3[_0xc3d3('0x86')]==='user'){var _0x38ec73=_0x2325d4['get']({'plain':!![]});return db[_0xc3d3('0x87')][_0xc3d3('0x65')]({'where':{'name':_0xc3d3('0x3b'),'userProfileId':_0xfa71f3[_0xc3d3('0x88')]},'raw':!![]})[_0xc3d3('0x21')](function(_0x12791c){if(_0x12791c&&_0x12791c[_0xc3d3('0x89')]===0x0){return db['UserProfileResource'][_0xc3d3('0x6b')]({'name':_0x38ec73[_0xc3d3('0x3e')],'resourceId':_0x38ec73['id'],'type':_0x12791c[_0xc3d3('0x3e')],'sectionId':_0x12791c['id']},{})[_0xc3d3('0x21')](function(){return _0x2325d4;});}else{return _0x2325d4;}})['catch'](function(_0x343c14){logger[_0xc3d3('0x27')](_0xc3d3('0x8a'),_0x343c14);throw _0x343c14;});}return _0x2325d4;})[_0xc3d3('0x21')](respondWithResult(_0x275e82,0xc9))['catch'](handleError(_0x275e82,null));};exports['getImap']=function(_0x366d95,_0xdb44d8,_0xcd6e1a){return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x366d95[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0xdb44d8,null))['then'](function(_0x2143a0){if(_0x2143a0){return _0x2143a0[_0xc3d3('0x8b')]();}return null;})[_0xc3d3('0x21')](respondWithResult(_0xdb44d8,null))['catch'](handleError(_0xdb44d8,null));};exports[_0xc3d3('0x8c')]=function(_0x40f13c,_0x23ac17,_0x457b81){if(_0x40f13c['body']['id']){delete _0x40f13c[_0xc3d3('0x66')]['id'];}return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x40f13c['params']['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x23ac17,null))[_0xc3d3('0x21')](function(_0x459350){if(_0x459350){_0x40f13c[_0xc3d3('0x66')][_0xc3d3('0x69')]=_0x459350['id'];return db['MailServerIn']['create'](_0x40f13c['body']);}})[_0xc3d3('0x21')](respondWithResult(_0x23ac17,null))['catch'](handleError(_0x23ac17,null));};exports[_0xc3d3('0x8d')]=function(_0x3276d9,_0x2231ab,_0x24b48b){return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x3276d9[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x2231ab,null))['then'](function(_0x13b6c6){if(_0x13b6c6){return _0x13b6c6[_0xc3d3('0x8e')](null);}return null;})[_0xc3d3('0x21')](respondWithStatusCode(_0x2231ab,null))[_0xc3d3('0x2b')](handleError(_0x2231ab,null));};exports[_0xc3d3('0x8f')]=function(_0x22c597,_0x3e0b06,_0x6669bd){return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x22c597[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x3e0b06,null))[_0xc3d3('0x21')](function(_0x261c17){if(_0x261c17){return _0x261c17[_0xc3d3('0x8f')]();}return null;})[_0xc3d3('0x21')](respondWithResult(_0x3e0b06,null))['catch'](handleError(_0x3e0b06,null));};exports[_0xc3d3('0x90')]=function(_0x53acf5,_0x447aff,_0x2fe6bc){if(_0x53acf5[_0xc3d3('0x66')]['id']){delete _0x53acf5[_0xc3d3('0x66')]['id'];}return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x53acf5['params']['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x447aff,null))[_0xc3d3('0x21')](function(_0xd90462){if(_0xd90462){_0x53acf5[_0xc3d3('0x66')][_0xc3d3('0x69')]=_0xd90462['id'];return db[_0xc3d3('0x47')][_0xc3d3('0x6b')](_0x53acf5[_0xc3d3('0x66')]);}})[_0xc3d3('0x21')](respondWithResult(_0x447aff,null))[_0xc3d3('0x2b')](handleError(_0x447aff,null));};exports[_0xc3d3('0x91')]=function(_0x36bddd,_0x45c0cc,_0x4067f4){return db['MailAccount'][_0xc3d3('0x6d')]({'where':{'id':_0x36bddd[_0xc3d3('0x68')]['id']}})['then'](handleEntityNotFound(_0x45c0cc,null))[_0xc3d3('0x21')](function(_0x33bc65){if(_0x33bc65){return _0x33bc65[_0xc3d3('0x92')](null);}return null;})[_0xc3d3('0x21')](respondWithStatusCode(_0x45c0cc,null))[_0xc3d3('0x2b')](handleError(_0x45c0cc,null));};exports['addInteraction']=function(_0x26a354,_0x20cc5e,_0x485072){return db[_0xc3d3('0x93')]['find']({'where':{'id':_0x26a354[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x20cc5e,null))['then'](function(_0x4a8f5f){if(_0x4a8f5f){return _0x4a8f5f[_0xc3d3('0x94')](_0x26a354[_0xc3d3('0x66')][_0xc3d3('0x75')],_[_0xc3d3('0x95')](_0x26a354[_0xc3d3('0x66')],[_0xc3d3('0x75'),'id'])||{});}})[_0xc3d3('0x21')](respondWithResult(_0x20cc5e,null))[_0xc3d3('0x2b')](handleError(_0x20cc5e,null));};exports['getInteractions']=function(_0x46179b,_0x11dd68,_0x327887){var _0x49cb52={'raw':![],'where':{}};var _0x137ce6={};var _0x2f5f86={'count':0x0,'rows':[]};return db['MailAccount'][_0xc3d3('0x6d')]({'where':{'id':_0x46179b[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x11dd68,null))[_0xc3d3('0x21')](function(_0x4f3857){if(_0x4f3857){_0x137ce6['model']=_[_0xc3d3('0x50')](db['MailInteraction'][_0xc3d3('0x4c')]);_0x137ce6[_0xc3d3('0x55')]=_[_0xc3d3('0x50')](_0x46179b[_0xc3d3('0x55')]);_0x137ce6['filters']=_['intersection'](_0x137ce6[_0xc3d3('0x52')],_0x137ce6[_0xc3d3('0x55')]);_0x49cb52['attributes']=_['intersection'](_0x137ce6['model'],qs['fields'](_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x49cb52[_0xc3d3('0x53')]=_0x49cb52[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x49cb52['attributes']:_0x137ce6[_0xc3d3('0x52')];if(!_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x6e')](_0xc3d3('0x57'))){_0x49cb52[_0xc3d3('0x32')]=qs[_0xc3d3('0x32')](_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0x49cb52['offset']=qs['offset'](_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x30')]);}_0x49cb52['order']=qs[_0xc3d3('0x59')](_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x59')]);_0x49cb52['where']=qs[_0xc3d3('0x5a')](_['pick'](_0x46179b['query'],_0x137ce6['filters']));_0x49cb52[_0xc3d3('0x5c')][_0xc3d3('0x69')]=_0x4f3857['id'];if(_0x46179b[_0xc3d3('0x55')][_0xc3d3('0x5e')]){_0x49cb52[_0xc3d3('0x5c')]=_[_0xc3d3('0x40')](_0x49cb52[_0xc3d3('0x5c')],{'$or':_[_0xc3d3('0x4a')](_0x49cb52[_0xc3d3('0x53')],function(_0x2a1dec){var _0x3796c7={};_0x3796c7[_0x2a1dec]={'$like':'%'+_0x46179b['query'][_0xc3d3('0x5e')]+'%'};return _0x3796c7;})});}_0x49cb52=_['merge']({},_0x49cb52,_0x46179b['options']);return db[_0xc3d3('0x93')][_0xc3d3('0x33')]({'where':_0x49cb52[_0xc3d3('0x5c')]})[_0xc3d3('0x21')](function(_0x51bca2){_0x2f5f86[_0xc3d3('0x33')]=_0x51bca2;if(_0x46179b[_0xc3d3('0x55')]['includeAll']){_0x49cb52['include']=[{'model':db[_0xc3d3('0x96')],'as':'Contact','required':![]},{'model':db[_0xc3d3('0x97')],'as':_0xc3d3('0x98'),'attributes':['name',_0xc3d3('0x99'),_0xc3d3('0x9a')],'required':![]},{'model':db[_0xc3d3('0x9b')],'as':_0xc3d3('0x9c'),'attributes':['id',_0xc3d3('0x3e'),_0xc3d3('0x9d')],'where':_0x46179b['query']['tag']?{'id':_0x46179b['query'][_0xc3d3('0x9e')]}:undefined,'required':_0x46179b['query'][_0xc3d3('0x9e')]?!![]:![]}];}return db[_0xc3d3('0x93')][_0xc3d3('0x6f')](_0x49cb52);})[_0xc3d3('0x21')](function(_0x2b8b96){_0x2f5f86['rows']=_0x2b8b96;return _0x2f5f86;});}})[_0xc3d3('0x21')](respondWithFilteredResult(_0x11dd68,_0x49cb52))[_0xc3d3('0x2b')](handleError(_0x11dd68,null));};exports['addApplications']=function(_0x43e5e4,_0x2d82ae,_0x1ece80){return db['MailAccount'][_0xc3d3('0x6d')]({'where':{'id':_0x43e5e4[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x2d82ae,null))[_0xc3d3('0x21')](function(_0x223283){if(_0x223283){return db[_0xc3d3('0x9f')][_0xc3d3('0xa0')](function(_0x173b64){return db[_0xc3d3('0xa1')][_0xc3d3('0x39')]({'where':{'MailAccountId':_0x43e5e4['params']['id']},'transaction':_0x173b64})[_0xc3d3('0x21')](function(_0x39719b){var _0x470c7a=_[_0xc3d3('0x4a')](_0x43e5e4['body'],function(_0xfdb8){_0xfdb8[_0xc3d3('0x69')]=_0x43e5e4[_0xc3d3('0x68')]['id'];return _0xfdb8;});return db[_0xc3d3('0xa1')][_0xc3d3('0xa2')](_0x470c7a,{'transaction':_0x173b64});});})[_0xc3d3('0x21')](function(){return db['MailApplication'][_0xc3d3('0xa3')]({'where':{'MailAccountId':_0x43e5e4['params']['id']},'order':_0xc3d3('0xa4')});});}})[_0xc3d3('0x21')](respondWithResult(_0x2d82ae,null))[_0xc3d3('0x2b')](handleError(_0x2d82ae,null));};exports[_0xc3d3('0xa5')]=function(_0x21adf5,_0x3a53a2,_0x20addc){var _0x34233f={};var _0x15fae0={};var _0x27ffa3;var _0x20a94a;return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x21adf5[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x3a53a2,null))[_0xc3d3('0x21')](function(_0x345b0d){if(_0x345b0d){_0x27ffa3=_0x345b0d;_0x15fae0['model']=_['keys'](db['MailApplication']['rawAttributes']);_0x15fae0[_0xc3d3('0x55')]=_[_0xc3d3('0x50')](_0x21adf5[_0xc3d3('0x55')]);_0x15fae0[_0xc3d3('0x5a')]=_[_0xc3d3('0x51')](_0x15fae0[_0xc3d3('0x52')],_0x15fae0[_0xc3d3('0x55')]);_0x34233f['attributes']=_[_0xc3d3('0x51')](_0x15fae0[_0xc3d3('0x52')],qs[_0xc3d3('0x54')](_0x21adf5[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x34233f['attributes']=_0x34233f[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x34233f['attributes']:_0x15fae0['model'];_0x34233f[_0xc3d3('0x58')]=qs[_0xc3d3('0x59')](_0x21adf5[_0xc3d3('0x55')][_0xc3d3('0x59')]);_0x34233f[_0xc3d3('0x5c')]=qs[_0xc3d3('0x5a')](_[_0xc3d3('0x5b')](_0x21adf5[_0xc3d3('0x55')],_0x15fae0[_0xc3d3('0x5a')]));if(_0x21adf5[_0xc3d3('0x55')][_0xc3d3('0x5e')]){_0x34233f['where']=_[_0xc3d3('0x40')](_0x34233f[_0xc3d3('0x5c')],{'$or':_['map'](_0x34233f[_0xc3d3('0x53')],function(_0x279fe0){var _0x26475a={};_0x26475a[_0x279fe0]={'$like':'%'+_0x21adf5[_0xc3d3('0x55')]['filter']+'%'};return _0x26475a;})});}_0x34233f=_[_0xc3d3('0x40')]({},_0x34233f,_0x21adf5[_0xc3d3('0x5f')]);return _0x27ffa3['getApplications'](_0x34233f);}})[_0xc3d3('0x21')](function(_0x59eb65){if(_0x59eb65){_0x20a94a=_0x59eb65[_0xc3d3('0x56')];if(!_0x21adf5[_0xc3d3('0x55')]['hasOwnProperty']('nolimit')){_0x34233f[_0xc3d3('0x32')]=qs[_0xc3d3('0x32')](_0x21adf5[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0x34233f[_0xc3d3('0x30')]=qs['offset'](_0x21adf5['query']['offset']);}return _0x27ffa3[_0xc3d3('0xa5')](_0x34233f);}})[_0xc3d3('0x21')](function(_0x43161b){if(_0x43161b){return _0x43161b?{'count':_0x20a94a,'rows':_0x43161b}:null;}})[_0xc3d3('0x21')](respondWithResult(_0x3a53a2,null))[_0xc3d3('0x2b')](handleError(_0x3a53a2,null));};exports[_0xc3d3('0xa6')]=function(_0x22d84e,_0x495bd5,_0x53ba44){var _0x4b69b9={'raw':!![],'where':{}};var _0x56d084={};var _0x4cdc04={'count':0x0,'rows':[]};return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x22d84e[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x495bd5,null))[_0xc3d3('0x21')](function(_0x23b660){if(_0x23b660){_0x56d084[_0xc3d3('0x52')]=_[_0xc3d3('0x50')](db['MailMessage']['rawAttributes']);_0x56d084[_0xc3d3('0x55')]=_['keys'](_0x22d84e[_0xc3d3('0x55')]);_0x56d084[_0xc3d3('0x5a')]=_[_0xc3d3('0x51')](_0x56d084[_0xc3d3('0x52')],_0x56d084[_0xc3d3('0x55')]);_0x4b69b9['attributes']=_[_0xc3d3('0x51')](_0x56d084[_0xc3d3('0x52')],qs[_0xc3d3('0x54')](_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x4b69b9[_0xc3d3('0x53')]=_0x4b69b9[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x4b69b9[_0xc3d3('0x53')]:_0x56d084[_0xc3d3('0x52')];if(!_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x6e')]('nolimit')){_0x4b69b9['limit']=qs[_0xc3d3('0x32')](_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0x4b69b9[_0xc3d3('0x30')]=qs[_0xc3d3('0x30')](_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x30')]);}_0x4b69b9[_0xc3d3('0x58')]=qs['sort'](_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x59')]);_0x4b69b9[_0xc3d3('0x5c')]=qs[_0xc3d3('0x5a')](_[_0xc3d3('0x5b')](_0x22d84e[_0xc3d3('0x55')],_0x56d084['filters']));_0x4b69b9[_0xc3d3('0x5c')]['MailAccountId']=_0x23b660['id'];if(_0x22d84e['query'][_0xc3d3('0x5e')]){_0x4b69b9['where']=_[_0xc3d3('0x40')](_0x4b69b9['where'],{'$or':_['map'](_0x4b69b9[_0xc3d3('0x53')],function(_0x20239c){var _0x1c017d={};_0x1c017d[_0x20239c]={'$like':'%'+_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x5e')]+'%'};return _0x1c017d;})});}if(_0x22d84e['query']['$gte']){var _0x1bef39=_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0xa7')][_0xc3d3('0xa8')](',');var _0x19f41c={};_0x19f41c[_0x1bef39[0x0]]={'$gte':moment(_0x1bef39[0x1])['format'](_0xc3d3('0xa9'))};_0x4b69b9[_0xc3d3('0x5c')]=_[_0xc3d3('0x40')](_0x4b69b9[_0xc3d3('0x5c')],_0x19f41c);}_0x4b69b9=_[_0xc3d3('0x40')]({},_0x4b69b9,_0x22d84e[_0xc3d3('0x5f')]);return db[_0xc3d3('0xaa')]['count']({'where':_0x4b69b9[_0xc3d3('0x5c')]})[_0xc3d3('0x21')](function(_0x19b5fc){_0x4cdc04[_0xc3d3('0x33')]=_0x19b5fc;if(_0x22d84e[_0xc3d3('0x55')][_0xc3d3('0x60')]){_0x4b69b9[_0xc3d3('0x61')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x4b69b9);})[_0xc3d3('0x21')](function(_0x53f1a9){if(_0x22d84e['query'][_0xc3d3('0xab')]==='true'){for(var _0x41a358=0x0;_0x41a358<_0x53f1a9[_0xc3d3('0x56')];_0x41a358++){_0x53f1a9[_0x41a358][_0xc3d3('0x66')]=juice(_0x53f1a9[_0x41a358][_0xc3d3('0x66')]);}}_0x4cdc04['rows']=_0x53f1a9;return _0x4cdc04;});}})[_0xc3d3('0x21')](respondWithFilteredResult(_0x495bd5,_0x4b69b9))[_0xc3d3('0x2b')](handleError(_0x495bd5,null));};exports[_0xc3d3('0xac')]=function(_0x2e7e47,_0x3183db,_0x57ef2a){var _0xc017f,_0x2f7e03={},_0x2e891a;if(_0x2e7e47[_0xc3d3('0x66')]['to']){_0x2e891a=_0x2e7e47['body']['to']['split'](',')[0x0];}return db['MailAccount'][_0xc3d3('0x65')]({'where':{'id':_0x2e7e47[_0xc3d3('0x68')]['id']},'include':[{'model':db['CmList'],'as':_0xc3d3('0xad'),'include':[{'model':db[_0xc3d3('0x96')],'as':_0xc3d3('0xae'),'where':{'email':_0x2e891a},'limit':0x1,'order':[[_0xc3d3('0xaf'),_0xc3d3('0xb0')]]}]},{'model':db[_0xc3d3('0x47')],'as':'Smtp','raw':!![]}]})[_0xc3d3('0x21')](handleEntityNotFound(_0x3183db,null))['then'](function(_0x4e8005){if(_0x4e8005){_0xc017f=_0x4e8005;if(_0x4e8005[_0xc3d3('0x48')]){if(_[_0xc3d3('0x77')](_0x2e7e47[_0xc3d3('0x66')][_0xc3d3('0xb1')])){_0x2e7e47['body'][_0xc3d3('0xb1')]=util[_0xc3d3('0xb2')](_0xc3d3('0xb3'),_0x4e8005['name'],_0x4e8005[_0xc3d3('0x76')]||_0x4e8005['Smtp']['user']);}if(_0x2e7e47[_0xc3d3('0x66')][_0xc3d3('0xb4')]&&_0x2e7e47['body'][_0xc3d3('0xb4')][_0xc3d3('0x56')]){for(var _0xf125d1=0x0;_0xf125d1<_0x2e7e47[_0xc3d3('0x66')][_0xc3d3('0xb4')][_0xc3d3('0x56')];_0xf125d1+=0x1){_0x2e7e47['body'][_0xc3d3('0xb4')][_0xf125d1]={'filename':_0x2e7e47['body'][_0xc3d3('0xb4')][_0xf125d1][_0xc3d3('0x3e')],'path':path[_0xc3d3('0xb5')](config[_0xc3d3('0xb6')],'server/files/attachments',_0x2e7e47[_0xc3d3('0x66')][_0xc3d3('0xb4')][_0xf125d1][_0xc3d3('0xb7')])};}}var _0x275753={'tls':{'rejectUnauthorized':![]}};if(_[_0xc3d3('0x77')](_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x84')])){if(_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x81')]){_0x275753[_0xc3d3('0xb8')]={'user':_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x7c')],'pass':_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x7f')]};}_0x275753[_0xc3d3('0x82')]=_0x4e8005[_0xc3d3('0x48')]['host'];_0x275753[_0xc3d3('0x83')]=_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x83')];_0x275753['secure']=_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0xb9')];}else{_0x275753[_0xc3d3('0x84')]=_0x4e8005[_0xc3d3('0x48')]['service'];_0x275753[_0xc3d3('0xb8')]={'user':_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x7c')],'pass':_0x4e8005[_0xc3d3('0x48')][_0xc3d3('0x7f')]};}return respondWithRpcPromise(_0xc3d3('0xba'),_0xc3d3('0xbb'),{'account':_0x275753,'message':_0x2e7e47['body']});}else{throw new Error('List\x20not\x20found');}}})[_0xc3d3('0x21')](function(_0x4dd91f){if(_0x4dd91f){_0x2f7e03=_0x4dd91f;if(_0xc017f['List']){if(_0xc017f[_0xc3d3('0xad')][_0xc3d3('0xae')]['length']){return _0xc017f[_0xc3d3('0xad')][_0xc3d3('0xae')][0x0];}else{return db[_0xc3d3('0x96')][_0xc3d3('0x6b')](_[_0xc3d3('0x19')](_0x2e7e47[_0xc3d3('0x66')],{'firstName':_0x2e7e47[_0xc3d3('0x66')]['to'],'email':_0x2e7e47['body']['to'],'phone':_0x2e7e47['body']['to'],'ListId':_0xc017f[_0xc3d3('0xbc')]}));}}else{throw new Error('List\x20not\x20found');}}})[_0xc3d3('0x21')](function(_0x4cf4b1){if(_0x4cf4b1){var _0x544b0c={'UserId':_0x2e7e47['user']['id'],'ContactId':_0x4cf4b1['id'],'MailAccountId':_0xc017f['id'],'inReplyTo':_0x2f7e03[_0xc3d3('0xbd')],'to':_0x2e7e47[_0xc3d3('0x66')]['from'],'cc':_0x2e7e47['body']['cc'],'subject':_0x2e7e47['body'][_0xc3d3('0xbe')],'attach':_0x2e7e47['body'][_0xc3d3('0xbf')],'firstMsgDirection':_0xc3d3('0xc0'),'lastMsgAt':moment()['format'](_0xc3d3('0xa9')),'lastMsgDirection':_0xc3d3('0xc0'),'Messages':[_[_0xc3d3('0x40')](_0x2e7e47[_0xc3d3('0x66')],{'messageId':_0x2f7e03[_0xc3d3('0xbd')],'sentAt':moment()[_0xc3d3('0xb2')](_0xc3d3('0xa9')),'read':!![],'MailAccountId':_0xc017f['id'],'UserId':_0x2e7e47['user']['id'],'ContactId':_0x4cf4b1['id']})]};if(_0x2e7e47['body'][_0xc3d3('0xc1')]){_0x544b0c=_['merge'](_0x544b0c,_0x2e7e47[_0xc3d3('0x66')][_0xc3d3('0xc1')]);}return db[_0xc3d3('0x93')][_0xc3d3('0x6b')](_0x544b0c,{'include':[{'model':db[_0xc3d3('0xaa')],'as':_0xc3d3('0xc2')}]});}})[_0xc3d3('0x21')](respondWithResult(_0x3183db,null))[_0xc3d3('0x2b')](handleError(_0x3183db,null));};exports['verifySmtp']=function(_0x4b9f18,_0x25eac,_0x36fd57){return db[_0xc3d3('0x4b')]['find']({'where':{'id':_0x4b9f18['params']['id']},'include':[{'model':db[_0xc3d3('0x47')],'as':_0xc3d3('0x48'),'raw':!![]}]})[_0xc3d3('0x21')](handleEntityNotFound(_0x25eac,null))[_0xc3d3('0x21')](function(_0x47fd71){if(_0x47fd71&&_0x47fd71[_0xc3d3('0x48')]){var _0x5b07af={'id':_0x47fd71['id'],'tls':{'rejectUnauthorized':![]}};if(_0x47fd71[_0xc3d3('0x48')]['service']){_0x5b07af['service']=_0x47fd71['Smtp'][_0xc3d3('0x84')];}else{_0x5b07af[_0xc3d3('0x82')]=_0x47fd71[_0xc3d3('0x48')]['host'];_0x5b07af[_0xc3d3('0x83')]=_0x47fd71['Smtp']['port'];_0x5b07af[_0xc3d3('0xb9')]=_0x47fd71['Smtp'][_0xc3d3('0xb9')];}if(_0x47fd71[_0xc3d3('0x48')][_0xc3d3('0x81')]){_0x5b07af[_0xc3d3('0xb8')]={'user':_0x47fd71['Smtp'][_0xc3d3('0x7c')],'pass':_0x47fd71['Smtp'][_0xc3d3('0x7f')]};}return respondWithRpcPromise(_0xc3d3('0xc3'),_0xc3d3('0xc4'),{'account':_0x5b07af});}})[_0xc3d3('0x21')](respondWithResult(_0x25eac,null))[_0xc3d3('0x2b')](handleError(_0x25eac,null));};exports[_0xc3d3('0x39')]=function(_0x2bb502,_0xcf8424){return db['MailAccount']['find']({'where':{'id':_0x2bb502[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0xcf8424,null))[_0xc3d3('0x21')](function(_0x57234d){if(_0x57234d&&_0x57234d['service']){throw new db[(_0xc3d3('0xc5'))][(_0xc3d3('0xc6'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x57234d;})[_0xc3d3('0x21')](removeEntity(_0xcf8424,null))['catch'](handleError(_0xcf8424,null));};exports[_0xc3d3('0xc7')]=function(_0x541782,_0x2ad5ce,_0x55143c){return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x541782[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x2ad5ce,null))[_0xc3d3('0x21')](function(_0x415501){if(_0x415501){return _0x415501[_0xc3d3('0xc7')](_0x541782[_0xc3d3('0x66')][_0xc3d3('0x75')],_[_0xc3d3('0x95')](_0x541782[_0xc3d3('0x66')],[_0xc3d3('0x75'),'id'])||{})[_0xc3d3('0xc8')](function(_0x9177c1){for(var _0x3007b5=0x0;_0x3007b5<_0x541782['body'][_0xc3d3('0x75')][_0xc3d3('0x56')];_0x3007b5+=0x1){socket[_0xc3d3('0xc9')]('userMailAccount:save',{'UserId':_0x541782['body']['ids'][_0x3007b5],'MailAccountId':_0x541782[_0xc3d3('0x68')]['id']});}return _0x9177c1;});}})[_0xc3d3('0x21')](respondWithResult(_0x2ad5ce,null))['catch'](handleError(_0x2ad5ce,null));};exports['removeAgents']=function(_0x110ff1,_0x2ccc24,_0xba518b){return db[_0xc3d3('0x4b')][_0xc3d3('0x65')]({'where':{'id':_0x110ff1[_0xc3d3('0x68')]['id']}})[_0xc3d3('0x21')](handleEntityNotFound(_0x2ccc24,null))[_0xc3d3('0x21')](function(_0x4cde49){if(_0x4cde49){return _0x4cde49['removeAgents'](_0x110ff1[_0xc3d3('0x55')][_0xc3d3('0x75')])[_0xc3d3('0x21')](function(){if(_[_0xc3d3('0xca')](_0x110ff1[_0xc3d3('0x55')][_0xc3d3('0x75')])){for(var _0x487f98=0x0;_0x487f98<_0x110ff1[_0xc3d3('0x55')]['ids'][_0xc3d3('0x56')];_0x487f98+=0x1){socket[_0xc3d3('0xc9')](_0xc3d3('0xcb'),{'UserId':Number(_0x110ff1[_0xc3d3('0x55')]['ids'][_0x487f98]),'MailAccountId':Number(_0x110ff1[_0xc3d3('0x68')]['id'])});}}else{socket[_0xc3d3('0xc9')](_0xc3d3('0xcb'),{'UserId':Number(_0x110ff1[_0xc3d3('0x55')][_0xc3d3('0x75')]),'MailAccountId':Number(_0x110ff1[_0xc3d3('0x68')]['id'])});}});}})[_0xc3d3('0x21')](respondWithStatusCode(_0x2ccc24,null))[_0xc3d3('0x2b')](handleError(_0x2ccc24,null));};exports[_0xc3d3('0xcc')]=function(_0x10bcc9,_0x3ad33a,_0x24cd8e){var _0x56f400={};var _0x2de828={};var _0x292011;var _0x100904;return db[_0xc3d3('0x4b')][_0xc3d3('0x6d')]({'where':{'id':_0x10bcc9[_0xc3d3('0x68')]['id']}})['then'](handleEntityNotFound(_0x3ad33a,null))[_0xc3d3('0x21')](function(_0x5d4757){if(_0x5d4757){_0x292011=_0x5d4757;_0x2de828[_0xc3d3('0x52')]=_['keys'](db[_0xc3d3('0x97')][_0xc3d3('0x4c')]);_0x2de828[_0xc3d3('0x55')]=_[_0xc3d3('0x50')](_0x10bcc9[_0xc3d3('0x55')]);_0x2de828[_0xc3d3('0x5a')]=_['intersection'](_0x2de828[_0xc3d3('0x52')],_0x2de828[_0xc3d3('0x55')]);_0x56f400[_0xc3d3('0x53')]=_['intersection'](_0x2de828[_0xc3d3('0x52')],qs['fields'](_0x10bcc9[_0xc3d3('0x55')][_0xc3d3('0x54')]));_0x56f400[_0xc3d3('0x53')]=_0x56f400[_0xc3d3('0x53')][_0xc3d3('0x56')]?_0x56f400[_0xc3d3('0x53')]:_0x2de828[_0xc3d3('0x52')];_0x56f400['order']=qs[_0xc3d3('0x59')](_0x10bcc9['query'][_0xc3d3('0x59')]);_0x56f400[_0xc3d3('0x5c')]=qs['filters'](_[_0xc3d3('0x5b')](_0x10bcc9[_0xc3d3('0x55')],_0x2de828[_0xc3d3('0x5a')]));if(_0x10bcc9[_0xc3d3('0x55')][_0xc3d3('0x5e')]){_0x56f400['where']=_[_0xc3d3('0x40')](_0x56f400[_0xc3d3('0x5c')],{'$or':_[_0xc3d3('0x4a')](_0x56f400[_0xc3d3('0x53')],function(_0x235ee4){var _0x19e96d={};_0x19e96d[_0x235ee4]={'$like':'%'+_0x10bcc9[_0xc3d3('0x55')]['filter']+'%'};return _0x19e96d;})});}_0x56f400=_[_0xc3d3('0x40')]({},_0x56f400,_0x10bcc9['options']);return _0x292011[_0xc3d3('0xcc')](_0x56f400);}})[_0xc3d3('0x21')](function(_0x2697df){if(_0x2697df){_0x100904=_0x2697df[_0xc3d3('0x56')];if(!_0x10bcc9[_0xc3d3('0x55')][_0xc3d3('0x6e')](_0xc3d3('0x57'))){_0x56f400[_0xc3d3('0x32')]=qs['limit'](_0x10bcc9[_0xc3d3('0x55')][_0xc3d3('0x32')]);_0x56f400[_0xc3d3('0x30')]=qs[_0xc3d3('0x30')](_0x10bcc9[_0xc3d3('0x55')][_0xc3d3('0x30')]);}return _0x292011[_0xc3d3('0xcc')](_0x56f400);}})[_0xc3d3('0x21')](function(_0x1701ae){if(_0x1701ae){return _0x1701ae?{'count':_0x100904,'rows':_0x1701ae}:null;}})[_0xc3d3('0x21')](respondWithResult(_0x3ad33a,null))['catch'](handleError(_0x3ad33a,null));};