63ee57c229bf885def7ecb683e6c69a5ca831c10
[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 _0xc898=['UserProfileSection','MailAccounts','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','fullname','internal','Tag','Tags','color','tag','sequelize','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','inlineCss','CmList','List','Contacts','from','format','%s\x20<%s>','attachments','root','auth','secure','SendMail','sendMail','defaults','messageId','subject','attach','out','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','zip-dir','fast-json-patch','moment','bluebird','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','sendStatus','end','status','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','get','UserProfileResource','destroy','stack','name','send','render','contact','agent','index','Imap','Smtp','Pause','mandatoryDispositionPause','map','fieldName','type','key','query','keys','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','MailAccount','include','findAll','catch','show','params','MailServerIn','MailServerOut','rawAttributes','includeAll','body','find','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','rows','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','ListId','active','description','isNil','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role'];(function(_0x18d3e7,_0x1e8acc){var _0x275620=function(_0x33afb9){while(--_0x33afb9){_0x18d3e7['push'](_0x18d3e7['shift']());}};_0x275620(++_0x1e8acc);}(_0xc898,0x102));var _0x8c89=function(_0x37e07d,_0x1af913){_0x37e07d=_0x37e07d-0x0;var _0x18557b=_0xc898[_0x37e07d];return _0x18557b;};'use strict';var emlformat=require(_0x8c89('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8c89('0x1'));var jsonpatch=require(_0x8c89('0x2'));var rp=require('request-promise');var moment=require(_0x8c89('0x3'));var BPromise=require(_0x8c89('0x4'));var Mustache=require('mustache');var util=require(_0x8c89('0x5'));var path=require(_0x8c89('0x6'));var sox=require('sox');var csv=require(_0x8c89('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x8c89('0x8'));var _=require(_0x8c89('0x9'));var squel=require(_0x8c89('0xa'));var crypto=require(_0x8c89('0xb'));var jsforce=require(_0x8c89('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x8c89('0x7'));var querystring=require(_0x8c89('0xd'));var Papa=require(_0x8c89('0xe'));var htmlToText=require(_0x8c89('0xf'));var juice=require(_0x8c89('0x10'));var Redis=require(_0x8c89('0x11'));var authService=require(_0x8c89('0x12'));var qs=require(_0x8c89('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8c89('0x14'));var logger=require(_0x8c89('0x15'))(_0x8c89('0x16'));var utils=require(_0x8c89('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x8c89('0x18'));var db=require(_0x8c89('0x19'))['db'];config[_0x8c89('0x1a')]=_['defaults'](config[_0x8c89('0x1a')],{'host':_0x8c89('0x1b'),'port':0x18eb});var socket=require(_0x8c89('0x1c'))(new Redis(config[_0x8c89('0x1a')]));require(_0x8c89('0x1d'))['register'](socket);var jayson=require(_0x8c89('0x1e'));var client=jayson[_0x8c89('0x1f')][_0x8c89('0x20')]({'port':0x232b});function respondWithRpcPromise(_0x38ea65,_0x22fe68,_0x3b6ee3,_0x40f961){return new BPromise(function(_0x47c1ed,_0x660651){var _0x1280c0=_0x40f961||client;return _0x1280c0['request'](_0x38ea65,_0x3b6ee3)[_0x8c89('0x21')](function(_0x51affb){logger['info'](_0x8c89('0x22'),_0x22fe68,_0x8c89('0x23'));logger[_0x8c89('0x24')](_0x8c89('0x25'),_0x22fe68,_0x8c89('0x23'),JSON['stringify'](_0x51affb));if(_0x51affb[_0x8c89('0x26')]){if(_0x51affb['error'][_0x8c89('0x27')]===0x1f4){logger['error'](_0x8c89('0x22'),_0x22fe68,_0x51affb['error']['message']);return _0x660651(_0x51affb[_0x8c89('0x26')][_0x8c89('0x28')]);}logger[_0x8c89('0x26')](_0x8c89('0x22'),_0x22fe68,_0x51affb[_0x8c89('0x26')][_0x8c89('0x28')]);return _0x47c1ed(_0x51affb[_0x8c89('0x26')]['message']);}else{logger['info'](_0x8c89('0x22'),_0x22fe68,'request\x20sent');_0x47c1ed(_0x51affb[_0x8c89('0x29')][_0x8c89('0x28')]);}})['catch'](function(_0x26a713){logger['error']('MailAccount,\x20%s,\x20%s',_0x22fe68,_0x26a713);_0x660651(_0x26a713);});});}function respondWithStatusCode(_0x21d5f7,_0x2c1fc7){_0x2c1fc7=_0x2c1fc7||0xcc;return function(_0x31ae95){if(_0x31ae95){return _0x21d5f7[_0x8c89('0x2a')](_0x2c1fc7);}return _0x21d5f7['status'](_0x2c1fc7)[_0x8c89('0x2b')]();};}function respondWithResult(_0x542f25,_0x4286ad){_0x4286ad=_0x4286ad||0xc8;return function(_0xda4fd3){if(_0xda4fd3){return _0x542f25[_0x8c89('0x2c')](_0x4286ad)[_0x8c89('0x2d')](_0xda4fd3);}};}function respondWithFilteredResult(_0x34ee4d,_0x3bd9ab){return function(_0x15d6e7){if(_0x15d6e7){var _0x542bac=typeof _0x3bd9ab[_0x8c89('0x2e')]===_0x8c89('0x2f')&&typeof _0x3bd9ab['limit']===_0x8c89('0x2f');var _0x52c7fe=_0x15d6e7['count'];var _0x353d00=_0x542bac?0x0:_0x3bd9ab[_0x8c89('0x2e')];var _0x2ed807=_0x542bac?_0x15d6e7[_0x8c89('0x30')]:_0x3bd9ab[_0x8c89('0x2e')]+_0x3bd9ab['limit'];var _0x1314ef;if(_0x2ed807>=_0x52c7fe){_0x2ed807=_0x52c7fe;_0x1314ef=0xc8;}else{_0x1314ef=0xce;}_0x34ee4d[_0x8c89('0x2c')](_0x1314ef);return _0x34ee4d[_0x8c89('0x31')](_0x8c89('0x32'),_0x353d00+'-'+_0x2ed807+'/'+_0x52c7fe)[_0x8c89('0x2d')](_0x15d6e7);}return null;};}function patchUpdates(_0x2485ed){return function(_0x57169e){try{jsonpatch[_0x8c89('0x33')](_0x57169e,_0x2485ed,!![]);}catch(_0xfc55fc){return BPromise[_0x8c89('0x34')](_0xfc55fc);}return _0x57169e[_0x8c89('0x35')]();};}function saveUpdates(_0x5cd8f8,_0x19efb8){return function(_0x57b256){if(_0x57b256){return _0x57b256[_0x8c89('0x36')](_0x5cd8f8)[_0x8c89('0x21')](function(_0x39aa3f){return _0x39aa3f;});}return null;};}function removeEntity(_0x417c08,_0x42651d){return function(_0x28712f){if(_0x28712f){return _0x28712f['destroy']()[_0x8c89('0x21')](function(){var _0x69e714=_0x28712f[_0x8c89('0x37')]({'plain':!![]});var _0x3166f7='MailAccounts';return db[_0x8c89('0x38')][_0x8c89('0x39')]({'where':{'type':_0x3166f7,'resourceId':_0x69e714['id']}})[_0x8c89('0x21')](function(){return _0x28712f;});})[_0x8c89('0x21')](function(){_0x417c08[_0x8c89('0x2c')](0xcc)[_0x8c89('0x2b')]();});}};}function handleEntityNotFound(_0x210b71,_0x4bdef4){return function(_0x78d7a8){if(!_0x78d7a8){_0x210b71[_0x8c89('0x2a')](0x194);}return _0x78d7a8;};}function handleError(_0x2dfc15,_0x31951d){_0x31951d=_0x31951d||0x1f4;return function(_0x2eac79){logger[_0x8c89('0x26')](_0x2eac79[_0x8c89('0x3a')]);if(_0x2eac79[_0x8c89('0x3b')]){delete _0x2eac79[_0x8c89('0x3b')];}_0x2dfc15['status'](_0x31951d)[_0x8c89('0x3c')](_0x2eac79);};}function getMustacheRender(_0xae8822,_0x3c7bfc){return Mustache[_0x8c89('0x3d')](_0xae8822,_['merge'](_0x3c7bfc['body'],{'contact':_0x3c7bfc[_0x8c89('0x3e')],'message':_0x3c7bfc[_0x8c89('0x28')],'agent':_0x3c7bfc[_0x8c89('0x3f')],'interaction':_0x3c7bfc['interaction'],'account':_0x3c7bfc['account']}))||'';}exports[_0x8c89('0x40')]=function(_0x3418d9,_0x3ba8a0){var _0xc31222={'include':[{'model':db['MailServerIn'],'as':_0x8c89('0x41')},{'model':db['MailServerOut'],'as':_0x8c89('0x42')},{'model':db[_0x8c89('0x43')],'as':_0x8c89('0x44')}]},_0x4bd2ee={},_0x4aa283={'count':0x0,'rows':[]};var _0x25f987=_[_0x8c89('0x45')](db['MailAccount']['rawAttributes'],function(_0x588532){return{'name':_0x588532[_0x8c89('0x46')],'type':_0x588532[_0x8c89('0x47')][_0x8c89('0x48')]};});_0x4bd2ee['model']=_[_0x8c89('0x45')](_0x25f987,_0x8c89('0x3b'));_0x4bd2ee[_0x8c89('0x49')]=_[_0x8c89('0x4a')](_0x3418d9[_0x8c89('0x49')]);_0x4bd2ee[_0x8c89('0x4b')]=_['intersection'](_0x4bd2ee[_0x8c89('0x4c')],_0x4bd2ee[_0x8c89('0x49')]);_0xc31222['attributes']=_[_0x8c89('0x4d')](_0x4bd2ee['model'],qs[_0x8c89('0x4e')](_0x3418d9['query'][_0x8c89('0x4e')]));_0xc31222[_0x8c89('0x4f')]=_0xc31222[_0x8c89('0x4f')][_0x8c89('0x50')]?_0xc31222[_0x8c89('0x4f')]:_0x4bd2ee[_0x8c89('0x4c')];if(!_0x3418d9[_0x8c89('0x49')][_0x8c89('0x51')](_0x8c89('0x52'))){_0xc31222[_0x8c89('0x53')]=qs[_0x8c89('0x53')](_0x3418d9[_0x8c89('0x49')]['limit']);_0xc31222[_0x8c89('0x2e')]=qs['offset'](_0x3418d9[_0x8c89('0x49')][_0x8c89('0x2e')]);}_0xc31222[_0x8c89('0x54')]=qs[_0x8c89('0x55')](_0x3418d9[_0x8c89('0x49')][_0x8c89('0x55')]);_0xc31222[_0x8c89('0x56')]=qs[_0x8c89('0x4b')](_[_0x8c89('0x57')](_0x3418d9['query'],_0x4bd2ee[_0x8c89('0x4b')]),_0x25f987);if(_0x3418d9[_0x8c89('0x49')]['filter']){_0xc31222[_0x8c89('0x56')]=_[_0x8c89('0x58')](_0xc31222[_0x8c89('0x56')],{'$or':_[_0x8c89('0x45')](_0x25f987,function(_0x28d9e1){if(_0x28d9e1[_0x8c89('0x47')]!==_0x8c89('0x59')){var _0x2528f4={};_0x2528f4[_0x28d9e1[_0x8c89('0x3b')]]={'$like':'%'+_0x3418d9[_0x8c89('0x49')][_0x8c89('0x5a')]+'%'};return _0x2528f4;}})});}_0xc31222=_[_0x8c89('0x58')]({},_0xc31222,_0x3418d9[_0x8c89('0x5b')]);var _0x418c10={'where':_0xc31222[_0x8c89('0x56')]};return db[_0x8c89('0x5c')][_0x8c89('0x30')](_0x418c10)[_0x8c89('0x21')](function(_0x4eb6ec){_0x4aa283[_0x8c89('0x30')]=_0x4eb6ec;if(_0x3418d9[_0x8c89('0x49')]['includeAll']){_0xc31222[_0x8c89('0x5d')]=[{'all':!![]}];}return db['MailAccount'][_0x8c89('0x5e')](_0xc31222);})[_0x8c89('0x21')](function(_0x51bc11){_0x4aa283['rows']=_0x51bc11;return _0x4aa283;})[_0x8c89('0x21')](respondWithFilteredResult(_0x3ba8a0,_0xc31222))[_0x8c89('0x5f')](handleError(_0x3ba8a0,null));};exports[_0x8c89('0x60')]=function(_0x305876,_0x4f3f0f){var _0x44a55e={'raw':![],'where':{'id':_0x305876[_0x8c89('0x61')]['id']},'include':[{'model':db[_0x8c89('0x62')],'as':_0x8c89('0x41')},{'model':db[_0x8c89('0x63')],'as':_0x8c89('0x42')},{'model':db['Pause'],'as':_0x8c89('0x44')}]},_0x3418cc={};_0x3418cc[_0x8c89('0x4c')]=_['keys'](db['MailAccount'][_0x8c89('0x64')]);_0x3418cc[_0x8c89('0x49')]=_[_0x8c89('0x4a')](_0x305876[_0x8c89('0x49')]);_0x3418cc['filters']=_[_0x8c89('0x4d')](_0x3418cc[_0x8c89('0x4c')],_0x3418cc['query']);_0x44a55e[_0x8c89('0x4f')]=_[_0x8c89('0x4d')](_0x3418cc[_0x8c89('0x4c')],qs[_0x8c89('0x4e')](_0x305876[_0x8c89('0x49')][_0x8c89('0x4e')]));_0x44a55e[_0x8c89('0x4f')]=_0x44a55e['attributes']['length']?_0x44a55e[_0x8c89('0x4f')]:_0x3418cc['model'];if(_0x305876['query'][_0x8c89('0x65')]){_0x44a55e[_0x8c89('0x5d')]=[{'all':!![]}];}_0x44a55e=_[_0x8c89('0x58')]({},_0x44a55e,_0x305876[_0x8c89('0x5b')]);return db[_0x8c89('0x5c')]['find'](_0x44a55e)['then'](handleEntityNotFound(_0x4f3f0f,null))[_0x8c89('0x21')](respondWithResult(_0x4f3f0f,null))[_0x8c89('0x5f')](handleError(_0x4f3f0f,null));};exports[_0x8c89('0x36')]=function(_0x4d4219,_0x15280d){if(_0x4d4219['body']['id']){delete _0x4d4219[_0x8c89('0x66')]['id'];}return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x4d4219[_0x8c89('0x61')]['id']},'include':[{'model':db[_0x8c89('0x62')],'as':_0x8c89('0x41')},{'model':db[_0x8c89('0x63')],'as':'Smtp'},{'model':db['Pause'],'as':_0x8c89('0x44')}]})['then'](handleEntityNotFound(_0x15280d,null))[_0x8c89('0x21')](saveUpdates(_0x4d4219[_0x8c89('0x66')],null))[_0x8c89('0x21')](function(_0x33d436){if(_0x33d436&&_0x4d4219[_0x8c89('0x66')]['Imap']){return db[_0x8c89('0x62')][_0x8c89('0x36')](_0x4d4219[_0x8c89('0x66')][_0x8c89('0x41')],{'where':{'MailAccountId':_0x33d436['id']}})[_0x8c89('0x21')](function(){return _0x33d436;});}return _0x33d436;})[_0x8c89('0x21')](function(_0x2de724){if(_0x2de724&&_0x4d4219[_0x8c89('0x66')][_0x8c89('0x42')]){return db['MailServerOut'][_0x8c89('0x36')](_0x4d4219['body'][_0x8c89('0x42')],{'where':{'MailAccountId':_0x2de724['id']}})['then'](function(){return _0x2de724;});}return _0x2de724;})[_0x8c89('0x21')](respondWithResult(_0x15280d,null))[_0x8c89('0x5f')](handleError(_0x15280d,null));};exports[_0x8c89('0x68')]=function(_0x3c6459,_0x11caa4){return db[_0x8c89('0x5c')][_0x8c89('0x68')]()[_0x8c89('0x21')](respondWithResult(_0x11caa4,null))['catch'](handleError(_0x11caa4,null));};exports[_0x8c89('0x69')]=function(_0x338176,_0x117c6b,_0x369969){if(_0x338176[_0x8c89('0x66')]['id']){delete _0x338176[_0x8c89('0x66')]['id'];}return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x338176[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x117c6b,null))[_0x8c89('0x21')](function(_0x11758a){if(_0x11758a){_0x338176['body'][_0x8c89('0x6a')]=_0x11758a['id'];return db[_0x8c89('0x6b')][_0x8c89('0x6c')](_0x338176[_0x8c89('0x66')]);}})[_0x8c89('0x21')](respondWithResult(_0x117c6b,null))[_0x8c89('0x5f')](handleError(_0x117c6b,null));};exports[_0x8c89('0x6d')]=function(_0x4b9f5f,_0xd552d8,_0xcafff9){var _0x326c50={'raw':![],'where':{}};var _0x34f13f={};var _0x300a38={'count':0x0,'rows':[]};return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x4b9f5f[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0xd552d8,null))[_0x8c89('0x21')](function(_0x7e6d33){if(_0x7e6d33){_0x34f13f[_0x8c89('0x4c')]=_[_0x8c89('0x4a')](db[_0x8c89('0x6b')]['rawAttributes']);_0x34f13f[_0x8c89('0x49')]=_['keys'](_0x4b9f5f[_0x8c89('0x49')]);_0x34f13f['filters']=_['intersection'](_0x34f13f[_0x8c89('0x4c')],_0x34f13f[_0x8c89('0x49')]);_0x326c50[_0x8c89('0x4f')]=_[_0x8c89('0x4d')](_0x34f13f[_0x8c89('0x4c')],qs['fields'](_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x4e')]));_0x326c50[_0x8c89('0x4f')]=_0x326c50[_0x8c89('0x4f')][_0x8c89('0x50')]?_0x326c50[_0x8c89('0x4f')]:_0x34f13f[_0x8c89('0x4c')];if(!_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x51')](_0x8c89('0x52'))){_0x326c50[_0x8c89('0x53')]=qs['limit'](_0x4b9f5f['query']['limit']);_0x326c50[_0x8c89('0x2e')]=qs['offset'](_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x2e')]);}_0x326c50[_0x8c89('0x54')]=qs[_0x8c89('0x55')](_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x55')]);_0x326c50[_0x8c89('0x56')]=qs['filters'](_['pick'](_0x4b9f5f[_0x8c89('0x49')],_0x34f13f[_0x8c89('0x4b')]));_0x326c50['where'][_0x8c89('0x6a')]=_0x7e6d33['id'];if(_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x5a')]){_0x326c50['where']=_[_0x8c89('0x58')](_0x326c50['where'],{'$or':_[_0x8c89('0x45')](_0x326c50[_0x8c89('0x4f')],function(_0x4c0bc9){var _0x3cd89c={};_0x3cd89c[_0x4c0bc9]={'$like':'%'+_0x4b9f5f[_0x8c89('0x49')]['filter']+'%'};return _0x3cd89c;})});}_0x326c50=_[_0x8c89('0x58')]({},_0x326c50,_0x4b9f5f['options']);return db['Disposition'][_0x8c89('0x30')]({'where':_0x326c50[_0x8c89('0x56')]})[_0x8c89('0x21')](function(_0x262e56){_0x300a38[_0x8c89('0x30')]=_0x262e56;if(_0x4b9f5f[_0x8c89('0x49')][_0x8c89('0x65')]){_0x326c50[_0x8c89('0x5d')]=[{'all':!![]}];}return db[_0x8c89('0x6b')]['findAll'](_0x326c50);})[_0x8c89('0x21')](function(_0x34f77a){_0x300a38[_0x8c89('0x6f')]=_0x34f77a;return _0x300a38;});}})['then'](respondWithFilteredResult(_0xd552d8,_0x326c50))['catch'](handleError(_0xd552d8,null));};exports['removeDispositions']=function(_0xb4ad80,_0x1b279d,_0x51fdcb){return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0xb4ad80['params']['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x1b279d,null))[_0x8c89('0x21')](function(_0x31bd3b){if(_0x31bd3b){return _0x31bd3b[_0x8c89('0x70')](_0xb4ad80['query'][_0x8c89('0x71')]);}})[_0x8c89('0x21')](respondWithStatusCode(_0x1b279d,null))[_0x8c89('0x5f')](handleError(_0x1b279d,null));};exports[_0x8c89('0x72')]=function(_0x34fc98,_0x4f6d6c,_0x4ba2e8){if(_0x34fc98[_0x8c89('0x66')]['id']){delete _0x34fc98[_0x8c89('0x66')]['id'];}return db['MailAccount'][_0x8c89('0x67')]({'where':{'id':_0x34fc98[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x4f6d6c,null))['then'](function(_0x3d26ec){if(_0x3d26ec){_0x34fc98[_0x8c89('0x66')][_0x8c89('0x6a')]=_0x3d26ec['id'];return db['CannedAnswer'][_0x8c89('0x6c')](_0x34fc98[_0x8c89('0x66')]);}})[_0x8c89('0x21')](respondWithResult(_0x4f6d6c,null))[_0x8c89('0x5f')](handleError(_0x4f6d6c,null));};exports['getAnswers']=function(_0x4d6e80,_0x5e138c,_0x37fbba){var _0x1dabd6={'raw':![],'where':{}};var _0x3f591a={};var _0x5f3488={'count':0x0,'rows':[]};return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x4d6e80[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x5e138c,null))[_0x8c89('0x21')](function(_0x4235fc){if(_0x4235fc){_0x3f591a['model']=_[_0x8c89('0x4a')](db[_0x8c89('0x73')][_0x8c89('0x64')]);_0x3f591a[_0x8c89('0x49')]=_[_0x8c89('0x4a')](_0x4d6e80[_0x8c89('0x49')]);_0x3f591a['filters']=_[_0x8c89('0x4d')](_0x3f591a['model'],_0x3f591a[_0x8c89('0x49')]);_0x1dabd6[_0x8c89('0x4f')]=_[_0x8c89('0x4d')](_0x3f591a[_0x8c89('0x4c')],qs[_0x8c89('0x4e')](_0x4d6e80[_0x8c89('0x49')]['fields']));_0x1dabd6[_0x8c89('0x4f')]=_0x1dabd6[_0x8c89('0x4f')][_0x8c89('0x50')]?_0x1dabd6['attributes']:_0x3f591a[_0x8c89('0x4c')];if(!_0x4d6e80[_0x8c89('0x49')]['hasOwnProperty'](_0x8c89('0x52'))){_0x1dabd6[_0x8c89('0x53')]=qs[_0x8c89('0x53')](_0x4d6e80[_0x8c89('0x49')]['limit']);_0x1dabd6[_0x8c89('0x2e')]=qs[_0x8c89('0x2e')](_0x4d6e80['query'][_0x8c89('0x2e')]);}_0x1dabd6[_0x8c89('0x54')]=qs[_0x8c89('0x55')](_0x4d6e80['query']['sort']);_0x1dabd6[_0x8c89('0x56')]=qs[_0x8c89('0x4b')](_[_0x8c89('0x57')](_0x4d6e80[_0x8c89('0x49')],_0x3f591a[_0x8c89('0x4b')]));_0x1dabd6['where'][_0x8c89('0x6a')]=_0x4235fc['id'];if(_0x4d6e80[_0x8c89('0x49')][_0x8c89('0x5a')]){_0x1dabd6[_0x8c89('0x56')]=_[_0x8c89('0x58')](_0x1dabd6[_0x8c89('0x56')],{'$or':_[_0x8c89('0x45')](_0x1dabd6[_0x8c89('0x4f')],function(_0xeee45a){var _0x4858f2={};_0x4858f2[_0xeee45a]={'$like':'%'+_0x4d6e80[_0x8c89('0x49')][_0x8c89('0x5a')]+'%'};return _0x4858f2;})});}_0x1dabd6=_[_0x8c89('0x58')]({},_0x1dabd6,_0x4d6e80[_0x8c89('0x5b')]);return db[_0x8c89('0x73')][_0x8c89('0x30')]({'where':_0x1dabd6[_0x8c89('0x56')]})[_0x8c89('0x21')](function(_0x1bb19e){_0x5f3488['count']=_0x1bb19e;if(_0x4d6e80[_0x8c89('0x49')][_0x8c89('0x65')]){_0x1dabd6[_0x8c89('0x5d')]=[{'all':!![]}];}return db[_0x8c89('0x73')][_0x8c89('0x5e')](_0x1dabd6);})[_0x8c89('0x21')](function(_0x1e2f69){_0x5f3488[_0x8c89('0x6f')]=_0x1e2f69;return _0x5f3488;});}})['then'](respondWithFilteredResult(_0x5e138c,_0x1dabd6))['catch'](handleError(_0x5e138c,null));};exports[_0x8c89('0x74')]=function(_0x15c85c,_0x5fac65,_0x15eec5){return db['MailAccount'][_0x8c89('0x67')]({'where':{'id':_0x15c85c['params']['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x5fac65,null))[_0x8c89('0x21')](function(_0x384ee3){if(_0x384ee3){return _0x384ee3[_0x8c89('0x74')](_0x15c85c['query']['ids']);}})[_0x8c89('0x21')](respondWithStatusCode(_0x5fac65,null))['catch'](handleError(_0x5fac65,null));};exports[_0x8c89('0x6c')]=function(_0x2ff808,_0x4ffb9b){var _0x440acf={'name':_0x2ff808['body'][_0x8c89('0x3b')],'key':_0x2ff808['body'][_0x8c89('0x48')],'email':_0x2ff808[_0x8c89('0x66')]['email'],'ListId':_0x2ff808['body'][_0x8c89('0x75')],'active':!_['isNil'](_0x2ff808['body'][_0x8c89('0x76')])?_0x2ff808[_0x8c89('0x66')][_0x8c89('0x76')]:!![],'description':_0x2ff808['body'][_0x8c89('0x77')]||null,'Imap':{},'Smtp':{}};if(_[_0x8c89('0x78')](_0x2ff808['body']['cservice'])){if(_0x2ff808[_0x8c89('0x66')]['cauthentication']){_0x440acf[_0x8c89('0x41')][_0x8c89('0x79')]=_0x440acf[_0x8c89('0x42')][_0x8c89('0x79')]=_0x2ff808['body'][_0x8c89('0x7a')];_0x440acf[_0x8c89('0x41')][_0x8c89('0x7b')]=_0x440acf[_0x8c89('0x42')][_0x8c89('0x7c')]=_0x2ff808['body'][_0x8c89('0x7d')];}else{_0x440acf[_0x8c89('0x41')][_0x8c89('0x7e')]=_0x440acf['Smtp'][_0x8c89('0x7e')]=![];}_0x440acf['Imap'][_0x8c89('0x7f')]=_0x2ff808[_0x8c89('0x66')][_0x8c89('0x41')][_0x8c89('0x7f')];_0x440acf[_0x8c89('0x41')][_0x8c89('0x80')]=_0x2ff808['body'][_0x8c89('0x41')][_0x8c89('0x80')];_0x440acf['Smtp']['host']=_0x2ff808[_0x8c89('0x66')][_0x8c89('0x42')]['host'];_0x440acf[_0x8c89('0x42')][_0x8c89('0x80')]=_0x2ff808[_0x8c89('0x66')][_0x8c89('0x42')]['port'];}else{_0x440acf[_0x8c89('0x41')][_0x8c89('0x81')]=_0x440acf[_0x8c89('0x42')][_0x8c89('0x81')]=_0x2ff808[_0x8c89('0x66')]['cservice'];_0x440acf['Imap'][_0x8c89('0x79')]=_0x440acf['Smtp'][_0x8c89('0x79')]=_0x2ff808[_0x8c89('0x66')][_0x8c89('0x7a')];_0x440acf[_0x8c89('0x41')][_0x8c89('0x7b')]=_0x440acf[_0x8c89('0x42')][_0x8c89('0x7c')]=_0x2ff808[_0x8c89('0x66')]['cpassword'];}return db[_0x8c89('0x5c')][_0x8c89('0x6c')](_0x440acf,{'include':[{'model':db[_0x8c89('0x63')],'as':_0x8c89('0x42')},{'model':db[_0x8c89('0x62')],'as':_0x8c89('0x41')}]})[_0x8c89('0x21')](function(_0x586896){var _0x12b5f0=_0x2ff808[_0x8c89('0x79')][_0x8c89('0x37')]({'plain':!![]});if(!_0x12b5f0)throw new Error(_0x8c89('0x82'));if(_0x12b5f0[_0x8c89('0x83')]===_0x8c89('0x79')){var _0x2ab1a8=_0x586896['get']({'plain':!![]});return db[_0x8c89('0x84')][_0x8c89('0x67')]({'where':{'name':_0x8c89('0x85'),'userProfileId':_0x12b5f0[_0x8c89('0x86')]},'raw':!![]})[_0x8c89('0x21')](function(_0xe25dee){if(_0xe25dee&&_0xe25dee[_0x8c89('0x87')]===0x0){return db[_0x8c89('0x38')][_0x8c89('0x6c')]({'name':_0x2ab1a8[_0x8c89('0x3b')],'resourceId':_0x2ab1a8['id'],'type':_0xe25dee[_0x8c89('0x3b')],'sectionId':_0xe25dee['id']},{})[_0x8c89('0x21')](function(){return _0x586896;});}else{return _0x586896;}})['catch'](function(_0x2a75be){logger[_0x8c89('0x26')](_0x8c89('0x88'),_0x2a75be);throw _0x2a75be;});}return _0x586896;})[_0x8c89('0x21')](respondWithResult(_0x4ffb9b,0xc9))[_0x8c89('0x5f')](handleError(_0x4ffb9b,null));};exports[_0x8c89('0x89')]=function(_0x371ba7,_0x586cd2,_0x419246){return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x371ba7[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x586cd2,null))[_0x8c89('0x21')](function(_0x19be05){if(_0x19be05){return _0x19be05['getImap']();}return null;})[_0x8c89('0x21')](respondWithResult(_0x586cd2,null))[_0x8c89('0x5f')](handleError(_0x586cd2,null));};exports[_0x8c89('0x8a')]=function(_0x5699e0,_0x1f01be,_0x508a37){if(_0x5699e0[_0x8c89('0x66')]['id']){delete _0x5699e0[_0x8c89('0x66')]['id'];}return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x5699e0['params']['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x1f01be,null))['then'](function(_0x3c9b89){if(_0x3c9b89){_0x5699e0[_0x8c89('0x66')][_0x8c89('0x6a')]=_0x3c9b89['id'];return db[_0x8c89('0x62')]['create'](_0x5699e0['body']);}})[_0x8c89('0x21')](respondWithResult(_0x1f01be,null))[_0x8c89('0x5f')](handleError(_0x1f01be,null));};exports['removeImap']=function(_0x20a81d,_0x4f4bd8,_0x4fd6ec){return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x20a81d['params']['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x4f4bd8,null))[_0x8c89('0x21')](function(_0x4174be){if(_0x4174be){return _0x4174be[_0x8c89('0x8b')](null);}return null;})[_0x8c89('0x21')](respondWithStatusCode(_0x4f4bd8,null))['catch'](handleError(_0x4f4bd8,null));};exports['getSmtp']=function(_0x12a258,_0x55b2bc,_0xde51a5){return db['MailAccount'][_0x8c89('0x6e')]({'where':{'id':_0x12a258[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x55b2bc,null))[_0x8c89('0x21')](function(_0x16ff13){if(_0x16ff13){return _0x16ff13[_0x8c89('0x8c')]();}return null;})[_0x8c89('0x21')](respondWithResult(_0x55b2bc,null))[_0x8c89('0x5f')](handleError(_0x55b2bc,null));};exports['addSmtp']=function(_0x22f845,_0x4d9fad,_0x1d7c29){if(_0x22f845['body']['id']){delete _0x22f845[_0x8c89('0x66')]['id'];}return db['MailAccount'][_0x8c89('0x67')]({'where':{'id':_0x22f845[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x4d9fad,null))[_0x8c89('0x21')](function(_0x1b1bbe){if(_0x1b1bbe){_0x22f845['body'][_0x8c89('0x6a')]=_0x1b1bbe['id'];return db[_0x8c89('0x63')]['create'](_0x22f845[_0x8c89('0x66')]);}})[_0x8c89('0x21')](respondWithResult(_0x4d9fad,null))[_0x8c89('0x5f')](handleError(_0x4d9fad,null));};exports['removeSmtp']=function(_0x1d13e2,_0x2c3048,_0x2af361){return db['MailAccount'][_0x8c89('0x6e')]({'where':{'id':_0x1d13e2[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x2c3048,null))[_0x8c89('0x21')](function(_0x28454a){if(_0x28454a){return _0x28454a['setSmtp'](null);}return null;})[_0x8c89('0x21')](respondWithStatusCode(_0x2c3048,null))[_0x8c89('0x5f')](handleError(_0x2c3048,null));};exports[_0x8c89('0x8d')]=function(_0xad757e,_0x478814,_0x182ab1){return db[_0x8c89('0x8e')][_0x8c89('0x67')]({'where':{'id':_0xad757e[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x478814,null))[_0x8c89('0x21')](function(_0x58e255){if(_0x58e255){return _0x58e255[_0x8c89('0x8d')](_0xad757e[_0x8c89('0x66')][_0x8c89('0x71')],_[_0x8c89('0x8f')](_0xad757e[_0x8c89('0x66')],[_0x8c89('0x71'),'id'])||{});}})['then'](respondWithResult(_0x478814,null))[_0x8c89('0x5f')](handleError(_0x478814,null));};exports[_0x8c89('0x90')]=function(_0x28e055,_0x46ff3f,_0x5abb6a){var _0x22ed08={'raw':![],'where':{}};var _0x5c09c7={};var _0x246fc3={'count':0x0,'rows':[]};return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x28e055[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x46ff3f,null))[_0x8c89('0x21')](function(_0x51e658){if(_0x51e658){_0x5c09c7[_0x8c89('0x4c')]=_[_0x8c89('0x4a')](db[_0x8c89('0x8e')][_0x8c89('0x64')]);_0x5c09c7[_0x8c89('0x49')]=_[_0x8c89('0x4a')](_0x28e055[_0x8c89('0x49')]);_0x5c09c7[_0x8c89('0x4b')]=_[_0x8c89('0x4d')](_0x5c09c7[_0x8c89('0x4c')],_0x5c09c7[_0x8c89('0x49')]);_0x22ed08[_0x8c89('0x4f')]=_['intersection'](_0x5c09c7[_0x8c89('0x4c')],qs['fields'](_0x28e055[_0x8c89('0x49')]['fields']));_0x22ed08[_0x8c89('0x4f')]=_0x22ed08[_0x8c89('0x4f')]['length']?_0x22ed08[_0x8c89('0x4f')]:_0x5c09c7[_0x8c89('0x4c')];if(!_0x28e055['query'][_0x8c89('0x51')](_0x8c89('0x52'))){_0x22ed08['limit']=qs['limit'](_0x28e055[_0x8c89('0x49')][_0x8c89('0x53')]);_0x22ed08['offset']=qs[_0x8c89('0x2e')](_0x28e055[_0x8c89('0x49')][_0x8c89('0x2e')]);}_0x22ed08[_0x8c89('0x54')]=qs['sort'](_0x28e055[_0x8c89('0x49')]['sort']);_0x22ed08[_0x8c89('0x56')]=qs[_0x8c89('0x4b')](_[_0x8c89('0x57')](_0x28e055[_0x8c89('0x49')],_0x5c09c7[_0x8c89('0x4b')]));_0x22ed08['where'][_0x8c89('0x6a')]=_0x51e658['id'];if(_0x28e055[_0x8c89('0x49')][_0x8c89('0x5a')]){_0x22ed08[_0x8c89('0x56')]=_[_0x8c89('0x58')](_0x22ed08[_0x8c89('0x56')],{'$or':_[_0x8c89('0x45')](_0x22ed08[_0x8c89('0x4f')],function(_0x22e950){var _0x2aaadb={};_0x2aaadb[_0x22e950]={'$like':'%'+_0x28e055[_0x8c89('0x49')][_0x8c89('0x5a')]+'%'};return _0x2aaadb;})});}_0x22ed08=_['merge']({},_0x22ed08,_0x28e055[_0x8c89('0x5b')]);return db['MailInteraction'][_0x8c89('0x30')]({'where':_0x22ed08[_0x8c89('0x56')]})[_0x8c89('0x21')](function(_0x2b7081){_0x246fc3['count']=_0x2b7081;if(_0x28e055['query'][_0x8c89('0x65')]){_0x22ed08[_0x8c89('0x5d')]=[{'model':db[_0x8c89('0x91')],'as':_0x8c89('0x92'),'required':![]},{'model':db[_0x8c89('0x93')],'as':'Owner','attributes':[_0x8c89('0x3b'),_0x8c89('0x94'),_0x8c89('0x95')],'required':![]},{'model':db[_0x8c89('0x96')],'as':_0x8c89('0x97'),'attributes':['id',_0x8c89('0x3b'),_0x8c89('0x98')],'where':_0x28e055[_0x8c89('0x49')][_0x8c89('0x99')]?{'id':_0x28e055['query']['tag']}:undefined,'required':_0x28e055[_0x8c89('0x49')][_0x8c89('0x99')]?!![]:![]}];}return db[_0x8c89('0x8e')]['findAll'](_0x22ed08);})[_0x8c89('0x21')](function(_0x1f12b4){_0x246fc3[_0x8c89('0x6f')]=_0x1f12b4;return _0x246fc3;});}})[_0x8c89('0x21')](respondWithFilteredResult(_0x46ff3f,_0x22ed08))[_0x8c89('0x5f')](handleError(_0x46ff3f,null));};exports['addApplications']=function(_0x1c57cf,_0x190427,_0x435b8a){return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x1c57cf[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x190427,null))[_0x8c89('0x21')](function(_0x2bb3a9){if(_0x2bb3a9){return db[_0x8c89('0x9a')]['transaction'](function(_0x3fafac){return db['MailApplication'][_0x8c89('0x39')]({'where':{'MailAccountId':_0x1c57cf[_0x8c89('0x61')]['id']},'transaction':_0x3fafac})[_0x8c89('0x21')](function(_0x55bc6e){var _0x121d33=_[_0x8c89('0x45')](_0x1c57cf[_0x8c89('0x66')],function(_0x1b5406){_0x1b5406['MailAccountId']=_0x1c57cf[_0x8c89('0x61')]['id'];return _0x1b5406;});return db[_0x8c89('0x9b')]['bulkCreate'](_0x121d33,{'transaction':_0x3fafac});});})[_0x8c89('0x21')](function(){return db['MailApplication'][_0x8c89('0x9c')]({'where':{'MailAccountId':_0x1c57cf[_0x8c89('0x61')]['id']},'order':_0x8c89('0x9d')});});}})[_0x8c89('0x21')](respondWithResult(_0x190427,null))['catch'](handleError(_0x190427,null));};exports[_0x8c89('0x9e')]=function(_0x13e33c,_0x2116cc,_0x3d1279){var _0x2a1666={};var _0x499389={};var _0x5254f8;var _0x1349b7;return db[_0x8c89('0x5c')][_0x8c89('0x6e')]({'where':{'id':_0x13e33c[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x2116cc,null))[_0x8c89('0x21')](function(_0x5e32c5){if(_0x5e32c5){_0x5254f8=_0x5e32c5;_0x499389[_0x8c89('0x4c')]=_['keys'](db[_0x8c89('0x9b')][_0x8c89('0x64')]);_0x499389['query']=_[_0x8c89('0x4a')](_0x13e33c[_0x8c89('0x49')]);_0x499389['filters']=_[_0x8c89('0x4d')](_0x499389['model'],_0x499389['query']);_0x2a1666['attributes']=_[_0x8c89('0x4d')](_0x499389[_0x8c89('0x4c')],qs['fields'](_0x13e33c[_0x8c89('0x49')][_0x8c89('0x4e')]));_0x2a1666[_0x8c89('0x4f')]=_0x2a1666[_0x8c89('0x4f')][_0x8c89('0x50')]?_0x2a1666[_0x8c89('0x4f')]:_0x499389[_0x8c89('0x4c')];_0x2a1666[_0x8c89('0x54')]=qs[_0x8c89('0x55')](_0x13e33c[_0x8c89('0x49')]['sort']);_0x2a1666[_0x8c89('0x56')]=qs[_0x8c89('0x4b')](_[_0x8c89('0x57')](_0x13e33c[_0x8c89('0x49')],_0x499389['filters']));if(_0x13e33c[_0x8c89('0x49')][_0x8c89('0x5a')]){_0x2a1666[_0x8c89('0x56')]=_[_0x8c89('0x58')](_0x2a1666[_0x8c89('0x56')],{'$or':_['map'](_0x2a1666['attributes'],function(_0x5b846e){var _0x5f15a9={};_0x5f15a9[_0x5b846e]={'$like':'%'+_0x13e33c['query'][_0x8c89('0x5a')]+'%'};return _0x5f15a9;})});}_0x2a1666=_[_0x8c89('0x58')]({},_0x2a1666,_0x13e33c['options']);return _0x5254f8[_0x8c89('0x9e')](_0x2a1666);}})['then'](function(_0x2f8ba0){if(_0x2f8ba0){_0x1349b7=_0x2f8ba0[_0x8c89('0x50')];if(!_0x13e33c[_0x8c89('0x49')][_0x8c89('0x51')](_0x8c89('0x52'))){_0x2a1666[_0x8c89('0x53')]=qs[_0x8c89('0x53')](_0x13e33c[_0x8c89('0x49')][_0x8c89('0x53')]);_0x2a1666['offset']=qs[_0x8c89('0x2e')](_0x13e33c[_0x8c89('0x49')]['offset']);}return _0x5254f8[_0x8c89('0x9e')](_0x2a1666);}})['then'](function(_0x2a4845){if(_0x2a4845){return _0x2a4845?{'count':_0x1349b7,'rows':_0x2a4845}:null;}})[_0x8c89('0x21')](respondWithResult(_0x2116cc,null))['catch'](handleError(_0x2116cc,null));};exports[_0x8c89('0x9f')]=function(_0x11f4d1,_0x3818f1,_0x50bb27){var _0x561652={'raw':!![],'where':{}};var _0x4ecfe2={};var _0x1f6bb0={'count':0x0,'rows':[]};return db[_0x8c89('0x5c')]['findOne']({'where':{'id':_0x11f4d1[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x3818f1,null))[_0x8c89('0x21')](function(_0x526556){if(_0x526556){_0x4ecfe2[_0x8c89('0x4c')]=_['keys'](db[_0x8c89('0xa0')][_0x8c89('0x64')]);_0x4ecfe2[_0x8c89('0x49')]=_['keys'](_0x11f4d1[_0x8c89('0x49')]);_0x4ecfe2[_0x8c89('0x4b')]=_[_0x8c89('0x4d')](_0x4ecfe2[_0x8c89('0x4c')],_0x4ecfe2[_0x8c89('0x49')]);_0x561652[_0x8c89('0x4f')]=_[_0x8c89('0x4d')](_0x4ecfe2[_0x8c89('0x4c')],qs[_0x8c89('0x4e')](_0x11f4d1[_0x8c89('0x49')][_0x8c89('0x4e')]));_0x561652[_0x8c89('0x4f')]=_0x561652[_0x8c89('0x4f')][_0x8c89('0x50')]?_0x561652[_0x8c89('0x4f')]:_0x4ecfe2['model'];if(!_0x11f4d1['query'][_0x8c89('0x51')](_0x8c89('0x52'))){_0x561652['limit']=qs[_0x8c89('0x53')](_0x11f4d1[_0x8c89('0x49')][_0x8c89('0x53')]);_0x561652[_0x8c89('0x2e')]=qs[_0x8c89('0x2e')](_0x11f4d1['query'][_0x8c89('0x2e')]);}_0x561652['order']=qs[_0x8c89('0x55')](_0x11f4d1['query']['sort']);_0x561652[_0x8c89('0x56')]=qs[_0x8c89('0x4b')](_[_0x8c89('0x57')](_0x11f4d1[_0x8c89('0x49')],_0x4ecfe2[_0x8c89('0x4b')]));_0x561652[_0x8c89('0x56')][_0x8c89('0x6a')]=_0x526556['id'];if(_0x11f4d1[_0x8c89('0x49')][_0x8c89('0x5a')]){_0x561652[_0x8c89('0x56')]=_[_0x8c89('0x58')](_0x561652[_0x8c89('0x56')],{'$or':_[_0x8c89('0x45')](_0x561652[_0x8c89('0x4f')],function(_0x36e60b){var _0x5dec9b={};_0x5dec9b[_0x36e60b]={'$like':'%'+_0x11f4d1[_0x8c89('0x49')][_0x8c89('0x5a')]+'%'};return _0x5dec9b;})});}if(_0x11f4d1[_0x8c89('0x49')]['$gte']){var _0x31c0a9=_0x11f4d1[_0x8c89('0x49')][_0x8c89('0xa1')][_0x8c89('0xa2')](',');var _0x3feec9={};_0x3feec9[_0x31c0a9[0x0]]={'$gte':moment(_0x31c0a9[0x1])['format'](_0x8c89('0xa3'))};_0x561652['where']=_[_0x8c89('0x58')](_0x561652['where'],_0x3feec9);}_0x561652=_[_0x8c89('0x58')]({},_0x561652,_0x11f4d1[_0x8c89('0x5b')]);return db[_0x8c89('0xa0')]['count']({'where':_0x561652['where']})[_0x8c89('0x21')](function(_0x58465c){_0x1f6bb0['count']=_0x58465c;if(_0x11f4d1[_0x8c89('0x49')][_0x8c89('0x65')]){_0x561652[_0x8c89('0x5d')]=[{'all':!![]}];}return db[_0x8c89('0xa0')][_0x8c89('0x5e')](_0x561652);})['then'](function(_0x13f3e1){if(_0x11f4d1[_0x8c89('0x49')][_0x8c89('0xa4')]==='true'){for(var _0x24366d=0x0;_0x24366d<_0x13f3e1['length'];_0x24366d++){_0x13f3e1[_0x24366d][_0x8c89('0x66')]=juice(_0x13f3e1[_0x24366d][_0x8c89('0x66')]);}}_0x1f6bb0[_0x8c89('0x6f')]=_0x13f3e1;return _0x1f6bb0;});}})['then'](respondWithFilteredResult(_0x3818f1,_0x561652))['catch'](handleError(_0x3818f1,null));};exports[_0x8c89('0x3c')]=function(_0x1f8b14,_0x2ff1e6,_0x2d29e2){var _0x433351,_0x2bf3fd={},_0x1ce057;if(_0x1f8b14[_0x8c89('0x66')]['to']){_0x1ce057=_0x1f8b14['body']['to'][_0x8c89('0xa2')](',')[0x0];}return db[_0x8c89('0x5c')]['find']({'where':{'id':_0x1f8b14['params']['id']},'include':[{'model':db[_0x8c89('0xa5')],'as':_0x8c89('0xa6'),'include':[{'model':db[_0x8c89('0x91')],'as':_0x8c89('0xa7'),'where':{'email':_0x1ce057},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x8c89('0x63')],'as':'Smtp','raw':!![]}]})['then'](handleEntityNotFound(_0x2ff1e6,null))['then'](function(_0x673561){if(_0x673561){_0x433351=_0x673561;if(_0x673561[_0x8c89('0x42')]){if(_[_0x8c89('0x78')](_0x1f8b14[_0x8c89('0x66')]['from'])){_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xa8')]=util[_0x8c89('0xa9')](_0x8c89('0xaa'),_0x673561[_0x8c89('0x3b')],_0x673561['email']||_0x673561[_0x8c89('0x42')][_0x8c89('0x79')]);}if(_0x1f8b14['body'][_0x8c89('0xab')]&&_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xab')][_0x8c89('0x50')]){for(var _0x38b2e7=0x0;_0x38b2e7<_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xab')]['length'];_0x38b2e7+=0x1){_0x1f8b14[_0x8c89('0x66')]['attachments'][_0x38b2e7]={'filename':_0x1f8b14[_0x8c89('0x66')]['attachments'][_0x38b2e7][_0x8c89('0x3b')],'path':path['join'](config[_0x8c89('0xac')],'server/files/attachments',_0x1f8b14[_0x8c89('0x66')]['attachments'][_0x38b2e7]['basename'])};}}var _0x20fb51={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x673561[_0x8c89('0x42')][_0x8c89('0x81')])){if(_0x673561[_0x8c89('0x42')][_0x8c89('0x7e')]){_0x20fb51[_0x8c89('0xad')]={'user':_0x673561[_0x8c89('0x42')][_0x8c89('0x79')],'pass':_0x673561['Smtp'][_0x8c89('0x7c')]};}_0x20fb51[_0x8c89('0x7f')]=_0x673561['Smtp'][_0x8c89('0x7f')];_0x20fb51[_0x8c89('0x80')]=_0x673561[_0x8c89('0x42')][_0x8c89('0x80')];_0x20fb51[_0x8c89('0xae')]=_0x673561[_0x8c89('0x42')]['secure'];}else{_0x20fb51['service']=_0x673561[_0x8c89('0x42')][_0x8c89('0x81')];_0x20fb51['auth']={'user':_0x673561[_0x8c89('0x42')][_0x8c89('0x79')],'pass':_0x673561[_0x8c89('0x42')][_0x8c89('0x7c')]};}return respondWithRpcPromise(_0x8c89('0xaf'),_0x8c89('0xb0'),{'account':_0x20fb51,'message':_0x1f8b14[_0x8c89('0x66')]});}else{throw new Error('List\x20not\x20found');}}})['then'](function(_0x136c97){if(_0x136c97){_0x2bf3fd=_0x136c97;if(_0x433351['List']){if(_0x433351[_0x8c89('0xa6')]['Contacts'][_0x8c89('0x50')]){return _0x433351[_0x8c89('0xa6')][_0x8c89('0xa7')][0x0];}else{return db[_0x8c89('0x91')][_0x8c89('0x6c')](_[_0x8c89('0xb1')](_0x1f8b14[_0x8c89('0x66')],{'firstName':_0x1f8b14[_0x8c89('0x66')]['to'],'email':_0x1f8b14[_0x8c89('0x66')]['to'],'phone':_0x1f8b14['body']['to'],'ListId':_0x433351[_0x8c89('0x75')]}));}}else{throw new Error('List\x20not\x20found');}}})['then'](function(_0x55a595){if(_0x55a595){var _0x3cd123={'UserId':_0x1f8b14[_0x8c89('0x79')]['id'],'ContactId':_0x55a595['id'],'MailAccountId':_0x433351['id'],'inReplyTo':_0x2bf3fd[_0x8c89('0xb2')],'to':_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xa8')],'cc':_0x1f8b14[_0x8c89('0x66')]['cc'],'subject':_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xb3')],'attach':_0x1f8b14[_0x8c89('0x66')][_0x8c89('0xb4')],'firstMsgDirection':_0x8c89('0xb5'),'lastMsgAt':moment()[_0x8c89('0xa9')](_0x8c89('0xa3')),'lastMsgDirection':_0x8c89('0xb5'),'Messages':[_[_0x8c89('0x58')](_0x1f8b14[_0x8c89('0x66')],{'messageId':_0x2bf3fd[_0x8c89('0xb2')],'sentAt':moment()['format'](_0x8c89('0xa3')),'read':!![],'MailAccountId':_0x433351['id'],'UserId':_0x1f8b14[_0x8c89('0x79')]['id'],'ContactId':_0x55a595['id']})]};if(_0x1f8b14[_0x8c89('0x66')]['Interaction']){_0x3cd123=_[_0x8c89('0x58')](_0x3cd123,_0x1f8b14[_0x8c89('0x66')]['Interaction']);}return db[_0x8c89('0x8e')][_0x8c89('0x6c')](_0x3cd123,{'include':[{'model':db[_0x8c89('0xa0')],'as':_0x8c89('0xb6')}]});}})[_0x8c89('0x21')](respondWithResult(_0x2ff1e6,null))['catch'](handleError(_0x2ff1e6,null));};exports[_0x8c89('0xb7')]=function(_0x9232c7,_0x5fa9,_0xc9fdc5){return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x9232c7[_0x8c89('0x61')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x8c89('0x42'),'raw':!![]}]})[_0x8c89('0x21')](handleEntityNotFound(_0x5fa9,null))[_0x8c89('0x21')](function(_0x4fa287){if(_0x4fa287&&_0x4fa287[_0x8c89('0x42')]){var _0x5f2dcc={'id':_0x4fa287['id'],'tls':{'rejectUnauthorized':![]}};if(_0x4fa287[_0x8c89('0x42')][_0x8c89('0x81')]){_0x5f2dcc['service']=_0x4fa287[_0x8c89('0x42')]['service'];}else{_0x5f2dcc[_0x8c89('0x7f')]=_0x4fa287[_0x8c89('0x42')][_0x8c89('0x7f')];_0x5f2dcc[_0x8c89('0x80')]=_0x4fa287['Smtp'][_0x8c89('0x80')];_0x5f2dcc[_0x8c89('0xae')]=_0x4fa287[_0x8c89('0x42')][_0x8c89('0xae')];}if(_0x4fa287[_0x8c89('0x42')][_0x8c89('0x7e')]){_0x5f2dcc[_0x8c89('0xad')]={'user':_0x4fa287[_0x8c89('0x42')][_0x8c89('0x79')],'pass':_0x4fa287['Smtp']['pass']};}return respondWithRpcPromise(_0x8c89('0xb8'),_0x8c89('0xb7'),{'account':_0x5f2dcc});}})[_0x8c89('0x21')](respondWithResult(_0x5fa9,null))['catch'](handleError(_0x5fa9,null));};exports[_0x8c89('0x39')]=function(_0x31e46b,_0x1c3f19){return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x31e46b[_0x8c89('0x61')]['id']}})['then'](handleEntityNotFound(_0x1c3f19,null))[_0x8c89('0x21')](function(_0x32983f){if(_0x32983f&&_0x32983f[_0x8c89('0x81')]){throw new db[(_0x8c89('0xb9'))][(_0x8c89('0xba'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x32983f;})[_0x8c89('0x21')](removeEntity(_0x1c3f19,null))[_0x8c89('0x5f')](handleError(_0x1c3f19,null));};exports[_0x8c89('0xbb')]=function(_0x4774d6,_0x14e7d6,_0x36675e){return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x4774d6[_0x8c89('0x61')]['id']}})['then'](handleEntityNotFound(_0x14e7d6,null))[_0x8c89('0x21')](function(_0x5579c4){if(_0x5579c4){return _0x5579c4['addAgents'](_0x4774d6[_0x8c89('0x66')][_0x8c89('0x71')],_[_0x8c89('0x8f')](_0x4774d6['body'],[_0x8c89('0x71'),'id'])||{})[_0x8c89('0xbc')](function(_0x5bf0f6){for(var _0x301f8c=0x0;_0x301f8c<_0x4774d6[_0x8c89('0x66')][_0x8c89('0x71')]['length'];_0x301f8c+=0x1){socket[_0x8c89('0xbd')](_0x8c89('0xbe'),{'UserId':_0x4774d6[_0x8c89('0x66')][_0x8c89('0x71')][_0x301f8c],'MailAccountId':_0x4774d6[_0x8c89('0x61')]['id']});}return _0x5bf0f6;});}})[_0x8c89('0x21')](respondWithResult(_0x14e7d6,null))[_0x8c89('0x5f')](handleError(_0x14e7d6,null));};exports[_0x8c89('0xbf')]=function(_0x41ca7a,_0x5a5b18,_0x161e3d){return db[_0x8c89('0x5c')][_0x8c89('0x67')]({'where':{'id':_0x41ca7a[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x5a5b18,null))[_0x8c89('0x21')](function(_0x1c41f6){if(_0x1c41f6){return _0x1c41f6[_0x8c89('0xbf')](_0x41ca7a['query'][_0x8c89('0x71')])['then'](function(){if(_[_0x8c89('0xc0')](_0x41ca7a['query'][_0x8c89('0x71')])){for(var _0x4deff0=0x0;_0x4deff0<_0x41ca7a[_0x8c89('0x49')][_0x8c89('0x71')][_0x8c89('0x50')];_0x4deff0+=0x1){socket[_0x8c89('0xbd')]('userMailAccount:remove',{'UserId':Number(_0x41ca7a[_0x8c89('0x49')][_0x8c89('0x71')][_0x4deff0]),'MailAccountId':Number(_0x41ca7a[_0x8c89('0x61')]['id'])});}}else{socket[_0x8c89('0xbd')](_0x8c89('0xc1'),{'UserId':Number(_0x41ca7a[_0x8c89('0x49')][_0x8c89('0x71')]),'MailAccountId':Number(_0x41ca7a[_0x8c89('0x61')]['id'])});}});}})[_0x8c89('0x21')](respondWithStatusCode(_0x5a5b18,null))[_0x8c89('0x5f')](handleError(_0x5a5b18,null));};exports[_0x8c89('0xc2')]=function(_0x33bb08,_0x15a5e0,_0x529593){var _0x593d6f={};var _0x33729f={};var _0x57362f;var _0x2293ed;return db['MailAccount'][_0x8c89('0x6e')]({'where':{'id':_0x33bb08[_0x8c89('0x61')]['id']}})[_0x8c89('0x21')](handleEntityNotFound(_0x15a5e0,null))[_0x8c89('0x21')](function(_0x1dd356){if(_0x1dd356){_0x57362f=_0x1dd356;_0x33729f[_0x8c89('0x4c')]=_[_0x8c89('0x4a')](db[_0x8c89('0x93')][_0x8c89('0x64')]);_0x33729f['query']=_[_0x8c89('0x4a')](_0x33bb08[_0x8c89('0x49')]);_0x33729f[_0x8c89('0x4b')]=_[_0x8c89('0x4d')](_0x33729f[_0x8c89('0x4c')],_0x33729f[_0x8c89('0x49')]);_0x593d6f[_0x8c89('0x4f')]=_[_0x8c89('0x4d')](_0x33729f[_0x8c89('0x4c')],qs[_0x8c89('0x4e')](_0x33bb08[_0x8c89('0x49')][_0x8c89('0x4e')]));_0x593d6f['attributes']=_0x593d6f[_0x8c89('0x4f')][_0x8c89('0x50')]?_0x593d6f['attributes']:_0x33729f[_0x8c89('0x4c')];_0x593d6f[_0x8c89('0x54')]=qs['sort'](_0x33bb08[_0x8c89('0x49')]['sort']);_0x593d6f[_0x8c89('0x56')]=qs['filters'](_[_0x8c89('0x57')](_0x33bb08[_0x8c89('0x49')],_0x33729f[_0x8c89('0x4b')]));if(_0x33bb08[_0x8c89('0x49')]['filter']){_0x593d6f[_0x8c89('0x56')]=_['merge'](_0x593d6f[_0x8c89('0x56')],{'$or':_[_0x8c89('0x45')](_0x593d6f['attributes'],function(_0x1e3822){var _0x19a109={};_0x19a109[_0x1e3822]={'$like':'%'+_0x33bb08[_0x8c89('0x49')]['filter']+'%'};return _0x19a109;})});}_0x593d6f=_[_0x8c89('0x58')]({},_0x593d6f,_0x33bb08[_0x8c89('0x5b')]);return _0x57362f[_0x8c89('0xc2')](_0x593d6f);}})['then'](function(_0x11c3fd){if(_0x11c3fd){_0x2293ed=_0x11c3fd[_0x8c89('0x50')];if(!_0x33bb08[_0x8c89('0x49')][_0x8c89('0x51')]('nolimit')){_0x593d6f['limit']=qs['limit'](_0x33bb08[_0x8c89('0x49')][_0x8c89('0x53')]);_0x593d6f[_0x8c89('0x2e')]=qs[_0x8c89('0x2e')](_0x33bb08[_0x8c89('0x49')][_0x8c89('0x2e')]);}return _0x57362f[_0x8c89('0xc2')](_0x593d6f);}})['then'](function(_0x295b42){if(_0x295b42){return _0x295b42?{'count':_0x2293ed,'rows':_0x295b42}:null;}})['then'](respondWithResult(_0x15a5e0,null))['catch'](handleError(_0x15a5e0,null));};