d36cb6a02b8f0a30dbc9c002d62b17c2bb086532
[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 _0x9559=['messageId','attach','out','Interaction','VerifySmtp','verifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','removeAgents','userMailAccount:remove','emit','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','to-csv','ejs','squel','crypto','desk.js','querystring','html-to-text','juice','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','then','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','info','result','catch','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','get','MailAccounts','sendStatus','stack','name','send','index','MailServerIn','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','query','keys','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','filter','options','count','includeAll','include','rows','params','merge','MailAccount','body','find','describe','addDisposition','Disposition','create','getDispositions','findOne','hasOwnProperty','pick','MailAccountId','findAll','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','CmContact','Contact','User','Owner','fullname','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','getApplications','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','List','updatedAt','from','%s\x20<%s>','attachments','join','server/files/attachments','basename','auth','secure','SendMail','List\x20not\x20found','Contacts','defaults'];(function(_0x1f98eb,_0x1f3a0f){var _0x56c302=function(_0xe9cc5){while(--_0xe9cc5){_0x1f98eb['push'](_0x1f98eb['shift']());}};_0x56c302(++_0x1f3a0f);}(_0x9559,0x190));var _0x9955=function(_0xae1a83,_0x1980d4){_0xae1a83=_0xae1a83-0x0;var _0xdb9da8=_0x9559[_0xae1a83];return _0xdb9da8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9955('0x0'));var rimraf=require(_0x9955('0x1'));var zipdir=require(_0x9955('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9955('0x3'));var moment=require(_0x9955('0x4'));var BPromise=require(_0x9955('0x5'));var Mustache=require('mustache');var util=require(_0x9955('0x6'));var path=require(_0x9955('0x7'));var sox=require('sox');var csv=require(_0x9955('0x8'));var ejs=require(_0x9955('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9955('0xa'));var crypto=require(_0x9955('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x9955('0xc'));var toCsv=require(_0x9955('0x8'));var querystring=require(_0x9955('0xd'));var Papa=require('papaparse');var htmlToText=require(_0x9955('0xe'));var juice=require(_0x9955('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x9955('0x10'));var as=require(_0x9955('0x11'));var hardwareService=require(_0x9955('0x12'));var logger=require(_0x9955('0x13'))(_0x9955('0x14'));var utils=require(_0x9955('0x15'));var config=require(_0x9955('0x16'));var licenseUtil=require(_0x9955('0x17'));var db=require(_0x9955('0x18'))['db'];config[_0x9955('0x19')]=_['defaults'](config['redis'],{'host':_0x9955('0x1a'),'port':0x18eb});var socket=require(_0x9955('0x1b'))(new Redis(config['redis']));require(_0x9955('0x1c'))['register'](socket);var jayson=require(_0x9955('0x1d'));var client=jayson[_0x9955('0x1e')][_0x9955('0x1f')]({'port':0x232b});function respondWithRpcPromise(_0x2055f1,_0x2596ac,_0x24f51f,_0xac9250){return new BPromise(function(_0x3ce06f,_0x3d899b){var _0x55ab0f=_0xac9250||client;return _0x55ab0f['request'](_0x2055f1,_0x24f51f)[_0x9955('0x20')](function(_0x220104){logger['info']('MailAccount,\x20%s,\x20%s',_0x2596ac,_0x9955('0x21'));logger[_0x9955('0x22')](_0x9955('0x23'),_0x2596ac,'request\x20sent',JSON[_0x9955('0x24')](_0x220104));if(_0x220104[_0x9955('0x25')]){if(_0x220104[_0x9955('0x25')][_0x9955('0x26')]===0x1f4){logger[_0x9955('0x25')](_0x9955('0x27'),_0x2596ac,_0x220104['error'][_0x9955('0x28')]);return _0x3d899b(_0x220104[_0x9955('0x25')][_0x9955('0x28')]);}logger[_0x9955('0x25')](_0x9955('0x27'),_0x2596ac,_0x220104[_0x9955('0x25')][_0x9955('0x28')]);return _0x3ce06f(_0x220104[_0x9955('0x25')][_0x9955('0x28')]);}else{logger[_0x9955('0x29')](_0x9955('0x27'),_0x2596ac,_0x9955('0x21'));_0x3ce06f(_0x220104[_0x9955('0x2a')][_0x9955('0x28')]);}})[_0x9955('0x2b')](function(_0x44b78f){logger[_0x9955('0x25')](_0x9955('0x27'),_0x2596ac,_0x44b78f);_0x3d899b(_0x44b78f);});});}function respondWithStatusCode(_0x560f76,_0x4e8159){_0x4e8159=_0x4e8159||0xcc;return function(_0x5795ce){if(_0x5795ce){return _0x560f76['sendStatus'](_0x4e8159);}return _0x560f76[_0x9955('0x2c')](_0x4e8159)[_0x9955('0x2d')]();};}function respondWithResult(_0x54d572,_0xb0168d){_0xb0168d=_0xb0168d||0xc8;return function(_0x232472){if(_0x232472){return _0x54d572[_0x9955('0x2c')](_0xb0168d)[_0x9955('0x2e')](_0x232472);}};}function respondWithFilteredResult(_0x2fd210,_0x2f8d2e){return function(_0x21d062){if(_0x21d062){var _0x5b3be3=_0x21d062['count'],_0x3207f5=_0x2f8d2e[_0x9955('0x2f')],_0x291465=_0x2f8d2e['offset']+_0x2f8d2e[_0x9955('0x30')],_0x2d7828;if(_0x291465>=_0x5b3be3){_0x291465=_0x5b3be3;_0x2d7828=0xc8;}else{_0x2d7828=0xce;}_0x2fd210[_0x9955('0x2c')](_0x2d7828);return _0x2fd210[_0x9955('0x31')](_0x9955('0x32'),_0x3207f5+'-'+_0x291465+'/'+_0x5b3be3)[_0x9955('0x2e')](_0x21d062);}return null;};}function patchUpdates(_0x509596){return function(_0x11ecba){try{jsonpatch[_0x9955('0x33')](_0x11ecba,_0x509596,!![]);}catch(_0x171dbc){return BPromise[_0x9955('0x34')](_0x171dbc);}return _0x11ecba[_0x9955('0x35')]();};}function saveUpdates(_0xda1c4f,_0x67fbd1){return function(_0x5ae676){if(_0x5ae676){return _0x5ae676[_0x9955('0x36')](_0xda1c4f)[_0x9955('0x20')](function(_0x4e94b2){return _0x4e94b2;});}return null;};}function removeEntity(_0x2abbcb,_0x3b01cf){return function(_0x13dc35){if(_0x13dc35){return _0x13dc35[_0x9955('0x37')]()['then'](function(){var _0x280ad5=_0x13dc35[_0x9955('0x38')]({'plain':!![]});var _0x25dd2b=_0x9955('0x39');return db['UserProfileResource'][_0x9955('0x37')]({'where':{'type':_0x25dd2b,'resourceId':_0x280ad5['id']}})[_0x9955('0x20')](function(){return _0x13dc35;});})[_0x9955('0x20')](function(){_0x2abbcb[_0x9955('0x2c')](0xcc)[_0x9955('0x2d')]();});}};}function handleEntityNotFound(_0x2c6470,_0x3f72ae){return function(_0x2bf11a){if(!_0x2bf11a){_0x2c6470[_0x9955('0x3a')](0x194);}return _0x2bf11a;};}function handleError(_0x425072,_0x18700f){_0x18700f=_0x18700f||0x1f4;return function(_0x11d0de){logger['error'](_0x11d0de[_0x9955('0x3b')]);if(_0x11d0de[_0x9955('0x3c')]){delete _0x11d0de['name'];}_0x425072[_0x9955('0x2c')](_0x18700f)[_0x9955('0x3d')](_0x11d0de);};}exports[_0x9955('0x3e')]=function(_0x30d930,_0x169a3f){var _0x5939f4={'include':[{'model':db[_0x9955('0x3f')],'as':_0x9955('0x40')},{'model':db[_0x9955('0x41')],'as':_0x9955('0x42')},{'model':db[_0x9955('0x43')],'as':_0x9955('0x44')}]},_0x14f523={},_0x49d797={'count':0x0,'rows':[]};var _0x4f8897=_[_0x9955('0x45')](db['MailAccount'][_0x9955('0x46')],function(_0x34349f){return{'name':_0x34349f[_0x9955('0x47')],'type':_0x34349f[_0x9955('0x48')][_0x9955('0x49')]};});_0x14f523['model']=_[_0x9955('0x45')](_0x4f8897,'name');_0x14f523[_0x9955('0x4a')]=_[_0x9955('0x4b')](_0x30d930[_0x9955('0x4a')]);_0x14f523['filters']=_[_0x9955('0x4c')](_0x14f523[_0x9955('0x4d')],_0x14f523[_0x9955('0x4a')]);_0x5939f4[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x14f523[_0x9955('0x4d')],qs[_0x9955('0x4f')](_0x30d930[_0x9955('0x4a')][_0x9955('0x4f')]));_0x5939f4[_0x9955('0x4e')]=_0x5939f4[_0x9955('0x4e')][_0x9955('0x50')]?_0x5939f4[_0x9955('0x4e')]:_0x14f523[_0x9955('0x4d')];if(!_0x30d930['query']['hasOwnProperty'](_0x9955('0x51'))){_0x5939f4[_0x9955('0x30')]=qs[_0x9955('0x30')](_0x30d930[_0x9955('0x4a')][_0x9955('0x30')]);_0x5939f4[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x30d930[_0x9955('0x4a')][_0x9955('0x2f')]);}_0x5939f4[_0x9955('0x52')]=qs[_0x9955('0x53')](_0x30d930[_0x9955('0x4a')][_0x9955('0x53')]);_0x5939f4[_0x9955('0x54')]=qs[_0x9955('0x55')](_['pick'](_0x30d930[_0x9955('0x4a')],_0x14f523[_0x9955('0x55')]),_0x4f8897);if(_0x30d930[_0x9955('0x4a')][_0x9955('0x56')]){_0x5939f4[_0x9955('0x54')]=_['merge'](_0x5939f4[_0x9955('0x54')],{'$or':_[_0x9955('0x45')](_0x4f8897,function(_0x574bd3){if(_0x574bd3[_0x9955('0x48')]!=='VIRTUAL'){var _0x205f04={};_0x205f04[_0x574bd3[_0x9955('0x3c')]]={'$like':'%'+_0x30d930[_0x9955('0x4a')][_0x9955('0x56')]+'%'};return _0x205f04;}})});}_0x5939f4=_['merge']({},_0x5939f4,_0x30d930[_0x9955('0x57')]);var _0x3ff6ae={'where':_0x5939f4['where']};return db['MailAccount'][_0x9955('0x58')](_0x3ff6ae)['then'](function(_0x5f0f69){_0x49d797['count']=_0x5f0f69;if(_0x30d930[_0x9955('0x4a')][_0x9955('0x59')]){_0x5939f4[_0x9955('0x5a')]=[{'all':!![]}];}return db['MailAccount']['findAll'](_0x5939f4);})[_0x9955('0x20')](function(_0x41d4f2){_0x49d797[_0x9955('0x5b')]=_0x41d4f2;return _0x49d797;})[_0x9955('0x20')](respondWithFilteredResult(_0x169a3f,_0x5939f4))[_0x9955('0x2b')](handleError(_0x169a3f,null));};exports['show']=function(_0x25aaff,_0x2bc59a){var _0x3fa5a6={'raw':![],'where':{'id':_0x25aaff[_0x9955('0x5c')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x9955('0x40')},{'model':db['MailServerOut'],'as':_0x9955('0x42')},{'model':db['Pause'],'as':_0x9955('0x44')}]},_0x52520e={};_0x52520e[_0x9955('0x4d')]=_['keys'](db['MailAccount']['rawAttributes']);_0x52520e['query']=_['keys'](_0x25aaff['query']);_0x52520e[_0x9955('0x55')]=_[_0x9955('0x4c')](_0x52520e[_0x9955('0x4d')],_0x52520e[_0x9955('0x4a')]);_0x3fa5a6[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x52520e[_0x9955('0x4d')],qs['fields'](_0x25aaff[_0x9955('0x4a')][_0x9955('0x4f')]));_0x3fa5a6[_0x9955('0x4e')]=_0x3fa5a6[_0x9955('0x4e')][_0x9955('0x50')]?_0x3fa5a6[_0x9955('0x4e')]:_0x52520e[_0x9955('0x4d')];if(_0x25aaff['query'][_0x9955('0x59')]){_0x3fa5a6[_0x9955('0x5a')]=[{'all':!![]}];}_0x3fa5a6=_[_0x9955('0x5d')]({},_0x3fa5a6,_0x25aaff[_0x9955('0x57')]);return db[_0x9955('0x5e')]['find'](_0x3fa5a6)[_0x9955('0x20')](handleEntityNotFound(_0x2bc59a,null))['then'](respondWithResult(_0x2bc59a,null))[_0x9955('0x2b')](handleError(_0x2bc59a,null));};exports[_0x9955('0x36')]=function(_0x2400c1,_0x37e86c){if(_0x2400c1['body']['id']){delete _0x2400c1[_0x9955('0x5f')]['id'];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x2400c1[_0x9955('0x5c')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x9955('0x41')],'as':_0x9955('0x42')},{'model':db[_0x9955('0x43')],'as':_0x9955('0x44')}]})[_0x9955('0x20')](handleEntityNotFound(_0x37e86c,null))[_0x9955('0x20')](saveUpdates(_0x2400c1[_0x9955('0x5f')],null))[_0x9955('0x20')](function(_0x17eb33){if(_0x17eb33&&_0x2400c1[_0x9955('0x5f')][_0x9955('0x40')]){return db[_0x9955('0x3f')][_0x9955('0x36')](_0x2400c1[_0x9955('0x5f')][_0x9955('0x40')],{'where':{'MailAccountId':_0x17eb33['id']}})[_0x9955('0x20')](function(){return _0x17eb33;});}return _0x17eb33;})[_0x9955('0x20')](function(_0x20aecb){if(_0x20aecb&&_0x2400c1[_0x9955('0x5f')][_0x9955('0x42')]){return db[_0x9955('0x41')]['update'](_0x2400c1[_0x9955('0x5f')][_0x9955('0x42')],{'where':{'MailAccountId':_0x20aecb['id']}})[_0x9955('0x20')](function(){return _0x20aecb;});}return _0x20aecb;})[_0x9955('0x20')](respondWithResult(_0x37e86c,null))['catch'](handleError(_0x37e86c,null));};exports[_0x9955('0x61')]=function(_0xf5c477,_0x1014f0){return db[_0x9955('0x5e')][_0x9955('0x61')]()['then'](respondWithResult(_0x1014f0,null))[_0x9955('0x2b')](handleError(_0x1014f0,null));};exports[_0x9955('0x62')]=function(_0x1e362a,_0x210360,_0x2b2a49){if(_0x1e362a[_0x9955('0x5f')]['id']){delete _0x1e362a[_0x9955('0x5f')]['id'];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x1e362a[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x210360,null))[_0x9955('0x20')](function(_0x323b12){if(_0x323b12){_0x1e362a[_0x9955('0x5f')]['MailAccountId']=_0x323b12['id'];return db[_0x9955('0x63')][_0x9955('0x64')](_0x1e362a['body']);}})[_0x9955('0x20')](respondWithResult(_0x210360,null))['catch'](handleError(_0x210360,null));};exports[_0x9955('0x65')]=function(_0x2f5284,_0x278e83,_0x3e8fe3){var _0x4d5be1={'raw':![],'where':{}};var _0x34f334={};var _0x53b794={'count':0x0,'rows':[]};return db[_0x9955('0x5e')][_0x9955('0x66')]({'where':{'id':_0x2f5284[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x278e83,null))['then'](function(_0x3dcdc2){if(_0x3dcdc2){_0x34f334[_0x9955('0x4d')]=_['keys'](db['Disposition'][_0x9955('0x46')]);_0x34f334[_0x9955('0x4a')]=_['keys'](_0x2f5284['query']);_0x34f334[_0x9955('0x55')]=_[_0x9955('0x4c')](_0x34f334[_0x9955('0x4d')],_0x34f334[_0x9955('0x4a')]);_0x4d5be1[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x34f334['model'],qs['fields'](_0x2f5284[_0x9955('0x4a')]['fields']));_0x4d5be1[_0x9955('0x4e')]=_0x4d5be1[_0x9955('0x4e')][_0x9955('0x50')]?_0x4d5be1[_0x9955('0x4e')]:_0x34f334['model'];if(!_0x2f5284[_0x9955('0x4a')][_0x9955('0x67')]('nolimit')){_0x4d5be1['limit']=qs['limit'](_0x2f5284['query'][_0x9955('0x30')]);_0x4d5be1[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x2f5284[_0x9955('0x4a')][_0x9955('0x2f')]);}_0x4d5be1['order']=qs['sort'](_0x2f5284['query']['sort']);_0x4d5be1['where']=qs[_0x9955('0x55')](_[_0x9955('0x68')](_0x2f5284['query'],_0x34f334['filters']));_0x4d5be1[_0x9955('0x54')][_0x9955('0x69')]=_0x3dcdc2['id'];if(_0x2f5284['query'][_0x9955('0x56')]){_0x4d5be1[_0x9955('0x54')]=_[_0x9955('0x5d')](_0x4d5be1['where'],{'$or':_[_0x9955('0x45')](_0x4d5be1[_0x9955('0x4e')],function(_0x45104c){var _0x5349ce={};_0x5349ce[_0x45104c]={'$like':'%'+_0x2f5284['query'][_0x9955('0x56')]+'%'};return _0x5349ce;})});}_0x4d5be1=_[_0x9955('0x5d')]({},_0x4d5be1,_0x2f5284[_0x9955('0x57')]);return db[_0x9955('0x63')][_0x9955('0x58')]({'where':_0x4d5be1[_0x9955('0x54')]})[_0x9955('0x20')](function(_0x5128c8){_0x53b794[_0x9955('0x58')]=_0x5128c8;if(_0x2f5284[_0x9955('0x4a')][_0x9955('0x59')]){_0x4d5be1[_0x9955('0x5a')]=[{'all':!![]}];}return db[_0x9955('0x63')][_0x9955('0x6a')](_0x4d5be1);})[_0x9955('0x20')](function(_0x413add){_0x53b794['rows']=_0x413add;return _0x53b794;});}})[_0x9955('0x20')](respondWithFilteredResult(_0x278e83,_0x4d5be1))['catch'](handleError(_0x278e83,null));};exports[_0x9955('0x6b')]=function(_0x56d1c2,_0x24fac4,_0xfec66){return db['MailAccount'][_0x9955('0x60')]({'where':{'id':_0x56d1c2[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x24fac4,null))[_0x9955('0x20')](function(_0x24f590){if(_0x24f590){return _0x24f590[_0x9955('0x6b')](_0x56d1c2[_0x9955('0x4a')][_0x9955('0x6c')]);}})[_0x9955('0x20')](respondWithStatusCode(_0x24fac4,null))[_0x9955('0x2b')](handleError(_0x24fac4,null));};exports[_0x9955('0x6d')]=function(_0x478cfb,_0x179c17,_0xd2f91b){if(_0x478cfb[_0x9955('0x5f')]['id']){delete _0x478cfb[_0x9955('0x5f')]['id'];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x478cfb['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x179c17,null))['then'](function(_0x8b5d3a){if(_0x8b5d3a){_0x478cfb[_0x9955('0x5f')][_0x9955('0x69')]=_0x8b5d3a['id'];return db[_0x9955('0x6e')][_0x9955('0x64')](_0x478cfb[_0x9955('0x5f')]);}})['then'](respondWithResult(_0x179c17,null))[_0x9955('0x2b')](handleError(_0x179c17,null));};exports['getAnswers']=function(_0x1449ff,_0x21bf95,_0x8f27cf){var _0x28a831={'raw':![],'where':{}};var _0x4ce2c1={};var _0x21f58b={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x1449ff[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x21bf95,null))['then'](function(_0x337ab6){if(_0x337ab6){_0x4ce2c1[_0x9955('0x4d')]=_[_0x9955('0x4b')](db['CannedAnswer'][_0x9955('0x46')]);_0x4ce2c1[_0x9955('0x4a')]=_[_0x9955('0x4b')](_0x1449ff[_0x9955('0x4a')]);_0x4ce2c1[_0x9955('0x55')]=_[_0x9955('0x4c')](_0x4ce2c1[_0x9955('0x4d')],_0x4ce2c1[_0x9955('0x4a')]);_0x28a831[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x4ce2c1[_0x9955('0x4d')],qs[_0x9955('0x4f')](_0x1449ff['query'][_0x9955('0x4f')]));_0x28a831[_0x9955('0x4e')]=_0x28a831[_0x9955('0x4e')][_0x9955('0x50')]?_0x28a831[_0x9955('0x4e')]:_0x4ce2c1['model'];if(!_0x1449ff['query']['hasOwnProperty'](_0x9955('0x51'))){_0x28a831['limit']=qs[_0x9955('0x30')](_0x1449ff[_0x9955('0x4a')][_0x9955('0x30')]);_0x28a831[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x1449ff[_0x9955('0x4a')]['offset']);}_0x28a831[_0x9955('0x52')]=qs['sort'](_0x1449ff['query'][_0x9955('0x53')]);_0x28a831[_0x9955('0x54')]=qs[_0x9955('0x55')](_[_0x9955('0x68')](_0x1449ff[_0x9955('0x4a')],_0x4ce2c1[_0x9955('0x55')]));_0x28a831[_0x9955('0x54')]['MailAccountId']=_0x337ab6['id'];if(_0x1449ff['query'][_0x9955('0x56')]){_0x28a831['where']=_[_0x9955('0x5d')](_0x28a831[_0x9955('0x54')],{'$or':_[_0x9955('0x45')](_0x28a831['attributes'],function(_0x111297){var _0x5551bd={};_0x5551bd[_0x111297]={'$like':'%'+_0x1449ff[_0x9955('0x4a')][_0x9955('0x56')]+'%'};return _0x5551bd;})});}_0x28a831=_['merge']({},_0x28a831,_0x1449ff['options']);return db['CannedAnswer'][_0x9955('0x58')]({'where':_0x28a831[_0x9955('0x54')]})[_0x9955('0x20')](function(_0xdffe4e){_0x21f58b[_0x9955('0x58')]=_0xdffe4e;if(_0x1449ff[_0x9955('0x4a')][_0x9955('0x59')]){_0x28a831[_0x9955('0x5a')]=[{'all':!![]}];}return db['CannedAnswer'][_0x9955('0x6a')](_0x28a831);})[_0x9955('0x20')](function(_0x4cc167){_0x21f58b['rows']=_0x4cc167;return _0x21f58b;});}})[_0x9955('0x20')](respondWithFilteredResult(_0x21bf95,_0x28a831))['catch'](handleError(_0x21bf95,null));};exports[_0x9955('0x6f')]=function(_0x6a1e01,_0xb244cf,_0x41fd13){return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x6a1e01['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0xb244cf,null))['then'](function(_0x52b839){if(_0x52b839){return _0x52b839[_0x9955('0x6f')](_0x6a1e01['query'][_0x9955('0x6c')]);}})[_0x9955('0x20')](respondWithStatusCode(_0xb244cf,null))['catch'](handleError(_0xb244cf,null));};exports[_0x9955('0x64')]=function(_0xff639f,_0x4b9531){var _0x3d3c66={'name':_0xff639f[_0x9955('0x5f')]['name'],'key':_0xff639f[_0x9955('0x5f')][_0x9955('0x49')],'email':_0xff639f[_0x9955('0x5f')][_0x9955('0x70')],'ListId':_0xff639f['body'][_0x9955('0x71')],'active':!_[_0x9955('0x72')](_0xff639f[_0x9955('0x5f')][_0x9955('0x73')])?_0xff639f[_0x9955('0x5f')]['active']:!![],'description':_0xff639f['body'][_0x9955('0x74')]||null,'Imap':{},'Smtp':{}};if(_[_0x9955('0x72')](_0xff639f['body'][_0x9955('0x75')])){if(_0xff639f[_0x9955('0x5f')]['cauthentication']){_0x3d3c66['Imap'][_0x9955('0x76')]=_0x3d3c66['Smtp'][_0x9955('0x76')]=_0xff639f[_0x9955('0x5f')][_0x9955('0x77')];_0x3d3c66['Imap'][_0x9955('0x78')]=_0x3d3c66['Smtp'][_0x9955('0x79')]=_0xff639f['body'][_0x9955('0x7a')];}else{_0x3d3c66[_0x9955('0x40')]['authentication']=_0x3d3c66['Smtp'][_0x9955('0x7b')]=![];}_0x3d3c66[_0x9955('0x40')][_0x9955('0x7c')]=_0xff639f['body'][_0x9955('0x40')][_0x9955('0x7c')];_0x3d3c66[_0x9955('0x40')]['port']=_0xff639f[_0x9955('0x5f')][_0x9955('0x40')][_0x9955('0x7d')];_0x3d3c66[_0x9955('0x42')][_0x9955('0x7c')]=_0xff639f[_0x9955('0x5f')][_0x9955('0x42')][_0x9955('0x7c')];_0x3d3c66['Smtp'][_0x9955('0x7d')]=_0xff639f['body'][_0x9955('0x42')][_0x9955('0x7d')];}else{_0x3d3c66[_0x9955('0x40')][_0x9955('0x7e')]=_0x3d3c66[_0x9955('0x42')][_0x9955('0x7e')]=_0xff639f[_0x9955('0x5f')]['cservice'];_0x3d3c66[_0x9955('0x40')]['user']=_0x3d3c66['Smtp']['user']=_0xff639f[_0x9955('0x5f')][_0x9955('0x77')];_0x3d3c66[_0x9955('0x40')][_0x9955('0x78')]=_0x3d3c66[_0x9955('0x42')]['pass']=_0xff639f[_0x9955('0x5f')][_0x9955('0x7a')];}return db['MailAccount'][_0x9955('0x64')](_0x3d3c66,{'include':[{'model':db['MailServerOut'],'as':_0x9955('0x42')},{'model':db['MailServerIn'],'as':'Imap'}]})[_0x9955('0x20')](function(_0x3fd58d){var _0x3f761d=_0xff639f[_0x9955('0x76')]['get']({'plain':!![]});if(!_0x3f761d)throw new Error(_0x9955('0x7f'));if(_0x3f761d[_0x9955('0x80')]==='user'){var _0x202758=_0x3fd58d['get']({'plain':!![]});return db[_0x9955('0x81')][_0x9955('0x60')]({'where':{'name':_0x9955('0x39'),'userProfileId':_0x3f761d[_0x9955('0x82')]},'raw':!![]})[_0x9955('0x20')](function(_0xc02927){if(_0xc02927&&_0xc02927[_0x9955('0x83')]===0x0){return db[_0x9955('0x84')][_0x9955('0x64')]({'name':_0x202758[_0x9955('0x3c')],'resourceId':_0x202758['id'],'type':_0xc02927[_0x9955('0x3c')],'sectionId':_0xc02927['id']},{})[_0x9955('0x20')](function(){return _0x3fd58d;});}else{return _0x3fd58d;}})[_0x9955('0x2b')](function(_0x520f0a){logger[_0x9955('0x25')](_0x9955('0x85'),_0x520f0a);throw _0x520f0a;});}return _0x3fd58d;})[_0x9955('0x20')](respondWithResult(_0x4b9531,0xc9))[_0x9955('0x2b')](handleError(_0x4b9531,null));};exports['getImap']=function(_0x2c797f,_0xce3ee6,_0xe3d743){return db[_0x9955('0x5e')][_0x9955('0x66')]({'where':{'id':_0x2c797f[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0xce3ee6,null))[_0x9955('0x20')](function(_0x213f83){if(_0x213f83){return _0x213f83[_0x9955('0x86')]();}return null;})['then'](respondWithResult(_0xce3ee6,null))[_0x9955('0x2b')](handleError(_0xce3ee6,null));};exports[_0x9955('0x87')]=function(_0x49e2c1,_0x12ae30,_0x384261){if(_0x49e2c1[_0x9955('0x5f')]['id']){delete _0x49e2c1['body']['id'];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x49e2c1[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x12ae30,null))[_0x9955('0x20')](function(_0x42e2aa){if(_0x42e2aa){_0x49e2c1[_0x9955('0x5f')]['MailAccountId']=_0x42e2aa['id'];return db[_0x9955('0x3f')][_0x9955('0x64')](_0x49e2c1[_0x9955('0x5f')]);}})[_0x9955('0x20')](respondWithResult(_0x12ae30,null))[_0x9955('0x2b')](handleError(_0x12ae30,null));};exports[_0x9955('0x88')]=function(_0x3729d7,_0x5aa71c,_0x4efebf){return db['MailAccount'][_0x9955('0x66')]({'where':{'id':_0x3729d7['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x5aa71c,null))[_0x9955('0x20')](function(_0x188529){if(_0x188529){return _0x188529[_0x9955('0x89')](null);}return null;})['then'](respondWithStatusCode(_0x5aa71c,null))[_0x9955('0x2b')](handleError(_0x5aa71c,null));};exports[_0x9955('0x8a')]=function(_0x17e35b,_0x122674,_0x1b366d){return db[_0x9955('0x5e')][_0x9955('0x66')]({'where':{'id':_0x17e35b['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x122674,null))['then'](function(_0x35946d){if(_0x35946d){return _0x35946d['getSmtp']();}return null;})[_0x9955('0x20')](respondWithResult(_0x122674,null))[_0x9955('0x2b')](handleError(_0x122674,null));};exports['addSmtp']=function(_0x1f209c,_0x5cdc55,_0x510693){if(_0x1f209c[_0x9955('0x5f')]['id']){delete _0x1f209c[_0x9955('0x5f')]['id'];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x1f209c['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x5cdc55,null))[_0x9955('0x20')](function(_0x4763b3){if(_0x4763b3){_0x1f209c['body'][_0x9955('0x69')]=_0x4763b3['id'];return db[_0x9955('0x41')]['create'](_0x1f209c['body']);}})[_0x9955('0x20')](respondWithResult(_0x5cdc55,null))[_0x9955('0x2b')](handleError(_0x5cdc55,null));};exports[_0x9955('0x8b')]=function(_0x2c9453,_0x4ecc1e,_0x803856){return db[_0x9955('0x5e')][_0x9955('0x66')]({'where':{'id':_0x2c9453['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x4ecc1e,null))[_0x9955('0x20')](function(_0x1e3765){if(_0x1e3765){return _0x1e3765[_0x9955('0x8c')](null);}return null;})[_0x9955('0x20')](respondWithStatusCode(_0x4ecc1e,null))[_0x9955('0x2b')](handleError(_0x4ecc1e,null));};exports['addInteraction']=function(_0x2e0fd7,_0x378709,_0x2f7913){return db[_0x9955('0x8d')][_0x9955('0x60')]({'where':{'id':_0x2e0fd7['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x378709,null))[_0x9955('0x20')](function(_0x39875a){if(_0x39875a){return _0x39875a[_0x9955('0x8e')](_0x2e0fd7[_0x9955('0x5f')]['ids'],_['omit'](_0x2e0fd7[_0x9955('0x5f')],[_0x9955('0x6c'),'id'])||{});}})[_0x9955('0x20')](respondWithResult(_0x378709,null))[_0x9955('0x2b')](handleError(_0x378709,null));};exports['getInteractions']=function(_0x2f239b,_0x2f602a,_0x30d7cf){var _0x113ea1={'raw':![],'where':{}};var _0x127323={};var _0xb07aac={'count':0x0,'rows':[]};return db[_0x9955('0x5e')]['findOne']({'where':{'id':_0x2f239b['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x2f602a,null))[_0x9955('0x20')](function(_0x5ba74a){if(_0x5ba74a){_0x127323[_0x9955('0x4d')]=_[_0x9955('0x4b')](db['MailInteraction'][_0x9955('0x46')]);_0x127323[_0x9955('0x4a')]=_[_0x9955('0x4b')](_0x2f239b[_0x9955('0x4a')]);_0x127323['filters']=_[_0x9955('0x4c')](_0x127323[_0x9955('0x4d')],_0x127323[_0x9955('0x4a')]);_0x113ea1[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x127323[_0x9955('0x4d')],qs['fields'](_0x2f239b[_0x9955('0x4a')]['fields']));_0x113ea1[_0x9955('0x4e')]=_0x113ea1[_0x9955('0x4e')][_0x9955('0x50')]?_0x113ea1[_0x9955('0x4e')]:_0x127323[_0x9955('0x4d')];if(!_0x2f239b[_0x9955('0x4a')][_0x9955('0x67')](_0x9955('0x51'))){_0x113ea1[_0x9955('0x30')]=qs[_0x9955('0x30')](_0x2f239b[_0x9955('0x4a')]['limit']);_0x113ea1['offset']=qs['offset'](_0x2f239b['query'][_0x9955('0x2f')]);}_0x113ea1['order']=qs['sort'](_0x2f239b[_0x9955('0x4a')][_0x9955('0x53')]);_0x113ea1['where']=qs[_0x9955('0x55')](_[_0x9955('0x68')](_0x2f239b['query'],_0x127323[_0x9955('0x55')]));_0x113ea1[_0x9955('0x54')][_0x9955('0x69')]=_0x5ba74a['id'];if(_0x2f239b['query']['filter']){_0x113ea1['where']=_[_0x9955('0x5d')](_0x113ea1['where'],{'$or':_[_0x9955('0x45')](_0x113ea1[_0x9955('0x4e')],function(_0x57cba2){var _0x5c7fe2={};_0x5c7fe2[_0x57cba2]={'$like':'%'+_0x2f239b[_0x9955('0x4a')]['filter']+'%'};return _0x5c7fe2;})});}_0x113ea1=_['merge']({},_0x113ea1,_0x2f239b['options']);return db[_0x9955('0x8d')]['count']({'where':_0x113ea1[_0x9955('0x54')]})[_0x9955('0x20')](function(_0x2868c2){_0xb07aac[_0x9955('0x58')]=_0x2868c2;if(_0x2f239b[_0x9955('0x4a')][_0x9955('0x59')]){_0x113ea1[_0x9955('0x5a')]=[{'model':db[_0x9955('0x8f')],'as':_0x9955('0x90'),'required':![]},{'model':db[_0x9955('0x91')],'as':_0x9955('0x92'),'attributes':['name',_0x9955('0x93'),'internal'],'required':![]},{'model':db[_0x9955('0x94')],'as':_0x9955('0x95'),'attributes':['id',_0x9955('0x3c'),_0x9955('0x96')],'where':_0x2f239b['query'][_0x9955('0x97')]?{'id':_0x2f239b['query'][_0x9955('0x97')]}:undefined,'required':_0x2f239b[_0x9955('0x4a')][_0x9955('0x97')]?!![]:![]}];}return db[_0x9955('0x8d')][_0x9955('0x6a')](_0x113ea1);})[_0x9955('0x20')](function(_0x3f736d){_0xb07aac['rows']=_0x3f736d;return _0xb07aac;});}})[_0x9955('0x20')](respondWithFilteredResult(_0x2f602a,_0x113ea1))[_0x9955('0x2b')](handleError(_0x2f602a,null));};exports[_0x9955('0x98')]=function(_0x59d2bf,_0x8cf288,_0x28a1b0){return db[_0x9955('0x5e')]['findOne']({'where':{'id':_0x59d2bf[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x8cf288,null))[_0x9955('0x20')](function(_0x27646c){if(_0x27646c){return db[_0x9955('0x99')][_0x9955('0x9a')](function(_0x20efca){return db[_0x9955('0x9b')][_0x9955('0x37')]({'where':{'MailAccountId':_0x59d2bf[_0x9955('0x5c')]['id']},'transaction':_0x20efca})[_0x9955('0x20')](function(_0x2f7635){var _0x3167af=_['map'](_0x59d2bf[_0x9955('0x5f')],function(_0x50e5ce){_0x50e5ce[_0x9955('0x69')]=_0x59d2bf[_0x9955('0x5c')]['id'];return _0x50e5ce;});return db['MailApplication'][_0x9955('0x9c')](_0x3167af,{'transaction':_0x20efca});});})[_0x9955('0x20')](function(){return db[_0x9955('0x9b')][_0x9955('0x9d')]({'where':{'MailAccountId':_0x59d2bf[_0x9955('0x5c')]['id']},'order':'priority'});});}})[_0x9955('0x20')](respondWithResult(_0x8cf288,null))['catch'](handleError(_0x8cf288,null));};exports['getApplications']=function(_0x3259ee,_0x5adf5e,_0x4afc1e){var _0x53090a={};var _0x749046={};var _0x36a4b8;var _0x3d98bb;return db['MailAccount'][_0x9955('0x66')]({'where':{'id':_0x3259ee[_0x9955('0x5c')]['id']}})['then'](handleEntityNotFound(_0x5adf5e,null))[_0x9955('0x20')](function(_0x37a9a3){if(_0x37a9a3){_0x36a4b8=_0x37a9a3;_0x749046[_0x9955('0x4d')]=_[_0x9955('0x4b')](db['MailApplication'][_0x9955('0x46')]);_0x749046['query']=_[_0x9955('0x4b')](_0x3259ee[_0x9955('0x4a')]);_0x749046[_0x9955('0x55')]=_[_0x9955('0x4c')](_0x749046['model'],_0x749046[_0x9955('0x4a')]);_0x53090a[_0x9955('0x4e')]=_[_0x9955('0x4c')](_0x749046['model'],qs['fields'](_0x3259ee[_0x9955('0x4a')][_0x9955('0x4f')]));_0x53090a[_0x9955('0x4e')]=_0x53090a[_0x9955('0x4e')][_0x9955('0x50')]?_0x53090a['attributes']:_0x749046['model'];_0x53090a[_0x9955('0x52')]=qs['sort'](_0x3259ee['query'][_0x9955('0x53')]);_0x53090a['where']=qs[_0x9955('0x55')](_[_0x9955('0x68')](_0x3259ee[_0x9955('0x4a')],_0x749046[_0x9955('0x55')]));if(_0x3259ee[_0x9955('0x4a')][_0x9955('0x56')]){_0x53090a['where']=_[_0x9955('0x5d')](_0x53090a[_0x9955('0x54')],{'$or':_[_0x9955('0x45')](_0x53090a[_0x9955('0x4e')],function(_0x127d82){var _0x5c9739={};_0x5c9739[_0x127d82]={'$like':'%'+_0x3259ee['query'][_0x9955('0x56')]+'%'};return _0x5c9739;})});}_0x53090a=_[_0x9955('0x5d')]({},_0x53090a,_0x3259ee[_0x9955('0x57')]);return _0x36a4b8[_0x9955('0x9e')](_0x53090a);}})[_0x9955('0x20')](function(_0x3ca9ed){if(_0x3ca9ed){_0x3d98bb=_0x3ca9ed[_0x9955('0x50')];if(!_0x3259ee[_0x9955('0x4a')][_0x9955('0x67')](_0x9955('0x51'))){_0x53090a['limit']=qs[_0x9955('0x30')](_0x3259ee[_0x9955('0x4a')][_0x9955('0x30')]);_0x53090a[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x3259ee[_0x9955('0x4a')]['offset']);}return _0x36a4b8[_0x9955('0x9e')](_0x53090a);}})[_0x9955('0x20')](function(_0x1aa658){if(_0x1aa658){return _0x1aa658?{'count':_0x3d98bb,'rows':_0x1aa658}:null;}})[_0x9955('0x20')](respondWithResult(_0x5adf5e,null))[_0x9955('0x2b')](handleError(_0x5adf5e,null));};exports['getMessages']=function(_0x415f99,_0x2be8d5,_0x4bd95a){var _0x1f5fd6={'raw':!![],'where':{}};var _0x4ecbdf={};var _0x38d6e1={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x415f99[_0x9955('0x5c')]['id']}})['then'](handleEntityNotFound(_0x2be8d5,null))[_0x9955('0x20')](function(_0xbd0cb9){if(_0xbd0cb9){_0x4ecbdf['model']=_[_0x9955('0x4b')](db[_0x9955('0x9f')][_0x9955('0x46')]);_0x4ecbdf[_0x9955('0x4a')]=_[_0x9955('0x4b')](_0x415f99[_0x9955('0x4a')]);_0x4ecbdf[_0x9955('0x55')]=_[_0x9955('0x4c')](_0x4ecbdf[_0x9955('0x4d')],_0x4ecbdf[_0x9955('0x4a')]);_0x1f5fd6['attributes']=_[_0x9955('0x4c')](_0x4ecbdf[_0x9955('0x4d')],qs[_0x9955('0x4f')](_0x415f99['query'][_0x9955('0x4f')]));_0x1f5fd6[_0x9955('0x4e')]=_0x1f5fd6['attributes'][_0x9955('0x50')]?_0x1f5fd6['attributes']:_0x4ecbdf[_0x9955('0x4d')];if(!_0x415f99[_0x9955('0x4a')]['hasOwnProperty']('nolimit')){_0x1f5fd6['limit']=qs[_0x9955('0x30')](_0x415f99[_0x9955('0x4a')][_0x9955('0x30')]);_0x1f5fd6[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x415f99[_0x9955('0x4a')][_0x9955('0x2f')]);}_0x1f5fd6[_0x9955('0x52')]=qs['sort'](_0x415f99[_0x9955('0x4a')]['sort']);_0x1f5fd6[_0x9955('0x54')]=qs['filters'](_[_0x9955('0x68')](_0x415f99['query'],_0x4ecbdf[_0x9955('0x55')]));_0x1f5fd6['where'][_0x9955('0x69')]=_0xbd0cb9['id'];if(_0x415f99[_0x9955('0x4a')][_0x9955('0x56')]){_0x1f5fd6[_0x9955('0x54')]=_[_0x9955('0x5d')](_0x1f5fd6['where'],{'$or':_[_0x9955('0x45')](_0x1f5fd6[_0x9955('0x4e')],function(_0x41b014){var _0x4c6927={};_0x4c6927[_0x41b014]={'$like':'%'+_0x415f99['query']['filter']+'%'};return _0x4c6927;})});}if(_0x415f99[_0x9955('0x4a')][_0x9955('0xa0')]){var _0x221b14=_0x415f99[_0x9955('0x4a')][_0x9955('0xa0')][_0x9955('0xa1')](',');var _0x2e47ca={};_0x2e47ca[_0x221b14[0x0]]={'$gte':moment(_0x221b14[0x1])[_0x9955('0xa2')](_0x9955('0xa3'))};_0x1f5fd6[_0x9955('0x54')]=_[_0x9955('0x5d')](_0x1f5fd6[_0x9955('0x54')],_0x2e47ca);}_0x1f5fd6=_[_0x9955('0x5d')]({},_0x1f5fd6,_0x415f99[_0x9955('0x57')]);return db[_0x9955('0x9f')][_0x9955('0x58')]({'where':_0x1f5fd6[_0x9955('0x54')]})[_0x9955('0x20')](function(_0x448104){_0x38d6e1[_0x9955('0x58')]=_0x448104;if(_0x415f99['query'][_0x9955('0x59')]){_0x1f5fd6[_0x9955('0x5a')]=[{'all':!![]}];}return db['MailMessage'][_0x9955('0x6a')](_0x1f5fd6);})['then'](function(_0x24074c){if(_0x415f99[_0x9955('0x4a')][_0x9955('0xa4')]==='true'){for(var _0xd56d64=0x0;_0xd56d64<_0x24074c[_0x9955('0x50')];_0xd56d64++){_0x24074c[_0xd56d64]['body']=juice(_0x24074c[_0xd56d64][_0x9955('0x5f')]);}}_0x38d6e1[_0x9955('0x5b')]=_0x24074c;return _0x38d6e1;});}})[_0x9955('0x20')](respondWithFilteredResult(_0x2be8d5,_0x1f5fd6))['catch'](handleError(_0x2be8d5,null));};exports['send']=function(_0x15bdce,_0x54c574,_0xdfc18c){var _0x2a050a,_0x37c21a={},_0x3afabf;if(_0x15bdce[_0x9955('0x5f')]['to']){_0x3afabf=_0x15bdce[_0x9955('0x5f')]['to'][_0x9955('0xa1')](',')[0x0];}return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x15bdce[_0x9955('0x5c')]['id']},'include':[{'model':db['CmList'],'as':_0x9955('0xa5'),'include':[{'model':db[_0x9955('0x8f')],'as':'Contacts','where':{'email':_0x3afabf},'limit':0x1,'order':[[_0x9955('0xa6'),'DESC']]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})['then'](handleEntityNotFound(_0x54c574,null))['then'](function(_0x5c3ed4){if(_0x5c3ed4){_0x2a050a=_0x5c3ed4;if(_0x5c3ed4['Smtp']){if(_[_0x9955('0x72')](_0x15bdce['body']['from'])){_0x15bdce[_0x9955('0x5f')][_0x9955('0xa7')]=util['format'](_0x9955('0xa8'),_0x5c3ed4[_0x9955('0x3c')],_0x5c3ed4[_0x9955('0x70')]||_0x5c3ed4['Smtp'][_0x9955('0x76')]);}if(_0x15bdce[_0x9955('0x5f')][_0x9955('0xa9')]&&_0x15bdce[_0x9955('0x5f')][_0x9955('0xa9')]['length']){for(var _0x203b19=0x0;_0x203b19<_0x15bdce[_0x9955('0x5f')][_0x9955('0xa9')][_0x9955('0x50')];_0x203b19+=0x1){_0x15bdce[_0x9955('0x5f')]['attachments'][_0x203b19]={'filename':_0x15bdce[_0x9955('0x5f')][_0x9955('0xa9')][_0x203b19][_0x9955('0x3c')],'path':path[_0x9955('0xaa')](config['root'],_0x9955('0xab'),_0x15bdce[_0x9955('0x5f')][_0x9955('0xa9')][_0x203b19][_0x9955('0xac')])};}}var _0x41d912={'tls':{'rejectUnauthorized':![]}};if(_[_0x9955('0x72')](_0x5c3ed4[_0x9955('0x42')][_0x9955('0x7e')])){if(_0x5c3ed4[_0x9955('0x42')][_0x9955('0x7b')]){_0x41d912[_0x9955('0xad')]={'user':_0x5c3ed4[_0x9955('0x42')][_0x9955('0x76')],'pass':_0x5c3ed4[_0x9955('0x42')][_0x9955('0x79')]};}_0x41d912[_0x9955('0x7c')]=_0x5c3ed4[_0x9955('0x42')][_0x9955('0x7c')];_0x41d912[_0x9955('0x7d')]=_0x5c3ed4[_0x9955('0x42')]['port'];_0x41d912[_0x9955('0xae')]=_0x5c3ed4['Smtp'][_0x9955('0xae')];}else{_0x41d912['service']=_0x5c3ed4[_0x9955('0x42')][_0x9955('0x7e')];_0x41d912['auth']={'user':_0x5c3ed4['Smtp'][_0x9955('0x76')],'pass':_0x5c3ed4['Smtp'][_0x9955('0x79')]};}return respondWithRpcPromise(_0x9955('0xaf'),'sendMail',{'account':_0x41d912,'message':_0x15bdce[_0x9955('0x5f')]});}else{throw new Error(_0x9955('0xb0'));}}})['then'](function(_0x227eb6){if(_0x227eb6){_0x37c21a=_0x227eb6;if(_0x2a050a['List']){if(_0x2a050a[_0x9955('0xa5')][_0x9955('0xb1')]['length']){return _0x2a050a[_0x9955('0xa5')][_0x9955('0xb1')][0x0];}else{return db[_0x9955('0x8f')][_0x9955('0x64')](_[_0x9955('0xb2')](_0x15bdce[_0x9955('0x5f')],{'firstName':_0x15bdce['body']['to'],'email':_0x15bdce[_0x9955('0x5f')]['to'],'phone':_0x15bdce['body']['to'],'ListId':_0x2a050a['ListId']}));}}else{throw new Error(_0x9955('0xb0'));}}})['then'](function(_0xc60119){if(_0xc60119){var _0x2fd95d={'UserId':_0x15bdce[_0x9955('0x76')]['id'],'ContactId':_0xc60119['id'],'MailAccountId':_0x2a050a['id'],'inReplyTo':_0x37c21a[_0x9955('0xb3')],'to':_0x15bdce[_0x9955('0x5f')][_0x9955('0xa7')],'cc':_0x15bdce[_0x9955('0x5f')]['cc'],'subject':_0x15bdce['body']['subject'],'attach':_0x15bdce['body'][_0x9955('0xb4')],'firstMsgDirection':'out','lastMsgAt':moment()[_0x9955('0xa2')](_0x9955('0xa3')),'lastMsgDirection':_0x9955('0xb5'),'lastMsgBody':_0x15bdce[_0x9955('0x5f')]['body'],'Messages':[_[_0x9955('0x5d')](_0x15bdce[_0x9955('0x5f')],{'messageId':_0x37c21a['messageId'],'sentAt':moment()[_0x9955('0xa2')](_0x9955('0xa3')),'read':!![],'MailAccountId':_0x2a050a['id'],'UserId':_0x15bdce[_0x9955('0x76')]['id'],'ContactId':_0xc60119['id']})]};if(_0x15bdce['body'][_0x9955('0xb6')]){_0x2fd95d=_[_0x9955('0x5d')](_0x2fd95d,_0x15bdce[_0x9955('0x5f')]['Interaction']);}return db[_0x9955('0x8d')][_0x9955('0x64')](_0x2fd95d,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});}})[_0x9955('0x20')](respondWithResult(_0x54c574,null))[_0x9955('0x2b')](handleError(_0x54c574,null));};exports['verifySmtp']=function(_0x421da3,_0x3b78dd,_0x4d88e6){return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x421da3[_0x9955('0x5c')]['id']},'include':[{'model':db[_0x9955('0x41')],'as':_0x9955('0x42'),'raw':!![]}]})[_0x9955('0x20')](handleEntityNotFound(_0x3b78dd,null))[_0x9955('0x20')](function(_0x229c92){if(_0x229c92&&_0x229c92['Smtp']){var _0x17e3b2={'id':_0x229c92['id'],'tls':{'rejectUnauthorized':![]}};if(_0x229c92[_0x9955('0x42')][_0x9955('0x7e')]){_0x17e3b2['service']=_0x229c92[_0x9955('0x42')]['service'];}else{_0x17e3b2['host']=_0x229c92['Smtp'][_0x9955('0x7c')];_0x17e3b2[_0x9955('0x7d')]=_0x229c92['Smtp'][_0x9955('0x7d')];_0x17e3b2[_0x9955('0xae')]=_0x229c92['Smtp'][_0x9955('0xae')];}if(_0x229c92[_0x9955('0x42')][_0x9955('0x7b')]){_0x17e3b2[_0x9955('0xad')]={'user':_0x229c92[_0x9955('0x42')]['user'],'pass':_0x229c92[_0x9955('0x42')][_0x9955('0x79')]};}return respondWithRpcPromise(_0x9955('0xb7'),_0x9955('0xb8'),{'account':_0x17e3b2});}})['then'](respondWithResult(_0x3b78dd,null))[_0x9955('0x2b')](handleError(_0x3b78dd,null));};exports[_0x9955('0x37')]=function(_0x32508e,_0x1702cc){return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x32508e[_0x9955('0x5c')]['id']}})['then'](handleEntityNotFound(_0x1702cc,null))[_0x9955('0x20')](function(_0xd305bd){if(_0xd305bd&&_0xd305bd[_0x9955('0x7e')]){throw new db[(_0x9955('0xb9'))]['ValidationError'](_0x9955('0xba'));}return _0xd305bd;})['then'](removeEntity(_0x1702cc,null))[_0x9955('0x2b')](handleError(_0x1702cc,null));};exports[_0x9955('0xbb')]=function(_0x2b0adc,_0x5ccba8,_0x45ff89){return db[_0x9955('0x5e')]['find']({'where':{'id':_0x2b0adc['params']['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x5ccba8,null))[_0x9955('0x20')](function(_0x334bb0){if(_0x334bb0){return _0x334bb0[_0x9955('0xbb')](_0x2b0adc[_0x9955('0x5f')][_0x9955('0x6c')],_['omit'](_0x2b0adc[_0x9955('0x5f')],['ids','id'])||{})[_0x9955('0xbc')](function(_0x1761dd){for(var _0x31434e=0x0;_0x31434e<_0x2b0adc[_0x9955('0x5f')][_0x9955('0x6c')][_0x9955('0x50')];_0x31434e+=0x1){socket['emit']('userMailAccount:save',{'UserId':_0x2b0adc[_0x9955('0x5f')][_0x9955('0x6c')][_0x31434e],'MailAccountId':_0x2b0adc['params']['id']});}return _0x1761dd;});}})[_0x9955('0x20')](respondWithResult(_0x5ccba8,null))[_0x9955('0x2b')](handleError(_0x5ccba8,null));};exports['removeAgents']=function(_0x48230d,_0x466c24,_0x22aaba){return db[_0x9955('0x5e')][_0x9955('0x60')]({'where':{'id':_0x48230d[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x466c24,null))[_0x9955('0x20')](function(_0xdb6e9c){if(_0xdb6e9c){return _0xdb6e9c[_0x9955('0xbd')](_0x48230d['query'][_0x9955('0x6c')])[_0x9955('0x20')](function(){if(_['isArray'](_0x48230d[_0x9955('0x4a')][_0x9955('0x6c')])){for(var _0x513186=0x0;_0x513186<_0x48230d['query'][_0x9955('0x6c')]['length'];_0x513186+=0x1){socket['emit'](_0x9955('0xbe'),{'UserId':Number(_0x48230d[_0x9955('0x4a')][_0x9955('0x6c')][_0x513186]),'MailAccountId':Number(_0x48230d['params']['id'])});}}else{socket[_0x9955('0xbf')](_0x9955('0xbe'),{'UserId':Number(_0x48230d[_0x9955('0x4a')][_0x9955('0x6c')]),'MailAccountId':Number(_0x48230d[_0x9955('0x5c')]['id'])});}});}})['then'](respondWithStatusCode(_0x466c24,null))[_0x9955('0x2b')](handleError(_0x466c24,null));};exports[_0x9955('0xc0')]=function(_0x8db7c,_0x3795b9,_0x780048){var _0xc004af={};var _0xcc533c={};var _0x11abd9;var _0x5f3b69;return db[_0x9955('0x5e')][_0x9955('0x66')]({'where':{'id':_0x8db7c[_0x9955('0x5c')]['id']}})[_0x9955('0x20')](handleEntityNotFound(_0x3795b9,null))[_0x9955('0x20')](function(_0x104e23){if(_0x104e23){_0x11abd9=_0x104e23;_0xcc533c['model']=_[_0x9955('0x4b')](db[_0x9955('0x91')][_0x9955('0x46')]);_0xcc533c[_0x9955('0x4a')]=_[_0x9955('0x4b')](_0x8db7c[_0x9955('0x4a')]);_0xcc533c[_0x9955('0x55')]=_['intersection'](_0xcc533c[_0x9955('0x4d')],_0xcc533c['query']);_0xc004af['attributes']=_[_0x9955('0x4c')](_0xcc533c[_0x9955('0x4d')],qs['fields'](_0x8db7c[_0x9955('0x4a')][_0x9955('0x4f')]));_0xc004af[_0x9955('0x4e')]=_0xc004af[_0x9955('0x4e')]['length']?_0xc004af[_0x9955('0x4e')]:_0xcc533c[_0x9955('0x4d')];_0xc004af[_0x9955('0x52')]=qs[_0x9955('0x53')](_0x8db7c[_0x9955('0x4a')][_0x9955('0x53')]);_0xc004af[_0x9955('0x54')]=qs['filters'](_['pick'](_0x8db7c[_0x9955('0x4a')],_0xcc533c[_0x9955('0x55')]));if(_0x8db7c[_0x9955('0x4a')][_0x9955('0x56')]){_0xc004af[_0x9955('0x54')]=_['merge'](_0xc004af[_0x9955('0x54')],{'$or':_[_0x9955('0x45')](_0xc004af[_0x9955('0x4e')],function(_0x5cda48){var _0x18e6a1={};_0x18e6a1[_0x5cda48]={'$like':'%'+_0x8db7c['query'][_0x9955('0x56')]+'%'};return _0x18e6a1;})});}_0xc004af=_[_0x9955('0x5d')]({},_0xc004af,_0x8db7c[_0x9955('0x57')]);return _0x11abd9[_0x9955('0xc0')](_0xc004af);}})['then'](function(_0xcfbeab){if(_0xcfbeab){_0x5f3b69=_0xcfbeab['length'];if(!_0x8db7c[_0x9955('0x4a')]['hasOwnProperty'](_0x9955('0x51'))){_0xc004af[_0x9955('0x30')]=qs[_0x9955('0x30')](_0x8db7c['query'][_0x9955('0x30')]);_0xc004af[_0x9955('0x2f')]=qs[_0x9955('0x2f')](_0x8db7c['query']['offset']);}return _0x11abd9['getAgents'](_0xc004af);}})[_0x9955('0x20')](function(_0x33158a){if(_0x33158a){return _0x33158a?{'count':_0x5f3b69,'rows':_0x33158a}:null;}})[_0x9955('0x20')](respondWithResult(_0x3795b9,null))[_0x9955('0x2b')](handleError(_0x3795b9,null));};