85b6cb78b65e955ef17e78eee8fbfcab3027a967
[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 _0xabe7=['finally','getApplications','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','Contacts','DESC','from','%s\x20<%s>','attachments','root','server/files/attachments','authentication','secure','auth','SendMail','sendMail','CmContact','defaults','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','localhost','redis','./mailAccount.socket','register','jayson/promise','client','http','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','catch','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','MailAccounts','UserProfileResource','destroy','end','stack','name','send','MailServerIn','Imap','Smtp','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','MailAccount','include','findAll','show','params','MailServerOut','body','describe','find','MailAccountId','Disposition','create','findOne','pick','includeAll','rows','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','ListId','active','description','isNil','cservice','cauthentication','user','cuser','password','pass','cpassword','port','host','service','get','role','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','removeSmtp','MailInteraction','Contact','User','fullname','internal','Tag','Tags','color','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority'];(function(_0x2841e4,_0x34bb40){var _0x21df4c=function(_0x29a3b8){while(--_0x29a3b8){_0x2841e4['push'](_0x2841e4['shift']());}};_0x21df4c(++_0x34bb40);}(_0xabe7,0x1b0));var _0x7abe=function(_0x45b55b,_0x458b97){_0x45b55b=_0x45b55b-0x0;var _0x1d8900=_0xabe7[_0x45b55b];return _0x1d8900;};'use strict';var emlformat=require(_0x7abe('0x0'));var rimraf=require(_0x7abe('0x1'));var zipdir=require(_0x7abe('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7abe('0x3'));var moment=require(_0x7abe('0x4'));var BPromise=require(_0x7abe('0x5'));var Mustache=require('mustache');var util=require(_0x7abe('0x6'));var path=require(_0x7abe('0x7'));var sox=require('sox');var csv=require(_0x7abe('0x8'));var ejs=require(_0x7abe('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7abe('0xa'));var squel=require(_0x7abe('0xb'));var crypto=require(_0x7abe('0xc'));var jsforce=require(_0x7abe('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x7abe('0xe'));var Papa=require(_0x7abe('0xf'));var htmlToText=require(_0x7abe('0x10'));var juice=require(_0x7abe('0x11'));var Redis=require(_0x7abe('0x12'));var authService=require(_0x7abe('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7abe('0x14'));var logger=require('../../config/logger')(_0x7abe('0x15'));var utils=require(_0x7abe('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x7abe('0x17'));var db=require(_0x7abe('0x18'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x7abe('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7abe('0x1a')]));require(_0x7abe('0x1b'))[_0x7abe('0x1c')](socket);var jayson=require(_0x7abe('0x1d'));var client=jayson[_0x7abe('0x1e')][_0x7abe('0x1f')]({'port':0x232b});function respondWithRpcPromise(_0x4e0d20,_0x4fe2f4,_0x467052,_0x4a6cbf){return new BPromise(function(_0x35929f,_0x454427){var _0x56dbe3=_0x4a6cbf||client;return _0x56dbe3['request'](_0x4e0d20,_0x467052)['then'](function(_0x5c3db1){logger[_0x7abe('0x20')]('MailAccount,\x20%s,\x20%s',_0x4fe2f4,_0x7abe('0x21'));logger[_0x7abe('0x22')](_0x7abe('0x23'),_0x4fe2f4,_0x7abe('0x21'),JSON[_0x7abe('0x24')](_0x5c3db1));if(_0x5c3db1[_0x7abe('0x25')]){if(_0x5c3db1['error'][_0x7abe('0x26')]===0x1f4){logger['error'](_0x7abe('0x27'),_0x4fe2f4,_0x5c3db1['error'][_0x7abe('0x28')]);return _0x454427(_0x5c3db1[_0x7abe('0x25')][_0x7abe('0x28')]);}logger[_0x7abe('0x25')](_0x7abe('0x27'),_0x4fe2f4,_0x5c3db1[_0x7abe('0x25')]['message']);return _0x35929f(_0x5c3db1[_0x7abe('0x25')][_0x7abe('0x28')]);}else{logger['info'](_0x7abe('0x27'),_0x4fe2f4,_0x7abe('0x21'));_0x35929f(_0x5c3db1[_0x7abe('0x29')][_0x7abe('0x28')]);}})[_0x7abe('0x2a')](function(_0x19ce00){logger[_0x7abe('0x25')](_0x7abe('0x27'),_0x4fe2f4,_0x19ce00);_0x454427(_0x19ce00);});});}function respondWithStatusCode(_0x4c40e5,_0x585595){_0x585595=_0x585595||0xcc;return function(_0x3cdd47){if(_0x3cdd47){return _0x4c40e5['sendStatus'](_0x585595);}return _0x4c40e5['status'](_0x585595)['end']();};}function respondWithResult(_0x2339a4,_0xa6a52d){_0xa6a52d=_0xa6a52d||0xc8;return function(_0x39cd99){if(_0x39cd99){return _0x2339a4[_0x7abe('0x2b')](_0xa6a52d)[_0x7abe('0x2c')](_0x39cd99);}};}function respondWithFilteredResult(_0x311d44,_0x276f15){return function(_0x38454e){if(_0x38454e){var _0x20cfd9=typeof _0x276f15[_0x7abe('0x2d')]===_0x7abe('0x2e')&&typeof _0x276f15[_0x7abe('0x2f')]===_0x7abe('0x2e');var _0x2b1975=_0x38454e[_0x7abe('0x30')];var _0x3212f8=_0x20cfd9?0x0:_0x276f15[_0x7abe('0x2d')];var _0x527de8=_0x20cfd9?_0x38454e[_0x7abe('0x30')]:_0x276f15[_0x7abe('0x2d')]+_0x276f15[_0x7abe('0x2f')];var _0x3b3fcb;if(_0x527de8>=_0x2b1975){_0x527de8=_0x2b1975;_0x3b3fcb=0xc8;}else{_0x3b3fcb=0xce;}_0x311d44[_0x7abe('0x2b')](_0x3b3fcb);return _0x311d44[_0x7abe('0x31')](_0x7abe('0x32'),_0x3212f8+'-'+_0x527de8+'/'+_0x2b1975)[_0x7abe('0x2c')](_0x38454e);}return null;};}function patchUpdates(_0xe1b38b){return function(_0x592cbe){try{jsonpatch[_0x7abe('0x33')](_0x592cbe,_0xe1b38b,!![]);}catch(_0x39e20f){return BPromise[_0x7abe('0x34')](_0x39e20f);}return _0x592cbe[_0x7abe('0x35')]();};}function saveUpdates(_0x3b1fed,_0x54a30e){return function(_0xbbf06b){if(_0xbbf06b){return _0xbbf06b[_0x7abe('0x36')](_0x3b1fed)['then'](function(_0x11926c){return _0x11926c;});}return null;};}function removeEntity(_0x2c1380,_0x122807){return function(_0xd998f5){if(_0xd998f5){return _0xd998f5['destroy']()[_0x7abe('0x37')](function(){var _0x45cb53=_0xd998f5['get']({'plain':!![]});var _0x322292=_0x7abe('0x38');return db[_0x7abe('0x39')][_0x7abe('0x3a')]({'where':{'type':_0x322292,'resourceId':_0x45cb53['id']}})[_0x7abe('0x37')](function(){return _0xd998f5;});})[_0x7abe('0x37')](function(){_0x2c1380[_0x7abe('0x2b')](0xcc)[_0x7abe('0x3b')]();});}};}function handleEntityNotFound(_0x2f447a,_0x13ab7c){return function(_0x383a3d){if(!_0x383a3d){_0x2f447a['sendStatus'](0x194);}return _0x383a3d;};}function handleError(_0x3ba854,_0x4cd8c7){_0x4cd8c7=_0x4cd8c7||0x1f4;return function(_0x415419){logger[_0x7abe('0x25')](_0x415419[_0x7abe('0x3c')]);if(_0x415419[_0x7abe('0x3d')]){delete _0x415419[_0x7abe('0x3d')];}_0x3ba854[_0x7abe('0x2b')](_0x4cd8c7)[_0x7abe('0x3e')](_0x415419);};}exports['index']=function(_0x2e31f8,_0x4a5f6a){var _0x115b03={'include':[{'model':db[_0x7abe('0x3f')],'as':_0x7abe('0x40')},{'model':db['MailServerOut'],'as':_0x7abe('0x41')},{'model':db[_0x7abe('0x42')],'as':_0x7abe('0x43')}]},_0x2182d8={},_0x1b895a={'count':0x0,'rows':[]};var _0xdbfd8b=_[_0x7abe('0x44')](db['MailAccount'][_0x7abe('0x45')],function(_0x1c85a1){return{'name':_0x1c85a1[_0x7abe('0x46')],'type':_0x1c85a1[_0x7abe('0x47')][_0x7abe('0x48')]};});_0x2182d8[_0x7abe('0x49')]=_[_0x7abe('0x44')](_0xdbfd8b,_0x7abe('0x3d'));_0x2182d8[_0x7abe('0x4a')]=_[_0x7abe('0x4b')](_0x2e31f8[_0x7abe('0x4a')]);_0x2182d8[_0x7abe('0x4c')]=_[_0x7abe('0x4d')](_0x2182d8[_0x7abe('0x49')],_0x2182d8['query']);_0x115b03[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x2182d8[_0x7abe('0x49')],qs['fields'](_0x2e31f8['query'][_0x7abe('0x4f')]));_0x115b03['attributes']=_0x115b03[_0x7abe('0x4e')][_0x7abe('0x50')]?_0x115b03[_0x7abe('0x4e')]:_0x2182d8[_0x7abe('0x49')];if(!_0x2e31f8[_0x7abe('0x4a')][_0x7abe('0x51')](_0x7abe('0x52'))){_0x115b03['limit']=qs['limit'](_0x2e31f8[_0x7abe('0x4a')]['limit']);_0x115b03['offset']=qs[_0x7abe('0x2d')](_0x2e31f8[_0x7abe('0x4a')][_0x7abe('0x2d')]);}_0x115b03[_0x7abe('0x53')]=qs[_0x7abe('0x54')](_0x2e31f8[_0x7abe('0x4a')][_0x7abe('0x54')]);_0x115b03[_0x7abe('0x55')]=qs[_0x7abe('0x4c')](_['pick'](_0x2e31f8[_0x7abe('0x4a')],_0x2182d8[_0x7abe('0x4c')]),_0xdbfd8b);if(_0x2e31f8[_0x7abe('0x4a')][_0x7abe('0x56')]){_0x115b03[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0x115b03['where'],{'$or':_[_0x7abe('0x44')](_0xdbfd8b,function(_0x273c6){if(_0x273c6['type']!==_0x7abe('0x58')){var _0x415d33={};_0x415d33[_0x273c6[_0x7abe('0x3d')]]={'$like':'%'+_0x2e31f8[_0x7abe('0x4a')][_0x7abe('0x56')]+'%'};return _0x415d33;}})});}_0x115b03=_['merge']({},_0x115b03,_0x2e31f8[_0x7abe('0x59')]);var _0x1b21fe={'where':_0x115b03[_0x7abe('0x55')]};return db[_0x7abe('0x5a')][_0x7abe('0x30')](_0x1b21fe)[_0x7abe('0x37')](function(_0xc61f27){_0x1b895a[_0x7abe('0x30')]=_0xc61f27;if(_0x2e31f8[_0x7abe('0x4a')]['includeAll']){_0x115b03[_0x7abe('0x5b')]=[{'all':!![]}];}return db[_0x7abe('0x5a')][_0x7abe('0x5c')](_0x115b03);})[_0x7abe('0x37')](function(_0x3a3a40){_0x1b895a['rows']=_0x3a3a40;return _0x1b895a;})[_0x7abe('0x37')](respondWithFilteredResult(_0x4a5f6a,_0x115b03))[_0x7abe('0x2a')](handleError(_0x4a5f6a,null));};exports[_0x7abe('0x5d')]=function(_0x191104,_0xee8b3a){var _0x517dbf={'raw':![],'where':{'id':_0x191104[_0x7abe('0x5e')]['id']},'include':[{'model':db[_0x7abe('0x3f')],'as':_0x7abe('0x40')},{'model':db[_0x7abe('0x5f')],'as':_0x7abe('0x41')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x219c65={};_0x219c65[_0x7abe('0x49')]=_['keys'](db[_0x7abe('0x5a')]['rawAttributes']);_0x219c65['query']=_[_0x7abe('0x4b')](_0x191104[_0x7abe('0x4a')]);_0x219c65[_0x7abe('0x4c')]=_[_0x7abe('0x4d')](_0x219c65['model'],_0x219c65['query']);_0x517dbf[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x219c65[_0x7abe('0x49')],qs[_0x7abe('0x4f')](_0x191104[_0x7abe('0x4a')]['fields']));_0x517dbf['attributes']=_0x517dbf[_0x7abe('0x4e')][_0x7abe('0x50')]?_0x517dbf['attributes']:_0x219c65[_0x7abe('0x49')];if(_0x191104['query']['includeAll']){_0x517dbf[_0x7abe('0x5b')]=[{'all':!![]}];}_0x517dbf=_[_0x7abe('0x57')]({},_0x517dbf,_0x191104['options']);return db[_0x7abe('0x5a')]['find'](_0x517dbf)['then'](handleEntityNotFound(_0xee8b3a,null))[_0x7abe('0x37')](respondWithResult(_0xee8b3a,null))['catch'](handleError(_0xee8b3a,null));};exports['update']=function(_0x15627a,_0xd228f5){if(_0x15627a[_0x7abe('0x60')]['id']){delete _0x15627a[_0x7abe('0x60')]['id'];}return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x15627a[_0x7abe('0x5e')]['id']},'include':[{'model':db[_0x7abe('0x3f')],'as':_0x7abe('0x40')},{'model':db[_0x7abe('0x5f')],'as':_0x7abe('0x41')},{'model':db[_0x7abe('0x42')],'as':_0x7abe('0x43')}]})[_0x7abe('0x37')](handleEntityNotFound(_0xd228f5,null))['then'](saveUpdates(_0x15627a[_0x7abe('0x60')],null))[_0x7abe('0x37')](function(_0x592398){if(_0x592398&&_0x15627a[_0x7abe('0x60')]['Imap']){return db[_0x7abe('0x3f')][_0x7abe('0x36')](_0x15627a['body']['Imap'],{'where':{'MailAccountId':_0x592398['id']}})[_0x7abe('0x37')](function(){return _0x592398;});}return _0x592398;})[_0x7abe('0x37')](function(_0x27f38d){if(_0x27f38d&&_0x15627a[_0x7abe('0x60')][_0x7abe('0x41')]){return db[_0x7abe('0x5f')][_0x7abe('0x36')](_0x15627a['body'][_0x7abe('0x41')],{'where':{'MailAccountId':_0x27f38d['id']}})[_0x7abe('0x37')](function(){return _0x27f38d;});}return _0x27f38d;})['then'](respondWithResult(_0xd228f5,null))[_0x7abe('0x2a')](handleError(_0xd228f5,null));};exports[_0x7abe('0x61')]=function(_0x20f7bd,_0x5b5aea){return db['MailAccount'][_0x7abe('0x61')]()[_0x7abe('0x37')](respondWithResult(_0x5b5aea,null))['catch'](handleError(_0x5b5aea,null));};exports['addDisposition']=function(_0x35d59a,_0x5d78b1,_0x23629f){if(_0x35d59a['body']['id']){delete _0x35d59a[_0x7abe('0x60')]['id'];}return db[_0x7abe('0x5a')][_0x7abe('0x62')]({'where':{'id':_0x35d59a[_0x7abe('0x5e')]['id']}})['then'](handleEntityNotFound(_0x5d78b1,null))[_0x7abe('0x37')](function(_0x34e3ff){if(_0x34e3ff){_0x35d59a[_0x7abe('0x60')][_0x7abe('0x63')]=_0x34e3ff['id'];return db[_0x7abe('0x64')][_0x7abe('0x65')](_0x35d59a[_0x7abe('0x60')]);}})['then'](respondWithResult(_0x5d78b1,null))[_0x7abe('0x2a')](handleError(_0x5d78b1,null));};exports['getDispositions']=function(_0x2cf5ef,_0x164308,_0x1ab51d){var _0xe4dbea={'raw':![],'where':{}};var _0x109d94={};var _0xc7b22a={'count':0x0,'rows':[]};return db[_0x7abe('0x5a')][_0x7abe('0x66')]({'where':{'id':_0x2cf5ef[_0x7abe('0x5e')]['id']}})['then'](handleEntityNotFound(_0x164308,null))[_0x7abe('0x37')](function(_0x4acc30){if(_0x4acc30){_0x109d94[_0x7abe('0x49')]=_['keys'](db[_0x7abe('0x64')][_0x7abe('0x45')]);_0x109d94[_0x7abe('0x4a')]=_[_0x7abe('0x4b')](_0x2cf5ef[_0x7abe('0x4a')]);_0x109d94[_0x7abe('0x4c')]=_['intersection'](_0x109d94['model'],_0x109d94[_0x7abe('0x4a')]);_0xe4dbea['attributes']=_[_0x7abe('0x4d')](_0x109d94[_0x7abe('0x49')],qs[_0x7abe('0x4f')](_0x2cf5ef[_0x7abe('0x4a')][_0x7abe('0x4f')]));_0xe4dbea[_0x7abe('0x4e')]=_0xe4dbea['attributes'][_0x7abe('0x50')]?_0xe4dbea[_0x7abe('0x4e')]:_0x109d94[_0x7abe('0x49')];if(!_0x2cf5ef[_0x7abe('0x4a')]['hasOwnProperty'](_0x7abe('0x52'))){_0xe4dbea[_0x7abe('0x2f')]=qs['limit'](_0x2cf5ef[_0x7abe('0x4a')]['limit']);_0xe4dbea[_0x7abe('0x2d')]=qs[_0x7abe('0x2d')](_0x2cf5ef[_0x7abe('0x4a')][_0x7abe('0x2d')]);}_0xe4dbea[_0x7abe('0x53')]=qs[_0x7abe('0x54')](_0x2cf5ef['query'][_0x7abe('0x54')]);_0xe4dbea[_0x7abe('0x55')]=qs['filters'](_[_0x7abe('0x67')](_0x2cf5ef[_0x7abe('0x4a')],_0x109d94[_0x7abe('0x4c')]));_0xe4dbea[_0x7abe('0x55')][_0x7abe('0x63')]=_0x4acc30['id'];if(_0x2cf5ef[_0x7abe('0x4a')][_0x7abe('0x56')]){_0xe4dbea[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0xe4dbea[_0x7abe('0x55')],{'$or':_['map'](_0xe4dbea['attributes'],function(_0x515b3c){var _0x35c5b3={};_0x35c5b3[_0x515b3c]={'$like':'%'+_0x2cf5ef[_0x7abe('0x4a')][_0x7abe('0x56')]+'%'};return _0x35c5b3;})});}_0xe4dbea=_[_0x7abe('0x57')]({},_0xe4dbea,_0x2cf5ef[_0x7abe('0x59')]);return db['Disposition']['count']({'where':_0xe4dbea[_0x7abe('0x55')]})[_0x7abe('0x37')](function(_0xc10dc2){_0xc7b22a['count']=_0xc10dc2;if(_0x2cf5ef[_0x7abe('0x4a')][_0x7abe('0x68')]){_0xe4dbea[_0x7abe('0x5b')]=[{'all':!![]}];}return db[_0x7abe('0x64')]['findAll'](_0xe4dbea);})[_0x7abe('0x37')](function(_0x16e8f0){_0xc7b22a[_0x7abe('0x69')]=_0x16e8f0;return _0xc7b22a;});}})[_0x7abe('0x37')](respondWithFilteredResult(_0x164308,_0xe4dbea))[_0x7abe('0x2a')](handleError(_0x164308,null));};exports['removeDispositions']=function(_0x133690,_0x454791,_0x17c353){return db['MailAccount']['find']({'where':{'id':_0x133690[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x454791,null))[_0x7abe('0x37')](function(_0x29f11d){if(_0x29f11d){return _0x29f11d[_0x7abe('0x6a')](_0x133690[_0x7abe('0x4a')][_0x7abe('0x6b')]);}})['then'](respondWithStatusCode(_0x454791,null))[_0x7abe('0x2a')](handleError(_0x454791,null));};exports[_0x7abe('0x6c')]=function(_0x28a7e2,_0x394385,_0x5148bb){if(_0x28a7e2['body']['id']){delete _0x28a7e2['body']['id'];}return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x28a7e2[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x394385,null))[_0x7abe('0x37')](function(_0x596152){if(_0x596152){_0x28a7e2['body'][_0x7abe('0x63')]=_0x596152['id'];return db[_0x7abe('0x6d')][_0x7abe('0x65')](_0x28a7e2[_0x7abe('0x60')]);}})[_0x7abe('0x37')](respondWithResult(_0x394385,null))[_0x7abe('0x2a')](handleError(_0x394385,null));};exports[_0x7abe('0x6e')]=function(_0x4d3f9d,_0xed6354,_0x3845b8){var _0x4342ec={'raw':![],'where':{}};var _0x293f40={};var _0x4cd5d9={'count':0x0,'rows':[]};return db[_0x7abe('0x5a')][_0x7abe('0x66')]({'where':{'id':_0x4d3f9d[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0xed6354,null))['then'](function(_0x19403c){if(_0x19403c){_0x293f40[_0x7abe('0x49')]=_[_0x7abe('0x4b')](db[_0x7abe('0x6d')][_0x7abe('0x45')]);_0x293f40[_0x7abe('0x4a')]=_[_0x7abe('0x4b')](_0x4d3f9d[_0x7abe('0x4a')]);_0x293f40[_0x7abe('0x4c')]=_[_0x7abe('0x4d')](_0x293f40['model'],_0x293f40['query']);_0x4342ec[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x293f40['model'],qs[_0x7abe('0x4f')](_0x4d3f9d[_0x7abe('0x4a')]['fields']));_0x4342ec[_0x7abe('0x4e')]=_0x4342ec[_0x7abe('0x4e')][_0x7abe('0x50')]?_0x4342ec[_0x7abe('0x4e')]:_0x293f40[_0x7abe('0x49')];if(!_0x4d3f9d[_0x7abe('0x4a')][_0x7abe('0x51')](_0x7abe('0x52'))){_0x4342ec[_0x7abe('0x2f')]=qs['limit'](_0x4d3f9d[_0x7abe('0x4a')][_0x7abe('0x2f')]);_0x4342ec[_0x7abe('0x2d')]=qs['offset'](_0x4d3f9d[_0x7abe('0x4a')]['offset']);}_0x4342ec['order']=qs[_0x7abe('0x54')](_0x4d3f9d[_0x7abe('0x4a')][_0x7abe('0x54')]);_0x4342ec[_0x7abe('0x55')]=qs[_0x7abe('0x4c')](_['pick'](_0x4d3f9d['query'],_0x293f40['filters']));_0x4342ec['where']['MailAccountId']=_0x19403c['id'];if(_0x4d3f9d[_0x7abe('0x4a')]['filter']){_0x4342ec[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0x4342ec[_0x7abe('0x55')],{'$or':_[_0x7abe('0x44')](_0x4342ec[_0x7abe('0x4e')],function(_0x16c667){var _0x1f237f={};_0x1f237f[_0x16c667]={'$like':'%'+_0x4d3f9d[_0x7abe('0x4a')][_0x7abe('0x56')]+'%'};return _0x1f237f;})});}_0x4342ec=_[_0x7abe('0x57')]({},_0x4342ec,_0x4d3f9d[_0x7abe('0x59')]);return db[_0x7abe('0x6d')][_0x7abe('0x30')]({'where':_0x4342ec[_0x7abe('0x55')]})[_0x7abe('0x37')](function(_0x465b06){_0x4cd5d9[_0x7abe('0x30')]=_0x465b06;if(_0x4d3f9d[_0x7abe('0x4a')]['includeAll']){_0x4342ec[_0x7abe('0x5b')]=[{'all':!![]}];}return db[_0x7abe('0x6d')][_0x7abe('0x5c')](_0x4342ec);})[_0x7abe('0x37')](function(_0x404192){_0x4cd5d9[_0x7abe('0x69')]=_0x404192;return _0x4cd5d9;});}})[_0x7abe('0x37')](respondWithFilteredResult(_0xed6354,_0x4342ec))[_0x7abe('0x2a')](handleError(_0xed6354,null));};exports['removeAnswers']=function(_0x594cf6,_0x3970e1,_0x1beb9d){return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x594cf6['params']['id']}})['then'](handleEntityNotFound(_0x3970e1,null))[_0x7abe('0x37')](function(_0x445a6f){if(_0x445a6f){return _0x445a6f['removeAnswers'](_0x594cf6['query'][_0x7abe('0x6b')]);}})[_0x7abe('0x37')](respondWithStatusCode(_0x3970e1,null))['catch'](handleError(_0x3970e1,null));};exports[_0x7abe('0x65')]=function(_0x1fb95d,_0x341ce1){var _0x525c9a={'name':_0x1fb95d[_0x7abe('0x60')]['name'],'key':_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x48')],'email':_0x1fb95d[_0x7abe('0x60')]['email'],'ListId':_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x6f')],'active':!_['isNil'](_0x1fb95d[_0x7abe('0x60')]['active'])?_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x70')]:!![],'description':_0x1fb95d['body'][_0x7abe('0x71')]||null,'Imap':{},'Smtp':{}};if(_[_0x7abe('0x72')](_0x1fb95d['body'][_0x7abe('0x73')])){if(_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x74')]){_0x525c9a[_0x7abe('0x40')]['user']=_0x525c9a[_0x7abe('0x41')][_0x7abe('0x75')]=_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x76')];_0x525c9a[_0x7abe('0x40')][_0x7abe('0x77')]=_0x525c9a[_0x7abe('0x41')][_0x7abe('0x78')]=_0x1fb95d['body'][_0x7abe('0x79')];}else{_0x525c9a['Imap']['authentication']=_0x525c9a[_0x7abe('0x41')]['authentication']=![];}_0x525c9a[_0x7abe('0x40')]['host']=_0x1fb95d['body'][_0x7abe('0x40')]['host'];_0x525c9a[_0x7abe('0x40')]['port']=_0x1fb95d['body'][_0x7abe('0x40')][_0x7abe('0x7a')];_0x525c9a[_0x7abe('0x41')]['host']=_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x41')][_0x7abe('0x7b')];_0x525c9a[_0x7abe('0x41')][_0x7abe('0x7a')]=_0x1fb95d['body']['Smtp']['port'];}else{_0x525c9a[_0x7abe('0x40')][_0x7abe('0x7c')]=_0x525c9a[_0x7abe('0x41')]['service']=_0x1fb95d[_0x7abe('0x60')][_0x7abe('0x73')];_0x525c9a['Imap']['user']=_0x525c9a[_0x7abe('0x41')]['user']=_0x1fb95d['body'][_0x7abe('0x76')];_0x525c9a[_0x7abe('0x40')]['password']=_0x525c9a[_0x7abe('0x41')][_0x7abe('0x78')]=_0x1fb95d[_0x7abe('0x60')]['cpassword'];}return db[_0x7abe('0x5a')][_0x7abe('0x65')](_0x525c9a,{'include':[{'model':db[_0x7abe('0x5f')],'as':_0x7abe('0x41')},{'model':db[_0x7abe('0x3f')],'as':_0x7abe('0x40')}]})[_0x7abe('0x37')](function(_0x133cee){var _0x168e72=_0x1fb95d[_0x7abe('0x75')][_0x7abe('0x7d')]({'plain':!![]});if(!_0x168e72)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x168e72[_0x7abe('0x7e')]===_0x7abe('0x75')){var _0x36f13b=_0x133cee['get']({'plain':!![]});return db['UserProfileSection'][_0x7abe('0x62')]({'where':{'name':_0x7abe('0x38'),'userProfileId':_0x168e72['userProfileId']},'raw':!![]})[_0x7abe('0x37')](function(_0x8f905){if(_0x8f905&&_0x8f905[_0x7abe('0x7f')]===0x0){return db[_0x7abe('0x39')][_0x7abe('0x65')]({'name':_0x36f13b[_0x7abe('0x3d')],'resourceId':_0x36f13b['id'],'type':_0x8f905[_0x7abe('0x3d')],'sectionId':_0x8f905['id']},{})['then'](function(){return _0x133cee;});}else{return _0x133cee;}})[_0x7abe('0x2a')](function(_0x3e8287){logger[_0x7abe('0x25')](_0x7abe('0x80'),_0x3e8287);throw _0x3e8287;});}return _0x133cee;})[_0x7abe('0x37')](respondWithResult(_0x341ce1,0xc9))[_0x7abe('0x2a')](handleError(_0x341ce1,null));};exports[_0x7abe('0x81')]=function(_0x8d5d59,_0x37e07e,_0x18ce76){return db['MailAccount'][_0x7abe('0x66')]({'where':{'id':_0x8d5d59[_0x7abe('0x5e')]['id']}})['then'](handleEntityNotFound(_0x37e07e,null))[_0x7abe('0x37')](function(_0x50efbe){if(_0x50efbe){return _0x50efbe['getImap']();}return null;})[_0x7abe('0x37')](respondWithResult(_0x37e07e,null))['catch'](handleError(_0x37e07e,null));};exports[_0x7abe('0x82')]=function(_0x22e461,_0x33df1e,_0x56fa1e){if(_0x22e461[_0x7abe('0x60')]['id']){delete _0x22e461[_0x7abe('0x60')]['id'];}return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x22e461['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x33df1e,null))[_0x7abe('0x37')](function(_0x2df670){if(_0x2df670){_0x22e461['body']['MailAccountId']=_0x2df670['id'];return db[_0x7abe('0x3f')]['create'](_0x22e461['body']);}})[_0x7abe('0x37')](respondWithResult(_0x33df1e,null))['catch'](handleError(_0x33df1e,null));};exports[_0x7abe('0x83')]=function(_0x515592,_0x48e784,_0x5368de){return db['MailAccount']['findOne']({'where':{'id':_0x515592[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x48e784,null))['then'](function(_0x32f14f){if(_0x32f14f){return _0x32f14f[_0x7abe('0x84')](null);}return null;})[_0x7abe('0x37')](respondWithStatusCode(_0x48e784,null))['catch'](handleError(_0x48e784,null));};exports[_0x7abe('0x85')]=function(_0x30e1cc,_0xffa923,_0x23d9b6){return db[_0x7abe('0x5a')]['findOne']({'where':{'id':_0x30e1cc['params']['id']}})['then'](handleEntityNotFound(_0xffa923,null))[_0x7abe('0x37')](function(_0x50d29e){if(_0x50d29e){return _0x50d29e[_0x7abe('0x85')]();}return null;})['then'](respondWithResult(_0xffa923,null))[_0x7abe('0x2a')](handleError(_0xffa923,null));};exports['addSmtp']=function(_0x24e798,_0x568c7a,_0xb06089){if(_0x24e798[_0x7abe('0x60')]['id']){delete _0x24e798[_0x7abe('0x60')]['id'];}return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x24e798['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x568c7a,null))['then'](function(_0x580e7c){if(_0x580e7c){_0x24e798[_0x7abe('0x60')][_0x7abe('0x63')]=_0x580e7c['id'];return db[_0x7abe('0x5f')][_0x7abe('0x65')](_0x24e798[_0x7abe('0x60')]);}})[_0x7abe('0x37')](respondWithResult(_0x568c7a,null))[_0x7abe('0x2a')](handleError(_0x568c7a,null));};exports[_0x7abe('0x86')]=function(_0x580676,_0x237434,_0x2424c1){return db['MailAccount'][_0x7abe('0x66')]({'where':{'id':_0x580676[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x237434,null))[_0x7abe('0x37')](function(_0x44cc8b){if(_0x44cc8b){return _0x44cc8b['setSmtp'](null);}return null;})[_0x7abe('0x37')](respondWithStatusCode(_0x237434,null))[_0x7abe('0x2a')](handleError(_0x237434,null));};exports['addInteraction']=function(_0x13bd50,_0x26f560,_0x36d724){return db[_0x7abe('0x87')][_0x7abe('0x62')]({'where':{'id':_0x13bd50['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x26f560,null))[_0x7abe('0x37')](function(_0x1af4c0){if(_0x1af4c0){return _0x1af4c0['addInteraction'](_0x13bd50[_0x7abe('0x60')][_0x7abe('0x6b')],_['omit'](_0x13bd50[_0x7abe('0x60')],['ids','id'])||{});}})[_0x7abe('0x37')](respondWithResult(_0x26f560,null))[_0x7abe('0x2a')](handleError(_0x26f560,null));};exports['getInteractions']=function(_0x15b5d7,_0x459a87,_0x2a6ad6){var _0x38e948={'raw':![],'where':{}};var _0x3de13d={};var _0x2e4fdc={'count':0x0,'rows':[]};return db['MailAccount'][_0x7abe('0x66')]({'where':{'id':_0x15b5d7[_0x7abe('0x5e')]['id']}})['then'](handleEntityNotFound(_0x459a87,null))[_0x7abe('0x37')](function(_0x2ef3b8){if(_0x2ef3b8){_0x3de13d[_0x7abe('0x49')]=_[_0x7abe('0x4b')](db[_0x7abe('0x87')][_0x7abe('0x45')]);_0x3de13d['query']=_[_0x7abe('0x4b')](_0x15b5d7[_0x7abe('0x4a')]);_0x3de13d[_0x7abe('0x4c')]=_[_0x7abe('0x4d')](_0x3de13d[_0x7abe('0x49')],_0x3de13d['query']);_0x38e948[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x3de13d[_0x7abe('0x49')],qs[_0x7abe('0x4f')](_0x15b5d7[_0x7abe('0x4a')]['fields']));_0x38e948[_0x7abe('0x4e')]=_0x38e948[_0x7abe('0x4e')][_0x7abe('0x50')]?_0x38e948[_0x7abe('0x4e')]:_0x3de13d[_0x7abe('0x49')];if(!_0x15b5d7[_0x7abe('0x4a')]['hasOwnProperty']('nolimit')){_0x38e948[_0x7abe('0x2f')]=qs['limit'](_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x2f')]);_0x38e948[_0x7abe('0x2d')]=qs[_0x7abe('0x2d')](_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x2d')]);}_0x38e948[_0x7abe('0x53')]=qs[_0x7abe('0x54')](_0x15b5d7['query']['sort']);_0x38e948[_0x7abe('0x55')]=qs[_0x7abe('0x4c')](_[_0x7abe('0x67')](_0x15b5d7[_0x7abe('0x4a')],_0x3de13d['filters']));_0x38e948[_0x7abe('0x55')][_0x7abe('0x63')]=_0x2ef3b8['id'];if(_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x56')]){_0x38e948[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0x38e948['where'],{'$or':_[_0x7abe('0x44')](_0x38e948[_0x7abe('0x4e')],function(_0x546c8d){var _0x102ce8={};_0x102ce8[_0x546c8d]={'$like':'%'+_0x15b5d7[_0x7abe('0x4a')]['filter']+'%'};return _0x102ce8;})});}_0x38e948=_[_0x7abe('0x57')]({},_0x38e948,_0x15b5d7[_0x7abe('0x59')]);return db['MailInteraction'][_0x7abe('0x30')]({'where':_0x38e948[_0x7abe('0x55')]})['then'](function(_0x4c97a7){_0x2e4fdc[_0x7abe('0x30')]=_0x4c97a7;if(_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x68')]){_0x38e948[_0x7abe('0x5b')]=[{'model':db['CmContact'],'as':_0x7abe('0x88'),'required':![]},{'model':db[_0x7abe('0x89')],'as':'Owner','attributes':['name',_0x7abe('0x8a'),_0x7abe('0x8b')],'required':![]},{'model':db[_0x7abe('0x8c')],'as':_0x7abe('0x8d'),'attributes':['id',_0x7abe('0x3d'),_0x7abe('0x8e')],'where':_0x15b5d7['query'][_0x7abe('0x8f')]?{'id':_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x8f')]}:undefined,'required':_0x15b5d7[_0x7abe('0x4a')][_0x7abe('0x8f')]?!![]:![]}];}return db[_0x7abe('0x87')][_0x7abe('0x5c')](_0x38e948);})['then'](function(_0x4701fd){_0x2e4fdc[_0x7abe('0x69')]=_0x4701fd;return _0x2e4fdc;});}})[_0x7abe('0x37')](respondWithFilteredResult(_0x459a87,_0x38e948))[_0x7abe('0x2a')](handleError(_0x459a87,null));};exports['addApplications']=function addApplications(_0x1fca31,_0x3edf0f){var _0x16e62b=_0x1fca31['params']['id'];var _0x4be600=_0x1fca31['body'];var _0x373795=0xc8;var _0x4fed5c=null;return db[_0x7abe('0x90')][_0x7abe('0x91')]({'isolationLevel':db[_0x7abe('0x90')][_0x7abe('0x92')][_0x7abe('0x93')][_0x7abe('0x94')]},function(_0x4dba40){return db[_0x7abe('0x5a')][_0x7abe('0x66')]({'where':{'id':_0x16e62b},'transaction':_0x4dba40})['then'](function(_0x3f5e8c){if(_0x3f5e8c){return db[_0x7abe('0x95')][_0x7abe('0x3a')]({'where':{'MailAccountId':_0x16e62b},'transaction':_0x4dba40})[_0x7abe('0x37')](function(){var _0x415aac=_[_0x7abe('0x44')](_0x4be600,function(_0x208e91){_0x208e91['MailAccountId']=_0x16e62b;return _0x208e91;});return db[_0x7abe('0x95')][_0x7abe('0x96')](_0x415aac,{'transaction':_0x4dba40});});}else{_0x373795=0x194;_0x4fed5c=[];}});})['then'](function(){if(_0x373795!==0x194){return db['MailApplication'][_0x7abe('0x97')]({'where':{'MailAccountId':_0x16e62b},'order':_0x7abe('0x98')})[_0x7abe('0x37')](function(_0x5c8791){_0x4fed5c=_0x5c8791;});}})[_0x7abe('0x2a')](function(_0x380ea0){_0x373795=0x1f4;logger[_0x7abe('0x25')](_0x380ea0[_0x7abe('0x3c')]);if(_0x380ea0[_0x7abe('0x3d')]){delete _0x380ea0[_0x7abe('0x3d')];}_0x4fed5c=_0x380ea0;})[_0x7abe('0x99')](function(){if(_0x4fed5c===null){_0x3edf0f['sendStatus'](_0x373795);}else{if(_0x373795===0x1f4){_0x3edf0f[_0x7abe('0x2b')](_0x373795)[_0x7abe('0x3e')](_0x4fed5c);}else{_0x3edf0f[_0x7abe('0x2b')](_0x373795)[_0x7abe('0x2c')](_0x4fed5c);}}});};exports[_0x7abe('0x9a')]=function(_0x23df17,_0x3cd6f1,_0x1f032e){var _0x5e8c45={};var _0x1a5487={};var _0x2432bb;var _0x4abc43;return db['MailAccount'][_0x7abe('0x66')]({'where':{'id':_0x23df17[_0x7abe('0x5e')]['id']}})['then'](handleEntityNotFound(_0x3cd6f1,null))[_0x7abe('0x37')](function(_0x38c244){if(_0x38c244){_0x2432bb=_0x38c244;_0x1a5487['model']=_['keys'](db[_0x7abe('0x95')][_0x7abe('0x45')]);_0x1a5487[_0x7abe('0x4a')]=_[_0x7abe('0x4b')](_0x23df17[_0x7abe('0x4a')]);_0x1a5487['filters']=_['intersection'](_0x1a5487['model'],_0x1a5487['query']);_0x5e8c45[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x1a5487['model'],qs['fields'](_0x23df17[_0x7abe('0x4a')]['fields']));_0x5e8c45['attributes']=_0x5e8c45[_0x7abe('0x4e')][_0x7abe('0x50')]?_0x5e8c45[_0x7abe('0x4e')]:_0x1a5487['model'];_0x5e8c45[_0x7abe('0x53')]=qs[_0x7abe('0x54')](_0x23df17[_0x7abe('0x4a')][_0x7abe('0x54')]);_0x5e8c45[_0x7abe('0x55')]=qs['filters'](_['pick'](_0x23df17['query'],_0x1a5487[_0x7abe('0x4c')]));if(_0x23df17['query'][_0x7abe('0x56')]){_0x5e8c45[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0x5e8c45['where'],{'$or':_[_0x7abe('0x44')](_0x5e8c45['attributes'],function(_0x5c526f){var _0x2bd472={};_0x2bd472[_0x5c526f]={'$like':'%'+_0x23df17['query'][_0x7abe('0x56')]+'%'};return _0x2bd472;})});}_0x5e8c45=_[_0x7abe('0x57')]({},_0x5e8c45,_0x23df17[_0x7abe('0x59')]);return _0x2432bb['getApplications'](_0x5e8c45);}})[_0x7abe('0x37')](function(_0x18d38e){if(_0x18d38e){_0x4abc43=_0x18d38e[_0x7abe('0x50')];if(!_0x23df17['query'][_0x7abe('0x51')](_0x7abe('0x52'))){_0x5e8c45[_0x7abe('0x2f')]=qs[_0x7abe('0x2f')](_0x23df17[_0x7abe('0x4a')]['limit']);_0x5e8c45['offset']=qs[_0x7abe('0x2d')](_0x23df17[_0x7abe('0x4a')][_0x7abe('0x2d')]);}return _0x2432bb['getApplications'](_0x5e8c45);}})[_0x7abe('0x37')](function(_0x3344b5){if(_0x3344b5){return _0x3344b5?{'count':_0x4abc43,'rows':_0x3344b5}:null;}})[_0x7abe('0x37')](respondWithResult(_0x3cd6f1,null))[_0x7abe('0x2a')](handleError(_0x3cd6f1,null));};exports['getMessages']=function(_0x53bb8d,_0xa8e180,_0x1c4180){var _0x41d7e7={'raw':!![],'where':{}};var _0x4d9aed={};var _0x3b91a7={'count':0x0,'rows':[]};return db[_0x7abe('0x5a')][_0x7abe('0x66')]({'where':{'id':_0x53bb8d['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0xa8e180,null))[_0x7abe('0x37')](function(_0x1cebcb){if(_0x1cebcb){_0x4d9aed[_0x7abe('0x49')]=_[_0x7abe('0x4b')](db[_0x7abe('0x9b')][_0x7abe('0x45')]);_0x4d9aed[_0x7abe('0x4a')]=_[_0x7abe('0x4b')](_0x53bb8d[_0x7abe('0x4a')]);_0x4d9aed[_0x7abe('0x4c')]=_[_0x7abe('0x4d')](_0x4d9aed[_0x7abe('0x49')],_0x4d9aed['query']);_0x41d7e7[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x4d9aed[_0x7abe('0x49')],qs[_0x7abe('0x4f')](_0x53bb8d[_0x7abe('0x4a')]['fields']));_0x41d7e7[_0x7abe('0x4e')]=_0x41d7e7['attributes'][_0x7abe('0x50')]?_0x41d7e7[_0x7abe('0x4e')]:_0x4d9aed['model'];if(!_0x53bb8d[_0x7abe('0x4a')]['hasOwnProperty'](_0x7abe('0x52'))){_0x41d7e7['limit']=qs['limit'](_0x53bb8d['query'][_0x7abe('0x2f')]);_0x41d7e7[_0x7abe('0x2d')]=qs[_0x7abe('0x2d')](_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x2d')]);}_0x41d7e7[_0x7abe('0x53')]=qs['sort'](_0x53bb8d['query']['sort']);_0x41d7e7['where']=qs[_0x7abe('0x4c')](_['pick'](_0x53bb8d[_0x7abe('0x4a')],_0x4d9aed[_0x7abe('0x4c')]));_0x41d7e7['where'][_0x7abe('0x63')]=_0x1cebcb['id'];if(_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x56')]){_0x41d7e7['where']=_['merge'](_0x41d7e7[_0x7abe('0x55')],{'$or':_[_0x7abe('0x44')](_0x41d7e7[_0x7abe('0x4e')],function(_0x814b3f){var _0x5561dd={};_0x5561dd[_0x814b3f]={'$like':'%'+_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x56')]+'%'};return _0x5561dd;})});}if(_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x9c')]){var _0x138625=_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x9c')][_0x7abe('0x9d')](',');var _0x12c8b2={};_0x12c8b2[_0x138625[0x0]]={'$gte':moment(_0x138625[0x1])[_0x7abe('0x9e')](_0x7abe('0x9f'))};_0x41d7e7[_0x7abe('0x55')]=_[_0x7abe('0x57')](_0x41d7e7[_0x7abe('0x55')],_0x12c8b2);}_0x41d7e7=_[_0x7abe('0x57')]({},_0x41d7e7,_0x53bb8d[_0x7abe('0x59')]);return db[_0x7abe('0x9b')]['count']({'where':_0x41d7e7[_0x7abe('0x55')]})[_0x7abe('0x37')](function(_0x13a007){_0x3b91a7[_0x7abe('0x30')]=_0x13a007;if(_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0x68')]){_0x41d7e7['include']=[{'all':!![]}];}return db[_0x7abe('0x9b')]['findAll'](_0x41d7e7);})['then'](function(_0x18bd27){if(_0x53bb8d[_0x7abe('0x4a')][_0x7abe('0xa0')]===_0x7abe('0xa1')){for(var _0x21f85e=0x0;_0x21f85e<_0x18bd27[_0x7abe('0x50')];_0x21f85e++){_0x18bd27[_0x21f85e]['body']=juice(_0x18bd27[_0x21f85e][_0x7abe('0x60')]);}}_0x3b91a7['rows']=_0x18bd27;return _0x3b91a7;});}})[_0x7abe('0x37')](respondWithFilteredResult(_0xa8e180,_0x41d7e7))[_0x7abe('0x2a')](handleError(_0xa8e180,null));};exports['send']=function(_0x513f4c,_0x5c5eeb,_0x1cfe5f){var _0x39c6f5,_0x2ad848={},_0x15741c;if(_0x513f4c['body']['to']){_0x15741c=_0x513f4c[_0x7abe('0x60')]['to'][_0x7abe('0x9d')](',')[0x0];}return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x513f4c['params']['id']},'include':[{'model':db[_0x7abe('0xa2')],'as':_0x7abe('0xa3'),'include':[{'model':db['CmContact'],'as':_0x7abe('0xa4'),'where':{'email':_0x15741c},'limit':0x1,'order':[['updatedAt',_0x7abe('0xa5')]]}]},{'model':db['MailServerOut'],'as':_0x7abe('0x41'),'raw':!![]}]})['then'](handleEntityNotFound(_0x5c5eeb,null))[_0x7abe('0x37')](function(_0x2bd2d1){if(_0x2bd2d1){_0x39c6f5=_0x2bd2d1;if(_0x2bd2d1[_0x7abe('0x41')]){if(_[_0x7abe('0x72')](_0x513f4c[_0x7abe('0x60')]['from'])){_0x513f4c['body'][_0x7abe('0xa6')]=util['format'](_0x7abe('0xa7'),_0x2bd2d1['name'],_0x2bd2d1['email']||_0x2bd2d1['Smtp']['user']);}if(_0x513f4c[_0x7abe('0x60')][_0x7abe('0xa8')]&&_0x513f4c[_0x7abe('0x60')][_0x7abe('0xa8')]['length']){for(var _0xa55a58=0x0;_0xa55a58<_0x513f4c[_0x7abe('0x60')][_0x7abe('0xa8')][_0x7abe('0x50')];_0xa55a58+=0x1){_0x513f4c['body'][_0x7abe('0xa8')][_0xa55a58]={'filename':_0x513f4c[_0x7abe('0x60')][_0x7abe('0xa8')][_0xa55a58][_0x7abe('0x3d')],'path':path['join'](config[_0x7abe('0xa9')],_0x7abe('0xaa'),_0x513f4c[_0x7abe('0x60')][_0x7abe('0xa8')][_0xa55a58]['basename'])};}}var _0x36541d={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x2bd2d1[_0x7abe('0x41')][_0x7abe('0x7c')])){if(_0x2bd2d1['Smtp'][_0x7abe('0xab')]){_0x36541d['auth']={'user':_0x2bd2d1[_0x7abe('0x41')]['user'],'pass':_0x2bd2d1[_0x7abe('0x41')][_0x7abe('0x78')]};}_0x36541d[_0x7abe('0x7b')]=_0x2bd2d1['Smtp'][_0x7abe('0x7b')];_0x36541d[_0x7abe('0x7a')]=_0x2bd2d1[_0x7abe('0x41')]['port'];_0x36541d[_0x7abe('0xac')]=_0x2bd2d1[_0x7abe('0x41')]['secure'];}else{_0x36541d['service']=_0x2bd2d1[_0x7abe('0x41')]['service'];_0x36541d[_0x7abe('0xad')]={'user':_0x2bd2d1[_0x7abe('0x41')][_0x7abe('0x75')],'pass':_0x2bd2d1[_0x7abe('0x41')]['pass']};}return respondWithRpcPromise(_0x7abe('0xae'),_0x7abe('0xaf'),{'account':_0x36541d,'message':_0x513f4c['body']});}else{throw new Error('List\x20not\x20found');}}})[_0x7abe('0x37')](function(_0x8d126a){if(_0x8d126a){_0x2ad848=_0x8d126a;if(_0x39c6f5[_0x7abe('0xa3')]){if(_0x39c6f5[_0x7abe('0xa3')][_0x7abe('0xa4')]['length']){return _0x39c6f5[_0x7abe('0xa3')][_0x7abe('0xa4')][0x0];}else{return db[_0x7abe('0xb0')][_0x7abe('0x65')](_[_0x7abe('0xb1')](_0x513f4c['body'],{'firstName':_0x513f4c[_0x7abe('0x60')]['to'],'email':_0x513f4c['body']['to'],'phone':_0x513f4c['body']['to'],'ListId':_0x39c6f5[_0x7abe('0x6f')]}));}}else{throw new Error(_0x7abe('0xb2'));}}})[_0x7abe('0x37')](function(_0x1a996e){if(_0x1a996e){var _0x342431={'UserId':_0x513f4c[_0x7abe('0x75')]['id'],'ContactId':_0x1a996e['id'],'MailAccountId':_0x39c6f5['id'],'inReplyTo':_0x2ad848[_0x7abe('0xb3')],'to':_0x513f4c['body'][_0x7abe('0xa6')],'cc':_0x513f4c['body']['cc'],'subject':_0x513f4c[_0x7abe('0x60')][_0x7abe('0xb4')],'attach':_0x513f4c[_0x7abe('0x60')][_0x7abe('0xb5')],'firstMsgDirection':_0x7abe('0xb6'),'lastMsgAt':moment()['format'](_0x7abe('0x9f')),'lastMsgDirection':'out','Messages':[_['merge'](_0x513f4c['body'],{'messageId':_0x2ad848[_0x7abe('0xb3')],'sentAt':moment()['format'](_0x7abe('0x9f')),'read':!![],'MailAccountId':_0x39c6f5['id'],'UserId':_0x513f4c[_0x7abe('0x75')]['id'],'ContactId':_0x1a996e['id']})]};if(_0x513f4c[_0x7abe('0x60')][_0x7abe('0xb7')]){_0x342431=_[_0x7abe('0x57')](_0x342431,_0x513f4c['body'][_0x7abe('0xb7')]);}return db['MailInteraction']['create'](_0x342431,{'include':[{'model':db[_0x7abe('0x9b')],'as':_0x7abe('0xb8')}]});}})[_0x7abe('0x37')](respondWithResult(_0x5c5eeb,null))[_0x7abe('0x2a')](handleError(_0x5c5eeb,null));};exports[_0x7abe('0xb9')]=function(_0x13ce37,_0x158e5f,_0x53b08e){return db[_0x7abe('0x5a')]['find']({'where':{'id':_0x13ce37[_0x7abe('0x5e')]['id']},'include':[{'model':db[_0x7abe('0x5f')],'as':_0x7abe('0x41'),'raw':!![]}]})[_0x7abe('0x37')](handleEntityNotFound(_0x158e5f,null))[_0x7abe('0x37')](function(_0x3977a5){if(_0x3977a5&&_0x3977a5[_0x7abe('0x41')]){var _0x19370c={'id':_0x3977a5['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3977a5['Smtp']['service']){_0x19370c[_0x7abe('0x7c')]=_0x3977a5['Smtp'][_0x7abe('0x7c')];}else{_0x19370c[_0x7abe('0x7b')]=_0x3977a5[_0x7abe('0x41')][_0x7abe('0x7b')];_0x19370c[_0x7abe('0x7a')]=_0x3977a5['Smtp'][_0x7abe('0x7a')];_0x19370c[_0x7abe('0xac')]=_0x3977a5[_0x7abe('0x41')][_0x7abe('0xac')];}if(_0x3977a5[_0x7abe('0x41')][_0x7abe('0xab')]){_0x19370c[_0x7abe('0xad')]={'user':_0x3977a5[_0x7abe('0x41')][_0x7abe('0x75')],'pass':_0x3977a5[_0x7abe('0x41')]['pass']};}return respondWithRpcPromise('VerifySmtp',_0x7abe('0xb9'),{'account':_0x19370c});}})[_0x7abe('0x37')](respondWithResult(_0x158e5f,null))[_0x7abe('0x2a')](handleError(_0x158e5f,null));};exports[_0x7abe('0x3a')]=function(_0x54c98b,_0x852a59){return db['MailAccount'][_0x7abe('0x62')]({'where':{'id':_0x54c98b[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x852a59,null))[_0x7abe('0x37')](function(_0x4f3330){if(_0x4f3330&&_0x4f3330[_0x7abe('0x7c')]){throw new db[(_0x7abe('0xba'))]['ValidationError'](_0x7abe('0xbb'));}return _0x4f3330;})['then'](removeEntity(_0x852a59,null))[_0x7abe('0x2a')](handleError(_0x852a59,null));};exports[_0x7abe('0xbc')]=function(_0x566f61,_0x22ac2b,_0x4d0c19){return db['MailAccount'][_0x7abe('0x62')]({'where':{'id':_0x566f61['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x22ac2b,null))[_0x7abe('0x37')](function(_0x1ddcee){if(_0x1ddcee){return _0x1ddcee['addAgents'](_0x566f61[_0x7abe('0x60')][_0x7abe('0x6b')],_[_0x7abe('0xbd')](_0x566f61[_0x7abe('0x60')],['ids','id'])||{})['spread'](function(_0x5ad449){for(var _0x3cb066=0x0;_0x3cb066<_0x566f61[_0x7abe('0x60')][_0x7abe('0x6b')][_0x7abe('0x50')];_0x3cb066+=0x1){socket[_0x7abe('0xbe')](_0x7abe('0xbf'),{'UserId':Number(_0x566f61[_0x7abe('0x60')][_0x7abe('0x6b')][_0x3cb066]),'MailAccountId':Number(_0x566f61[_0x7abe('0x5e')]['id'])});}return _0x5ad449;});}})[_0x7abe('0x37')](respondWithResult(_0x22ac2b,null))[_0x7abe('0x2a')](handleError(_0x22ac2b,null));};exports[_0x7abe('0xc0')]=function(_0x359468,_0x56b63a,_0x47f30a){return db[_0x7abe('0x5a')][_0x7abe('0x62')]({'where':{'id':_0x359468['params']['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x56b63a,null))[_0x7abe('0x37')](function(_0x12eb92){if(_0x12eb92){return _0x12eb92['removeAgents'](_0x359468[_0x7abe('0x4a')][_0x7abe('0x6b')])['then'](function(){if(_['isArray'](_0x359468[_0x7abe('0x4a')][_0x7abe('0x6b')])){for(var _0x498ab3=0x0;_0x498ab3<_0x359468[_0x7abe('0x4a')][_0x7abe('0x6b')][_0x7abe('0x50')];_0x498ab3+=0x1){socket[_0x7abe('0xbe')](_0x7abe('0xc1'),{'UserId':Number(_0x359468[_0x7abe('0x4a')][_0x7abe('0x6b')][_0x498ab3]),'MailAccountId':Number(_0x359468[_0x7abe('0x5e')]['id'])});}}else{socket[_0x7abe('0xbe')](_0x7abe('0xc1'),{'UserId':Number(_0x359468[_0x7abe('0x4a')][_0x7abe('0x6b')]),'MailAccountId':Number(_0x359468[_0x7abe('0x5e')]['id'])});}});}})['then'](respondWithStatusCode(_0x56b63a,null))[_0x7abe('0x2a')](handleError(_0x56b63a,null));};exports['getAgents']=function(_0x59c54e,_0x156d79,_0x38a882){var _0x5dd16b={};var _0x1aca3f={};var _0x4ee231;var _0x165f3e;return db['MailAccount'][_0x7abe('0x66')]({'where':{'id':_0x59c54e[_0x7abe('0x5e')]['id']}})[_0x7abe('0x37')](handleEntityNotFound(_0x156d79,null))['then'](function(_0x51edbc){if(_0x51edbc){_0x4ee231=_0x51edbc;_0x1aca3f['model']=_[_0x7abe('0x4b')](db[_0x7abe('0x89')][_0x7abe('0x45')]);_0x1aca3f['query']=_[_0x7abe('0x4b')](_0x59c54e['query']);_0x1aca3f['filters']=_[_0x7abe('0x4d')](_0x1aca3f[_0x7abe('0x49')],_0x1aca3f[_0x7abe('0x4a')]);_0x5dd16b[_0x7abe('0x4e')]=_[_0x7abe('0x4d')](_0x1aca3f['model'],qs[_0x7abe('0x4f')](_0x59c54e[_0x7abe('0x4a')][_0x7abe('0x4f')]));_0x5dd16b['attributes']=_0x5dd16b['attributes'][_0x7abe('0x50')]?_0x5dd16b[_0x7abe('0x4e')]:_0x1aca3f['model'];_0x5dd16b['order']=qs[_0x7abe('0x54')](_0x59c54e[_0x7abe('0x4a')][_0x7abe('0x54')]);_0x5dd16b[_0x7abe('0x55')]=qs[_0x7abe('0x4c')](_[_0x7abe('0x67')](_0x59c54e[_0x7abe('0x4a')],_0x1aca3f[_0x7abe('0x4c')]));if(_0x59c54e[_0x7abe('0x4a')][_0x7abe('0x56')]){_0x5dd16b['where']=_[_0x7abe('0x57')](_0x5dd16b[_0x7abe('0x55')],{'$or':_[_0x7abe('0x44')](_0x5dd16b[_0x7abe('0x4e')],function(_0x11266a){var _0x289d77={};_0x289d77[_0x11266a]={'$like':'%'+_0x59c54e[_0x7abe('0x4a')][_0x7abe('0x56')]+'%'};return _0x289d77;})});}_0x5dd16b=_[_0x7abe('0x57')]({},_0x5dd16b,_0x59c54e[_0x7abe('0x59')]);return _0x4ee231[_0x7abe('0xc2')](_0x5dd16b);}})[_0x7abe('0x37')](function(_0x11b720){if(_0x11b720){_0x165f3e=_0x11b720[_0x7abe('0x50')];if(!_0x59c54e[_0x7abe('0x4a')][_0x7abe('0x51')](_0x7abe('0x52'))){_0x5dd16b['limit']=qs[_0x7abe('0x2f')](_0x59c54e[_0x7abe('0x4a')]['limit']);_0x5dd16b['offset']=qs[_0x7abe('0x2d')](_0x59c54e['query'][_0x7abe('0x2d')]);}return _0x4ee231[_0x7abe('0xc2')](_0x5dd16b);}})['then'](function(_0x542966){if(_0x542966){return _0x542966?{'count':_0x165f3e,'rows':_0x542966}:null;}})['then'](respondWithResult(_0x156d79,null))['catch'](handleError(_0x156d79,null));};