Built motion from commit 14588770.|2.5.38
[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 _0x5433=['then','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','request\x20sent','result','catch','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','MailAccounts','UserProfileResource','name','MailServerIn','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filter','VIRTUAL','merge','includeAll','include','rows','params','Imap','MailServerOut','Smtp','keys','body','find','describe','MailAccountId','Disposition','create','getDispositions','findOne','sort','pick','options','findAll','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','email','isNil','active','description','cauthentication','user','cuser','password','authentication','host','port','service','cservice','pass','cpassword','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','send','getApplications','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','CmList','List','Contacts','DESC','from','format','attachments','join','server/files/attachments','basename','auth','secure','sendMail','List\x20not\x20found','ListId','attach','messageId','Messages','verifySmtp','Sequelize','ValidationError','addAgents','spread','emit','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','html-to-text','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','request'];(function(_0xe98395,_0x2b7f88){var _0xe4a8d5=function(_0x1b5d33){while(--_0x1b5d33){_0xe98395['push'](_0xe98395['shift']());}};_0xe4a8d5(++_0x2b7f88);}(_0x5433,0x9f));var _0x3543=function(_0x107aac,_0xfc188b){_0x107aac=_0x107aac-0x0;var _0x3e4f70=_0x5433[_0x107aac];return _0x3e4f70;};'use strict';var emlformat=require(_0x3543('0x0'));var rimraf=require(_0x3543('0x1'));var zipdir=require(_0x3543('0x2'));var jsonpatch=require(_0x3543('0x3'));var rp=require(_0x3543('0x4'));var moment=require(_0x3543('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x3543('0x6'));var util=require(_0x3543('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x3543('0x8'));var ejs=require(_0x3543('0x9'));var fs=require('fs');var fs_extra=require(_0x3543('0xa'));var _=require(_0x3543('0xb'));var squel=require('squel');var crypto=require(_0x3543('0xc'));var jsforce=require(_0x3543('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x3543('0x8'));var querystring=require(_0x3543('0xe'));var Papa=require(_0x3543('0xf'));var htmlToText=require(_0x3543('0x10'));var juice=require('juice');var Redis=require(_0x3543('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x3543('0x12'));var as=require(_0x3543('0x13'));var hardwareService=require(_0x3543('0x14'));var logger=require(_0x3543('0x15'))(_0x3543('0x16'));var utils=require(_0x3543('0x17'));var config=require(_0x3543('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x3543('0x19')]=_['defaults'](config[_0x3543('0x19')],{'host':_0x3543('0x1a'),'port':0x18eb});var socket=require(_0x3543('0x1b'))(new Redis(config['redis']));require(_0x3543('0x1c'))['register'](socket);var jayson=require(_0x3543('0x1d'));var client=jayson[_0x3543('0x1e')][_0x3543('0x1f')]({'port':0x232b});function respondWithRpcPromise(_0x1a1f7d,_0x4eccfb,_0x545e65,_0x39b8f2){return new BPromise(function(_0xb315bb,_0x50abb5){var _0x1fc1bc=_0x39b8f2||client;return _0x1fc1bc[_0x3543('0x20')](_0x1a1f7d,_0x545e65)[_0x3543('0x21')](function(_0x3ccf05){logger['info'](_0x3543('0x22'),_0x4eccfb,'request\x20sent');logger[_0x3543('0x23')](_0x3543('0x24'),_0x4eccfb,'request\x20sent',JSON[_0x3543('0x25')](_0x3ccf05));if(_0x3ccf05[_0x3543('0x26')]){if(_0x3ccf05[_0x3543('0x26')][_0x3543('0x27')]===0x1f4){logger[_0x3543('0x26')](_0x3543('0x22'),_0x4eccfb,_0x3ccf05[_0x3543('0x26')][_0x3543('0x28')]);return _0x50abb5(_0x3ccf05['error'][_0x3543('0x28')]);}logger[_0x3543('0x26')]('MailAccount,\x20%s,\x20%s',_0x4eccfb,_0x3ccf05[_0x3543('0x26')][_0x3543('0x28')]);return _0xb315bb(_0x3ccf05[_0x3543('0x26')][_0x3543('0x28')]);}else{logger[_0x3543('0x29')]('MailAccount,\x20%s,\x20%s',_0x4eccfb,_0x3543('0x2a'));_0xb315bb(_0x3ccf05[_0x3543('0x2b')][_0x3543('0x28')]);}})[_0x3543('0x2c')](function(_0x4e3e49){logger[_0x3543('0x26')](_0x3543('0x22'),_0x4eccfb,_0x4e3e49);_0x50abb5(_0x4e3e49);});});}function respondWithStatusCode(_0x317aa5,_0x1e2936){_0x1e2936=_0x1e2936||0xcc;return function(_0x3dce24){if(_0x3dce24){return _0x317aa5['sendStatus'](_0x1e2936);}return _0x317aa5[_0x3543('0x2d')](_0x1e2936)[_0x3543('0x2e')]();};}function respondWithResult(_0x37c1ba,_0x19c4c6){_0x19c4c6=_0x19c4c6||0xc8;return function(_0x5183a9){if(_0x5183a9){return _0x37c1ba['status'](_0x19c4c6)[_0x3543('0x2f')](_0x5183a9);}};}function respondWithFilteredResult(_0x564ff3,_0x473d0e){return function(_0x490ef0){if(_0x490ef0){var _0x48a480=typeof _0x473d0e[_0x3543('0x30')]===_0x3543('0x31')&&typeof _0x473d0e[_0x3543('0x32')]==='undefined';var _0x1a0e80=_0x490ef0[_0x3543('0x33')];var _0x41548=_0x48a480?0x0:_0x473d0e[_0x3543('0x30')];var _0x37231c=_0x48a480?_0x490ef0[_0x3543('0x33')]:_0x473d0e[_0x3543('0x30')]+_0x473d0e[_0x3543('0x32')];var _0x3dce56;if(_0x37231c>=_0x1a0e80){_0x37231c=_0x1a0e80;_0x3dce56=0xc8;}else{_0x3dce56=0xce;}_0x564ff3['status'](_0x3dce56);return _0x564ff3['set'](_0x3543('0x34'),_0x41548+'-'+_0x37231c+'/'+_0x1a0e80)[_0x3543('0x2f')](_0x490ef0);}return null;};}function patchUpdates(_0xa56fdb){return function(_0x460852){try{jsonpatch[_0x3543('0x35')](_0x460852,_0xa56fdb,!![]);}catch(_0x4416c4){return BPromise[_0x3543('0x36')](_0x4416c4);}return _0x460852[_0x3543('0x37')]();};}function saveUpdates(_0x14ec0a,_0xe663ba){return function(_0x326395){if(_0x326395){return _0x326395[_0x3543('0x38')](_0x14ec0a)[_0x3543('0x21')](function(_0xd493d6){return _0xd493d6;});}return null;};}function removeEntity(_0x146e85,_0x164ef8){return function(_0x995b78){if(_0x995b78){return _0x995b78[_0x3543('0x39')]()['then'](function(){var _0x178e13=_0x995b78['get']({'plain':!![]});var _0x1e5f57=_0x3543('0x3a');return db[_0x3543('0x3b')][_0x3543('0x39')]({'where':{'type':_0x1e5f57,'resourceId':_0x178e13['id']}})[_0x3543('0x21')](function(){return _0x995b78;});})['then'](function(){_0x146e85[_0x3543('0x2d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4d7c8,_0x32cbe2){return function(_0x462b45){if(!_0x462b45){_0x4d7c8['sendStatus'](0x194);}return _0x462b45;};}function handleError(_0x32b570,_0x65f5d1){_0x65f5d1=_0x65f5d1||0x1f4;return function(_0x2bfead){logger[_0x3543('0x26')](_0x2bfead['stack']);if(_0x2bfead[_0x3543('0x3c')]){delete _0x2bfead['name'];}_0x32b570[_0x3543('0x2d')](_0x65f5d1)['send'](_0x2bfead);};}exports['index']=function(_0x559d30,_0x210c16){var _0x1177c={'include':[{'model':db[_0x3543('0x3d')],'as':'Imap'},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x3543('0x3e')],'as':_0x3543('0x3f')}]},_0x4de35b={},_0x344c6b={'count':0x0,'rows':[]};var _0x489ffb=_['map'](db[_0x3543('0x40')][_0x3543('0x41')],function(_0x58be7c){return{'name':_0x58be7c['fieldName'],'type':_0x58be7c[_0x3543('0x42')][_0x3543('0x43')]};});_0x4de35b[_0x3543('0x44')]=_[_0x3543('0x45')](_0x489ffb,'name');_0x4de35b['query']=_['keys'](_0x559d30[_0x3543('0x46')]);_0x4de35b[_0x3543('0x47')]=_[_0x3543('0x48')](_0x4de35b['model'],_0x4de35b['query']);_0x1177c[_0x3543('0x49')]=_[_0x3543('0x48')](_0x4de35b[_0x3543('0x44')],qs[_0x3543('0x4a')](_0x559d30[_0x3543('0x46')][_0x3543('0x4a')]));_0x1177c[_0x3543('0x49')]=_0x1177c[_0x3543('0x49')][_0x3543('0x4b')]?_0x1177c[_0x3543('0x49')]:_0x4de35b[_0x3543('0x44')];if(!_0x559d30['query'][_0x3543('0x4c')](_0x3543('0x4d'))){_0x1177c[_0x3543('0x32')]=qs[_0x3543('0x32')](_0x559d30[_0x3543('0x46')][_0x3543('0x32')]);_0x1177c[_0x3543('0x30')]=qs[_0x3543('0x30')](_0x559d30['query'][_0x3543('0x30')]);}_0x1177c[_0x3543('0x4e')]=qs['sort'](_0x559d30['query']['sort']);_0x1177c[_0x3543('0x4f')]=qs['filters'](_['pick'](_0x559d30[_0x3543('0x46')],_0x4de35b[_0x3543('0x47')]),_0x489ffb);if(_0x559d30[_0x3543('0x46')][_0x3543('0x50')]){_0x1177c[_0x3543('0x4f')]=_['merge'](_0x1177c['where'],{'$or':_['map'](_0x489ffb,function(_0x4c00f8){if(_0x4c00f8[_0x3543('0x42')]!==_0x3543('0x51')){var _0x13e0f2={};_0x13e0f2[_0x4c00f8[_0x3543('0x3c')]]={'$like':'%'+_0x559d30[_0x3543('0x46')]['filter']+'%'};return _0x13e0f2;}})});}_0x1177c=_[_0x3543('0x52')]({},_0x1177c,_0x559d30['options']);var _0x10becf={'where':_0x1177c['where']};return db[_0x3543('0x40')][_0x3543('0x33')](_0x10becf)[_0x3543('0x21')](function(_0x370a7b){_0x344c6b[_0x3543('0x33')]=_0x370a7b;if(_0x559d30[_0x3543('0x46')][_0x3543('0x53')]){_0x1177c[_0x3543('0x54')]=[{'all':!![]}];}return db[_0x3543('0x40')]['findAll'](_0x1177c);})[_0x3543('0x21')](function(_0x51c3b7){_0x344c6b[_0x3543('0x55')]=_0x51c3b7;return _0x344c6b;})['then'](respondWithFilteredResult(_0x210c16,_0x1177c))['catch'](handleError(_0x210c16,null));};exports['show']=function(_0x28db9d,_0xc97ce){var _0x397870={'raw':![],'where':{'id':_0x28db9d[_0x3543('0x56')]['id']},'include':[{'model':db[_0x3543('0x3d')],'as':_0x3543('0x57')},{'model':db[_0x3543('0x58')],'as':_0x3543('0x59')},{'model':db[_0x3543('0x3e')],'as':'mandatoryDispositionPause'}]},_0x1acc20={};_0x1acc20[_0x3543('0x44')]=_['keys'](db[_0x3543('0x40')][_0x3543('0x41')]);_0x1acc20[_0x3543('0x46')]=_[_0x3543('0x5a')](_0x28db9d[_0x3543('0x46')]);_0x1acc20['filters']=_[_0x3543('0x48')](_0x1acc20[_0x3543('0x44')],_0x1acc20['query']);_0x397870[_0x3543('0x49')]=_['intersection'](_0x1acc20['model'],qs[_0x3543('0x4a')](_0x28db9d[_0x3543('0x46')][_0x3543('0x4a')]));_0x397870[_0x3543('0x49')]=_0x397870[_0x3543('0x49')][_0x3543('0x4b')]?_0x397870[_0x3543('0x49')]:_0x1acc20['model'];if(_0x28db9d['query'][_0x3543('0x53')]){_0x397870[_0x3543('0x54')]=[{'all':!![]}];}_0x397870=_['merge']({},_0x397870,_0x28db9d['options']);return db[_0x3543('0x40')]['find'](_0x397870)['then'](handleEntityNotFound(_0xc97ce,null))[_0x3543('0x21')](respondWithResult(_0xc97ce,null))[_0x3543('0x2c')](handleError(_0xc97ce,null));};exports['update']=function(_0x4b21b7,_0x3da85a){if(_0x4b21b7[_0x3543('0x5b')]['id']){delete _0x4b21b7['body']['id'];}return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0x4b21b7[_0x3543('0x56')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x3543('0x58')],'as':_0x3543('0x59')},{'model':db['Pause'],'as':_0x3543('0x3f')}]})[_0x3543('0x21')](handleEntityNotFound(_0x3da85a,null))[_0x3543('0x21')](saveUpdates(_0x4b21b7[_0x3543('0x5b')],null))[_0x3543('0x21')](function(_0x5d5bf9){if(_0x5d5bf9&&_0x4b21b7[_0x3543('0x5b')]['Imap']){return db['MailServerIn'][_0x3543('0x38')](_0x4b21b7[_0x3543('0x5b')][_0x3543('0x57')],{'where':{'MailAccountId':_0x5d5bf9['id']}})[_0x3543('0x21')](function(){return _0x5d5bf9;});}return _0x5d5bf9;})['then'](function(_0x1894ef){if(_0x1894ef&&_0x4b21b7[_0x3543('0x5b')][_0x3543('0x59')]){return db[_0x3543('0x58')][_0x3543('0x38')](_0x4b21b7['body'][_0x3543('0x59')],{'where':{'MailAccountId':_0x1894ef['id']}})[_0x3543('0x21')](function(){return _0x1894ef;});}return _0x1894ef;})[_0x3543('0x21')](respondWithResult(_0x3da85a,null))[_0x3543('0x2c')](handleError(_0x3da85a,null));};exports[_0x3543('0x5d')]=function(_0x49755a,_0x4a6e10){return db[_0x3543('0x40')][_0x3543('0x5d')]()[_0x3543('0x21')](respondWithResult(_0x4a6e10,null))[_0x3543('0x2c')](handleError(_0x4a6e10,null));};exports['addDisposition']=function(_0xc48328,_0x529e2c,_0x2c6581){if(_0xc48328[_0x3543('0x5b')]['id']){delete _0xc48328[_0x3543('0x5b')]['id'];}return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0xc48328[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x529e2c,null))[_0x3543('0x21')](function(_0x57f676){if(_0x57f676){_0xc48328[_0x3543('0x5b')][_0x3543('0x5e')]=_0x57f676['id'];return db[_0x3543('0x5f')][_0x3543('0x60')](_0xc48328[_0x3543('0x5b')]);}})[_0x3543('0x21')](respondWithResult(_0x529e2c,null))['catch'](handleError(_0x529e2c,null));};exports[_0x3543('0x61')]=function(_0x54ac94,_0x158c04,_0x33b17a){var _0xde71f5={'raw':![],'where':{}};var _0xfbb93e={};var _0x3b60a6={'count':0x0,'rows':[]};return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x54ac94[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x158c04,null))[_0x3543('0x21')](function(_0x529139){if(_0x529139){_0xfbb93e[_0x3543('0x44')]=_['keys'](db[_0x3543('0x5f')]['rawAttributes']);_0xfbb93e[_0x3543('0x46')]=_[_0x3543('0x5a')](_0x54ac94[_0x3543('0x46')]);_0xfbb93e['filters']=_[_0x3543('0x48')](_0xfbb93e[_0x3543('0x44')],_0xfbb93e['query']);_0xde71f5[_0x3543('0x49')]=_[_0x3543('0x48')](_0xfbb93e[_0x3543('0x44')],qs[_0x3543('0x4a')](_0x54ac94[_0x3543('0x46')][_0x3543('0x4a')]));_0xde71f5['attributes']=_0xde71f5[_0x3543('0x49')][_0x3543('0x4b')]?_0xde71f5['attributes']:_0xfbb93e[_0x3543('0x44')];if(!_0x54ac94[_0x3543('0x46')][_0x3543('0x4c')](_0x3543('0x4d'))){_0xde71f5[_0x3543('0x32')]=qs['limit'](_0x54ac94[_0x3543('0x46')][_0x3543('0x32')]);_0xde71f5[_0x3543('0x30')]=qs[_0x3543('0x30')](_0x54ac94['query'][_0x3543('0x30')]);}_0xde71f5[_0x3543('0x4e')]=qs[_0x3543('0x63')](_0x54ac94[_0x3543('0x46')][_0x3543('0x63')]);_0xde71f5['where']=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x54ac94['query'],_0xfbb93e[_0x3543('0x47')]));_0xde71f5[_0x3543('0x4f')][_0x3543('0x5e')]=_0x529139['id'];if(_0x54ac94[_0x3543('0x46')][_0x3543('0x50')]){_0xde71f5[_0x3543('0x4f')]=_[_0x3543('0x52')](_0xde71f5[_0x3543('0x4f')],{'$or':_['map'](_0xde71f5[_0x3543('0x49')],function(_0x5f453f){var _0x5ca08b={};_0x5ca08b[_0x5f453f]={'$like':'%'+_0x54ac94[_0x3543('0x46')][_0x3543('0x50')]+'%'};return _0x5ca08b;})});}_0xde71f5=_['merge']({},_0xde71f5,_0x54ac94[_0x3543('0x65')]);return db['Disposition'][_0x3543('0x33')]({'where':_0xde71f5[_0x3543('0x4f')]})['then'](function(_0x5a3894){_0x3b60a6['count']=_0x5a3894;if(_0x54ac94['query'][_0x3543('0x53')]){_0xde71f5['include']=[{'all':!![]}];}return db[_0x3543('0x5f')][_0x3543('0x66')](_0xde71f5);})[_0x3543('0x21')](function(_0x5a015a){_0x3b60a6[_0x3543('0x55')]=_0x5a015a;return _0x3b60a6;});}})[_0x3543('0x21')](respondWithFilteredResult(_0x158c04,_0xde71f5))['catch'](handleError(_0x158c04,null));};exports[_0x3543('0x67')]=function(_0x4054a1,_0x328a56,_0x50acdf){return db['MailAccount'][_0x3543('0x5c')]({'where':{'id':_0x4054a1[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x328a56,null))[_0x3543('0x21')](function(_0x2caa07){if(_0x2caa07){return _0x2caa07[_0x3543('0x67')](_0x4054a1['query'][_0x3543('0x68')]);}})[_0x3543('0x21')](respondWithStatusCode(_0x328a56,null))[_0x3543('0x2c')](handleError(_0x328a56,null));};exports[_0x3543('0x69')]=function(_0x1fb05d,_0x42ed50,_0x3f4b59){if(_0x1fb05d[_0x3543('0x5b')]['id']){delete _0x1fb05d[_0x3543('0x5b')]['id'];}return db['MailAccount'][_0x3543('0x5c')]({'where':{'id':_0x1fb05d[_0x3543('0x56')]['id']}})['then'](handleEntityNotFound(_0x42ed50,null))[_0x3543('0x21')](function(_0x11146b){if(_0x11146b){_0x1fb05d['body'][_0x3543('0x5e')]=_0x11146b['id'];return db[_0x3543('0x6a')]['create'](_0x1fb05d['body']);}})[_0x3543('0x21')](respondWithResult(_0x42ed50,null))[_0x3543('0x2c')](handleError(_0x42ed50,null));};exports[_0x3543('0x6b')]=function(_0x1a7079,_0x3dec45,_0x3fb076){var _0x2fc627={'raw':![],'where':{}};var _0x16c692={};var _0x4c1f44={'count':0x0,'rows':[]};return db[_0x3543('0x40')]['findOne']({'where':{'id':_0x1a7079[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x3dec45,null))[_0x3543('0x21')](function(_0x54b179){if(_0x54b179){_0x16c692[_0x3543('0x44')]=_[_0x3543('0x5a')](db['CannedAnswer']['rawAttributes']);_0x16c692['query']=_[_0x3543('0x5a')](_0x1a7079[_0x3543('0x46')]);_0x16c692[_0x3543('0x47')]=_['intersection'](_0x16c692['model'],_0x16c692[_0x3543('0x46')]);_0x2fc627[_0x3543('0x49')]=_['intersection'](_0x16c692['model'],qs['fields'](_0x1a7079[_0x3543('0x46')][_0x3543('0x4a')]));_0x2fc627[_0x3543('0x49')]=_0x2fc627[_0x3543('0x49')]['length']?_0x2fc627[_0x3543('0x49')]:_0x16c692[_0x3543('0x44')];if(!_0x1a7079[_0x3543('0x46')][_0x3543('0x4c')](_0x3543('0x4d'))){_0x2fc627['limit']=qs['limit'](_0x1a7079[_0x3543('0x46')][_0x3543('0x32')]);_0x2fc627['offset']=qs[_0x3543('0x30')](_0x1a7079[_0x3543('0x46')][_0x3543('0x30')]);}_0x2fc627[_0x3543('0x4e')]=qs[_0x3543('0x63')](_0x1a7079['query'][_0x3543('0x63')]);_0x2fc627[_0x3543('0x4f')]=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x1a7079[_0x3543('0x46')],_0x16c692[_0x3543('0x47')]));_0x2fc627[_0x3543('0x4f')]['MailAccountId']=_0x54b179['id'];if(_0x1a7079[_0x3543('0x46')][_0x3543('0x50')]){_0x2fc627[_0x3543('0x4f')]=_[_0x3543('0x52')](_0x2fc627[_0x3543('0x4f')],{'$or':_[_0x3543('0x45')](_0x2fc627[_0x3543('0x49')],function(_0x2bcc91){var _0x528e16={};_0x528e16[_0x2bcc91]={'$like':'%'+_0x1a7079[_0x3543('0x46')][_0x3543('0x50')]+'%'};return _0x528e16;})});}_0x2fc627=_['merge']({},_0x2fc627,_0x1a7079['options']);return db[_0x3543('0x6a')][_0x3543('0x33')]({'where':_0x2fc627[_0x3543('0x4f')]})[_0x3543('0x21')](function(_0xa03e39){_0x4c1f44[_0x3543('0x33')]=_0xa03e39;if(_0x1a7079['query'][_0x3543('0x53')]){_0x2fc627['include']=[{'all':!![]}];}return db[_0x3543('0x6a')][_0x3543('0x66')](_0x2fc627);})[_0x3543('0x21')](function(_0x30027f){_0x4c1f44[_0x3543('0x55')]=_0x30027f;return _0x4c1f44;});}})[_0x3543('0x21')](respondWithFilteredResult(_0x3dec45,_0x2fc627))[_0x3543('0x2c')](handleError(_0x3dec45,null));};exports['removeAnswers']=function(_0xa7149c,_0x5672bc,_0x4db881){return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0xa7149c[_0x3543('0x56')]['id']}})['then'](handleEntityNotFound(_0x5672bc,null))[_0x3543('0x21')](function(_0x1b060f){if(_0x1b060f){return _0x1b060f['removeAnswers'](_0xa7149c[_0x3543('0x46')]['ids']);}})[_0x3543('0x21')](respondWithStatusCode(_0x5672bc,null))['catch'](handleError(_0x5672bc,null));};exports['create']=function(_0x140808,_0x103c54){var _0x254e66={'name':_0x140808[_0x3543('0x5b')][_0x3543('0x3c')],'key':_0x140808[_0x3543('0x5b')][_0x3543('0x43')],'email':_0x140808[_0x3543('0x5b')][_0x3543('0x6c')],'ListId':_0x140808[_0x3543('0x5b')]['ListId'],'active':!_[_0x3543('0x6d')](_0x140808[_0x3543('0x5b')][_0x3543('0x6e')])?_0x140808[_0x3543('0x5b')]['active']:!![],'description':_0x140808[_0x3543('0x5b')][_0x3543('0x6f')]||null,'Imap':{},'Smtp':{}};if(_[_0x3543('0x6d')](_0x140808['body']['cservice'])){if(_0x140808[_0x3543('0x5b')][_0x3543('0x70')]){_0x254e66[_0x3543('0x57')]['user']=_0x254e66[_0x3543('0x59')][_0x3543('0x71')]=_0x140808[_0x3543('0x5b')][_0x3543('0x72')];_0x254e66['Imap'][_0x3543('0x73')]=_0x254e66['Smtp']['pass']=_0x140808['body']['cpassword'];}else{_0x254e66[_0x3543('0x57')][_0x3543('0x74')]=_0x254e66[_0x3543('0x59')][_0x3543('0x74')]=![];}_0x254e66['Imap']['host']=_0x140808['body'][_0x3543('0x57')][_0x3543('0x75')];_0x254e66[_0x3543('0x57')][_0x3543('0x76')]=_0x140808[_0x3543('0x5b')][_0x3543('0x57')][_0x3543('0x76')];_0x254e66[_0x3543('0x59')]['host']=_0x140808['body'][_0x3543('0x59')][_0x3543('0x75')];_0x254e66[_0x3543('0x59')]['port']=_0x140808[_0x3543('0x5b')][_0x3543('0x59')][_0x3543('0x76')];}else{_0x254e66[_0x3543('0x57')]['service']=_0x254e66[_0x3543('0x59')][_0x3543('0x77')]=_0x140808[_0x3543('0x5b')][_0x3543('0x78')];_0x254e66[_0x3543('0x57')][_0x3543('0x71')]=_0x254e66[_0x3543('0x59')][_0x3543('0x71')]=_0x140808['body'][_0x3543('0x72')];_0x254e66[_0x3543('0x57')]['password']=_0x254e66[_0x3543('0x59')][_0x3543('0x79')]=_0x140808[_0x3543('0x5b')][_0x3543('0x7a')];}return db[_0x3543('0x40')]['create'](_0x254e66,{'include':[{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x3543('0x3d')],'as':_0x3543('0x57')}]})[_0x3543('0x21')](function(_0x54b91f){var _0x1e70ea=_0x140808[_0x3543('0x71')][_0x3543('0x7b')]({'plain':!![]});if(!_0x1e70ea)throw new Error(_0x3543('0x7c'));if(_0x1e70ea['role']===_0x3543('0x71')){var _0x2fea26=_0x54b91f[_0x3543('0x7b')]({'plain':!![]});return db[_0x3543('0x7d')]['find']({'where':{'name':_0x3543('0x3a'),'userProfileId':_0x1e70ea[_0x3543('0x7e')]},'raw':!![]})[_0x3543('0x21')](function(_0x7d3538){if(_0x7d3538&&_0x7d3538[_0x3543('0x7f')]===0x0){return db['UserProfileResource']['create']({'name':_0x2fea26[_0x3543('0x3c')],'resourceId':_0x2fea26['id'],'type':_0x7d3538[_0x3543('0x3c')],'sectionId':_0x7d3538['id']},{})[_0x3543('0x21')](function(){return _0x54b91f;});}else{return _0x54b91f;}})[_0x3543('0x2c')](function(_0x7cc6fa){logger[_0x3543('0x26')](_0x3543('0x80'),_0x7cc6fa);throw _0x7cc6fa;});}return _0x54b91f;})[_0x3543('0x21')](respondWithResult(_0x103c54,0xc9))[_0x3543('0x2c')](handleError(_0x103c54,null));};exports[_0x3543('0x81')]=function(_0x4c2e09,_0x2620c0,_0x17a5e9){return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x4c2e09[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x2620c0,null))[_0x3543('0x21')](function(_0x157d41){if(_0x157d41){return _0x157d41[_0x3543('0x81')]();}return null;})['then'](respondWithResult(_0x2620c0,null))['catch'](handleError(_0x2620c0,null));};exports['addImap']=function(_0x1e12bc,_0x1e1592,_0x84996d){if(_0x1e12bc[_0x3543('0x5b')]['id']){delete _0x1e12bc[_0x3543('0x5b')]['id'];}return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0x1e12bc[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x1e1592,null))[_0x3543('0x21')](function(_0x3b62ee){if(_0x3b62ee){_0x1e12bc[_0x3543('0x5b')][_0x3543('0x5e')]=_0x3b62ee['id'];return db[_0x3543('0x3d')][_0x3543('0x60')](_0x1e12bc[_0x3543('0x5b')]);}})[_0x3543('0x21')](respondWithResult(_0x1e1592,null))[_0x3543('0x2c')](handleError(_0x1e1592,null));};exports['removeImap']=function(_0xccfb55,_0x33a1fb,_0x59095f){return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0xccfb55[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x33a1fb,null))[_0x3543('0x21')](function(_0x5ea096){if(_0x5ea096){return _0x5ea096[_0x3543('0x82')](null);}return null;})[_0x3543('0x21')](respondWithStatusCode(_0x33a1fb,null))[_0x3543('0x2c')](handleError(_0x33a1fb,null));};exports[_0x3543('0x83')]=function(_0x4dc168,_0xd62c75,_0x3f60b7){return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x4dc168[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0xd62c75,null))[_0x3543('0x21')](function(_0x328479){if(_0x328479){return _0x328479[_0x3543('0x83')]();}return null;})[_0x3543('0x21')](respondWithResult(_0xd62c75,null))[_0x3543('0x2c')](handleError(_0xd62c75,null));};exports[_0x3543('0x84')]=function(_0x4eea13,_0x525819,_0x5e9a0a){if(_0x4eea13['body']['id']){delete _0x4eea13['body']['id'];}return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0x4eea13['params']['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x525819,null))['then'](function(_0x23d49a){if(_0x23d49a){_0x4eea13[_0x3543('0x5b')]['MailAccountId']=_0x23d49a['id'];return db[_0x3543('0x58')]['create'](_0x4eea13[_0x3543('0x5b')]);}})[_0x3543('0x21')](respondWithResult(_0x525819,null))['catch'](handleError(_0x525819,null));};exports[_0x3543('0x85')]=function(_0x16ba0b,_0x48a931,_0x42908d){return db[_0x3543('0x40')]['findOne']({'where':{'id':_0x16ba0b[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x48a931,null))['then'](function(_0x569b5d){if(_0x569b5d){return _0x569b5d[_0x3543('0x86')](null);}return null;})[_0x3543('0x21')](respondWithStatusCode(_0x48a931,null))['catch'](handleError(_0x48a931,null));};exports[_0x3543('0x87')]=function(_0x5213bd,_0x2c4459,_0x351636){return db[_0x3543('0x88')][_0x3543('0x5c')]({'where':{'id':_0x5213bd[_0x3543('0x56')]['id']}})['then'](handleEntityNotFound(_0x2c4459,null))['then'](function(_0x402d93){if(_0x402d93){return _0x402d93[_0x3543('0x87')](_0x5213bd[_0x3543('0x5b')][_0x3543('0x68')],_[_0x3543('0x89')](_0x5213bd[_0x3543('0x5b')],[_0x3543('0x68'),'id'])||{});}})[_0x3543('0x21')](respondWithResult(_0x2c4459,null))['catch'](handleError(_0x2c4459,null));};exports[_0x3543('0x8a')]=function(_0x4d553f,_0x4ab81d,_0x51c6d2){var _0x2dbea5={'raw':![],'where':{}};var _0x75c0b={};var _0x48882c={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x4d553f[_0x3543('0x56')]['id']}})['then'](handleEntityNotFound(_0x4ab81d,null))['then'](function(_0x512c2c){if(_0x512c2c){_0x75c0b[_0x3543('0x44')]=_[_0x3543('0x5a')](db[_0x3543('0x88')][_0x3543('0x41')]);_0x75c0b[_0x3543('0x46')]=_[_0x3543('0x5a')](_0x4d553f[_0x3543('0x46')]);_0x75c0b[_0x3543('0x47')]=_['intersection'](_0x75c0b['model'],_0x75c0b[_0x3543('0x46')]);_0x2dbea5[_0x3543('0x49')]=_[_0x3543('0x48')](_0x75c0b[_0x3543('0x44')],qs['fields'](_0x4d553f[_0x3543('0x46')][_0x3543('0x4a')]));_0x2dbea5[_0x3543('0x49')]=_0x2dbea5[_0x3543('0x49')][_0x3543('0x4b')]?_0x2dbea5['attributes']:_0x75c0b[_0x3543('0x44')];if(!_0x4d553f[_0x3543('0x46')][_0x3543('0x4c')](_0x3543('0x4d'))){_0x2dbea5['limit']=qs[_0x3543('0x32')](_0x4d553f['query'][_0x3543('0x32')]);_0x2dbea5[_0x3543('0x30')]=qs[_0x3543('0x30')](_0x4d553f['query'][_0x3543('0x30')]);}_0x2dbea5[_0x3543('0x4e')]=qs[_0x3543('0x63')](_0x4d553f['query'][_0x3543('0x63')]);_0x2dbea5[_0x3543('0x4f')]=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x4d553f[_0x3543('0x46')],_0x75c0b['filters']));_0x2dbea5[_0x3543('0x4f')][_0x3543('0x5e')]=_0x512c2c['id'];if(_0x4d553f[_0x3543('0x46')][_0x3543('0x50')]){_0x2dbea5[_0x3543('0x4f')]=_[_0x3543('0x52')](_0x2dbea5[_0x3543('0x4f')],{'$or':_[_0x3543('0x45')](_0x2dbea5[_0x3543('0x49')],function(_0x358de9){var _0x30daf6={};_0x30daf6[_0x358de9]={'$like':'%'+_0x4d553f[_0x3543('0x46')][_0x3543('0x50')]+'%'};return _0x30daf6;})});}_0x2dbea5=_['merge']({},_0x2dbea5,_0x4d553f['options']);return db[_0x3543('0x88')][_0x3543('0x33')]({'where':_0x2dbea5[_0x3543('0x4f')]})[_0x3543('0x21')](function(_0x312abf){_0x48882c[_0x3543('0x33')]=_0x312abf;if(_0x4d553f['query']['includeAll']){_0x2dbea5[_0x3543('0x54')]=[{'model':db[_0x3543('0x8b')],'as':_0x3543('0x8c'),'required':![]},{'model':db[_0x3543('0x8d')],'as':_0x3543('0x8e'),'attributes':['name',_0x3543('0x8f'),_0x3543('0x90')],'required':![]},{'model':db[_0x3543('0x91')],'as':_0x3543('0x92'),'attributes':['id',_0x3543('0x3c'),_0x3543('0x93')],'where':_0x4d553f[_0x3543('0x46')][_0x3543('0x94')]?{'id':_0x4d553f[_0x3543('0x46')][_0x3543('0x94')]}:undefined,'required':_0x4d553f[_0x3543('0x46')]['tag']?!![]:![]}];}return db[_0x3543('0x88')][_0x3543('0x66')](_0x2dbea5);})['then'](function(_0x28dcc7){_0x48882c[_0x3543('0x55')]=_0x28dcc7;return _0x48882c;});}})[_0x3543('0x21')](respondWithFilteredResult(_0x4ab81d,_0x2dbea5))[_0x3543('0x2c')](handleError(_0x4ab81d,null));};exports[_0x3543('0x95')]=function addApplications(_0x598b60,_0x1216c4){var _0x1952e7=_0x598b60[_0x3543('0x56')]['id'];var _0x29e806=_0x598b60[_0x3543('0x5b')];var _0x3bc9cb=0xc8;var _0x2952a7=null;return db['sequelize']['transaction']({'isolationLevel':db['sequelize']['Transaction'][_0x3543('0x96')][_0x3543('0x97')]},function(_0x4cfe38){return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x1952e7},'transaction':_0x4cfe38})[_0x3543('0x21')](function(_0x1df034){if(_0x1df034){return db[_0x3543('0x98')]['destroy']({'where':{'MailAccountId':_0x1952e7},'transaction':_0x4cfe38})[_0x3543('0x21')](function(){var _0x4fd1ac=_[_0x3543('0x45')](_0x29e806,function(_0xf6790a){_0xf6790a[_0x3543('0x5e')]=_0x1952e7;return _0xf6790a;});return db[_0x3543('0x98')][_0x3543('0x99')](_0x4fd1ac,{'transaction':_0x4cfe38});});}else{_0x3bc9cb=0x194;_0x2952a7=[];}});})[_0x3543('0x21')](function(){if(_0x3bc9cb!==0x194){return db[_0x3543('0x98')][_0x3543('0x9a')]({'where':{'MailAccountId':_0x1952e7},'order':'priority'})[_0x3543('0x21')](function(_0x1c2595){_0x2952a7=_0x1c2595;});}})[_0x3543('0x2c')](function(_0x32ba9d){_0x3bc9cb=0x1f4;logger[_0x3543('0x26')](_0x32ba9d['stack']);if(_0x32ba9d[_0x3543('0x3c')]){delete _0x32ba9d[_0x3543('0x3c')];}_0x2952a7=_0x32ba9d;})['finally'](function(){if(_0x2952a7===null){_0x1216c4['sendStatus'](_0x3bc9cb);}else{if(_0x3bc9cb===0x1f4){_0x1216c4[_0x3543('0x2d')](_0x3bc9cb)[_0x3543('0x9b')](_0x2952a7);}else{_0x1216c4[_0x3543('0x2d')](_0x3bc9cb)[_0x3543('0x2f')](_0x2952a7);}}});};exports['getApplications']=function(_0x43187d,_0x552563,_0x473996){var _0x53bbc0={};var _0x4478d3={};var _0x102c96;var _0x3e8c9b;return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x43187d['params']['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x552563,null))[_0x3543('0x21')](function(_0x3c356a){if(_0x3c356a){_0x102c96=_0x3c356a;_0x4478d3[_0x3543('0x44')]=_['keys'](db[_0x3543('0x98')]['rawAttributes']);_0x4478d3['query']=_['keys'](_0x43187d[_0x3543('0x46')]);_0x4478d3[_0x3543('0x47')]=_[_0x3543('0x48')](_0x4478d3[_0x3543('0x44')],_0x4478d3[_0x3543('0x46')]);_0x53bbc0[_0x3543('0x49')]=_[_0x3543('0x48')](_0x4478d3['model'],qs[_0x3543('0x4a')](_0x43187d['query']['fields']));_0x53bbc0[_0x3543('0x49')]=_0x53bbc0[_0x3543('0x49')][_0x3543('0x4b')]?_0x53bbc0[_0x3543('0x49')]:_0x4478d3[_0x3543('0x44')];_0x53bbc0[_0x3543('0x4e')]=qs['sort'](_0x43187d[_0x3543('0x46')]['sort']);_0x53bbc0[_0x3543('0x4f')]=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x43187d[_0x3543('0x46')],_0x4478d3['filters']));if(_0x43187d[_0x3543('0x46')][_0x3543('0x50')]){_0x53bbc0[_0x3543('0x4f')]=_[_0x3543('0x52')](_0x53bbc0[_0x3543('0x4f')],{'$or':_[_0x3543('0x45')](_0x53bbc0[_0x3543('0x49')],function(_0x58c0ec){var _0x4e7785={};_0x4e7785[_0x58c0ec]={'$like':'%'+_0x43187d['query'][_0x3543('0x50')]+'%'};return _0x4e7785;})});}_0x53bbc0=_[_0x3543('0x52')]({},_0x53bbc0,_0x43187d[_0x3543('0x65')]);return _0x102c96['getApplications'](_0x53bbc0);}})[_0x3543('0x21')](function(_0x27d1e2){if(_0x27d1e2){_0x3e8c9b=_0x27d1e2[_0x3543('0x4b')];if(!_0x43187d['query']['hasOwnProperty'](_0x3543('0x4d'))){_0x53bbc0[_0x3543('0x32')]=qs[_0x3543('0x32')](_0x43187d[_0x3543('0x46')][_0x3543('0x32')]);_0x53bbc0['offset']=qs[_0x3543('0x30')](_0x43187d['query'][_0x3543('0x30')]);}return _0x102c96[_0x3543('0x9c')](_0x53bbc0);}})[_0x3543('0x21')](function(_0x59a530){if(_0x59a530){return _0x59a530?{'count':_0x3e8c9b,'rows':_0x59a530}:null;}})['then'](respondWithResult(_0x552563,null))['catch'](handleError(_0x552563,null));};exports[_0x3543('0x9d')]=function(_0x26a732,_0xecbab8,_0x3feab8){var _0x5ee050={'raw':!![],'where':{}};var _0x5656ae={};var _0x3a193b={'count':0x0,'rows':[]};return db[_0x3543('0x40')][_0x3543('0x62')]({'where':{'id':_0x26a732[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0xecbab8,null))[_0x3543('0x21')](function(_0x5c5231){if(_0x5c5231){_0x5656ae[_0x3543('0x44')]=_['keys'](db['MailMessage'][_0x3543('0x41')]);_0x5656ae['query']=_[_0x3543('0x5a')](_0x26a732[_0x3543('0x46')]);_0x5656ae[_0x3543('0x47')]=_[_0x3543('0x48')](_0x5656ae[_0x3543('0x44')],_0x5656ae[_0x3543('0x46')]);_0x5ee050['attributes']=_['intersection'](_0x5656ae['model'],qs[_0x3543('0x4a')](_0x26a732['query']['fields']));_0x5ee050[_0x3543('0x49')]=_0x5ee050[_0x3543('0x49')][_0x3543('0x4b')]?_0x5ee050[_0x3543('0x49')]:_0x5656ae[_0x3543('0x44')];if(!_0x26a732[_0x3543('0x46')][_0x3543('0x4c')]('nolimit')){_0x5ee050[_0x3543('0x32')]=qs[_0x3543('0x32')](_0x26a732['query'][_0x3543('0x32')]);_0x5ee050[_0x3543('0x30')]=qs[_0x3543('0x30')](_0x26a732[_0x3543('0x46')]['offset']);}_0x5ee050[_0x3543('0x4e')]=qs[_0x3543('0x63')](_0x26a732[_0x3543('0x46')][_0x3543('0x63')]);_0x5ee050['where']=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x26a732['query'],_0x5656ae[_0x3543('0x47')]));_0x5ee050[_0x3543('0x4f')][_0x3543('0x5e')]=_0x5c5231['id'];if(_0x26a732[_0x3543('0x46')][_0x3543('0x50')]){_0x5ee050[_0x3543('0x4f')]=_['merge'](_0x5ee050[_0x3543('0x4f')],{'$or':_[_0x3543('0x45')](_0x5ee050[_0x3543('0x49')],function(_0x8c1079){var _0x148485={};_0x148485[_0x8c1079]={'$like':'%'+_0x26a732[_0x3543('0x46')][_0x3543('0x50')]+'%'};return _0x148485;})});}if(_0x26a732[_0x3543('0x46')][_0x3543('0x9e')]){var _0x17aa9a=_0x26a732[_0x3543('0x46')][_0x3543('0x9e')][_0x3543('0x9f')](',');var _0x47863b={};_0x47863b[_0x17aa9a[0x0]]={'$gte':moment(_0x17aa9a[0x1])['format'](_0x3543('0xa0'))};_0x5ee050[_0x3543('0x4f')]=_[_0x3543('0x52')](_0x5ee050['where'],_0x47863b);}_0x5ee050=_[_0x3543('0x52')]({},_0x5ee050,_0x26a732[_0x3543('0x65')]);return db['MailMessage'][_0x3543('0x33')]({'where':_0x5ee050[_0x3543('0x4f')]})[_0x3543('0x21')](function(_0x354153){_0x3a193b['count']=_0x354153;if(_0x26a732[_0x3543('0x46')][_0x3543('0x53')]){_0x5ee050[_0x3543('0x54')]=[{'all':!![]}];}return db[_0x3543('0xa1')][_0x3543('0x66')](_0x5ee050);})[_0x3543('0x21')](function(_0x4d7283){if(_0x26a732[_0x3543('0x46')][_0x3543('0xa2')]===_0x3543('0xa3')){for(var _0x39fb30=0x0;_0x39fb30<_0x4d7283['length'];_0x39fb30++){_0x4d7283[_0x39fb30][_0x3543('0x5b')]=juice(_0x4d7283[_0x39fb30]['body']);}}_0x3a193b[_0x3543('0x55')]=_0x4d7283;return _0x3a193b;});}})[_0x3543('0x21')](respondWithFilteredResult(_0xecbab8,_0x5ee050))['catch'](handleError(_0xecbab8,null));};exports['send']=function(_0x75d706,_0x21837d,_0x31f08a){var _0x1b8d98,_0x1ebf7f={},_0x139045;if(_0x75d706['body']['to']){_0x139045=_0x75d706[_0x3543('0x5b')]['to'][_0x3543('0x9f')](',')[0x0];}return db['MailAccount'][_0x3543('0x5c')]({'where':{'id':_0x75d706['params']['id']},'include':[{'model':db[_0x3543('0xa4')],'as':_0x3543('0xa5'),'include':[{'model':db[_0x3543('0x8b')],'as':_0x3543('0xa6'),'where':{'email':_0x139045},'limit':0x1,'order':[['updatedAt',_0x3543('0xa7')]]}]},{'model':db[_0x3543('0x58')],'as':_0x3543('0x59'),'raw':!![]}]})[_0x3543('0x21')](handleEntityNotFound(_0x21837d,null))[_0x3543('0x21')](function(_0x5430a2){if(_0x5430a2){_0x1b8d98=_0x5430a2;if(_0x5430a2[_0x3543('0x59')]){if(_[_0x3543('0x6d')](_0x75d706[_0x3543('0x5b')][_0x3543('0xa8')])){_0x75d706[_0x3543('0x5b')]['from']=util[_0x3543('0xa9')]('%s\x20<%s>',_0x5430a2[_0x3543('0x3c')],_0x5430a2[_0x3543('0x6c')]||_0x5430a2[_0x3543('0x59')]['user']);}if(_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')]&&_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')][_0x3543('0x4b')]){for(var _0x4489fb=0x0;_0x4489fb<_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')][_0x3543('0x4b')];_0x4489fb+=0x1){_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')][_0x4489fb]={'filename':_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')][_0x4489fb][_0x3543('0x3c')],'path':path[_0x3543('0xab')](config['root'],_0x3543('0xac'),_0x75d706[_0x3543('0x5b')][_0x3543('0xaa')][_0x4489fb][_0x3543('0xad')])};}}var _0x9d61d9={'tls':{'rejectUnauthorized':![]}};if(_[_0x3543('0x6d')](_0x5430a2['Smtp'][_0x3543('0x77')])){if(_0x5430a2[_0x3543('0x59')][_0x3543('0x74')]){_0x9d61d9[_0x3543('0xae')]={'user':_0x5430a2[_0x3543('0x59')]['user'],'pass':_0x5430a2[_0x3543('0x59')][_0x3543('0x79')]};}_0x9d61d9['host']=_0x5430a2['Smtp'][_0x3543('0x75')];_0x9d61d9[_0x3543('0x76')]=_0x5430a2[_0x3543('0x59')][_0x3543('0x76')];_0x9d61d9[_0x3543('0xaf')]=_0x5430a2[_0x3543('0x59')][_0x3543('0xaf')];}else{_0x9d61d9[_0x3543('0x77')]=_0x5430a2[_0x3543('0x59')]['service'];_0x9d61d9[_0x3543('0xae')]={'user':_0x5430a2[_0x3543('0x59')][_0x3543('0x71')],'pass':_0x5430a2[_0x3543('0x59')][_0x3543('0x79')]};}return respondWithRpcPromise('SendMail',_0x3543('0xb0'),{'account':_0x9d61d9,'message':_0x75d706[_0x3543('0x5b')]});}else{throw new Error(_0x3543('0xb1'));}}})[_0x3543('0x21')](function(_0x39eaef){if(_0x39eaef){_0x1ebf7f=_0x39eaef;if(_0x1b8d98[_0x3543('0xa5')]){if(_0x1b8d98[_0x3543('0xa5')][_0x3543('0xa6')]['length']){return _0x1b8d98[_0x3543('0xa5')][_0x3543('0xa6')][0x0];}else{return db['CmContact']['create'](_['defaults'](_0x75d706['body'],{'firstName':_0x75d706['body']['to'],'email':_0x75d706['body']['to'],'phone':_0x75d706[_0x3543('0x5b')]['to'],'ListId':_0x1b8d98[_0x3543('0xb2')]}));}}else{throw new Error(_0x3543('0xb1'));}}})[_0x3543('0x21')](function(_0x8fc48a){if(_0x8fc48a){var _0x56bde7={'UserId':_0x75d706[_0x3543('0x71')]['id'],'ContactId':_0x8fc48a['id'],'MailAccountId':_0x1b8d98['id'],'inReplyTo':_0x1ebf7f['messageId'],'to':_0x75d706[_0x3543('0x5b')][_0x3543('0xa8')],'cc':_0x75d706[_0x3543('0x5b')]['cc'],'subject':_0x75d706[_0x3543('0x5b')]['subject'],'attach':_0x75d706[_0x3543('0x5b')][_0x3543('0xb3')],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0x3543('0xa0')),'lastMsgDirection':'out','Messages':[_[_0x3543('0x52')](_0x75d706[_0x3543('0x5b')],{'messageId':_0x1ebf7f[_0x3543('0xb4')],'sentAt':moment()['format'](_0x3543('0xa0')),'read':!![],'MailAccountId':_0x1b8d98['id'],'UserId':_0x75d706[_0x3543('0x71')]['id'],'ContactId':_0x8fc48a['id']})]};if(_0x75d706[_0x3543('0x5b')]['Interaction']){_0x56bde7=_[_0x3543('0x52')](_0x56bde7,_0x75d706[_0x3543('0x5b')]['Interaction']);}return db[_0x3543('0x88')][_0x3543('0x60')](_0x56bde7,{'include':[{'model':db[_0x3543('0xa1')],'as':_0x3543('0xb5')}]});}})['then'](respondWithResult(_0x21837d,null))['catch'](handleError(_0x21837d,null));};exports[_0x3543('0xb6')]=function(_0x3373cf,_0xdc7438,_0x18494a){return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0x3373cf[_0x3543('0x56')]['id']},'include':[{'model':db[_0x3543('0x58')],'as':'Smtp','raw':!![]}]})[_0x3543('0x21')](handleEntityNotFound(_0xdc7438,null))[_0x3543('0x21')](function(_0x52932c){if(_0x52932c&&_0x52932c[_0x3543('0x59')]){var _0x164388={'id':_0x52932c['id'],'tls':{'rejectUnauthorized':![]}};if(_0x52932c[_0x3543('0x59')][_0x3543('0x77')]){_0x164388[_0x3543('0x77')]=_0x52932c[_0x3543('0x59')][_0x3543('0x77')];}else{_0x164388[_0x3543('0x75')]=_0x52932c[_0x3543('0x59')][_0x3543('0x75')];_0x164388['port']=_0x52932c['Smtp'][_0x3543('0x76')];_0x164388['secure']=_0x52932c['Smtp'][_0x3543('0xaf')];}if(_0x52932c[_0x3543('0x59')][_0x3543('0x74')]){_0x164388[_0x3543('0xae')]={'user':_0x52932c[_0x3543('0x59')][_0x3543('0x71')],'pass':_0x52932c[_0x3543('0x59')]['pass']};}return respondWithRpcPromise('VerifySmtp',_0x3543('0xb6'),{'account':_0x164388});}})['then'](respondWithResult(_0xdc7438,null))[_0x3543('0x2c')](handleError(_0xdc7438,null));};exports[_0x3543('0x39')]=function(_0x598ca1,_0x4283ad){return db[_0x3543('0x40')]['find']({'where':{'id':_0x598ca1[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x4283ad,null))[_0x3543('0x21')](function(_0x57ed53){if(_0x57ed53&&_0x57ed53[_0x3543('0x77')]){throw new db[(_0x3543('0xb7'))][(_0x3543('0xb8'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x57ed53;})[_0x3543('0x21')](removeEntity(_0x4283ad,null))['catch'](handleError(_0x4283ad,null));};exports[_0x3543('0xb9')]=function(_0x78205d,_0x59c6c7,_0x39b060){return db[_0x3543('0x40')]['find']({'where':{'id':_0x78205d[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x59c6c7,null))[_0x3543('0x21')](function(_0x2c3f94){if(_0x2c3f94){return _0x2c3f94[_0x3543('0xb9')](_0x78205d[_0x3543('0x5b')][_0x3543('0x68')],_[_0x3543('0x89')](_0x78205d[_0x3543('0x5b')],[_0x3543('0x68'),'id'])||{})[_0x3543('0xba')](function(_0x5c0fdd){for(var _0x1b1a3f=0x0;_0x1b1a3f<_0x78205d[_0x3543('0x5b')][_0x3543('0x68')]['length'];_0x1b1a3f+=0x1){socket[_0x3543('0xbb')]('userMailAccount:save',{'UserId':Number(_0x78205d[_0x3543('0x5b')][_0x3543('0x68')][_0x1b1a3f]),'MailAccountId':Number(_0x78205d[_0x3543('0x56')]['id'])});}return _0x5c0fdd;});}})['then'](respondWithResult(_0x59c6c7,null))[_0x3543('0x2c')](handleError(_0x59c6c7,null));};exports[_0x3543('0xbc')]=function(_0x2ead73,_0x54887e,_0x52b820){return db[_0x3543('0x40')][_0x3543('0x5c')]({'where':{'id':_0x2ead73[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x54887e,null))[_0x3543('0x21')](function(_0x36266c){if(_0x36266c){return _0x36266c[_0x3543('0xbc')](_0x2ead73[_0x3543('0x46')]['ids'])[_0x3543('0x21')](function(){if(_[_0x3543('0xbd')](_0x2ead73[_0x3543('0x46')]['ids'])){for(var _0x1433c3=0x0;_0x1433c3<_0x2ead73[_0x3543('0x46')]['ids'][_0x3543('0x4b')];_0x1433c3+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x2ead73[_0x3543('0x46')][_0x3543('0x68')][_0x1433c3]),'MailAccountId':Number(_0x2ead73['params']['id'])});}}else{socket[_0x3543('0xbb')](_0x3543('0xbe'),{'UserId':Number(_0x2ead73['query'][_0x3543('0x68')]),'MailAccountId':Number(_0x2ead73['params']['id'])});}});}})['then'](respondWithStatusCode(_0x54887e,null))[_0x3543('0x2c')](handleError(_0x54887e,null));};exports[_0x3543('0xbf')]=function(_0x4329de,_0x481b1b,_0x320b78){var _0x46d9ff={};var _0x572d42={};var _0x4ff291;var _0x1d3005;return db['MailAccount'][_0x3543('0x62')]({'where':{'id':_0x4329de[_0x3543('0x56')]['id']}})[_0x3543('0x21')](handleEntityNotFound(_0x481b1b,null))['then'](function(_0x498a39){if(_0x498a39){_0x4ff291=_0x498a39;_0x572d42['model']=_[_0x3543('0x5a')](db[_0x3543('0x8d')]['rawAttributes']);_0x572d42['query']=_['keys'](_0x4329de['query']);_0x572d42[_0x3543('0x47')]=_[_0x3543('0x48')](_0x572d42[_0x3543('0x44')],_0x572d42[_0x3543('0x46')]);_0x46d9ff[_0x3543('0x49')]=_[_0x3543('0x48')](_0x572d42[_0x3543('0x44')],qs[_0x3543('0x4a')](_0x4329de[_0x3543('0x46')][_0x3543('0x4a')]));_0x46d9ff[_0x3543('0x49')]=_0x46d9ff[_0x3543('0x49')][_0x3543('0x4b')]?_0x46d9ff[_0x3543('0x49')]:_0x572d42[_0x3543('0x44')];_0x46d9ff['order']=qs[_0x3543('0x63')](_0x4329de['query'][_0x3543('0x63')]);_0x46d9ff['where']=qs[_0x3543('0x47')](_[_0x3543('0x64')](_0x4329de[_0x3543('0x46')],_0x572d42[_0x3543('0x47')]));if(_0x4329de[_0x3543('0x46')][_0x3543('0x50')]){_0x46d9ff[_0x3543('0x4f')]=_[_0x3543('0x52')](_0x46d9ff[_0x3543('0x4f')],{'$or':_['map'](_0x46d9ff['attributes'],function(_0x5e7e09){var _0x39a5da={};_0x39a5da[_0x5e7e09]={'$like':'%'+_0x4329de['query'][_0x3543('0x50')]+'%'};return _0x39a5da;})});}_0x46d9ff=_[_0x3543('0x52')]({},_0x46d9ff,_0x4329de[_0x3543('0x65')]);return _0x4ff291[_0x3543('0xbf')](_0x46d9ff);}})[_0x3543('0x21')](function(_0x1f98a5){if(_0x1f98a5){_0x1d3005=_0x1f98a5['length'];if(!_0x4329de[_0x3543('0x46')][_0x3543('0x4c')](_0x3543('0x4d'))){_0x46d9ff[_0x3543('0x32')]=qs[_0x3543('0x32')](_0x4329de[_0x3543('0x46')][_0x3543('0x32')]);_0x46d9ff[_0x3543('0x30')]=qs['offset'](_0x4329de[_0x3543('0x46')][_0x3543('0x30')]);}return _0x4ff291[_0x3543('0xbf')](_0x46d9ff);}})['then'](function(_0x8d60e3){if(_0x8d60e3){return _0x8d60e3?{'count':_0x1d3005,'rows':_0x8d60e3}:null;}})['then'](respondWithResult(_0x481b1b,null))[_0x3543('0x2c')](handleError(_0x481b1b,null));};