4febead40c8054e6f771147554ca78b14995fe02
[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 _0x6773=['findAndCountAll','priority','getApplications','getMessages','$gte','split','format','MailMessage','CmList','CmContact','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','List','ListId','messageId','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','verifySmtp','Sequelize','ValidationError','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','getAgents','eml-format','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','end','status','offset','limit','set','Content-Range','json','apply','save','update','destroy','MailAccounts','UserProfileResource','stack','send','index','Imap','MailServerOut','Smtp','Pause','map','MailAccount','rawAttributes','fieldName','type','model','name','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','pick','filter','where','merge','options','count','includeAll','include','findAll','rows','params','body','find','MailServerIn','mandatoryDispositionPause','describe','addDisposition','create','findOne','Disposition','sort','removeDispositions','ids','addAnswer','MailAccountId','CannedAnswer','removeAnswers','key','email','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','authentication','host','port','service','cpassword','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','setImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','Contact','User','Owner','fullname','internal','Tag','Tags','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate'];(function(_0x416505,_0x2d4a03){var _0x1b8445=function(_0x5c182f){while(--_0x5c182f){_0x416505['push'](_0x416505['shift']());}};_0x1b8445(++_0x2d4a03);}(_0x6773,0xe4));var _0x3677=function(_0x34c3ac,_0x40a7f4){_0x34c3ac=_0x34c3ac-0x0;var _0x6661a1=_0x6773[_0x34c3ac];return _0x6661a1;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3677('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3677('0x1'));var rp=require(_0x3677('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3677('0x3'));var util=require('util');var path=require(_0x3677('0x4'));var sox=require(_0x3677('0x5'));var csv=require(_0x3677('0x6'));var ejs=require(_0x3677('0x7'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x3677('0x8'));var jsforce=require(_0x3677('0x9'));var deskjs=require(_0x3677('0xa'));var toCsv=require(_0x3677('0x6'));var querystring=require('querystring');var Papa=require(_0x3677('0xb'));var Redis=require('ioredis');var authService=require(_0x3677('0xc'));var qs=require(_0x3677('0xd'));var as=require(_0x3677('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3677('0xf'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x3677('0x10'));var db=require(_0x3677('0x11'))['db'];config['redis']=_[_0x3677('0x12')](config[_0x3677('0x13')],{'host':_0x3677('0x14'),'port':0x18eb});var socket=require(_0x3677('0x15'))(new Redis(config[_0x3677('0x13')]));require('./mailAccount.socket')[_0x3677('0x16')](socket);var jayson=require(_0x3677('0x17'));var client=jayson[_0x3677('0x18')][_0x3677('0x19')]({'port':0x232b});function respondWithRpcPromise(_0xe19c5d,_0x2605cd,_0x56cca1,_0x5e476e){return new BPromise(function(_0xd6705a,_0x299365){var _0x2a988d=_0x5e476e||client;return _0x2a988d[_0x3677('0x1a')](_0xe19c5d,_0x56cca1)[_0x3677('0x1b')](function(_0x4b1ed5){logger['info'](_0x3677('0x1c'),_0x2605cd,_0x3677('0x1d'));logger[_0x3677('0x1e')](_0x3677('0x1f'),_0x2605cd,_0x3677('0x1d'),JSON[_0x3677('0x20')](_0x4b1ed5));if(_0x4b1ed5[_0x3677('0x21')]){if(_0x4b1ed5[_0x3677('0x21')][_0x3677('0x22')]===0x1f4){logger['error'](_0x3677('0x1c'),_0x2605cd,_0x4b1ed5[_0x3677('0x21')][_0x3677('0x23')]);return _0x299365(_0x4b1ed5[_0x3677('0x21')][_0x3677('0x23')]);}logger[_0x3677('0x21')](_0x3677('0x1c'),_0x2605cd,_0x4b1ed5[_0x3677('0x21')][_0x3677('0x23')]);return _0xd6705a(_0x4b1ed5['error'][_0x3677('0x23')]);}else{logger[_0x3677('0x24')](_0x3677('0x1c'),_0x2605cd,'request\x20sent');_0xd6705a(_0x4b1ed5[_0x3677('0x25')]['message']);}})[_0x3677('0x26')](function(_0x593bf8){logger[_0x3677('0x21')](_0x3677('0x1c'),_0x2605cd,_0x593bf8);_0x299365(_0x593bf8);});});}function respondWithStatusCode(_0x37a2f8,_0x22fce3){_0x22fce3=_0x22fce3||0xcc;return function(_0x40e2df){if(_0x40e2df){return _0x37a2f8[_0x3677('0x27')](_0x22fce3);}return _0x37a2f8['status'](_0x22fce3)[_0x3677('0x28')]();};}function respondWithResult(_0x5a00e5,_0x2cdfd2){_0x2cdfd2=_0x2cdfd2||0xc8;return function(_0x5733d0){if(_0x5733d0){return _0x5a00e5[_0x3677('0x29')](_0x2cdfd2)['json'](_0x5733d0);}};}function respondWithFilteredResult(_0x504bea,_0x523d64){return function(_0x1d13dc){if(_0x1d13dc){var _0x391609=_0x1d13dc['count'],_0x5b636a=_0x523d64['offset'],_0x2aeaec=_0x523d64[_0x3677('0x2a')]+_0x523d64[_0x3677('0x2b')],_0x19db06;if(_0x2aeaec>=_0x391609){_0x2aeaec=_0x391609;_0x19db06=0xc8;}else{_0x19db06=0xce;}_0x504bea[_0x3677('0x29')](_0x19db06);return _0x504bea[_0x3677('0x2c')](_0x3677('0x2d'),_0x5b636a+'-'+_0x2aeaec+'/'+_0x391609)[_0x3677('0x2e')](_0x1d13dc);}return null;};}function patchUpdates(_0x3b74b2){return function(_0x3c9131){try{jsonpatch[_0x3677('0x2f')](_0x3c9131,_0x3b74b2,!![]);}catch(_0x18473e){return BPromise['reject'](_0x18473e);}return _0x3c9131[_0x3677('0x30')]();};}function saveUpdates(_0x3f2aa5,_0x1361c3){return function(_0x52a542){if(_0x52a542){return _0x52a542[_0x3677('0x31')](_0x3f2aa5)[_0x3677('0x1b')](function(_0x510ad4){return _0x510ad4;});}return null;};}function removeEntity(_0x4ba8f2,_0x4f737d){return function(_0xd1788a){if(_0xd1788a){return _0xd1788a[_0x3677('0x32')]()[_0x3677('0x1b')](function(){var _0x295eed=_0xd1788a['get']({'plain':!![]});var _0x7153a1=_0x3677('0x33');return db[_0x3677('0x34')]['destroy']({'where':{'type':_0x7153a1,'resourceId':_0x295eed['id']}})['then'](function(){return _0xd1788a;});})[_0x3677('0x1b')](function(){_0x4ba8f2[_0x3677('0x29')](0xcc)[_0x3677('0x28')]();});}};}function handleEntityNotFound(_0x324330,_0x2ecf62){return function(_0x50414b){if(!_0x50414b){_0x324330[_0x3677('0x27')](0x194);}return _0x50414b;};}function handleError(_0x554a0f,_0x433b7c){_0x433b7c=_0x433b7c||0x1f4;return function(_0x323066){logger[_0x3677('0x21')](_0x323066[_0x3677('0x35')]);if(_0x323066['name']){delete _0x323066['name'];}_0x554a0f[_0x3677('0x29')](_0x433b7c)[_0x3677('0x36')](_0x323066);};}exports[_0x3677('0x37')]=function(_0x5ebb17,_0x480f34){var _0x5ed9aa={'include':[{'model':db['MailServerIn'],'as':_0x3677('0x38')},{'model':db[_0x3677('0x39')],'as':_0x3677('0x3a')},{'model':db[_0x3677('0x3b')],'as':'mandatoryDispositionPause'}]},_0x29eab4={},_0x295059={'count':0x0,'rows':[]};var _0x4b3acd=_[_0x3677('0x3c')](db[_0x3677('0x3d')][_0x3677('0x3e')],function(_0x341218){return{'name':_0x341218[_0x3677('0x3f')],'type':_0x341218[_0x3677('0x40')]['key']};});_0x29eab4[_0x3677('0x41')]=_[_0x3677('0x3c')](_0x4b3acd,_0x3677('0x42'));_0x29eab4['query']=_[_0x3677('0x43')](_0x5ebb17[_0x3677('0x44')]);_0x29eab4[_0x3677('0x45')]=_[_0x3677('0x46')](_0x29eab4[_0x3677('0x41')],_0x29eab4[_0x3677('0x44')]);_0x5ed9aa['attributes']=_[_0x3677('0x46')](_0x29eab4[_0x3677('0x41')],qs[_0x3677('0x47')](_0x5ebb17[_0x3677('0x44')]['fields']));_0x5ed9aa[_0x3677('0x48')]=_0x5ed9aa[_0x3677('0x48')][_0x3677('0x49')]?_0x5ed9aa[_0x3677('0x48')]:_0x29eab4['model'];if(!_0x5ebb17['query'][_0x3677('0x4a')](_0x3677('0x4b'))){_0x5ed9aa[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x5ebb17[_0x3677('0x44')][_0x3677('0x2b')]);_0x5ed9aa[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x5ebb17[_0x3677('0x44')][_0x3677('0x2a')]);}_0x5ed9aa[_0x3677('0x4c')]=qs['sort'](_0x5ebb17[_0x3677('0x44')]['sort']);_0x5ed9aa['where']=qs['filters'](_[_0x3677('0x4d')](_0x5ebb17[_0x3677('0x44')],_0x29eab4[_0x3677('0x45')]),_0x4b3acd);if(_0x5ebb17['query'][_0x3677('0x4e')]){_0x5ed9aa[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x5ed9aa[_0x3677('0x4f')],{'$or':_[_0x3677('0x3c')](_0x4b3acd,function(_0x258c19){if(_0x258c19[_0x3677('0x40')]!=='VIRTUAL'){var _0x1c9c18={};_0x1c9c18[_0x258c19[_0x3677('0x42')]]={'$like':'%'+_0x5ebb17[_0x3677('0x44')][_0x3677('0x4e')]+'%'};return _0x1c9c18;}})});}_0x5ed9aa=_[_0x3677('0x50')]({},_0x5ed9aa,_0x5ebb17[_0x3677('0x51')]);var _0x1d5258={'where':_0x5ed9aa[_0x3677('0x4f')]};return db[_0x3677('0x3d')][_0x3677('0x52')](_0x1d5258)[_0x3677('0x1b')](function(_0x47ff06){_0x295059[_0x3677('0x52')]=_0x47ff06;if(_0x5ebb17[_0x3677('0x44')][_0x3677('0x53')]){_0x5ed9aa[_0x3677('0x54')]=[{'all':!![]}];}return db[_0x3677('0x3d')][_0x3677('0x55')](_0x5ed9aa);})[_0x3677('0x1b')](function(_0x29ec39){_0x295059[_0x3677('0x56')]=_0x29ec39;return _0x295059;})[_0x3677('0x1b')](respondWithFilteredResult(_0x480f34,_0x5ed9aa))['catch'](handleError(_0x480f34,null));};exports['show']=function(_0x5f034a,_0x4ab203){var _0x30a7dd={'raw':![],'where':{'id':_0x5f034a[_0x3677('0x57')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x3677('0x3a')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x4cbd10={};_0x4cbd10[_0x3677('0x41')]=_['keys'](db[_0x3677('0x3d')][_0x3677('0x3e')]);_0x4cbd10['query']=_[_0x3677('0x43')](_0x5f034a[_0x3677('0x44')]);_0x4cbd10[_0x3677('0x45')]=_['intersection'](_0x4cbd10[_0x3677('0x41')],_0x4cbd10[_0x3677('0x44')]);_0x30a7dd['attributes']=_[_0x3677('0x46')](_0x4cbd10[_0x3677('0x41')],qs[_0x3677('0x47')](_0x5f034a['query'][_0x3677('0x47')]));_0x30a7dd['attributes']=_0x30a7dd[_0x3677('0x48')][_0x3677('0x49')]?_0x30a7dd[_0x3677('0x48')]:_0x4cbd10[_0x3677('0x41')];if(_0x5f034a[_0x3677('0x44')][_0x3677('0x53')]){_0x30a7dd[_0x3677('0x54')]=[{'all':!![]}];}_0x30a7dd=_['merge']({},_0x30a7dd,_0x5f034a[_0x3677('0x51')]);return db[_0x3677('0x3d')]['find'](_0x30a7dd)[_0x3677('0x1b')](handleEntityNotFound(_0x4ab203,null))[_0x3677('0x1b')](respondWithResult(_0x4ab203,null))[_0x3677('0x26')](handleError(_0x4ab203,null));};exports[_0x3677('0x31')]=function(_0x5327d7,_0x26b3b1){if(_0x5327d7[_0x3677('0x58')]['id']){delete _0x5327d7['body']['id'];}return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x5327d7[_0x3677('0x57')]['id']},'include':[{'model':db[_0x3677('0x5a')],'as':_0x3677('0x38')},{'model':db[_0x3677('0x39')],'as':'Smtp'},{'model':db[_0x3677('0x3b')],'as':_0x3677('0x5b')}]})[_0x3677('0x1b')](handleEntityNotFound(_0x26b3b1,null))[_0x3677('0x1b')](saveUpdates(_0x5327d7[_0x3677('0x58')],null))[_0x3677('0x1b')](function(_0x47f3c5){if(_0x47f3c5&&_0x5327d7[_0x3677('0x58')]['Imap']){return db[_0x3677('0x5a')][_0x3677('0x31')](_0x5327d7[_0x3677('0x58')][_0x3677('0x38')],{'where':{'MailAccountId':_0x47f3c5['id']}})[_0x3677('0x1b')](function(){return _0x47f3c5;});}return _0x47f3c5;})[_0x3677('0x1b')](function(_0x278f04){if(_0x278f04&&_0x5327d7[_0x3677('0x58')][_0x3677('0x3a')]){return db[_0x3677('0x39')]['update'](_0x5327d7['body'][_0x3677('0x3a')],{'where':{'MailAccountId':_0x278f04['id']}})['then'](function(){return _0x278f04;});}return _0x278f04;})[_0x3677('0x1b')](respondWithResult(_0x26b3b1,null))['catch'](handleError(_0x26b3b1,null));};exports[_0x3677('0x5c')]=function(_0x47a9e9,_0xc13ad7){return db['MailAccount'][_0x3677('0x5c')]()[_0x3677('0x1b')](respondWithResult(_0xc13ad7,null))[_0x3677('0x26')](handleError(_0xc13ad7,null));};exports[_0x3677('0x5d')]=function(_0x50a157,_0x2a7302,_0xd7ab2){if(_0x50a157['body']['id']){delete _0x50a157[_0x3677('0x58')]['id'];}return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x50a157[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x2a7302,null))[_0x3677('0x1b')](function(_0x1916f4){if(_0x1916f4){_0x50a157[_0x3677('0x58')]['MailAccountId']=_0x1916f4['id'];return db['Disposition'][_0x3677('0x5e')](_0x50a157[_0x3677('0x58')]);}})['then'](respondWithResult(_0x2a7302,null))[_0x3677('0x26')](handleError(_0x2a7302,null));};exports['getDispositions']=function(_0x3ee587,_0x290061,_0x3d7485){var _0x264142={'raw':![],'where':{}};var _0x3ccc9e={};var _0x478e3d={'count':0x0,'rows':[]};return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x3ee587[_0x3677('0x57')]['id']}})['then'](handleEntityNotFound(_0x290061,null))[_0x3677('0x1b')](function(_0xd0f07f){if(_0xd0f07f){_0x3ccc9e['model']=_[_0x3677('0x43')](db[_0x3677('0x60')][_0x3677('0x3e')]);_0x3ccc9e[_0x3677('0x44')]=_[_0x3677('0x43')](_0x3ee587[_0x3677('0x44')]);_0x3ccc9e[_0x3677('0x45')]=_[_0x3677('0x46')](_0x3ccc9e['model'],_0x3ccc9e[_0x3677('0x44')]);_0x264142[_0x3677('0x48')]=_[_0x3677('0x46')](_0x3ccc9e[_0x3677('0x41')],qs['fields'](_0x3ee587[_0x3677('0x44')][_0x3677('0x47')]));_0x264142[_0x3677('0x48')]=_0x264142[_0x3677('0x48')][_0x3677('0x49')]?_0x264142[_0x3677('0x48')]:_0x3ccc9e[_0x3677('0x41')];if(!_0x3ee587[_0x3677('0x44')]['hasOwnProperty'](_0x3677('0x4b'))){_0x264142['limit']=qs[_0x3677('0x2b')](_0x3ee587[_0x3677('0x44')][_0x3677('0x2b')]);_0x264142[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x3ee587[_0x3677('0x44')][_0x3677('0x2a')]);}_0x264142[_0x3677('0x4c')]=qs['sort'](_0x3ee587[_0x3677('0x44')][_0x3677('0x61')]);_0x264142[_0x3677('0x4f')]=qs[_0x3677('0x45')](_[_0x3677('0x4d')](_0x3ee587[_0x3677('0x44')],_0x3ccc9e['filters']));_0x264142['where']['MailAccountId']=_0xd0f07f['id'];if(_0x3ee587[_0x3677('0x44')][_0x3677('0x4e')]){_0x264142[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x264142[_0x3677('0x4f')],{'$or':_[_0x3677('0x3c')](_0x264142['attributes'],function(_0x11a7fb){var _0x17f9a7={};_0x17f9a7[_0x11a7fb]={'$like':'%'+_0x3ee587[_0x3677('0x44')]['filter']+'%'};return _0x17f9a7;})});}_0x264142=_['merge']({},_0x264142,_0x3ee587[_0x3677('0x51')]);return db['Disposition'][_0x3677('0x52')]({'where':_0x264142[_0x3677('0x4f')]})[_0x3677('0x1b')](function(_0x47db56){_0x478e3d['count']=_0x47db56;if(_0x3ee587['query']['includeAll']){_0x264142[_0x3677('0x54')]=[{'all':!![]}];}return db[_0x3677('0x60')][_0x3677('0x55')](_0x264142);})[_0x3677('0x1b')](function(_0x31e697){_0x478e3d['rows']=_0x31e697;return _0x478e3d;});}})[_0x3677('0x1b')](respondWithFilteredResult(_0x290061,_0x264142))[_0x3677('0x26')](handleError(_0x290061,null));};exports[_0x3677('0x62')]=function(_0x398df4,_0x4f726c,_0xa22335){return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x398df4[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x4f726c,null))[_0x3677('0x1b')](function(_0x5bf455){if(_0x5bf455){return _0x5bf455[_0x3677('0x62')](_0x398df4[_0x3677('0x44')][_0x3677('0x63')]);}})[_0x3677('0x1b')](respondWithStatusCode(_0x4f726c,null))['catch'](handleError(_0x4f726c,null));};exports[_0x3677('0x64')]=function(_0x44ec8c,_0x18309f,_0x36ab17){if(_0x44ec8c[_0x3677('0x58')]['id']){delete _0x44ec8c[_0x3677('0x58')]['id'];}return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x44ec8c[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x18309f,null))[_0x3677('0x1b')](function(_0x3d4ff4){if(_0x3d4ff4){_0x44ec8c[_0x3677('0x58')][_0x3677('0x65')]=_0x3d4ff4['id'];return db[_0x3677('0x66')]['create'](_0x44ec8c['body']);}})[_0x3677('0x1b')](respondWithResult(_0x18309f,null))[_0x3677('0x26')](handleError(_0x18309f,null));};exports['getAnswers']=function(_0x210bac,_0x28979c,_0x33f735){var _0x2501f6={'raw':![],'where':{}};var _0x49b5b6={};var _0x29143d={'count':0x0,'rows':[]};return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x210bac['params']['id']}})['then'](handleEntityNotFound(_0x28979c,null))[_0x3677('0x1b')](function(_0x12ab77){if(_0x12ab77){_0x49b5b6[_0x3677('0x41')]=_[_0x3677('0x43')](db['CannedAnswer']['rawAttributes']);_0x49b5b6[_0x3677('0x44')]=_[_0x3677('0x43')](_0x210bac[_0x3677('0x44')]);_0x49b5b6[_0x3677('0x45')]=_[_0x3677('0x46')](_0x49b5b6[_0x3677('0x41')],_0x49b5b6[_0x3677('0x44')]);_0x2501f6[_0x3677('0x48')]=_[_0x3677('0x46')](_0x49b5b6[_0x3677('0x41')],qs[_0x3677('0x47')](_0x210bac[_0x3677('0x44')][_0x3677('0x47')]));_0x2501f6[_0x3677('0x48')]=_0x2501f6[_0x3677('0x48')][_0x3677('0x49')]?_0x2501f6[_0x3677('0x48')]:_0x49b5b6['model'];if(!_0x210bac['query']['hasOwnProperty'](_0x3677('0x4b'))){_0x2501f6[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x210bac['query'][_0x3677('0x2b')]);_0x2501f6[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x210bac[_0x3677('0x44')][_0x3677('0x2a')]);}_0x2501f6['order']=qs[_0x3677('0x61')](_0x210bac[_0x3677('0x44')][_0x3677('0x61')]);_0x2501f6[_0x3677('0x4f')]=qs['filters'](_[_0x3677('0x4d')](_0x210bac[_0x3677('0x44')],_0x49b5b6[_0x3677('0x45')]));_0x2501f6[_0x3677('0x4f')][_0x3677('0x65')]=_0x12ab77['id'];if(_0x210bac['query'][_0x3677('0x4e')]){_0x2501f6['where']=_[_0x3677('0x50')](_0x2501f6[_0x3677('0x4f')],{'$or':_[_0x3677('0x3c')](_0x2501f6['attributes'],function(_0x4485ac){var _0x22765a={};_0x22765a[_0x4485ac]={'$like':'%'+_0x210bac['query'][_0x3677('0x4e')]+'%'};return _0x22765a;})});}_0x2501f6=_[_0x3677('0x50')]({},_0x2501f6,_0x210bac[_0x3677('0x51')]);return db['CannedAnswer']['count']({'where':_0x2501f6[_0x3677('0x4f')]})[_0x3677('0x1b')](function(_0x414d8a){_0x29143d[_0x3677('0x52')]=_0x414d8a;if(_0x210bac[_0x3677('0x44')][_0x3677('0x53')]){_0x2501f6['include']=[{'all':!![]}];}return db[_0x3677('0x66')]['findAll'](_0x2501f6);})[_0x3677('0x1b')](function(_0x2ea98a){_0x29143d[_0x3677('0x56')]=_0x2ea98a;return _0x29143d;});}})[_0x3677('0x1b')](respondWithFilteredResult(_0x28979c,_0x2501f6))['catch'](handleError(_0x28979c,null));};exports[_0x3677('0x67')]=function(_0x1e55ef,_0x249059,_0xdc45fd){return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x1e55ef[_0x3677('0x57')]['id']}})['then'](handleEntityNotFound(_0x249059,null))[_0x3677('0x1b')](function(_0x571448){if(_0x571448){return _0x571448['removeAnswers'](_0x1e55ef['query'][_0x3677('0x63')]);}})[_0x3677('0x1b')](respondWithStatusCode(_0x249059,null))[_0x3677('0x26')](handleError(_0x249059,null));};exports['create']=function(_0x23ba7f,_0x53dd31){var _0x1522ac={'name':_0x23ba7f[_0x3677('0x58')][_0x3677('0x42')],'key':_0x23ba7f[_0x3677('0x58')][_0x3677('0x68')],'email':_0x23ba7f[_0x3677('0x58')][_0x3677('0x69')],'ListId':_0x23ba7f['body']['ListId'],'active':!_[_0x3677('0x6a')](_0x23ba7f['body'][_0x3677('0x6b')])?_0x23ba7f[_0x3677('0x58')]['active']:!![],'description':_0x23ba7f[_0x3677('0x58')][_0x3677('0x6c')]||null,'Imap':{},'Smtp':{}};if(_[_0x3677('0x6a')](_0x23ba7f[_0x3677('0x58')][_0x3677('0x6d')])){if(_0x23ba7f[_0x3677('0x58')][_0x3677('0x6e')]){_0x1522ac[_0x3677('0x38')][_0x3677('0x6f')]=_0x1522ac[_0x3677('0x3a')]['user']=_0x23ba7f[_0x3677('0x58')][_0x3677('0x70')];_0x1522ac[_0x3677('0x38')][_0x3677('0x71')]=_0x1522ac[_0x3677('0x3a')][_0x3677('0x72')]=_0x23ba7f[_0x3677('0x58')]['cpassword'];}else{_0x1522ac[_0x3677('0x38')]['authentication']=_0x1522ac[_0x3677('0x3a')][_0x3677('0x73')]=![];}_0x1522ac[_0x3677('0x38')]['host']=_0x23ba7f['body'][_0x3677('0x38')][_0x3677('0x74')];_0x1522ac[_0x3677('0x38')][_0x3677('0x75')]=_0x23ba7f['body'][_0x3677('0x38')]['port'];_0x1522ac[_0x3677('0x3a')]['host']=_0x23ba7f['body']['Smtp']['host'];_0x1522ac[_0x3677('0x3a')]['port']=_0x23ba7f[_0x3677('0x58')][_0x3677('0x3a')][_0x3677('0x75')];}else{_0x1522ac[_0x3677('0x38')]['service']=_0x1522ac[_0x3677('0x3a')][_0x3677('0x76')]=_0x23ba7f[_0x3677('0x58')][_0x3677('0x6d')];_0x1522ac[_0x3677('0x38')]['user']=_0x1522ac[_0x3677('0x3a')]['user']=_0x23ba7f[_0x3677('0x58')][_0x3677('0x70')];_0x1522ac[_0x3677('0x38')][_0x3677('0x71')]=_0x1522ac['Smtp'][_0x3677('0x72')]=_0x23ba7f['body'][_0x3677('0x77')];}return db[_0x3677('0x3d')][_0x3677('0x5e')](_0x1522ac,{'include':[{'model':db[_0x3677('0x39')],'as':_0x3677('0x3a')},{'model':db[_0x3677('0x5a')],'as':'Imap'}]})['then'](function(_0xa3005a){var _0x4d1b0c=_0x23ba7f[_0x3677('0x6f')][_0x3677('0x78')]({'plain':!![]});if(!_0x4d1b0c)throw new Error(_0x3677('0x79'));if(_0x4d1b0c['role']==='user'){var _0x245135=_0xa3005a[_0x3677('0x78')]({'plain':!![]});return db['UserProfileSection'][_0x3677('0x59')]({'where':{'name':_0x3677('0x33'),'userProfileId':_0x4d1b0c[_0x3677('0x7a')]},'raw':!![]})[_0x3677('0x1b')](function(_0x5ecd0f){if(_0x5ecd0f&&_0x5ecd0f['autoAssociation']===0x0){return db['UserProfileResource'][_0x3677('0x5e')]({'name':_0x245135[_0x3677('0x42')],'resourceId':_0x245135['id'],'type':_0x5ecd0f[_0x3677('0x42')],'sectionId':_0x5ecd0f['id']},{})[_0x3677('0x1b')](function(){return _0xa3005a;});}else{return _0xa3005a;}})[_0x3677('0x26')](function(_0x42ba17){logger[_0x3677('0x21')](_0x3677('0x7b'),_0x42ba17);throw _0x42ba17;});}return _0xa3005a;})[_0x3677('0x1b')](respondWithResult(_0x53dd31,0xc9))[_0x3677('0x26')](handleError(_0x53dd31,null));};exports['getImap']=function(_0x5083d3,_0x330270,_0x4b0641){return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x5083d3[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x330270,null))[_0x3677('0x1b')](function(_0x5177ba){if(_0x5177ba){return _0x5177ba['getImap']();}return null;})[_0x3677('0x1b')](respondWithResult(_0x330270,null))['catch'](handleError(_0x330270,null));};exports['addImap']=function(_0x36d505,_0x4d9905,_0x295b02){if(_0x36d505[_0x3677('0x58')]['id']){delete _0x36d505[_0x3677('0x58')]['id'];}return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x36d505[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x4d9905,null))[_0x3677('0x1b')](function(_0x3bc979){if(_0x3bc979){_0x36d505[_0x3677('0x58')][_0x3677('0x65')]=_0x3bc979['id'];return db['MailServerIn'][_0x3677('0x5e')](_0x36d505[_0x3677('0x58')]);}})[_0x3677('0x1b')](respondWithResult(_0x4d9905,null))[_0x3677('0x26')](handleError(_0x4d9905,null));};exports['removeImap']=function(_0x1baca0,_0x25c61a,_0xb6a30c){return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x1baca0[_0x3677('0x57')]['id']}})['then'](handleEntityNotFound(_0x25c61a,null))[_0x3677('0x1b')](function(_0x304a03){if(_0x304a03){return _0x304a03[_0x3677('0x7c')](null);}return null;})[_0x3677('0x1b')](respondWithStatusCode(_0x25c61a,null))[_0x3677('0x26')](handleError(_0x25c61a,null));};exports[_0x3677('0x7d')]=function(_0x4cd297,_0x2af848,_0x4502ff){return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x4cd297[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x2af848,null))[_0x3677('0x1b')](function(_0x27e147){if(_0x27e147){return _0x27e147[_0x3677('0x7d')]();}return null;})['then'](respondWithResult(_0x2af848,null))[_0x3677('0x26')](handleError(_0x2af848,null));};exports['addSmtp']=function(_0x45412e,_0x451254,_0x24ab63){if(_0x45412e[_0x3677('0x58')]['id']){delete _0x45412e[_0x3677('0x58')]['id'];}return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x45412e[_0x3677('0x57')]['id']}})['then'](handleEntityNotFound(_0x451254,null))[_0x3677('0x1b')](function(_0x3a974b){if(_0x3a974b){_0x45412e[_0x3677('0x58')][_0x3677('0x65')]=_0x3a974b['id'];return db[_0x3677('0x39')][_0x3677('0x5e')](_0x45412e[_0x3677('0x58')]);}})['then'](respondWithResult(_0x451254,null))['catch'](handleError(_0x451254,null));};exports[_0x3677('0x7e')]=function(_0x3d8caf,_0x32eba3,_0x5de5f4){return db['MailAccount'][_0x3677('0x5f')]({'where':{'id':_0x3d8caf['params']['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x32eba3,null))['then'](function(_0x51f7c7){if(_0x51f7c7){return _0x51f7c7[_0x3677('0x7f')](null);}return null;})['then'](respondWithStatusCode(_0x32eba3,null))[_0x3677('0x26')](handleError(_0x32eba3,null));};exports[_0x3677('0x80')]=function(_0xfa4289,_0x473352,_0x2af21d){return db[_0x3677('0x81')][_0x3677('0x59')]({'where':{'id':_0xfa4289[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x473352,null))['then'](function(_0x1fea12){if(_0x1fea12){return _0x1fea12[_0x3677('0x80')](_0xfa4289[_0x3677('0x58')][_0x3677('0x63')],_['omit'](_0xfa4289[_0x3677('0x58')],['ids','id'])||{});}})['then'](respondWithResult(_0x473352,null))[_0x3677('0x26')](handleError(_0x473352,null));};exports[_0x3677('0x82')]=function(_0x3a7b51,_0x1cc75b,_0x3d4ba1){var _0x2b88f6={'raw':![],'where':{}};var _0x2a550a={};var _0x310044={'count':0x0,'rows':[]};return db[_0x3677('0x3d')]['findOne']({'where':{'id':_0x3a7b51[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x1cc75b,null))[_0x3677('0x1b')](function(_0x34120c){if(_0x34120c){_0x2a550a[_0x3677('0x41')]=_[_0x3677('0x43')](db[_0x3677('0x81')][_0x3677('0x3e')]);_0x2a550a[_0x3677('0x44')]=_[_0x3677('0x43')](_0x3a7b51[_0x3677('0x44')]);_0x2a550a['filters']=_[_0x3677('0x46')](_0x2a550a[_0x3677('0x41')],_0x2a550a['query']);_0x2b88f6[_0x3677('0x48')]=_[_0x3677('0x46')](_0x2a550a['model'],qs[_0x3677('0x47')](_0x3a7b51[_0x3677('0x44')][_0x3677('0x47')]));_0x2b88f6[_0x3677('0x48')]=_0x2b88f6[_0x3677('0x48')][_0x3677('0x49')]?_0x2b88f6[_0x3677('0x48')]:_0x2a550a[_0x3677('0x41')];if(!_0x3a7b51[_0x3677('0x44')][_0x3677('0x4a')](_0x3677('0x4b'))){_0x2b88f6[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x3a7b51['query'][_0x3677('0x2b')]);_0x2b88f6[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x3a7b51[_0x3677('0x44')][_0x3677('0x2a')]);}_0x2b88f6[_0x3677('0x4c')]=qs[_0x3677('0x61')](_0x3a7b51['query']['sort']);_0x2b88f6[_0x3677('0x4f')]=qs[_0x3677('0x45')](_['pick'](_0x3a7b51[_0x3677('0x44')],_0x2a550a[_0x3677('0x45')]));_0x2b88f6['where'][_0x3677('0x65')]=_0x34120c['id'];if(_0x3a7b51[_0x3677('0x44')][_0x3677('0x4e')]){_0x2b88f6[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x2b88f6[_0x3677('0x4f')],{'$or':_[_0x3677('0x3c')](_0x2b88f6[_0x3677('0x48')],function(_0x30a5d2){var _0x1dfb4f={};_0x1dfb4f[_0x30a5d2]={'$like':'%'+_0x3a7b51[_0x3677('0x44')]['filter']+'%'};return _0x1dfb4f;})});}_0x2b88f6=_[_0x3677('0x50')]({},_0x2b88f6,_0x3a7b51[_0x3677('0x51')]);return db['MailInteraction']['count']({'where':_0x2b88f6['where']})['then'](function(_0x5d806c){_0x310044['count']=_0x5d806c;if(_0x3a7b51[_0x3677('0x44')][_0x3677('0x53')]){_0x2b88f6['include']=[{'model':db['CmContact'],'as':_0x3677('0x83'),'required':![]},{'model':db[_0x3677('0x84')],'as':_0x3677('0x85'),'attributes':[_0x3677('0x42'),_0x3677('0x86'),_0x3677('0x87')],'required':![]},{'model':db[_0x3677('0x88')],'as':_0x3677('0x89'),'attributes':['id',_0x3677('0x42'),'color'],'where':_0x3a7b51['query'][_0x3677('0x8a')]?{'id':_0x3a7b51['query'][_0x3677('0x8a')]}:undefined,'required':_0x3a7b51['query']['tag']?!![]:![]}];}return db[_0x3677('0x81')][_0x3677('0x55')](_0x2b88f6);})[_0x3677('0x1b')](function(_0x28f23c){_0x310044[_0x3677('0x56')]=_0x28f23c;return _0x310044;});}})[_0x3677('0x1b')](respondWithFilteredResult(_0x1cc75b,_0x2b88f6))[_0x3677('0x26')](handleError(_0x1cc75b,null));};exports[_0x3677('0x8b')]=function(_0x5e4b52,_0xdeb0d7,_0x274027){return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x5e4b52[_0x3677('0x57')]['id']}})['then'](handleEntityNotFound(_0xdeb0d7,null))[_0x3677('0x1b')](function(_0x31d4b7){if(_0x31d4b7){return db[_0x3677('0x8c')][_0x3677('0x8d')](function(_0x2ec61a){return db[_0x3677('0x8e')][_0x3677('0x32')]({'where':{'MailAccountId':_0x5e4b52[_0x3677('0x57')]['id']},'transaction':_0x2ec61a})[_0x3677('0x1b')](function(_0x47d395){var _0x42907b=_[_0x3677('0x3c')](_0x5e4b52[_0x3677('0x58')],function(_0x119436){_0x119436[_0x3677('0x65')]=_0x5e4b52[_0x3677('0x57')]['id'];return _0x119436;});return db[_0x3677('0x8e')][_0x3677('0x8f')](_0x42907b,{'transaction':_0x2ec61a});});})[_0x3677('0x1b')](function(){return db['MailApplication'][_0x3677('0x90')]({'where':{'MailAccountId':_0x5e4b52[_0x3677('0x57')]['id']},'order':_0x3677('0x91')});});}})[_0x3677('0x1b')](respondWithResult(_0xdeb0d7,null))[_0x3677('0x26')](handleError(_0xdeb0d7,null));};exports[_0x3677('0x92')]=function(_0x34c4ed,_0x2f5909,_0x121b64){var _0x51ea17={};var _0x40b866={};var _0x4ea06b;var _0xf2a0b;return db[_0x3677('0x3d')]['findOne']({'where':{'id':_0x34c4ed['params']['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x2f5909,null))['then'](function(_0x160c2c){if(_0x160c2c){_0x4ea06b=_0x160c2c;_0x40b866[_0x3677('0x41')]=_[_0x3677('0x43')](db['MailApplication'][_0x3677('0x3e')]);_0x40b866[_0x3677('0x44')]=_[_0x3677('0x43')](_0x34c4ed[_0x3677('0x44')]);_0x40b866[_0x3677('0x45')]=_[_0x3677('0x46')](_0x40b866[_0x3677('0x41')],_0x40b866['query']);_0x51ea17[_0x3677('0x48')]=_[_0x3677('0x46')](_0x40b866[_0x3677('0x41')],qs[_0x3677('0x47')](_0x34c4ed[_0x3677('0x44')][_0x3677('0x47')]));_0x51ea17['attributes']=_0x51ea17['attributes'][_0x3677('0x49')]?_0x51ea17['attributes']:_0x40b866['model'];_0x51ea17[_0x3677('0x4c')]=qs[_0x3677('0x61')](_0x34c4ed[_0x3677('0x44')][_0x3677('0x61')]);_0x51ea17[_0x3677('0x4f')]=qs['filters'](_[_0x3677('0x4d')](_0x34c4ed[_0x3677('0x44')],_0x40b866[_0x3677('0x45')]));if(_0x34c4ed[_0x3677('0x44')][_0x3677('0x4e')]){_0x51ea17[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x51ea17['where'],{'$or':_['map'](_0x51ea17[_0x3677('0x48')],function(_0x44bdfe){var _0x5a40b0={};_0x5a40b0[_0x44bdfe]={'$like':'%'+_0x34c4ed[_0x3677('0x44')][_0x3677('0x4e')]+'%'};return _0x5a40b0;})});}_0x51ea17=_[_0x3677('0x50')]({},_0x51ea17,_0x34c4ed[_0x3677('0x51')]);return _0x4ea06b['getApplications'](_0x51ea17);}})[_0x3677('0x1b')](function(_0x3e2f18){if(_0x3e2f18){_0xf2a0b=_0x3e2f18[_0x3677('0x49')];if(!_0x34c4ed['query'][_0x3677('0x4a')](_0x3677('0x4b'))){_0x51ea17[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x34c4ed[_0x3677('0x44')][_0x3677('0x2b')]);_0x51ea17[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x34c4ed[_0x3677('0x44')][_0x3677('0x2a')]);}return _0x4ea06b[_0x3677('0x92')](_0x51ea17);}})[_0x3677('0x1b')](function(_0x10ddad){if(_0x10ddad){return _0x10ddad?{'count':_0xf2a0b,'rows':_0x10ddad}:null;}})[_0x3677('0x1b')](respondWithResult(_0x2f5909,null))[_0x3677('0x26')](handleError(_0x2f5909,null));};exports[_0x3677('0x93')]=function(_0x5877de,_0x304d47,_0x190137){var _0x500376={'raw':!![],'where':{}};var _0x550ae4={};var _0x5c4307={'count':0x0,'rows':[]};return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x5877de[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x304d47,null))[_0x3677('0x1b')](function(_0x480bf4){if(_0x480bf4){_0x550ae4[_0x3677('0x41')]=_[_0x3677('0x43')](db['MailMessage']['rawAttributes']);_0x550ae4[_0x3677('0x44')]=_['keys'](_0x5877de[_0x3677('0x44')]);_0x550ae4[_0x3677('0x45')]=_[_0x3677('0x46')](_0x550ae4[_0x3677('0x41')],_0x550ae4['query']);_0x500376['attributes']=_[_0x3677('0x46')](_0x550ae4[_0x3677('0x41')],qs[_0x3677('0x47')](_0x5877de[_0x3677('0x44')]['fields']));_0x500376['attributes']=_0x500376[_0x3677('0x48')]['length']?_0x500376[_0x3677('0x48')]:_0x550ae4[_0x3677('0x41')];if(!_0x5877de[_0x3677('0x44')][_0x3677('0x4a')](_0x3677('0x4b'))){_0x500376[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x5877de[_0x3677('0x44')]['limit']);_0x500376[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x5877de['query'][_0x3677('0x2a')]);}_0x500376[_0x3677('0x4c')]=qs[_0x3677('0x61')](_0x5877de[_0x3677('0x44')][_0x3677('0x61')]);_0x500376[_0x3677('0x4f')]=qs[_0x3677('0x45')](_[_0x3677('0x4d')](_0x5877de[_0x3677('0x44')],_0x550ae4['filters']));_0x500376[_0x3677('0x4f')][_0x3677('0x65')]=_0x480bf4['id'];if(_0x5877de[_0x3677('0x44')][_0x3677('0x4e')]){_0x500376[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x500376[_0x3677('0x4f')],{'$or':_[_0x3677('0x3c')](_0x500376[_0x3677('0x48')],function(_0x375e38){var _0xa67fd9={};_0xa67fd9[_0x375e38]={'$like':'%'+_0x5877de['query']['filter']+'%'};return _0xa67fd9;})});}if(_0x5877de[_0x3677('0x44')][_0x3677('0x94')]){var _0x35bc2f=_0x5877de['query'][_0x3677('0x94')][_0x3677('0x95')](',');var _0x478b1b={};_0x478b1b[_0x35bc2f[0x0]]={'$gte':moment(_0x35bc2f[0x1])[_0x3677('0x96')]('YYYY-MM-DD\x20HH:mm:ss')};_0x500376[_0x3677('0x4f')]=_['merge'](_0x500376[_0x3677('0x4f')],_0x478b1b);}_0x500376=_[_0x3677('0x50')]({},_0x500376,_0x5877de[_0x3677('0x51')]);return db[_0x3677('0x97')]['count']({'where':_0x500376[_0x3677('0x4f')]})[_0x3677('0x1b')](function(_0x2dd3a6){_0x5c4307[_0x3677('0x52')]=_0x2dd3a6;if(_0x5877de[_0x3677('0x44')][_0x3677('0x53')]){_0x500376[_0x3677('0x54')]=[{'all':!![]}];}return db[_0x3677('0x97')][_0x3677('0x55')](_0x500376);})[_0x3677('0x1b')](function(_0x27e34f){_0x5c4307[_0x3677('0x56')]=_0x27e34f;return _0x5c4307;});}})[_0x3677('0x1b')](respondWithFilteredResult(_0x304d47,_0x500376))['catch'](handleError(_0x304d47,null));};exports[_0x3677('0x36')]=function(_0xa153b,_0x51d5e2,_0x112e1f){var _0x186257,_0x50555f={},_0x48903e;if(_0xa153b[_0x3677('0x58')]['to']){_0x48903e=_0xa153b[_0x3677('0x58')]['to']['split'](',')[0x0];}return db[_0x3677('0x3d')]['find']({'where':{'id':_0xa153b['params']['id']},'include':[{'model':db[_0x3677('0x98')],'as':'List','include':[{'model':db[_0x3677('0x99')],'as':_0x3677('0x9a'),'where':{'email':_0x48903e},'limit':0x1,'order':[[_0x3677('0x9b'),_0x3677('0x9c')]]}]},{'model':db['MailServerOut'],'as':_0x3677('0x3a'),'raw':!![]}]})[_0x3677('0x1b')](handleEntityNotFound(_0x51d5e2,null))[_0x3677('0x1b')](function(_0xe8aed9){if(_0xe8aed9){_0x186257=_0xe8aed9;if(_0xe8aed9['Smtp']){if(_[_0x3677('0x6a')](_0xa153b[_0x3677('0x58')]['from'])){_0xa153b['body'][_0x3677('0x9d')]=util[_0x3677('0x96')](_0x3677('0x9e'),_0xe8aed9[_0x3677('0x42')],_0xe8aed9[_0x3677('0x69')]||_0xe8aed9[_0x3677('0x3a')][_0x3677('0x6f')]);}if(_0xa153b['body'][_0x3677('0x9f')]&&_0xa153b['body'][_0x3677('0x9f')][_0x3677('0x49')]){for(var _0x1f23e0=0x0;_0x1f23e0<_0xa153b[_0x3677('0x58')][_0x3677('0x9f')]['length'];_0x1f23e0+=0x1){_0xa153b[_0x3677('0x58')]['attachments'][_0x1f23e0]={'filename':_0xa153b[_0x3677('0x58')][_0x3677('0x9f')][_0x1f23e0]['name'],'path':path[_0x3677('0xa0')](config[_0x3677('0xa1')],_0x3677('0xa2'),_0xa153b[_0x3677('0x58')]['attachments'][_0x1f23e0][_0x3677('0xa3')])};}}var _0x23dfd7={'tls':{'rejectUnauthorized':![]}};if(_[_0x3677('0x6a')](_0xe8aed9[_0x3677('0x3a')][_0x3677('0x76')])){if(_0xe8aed9[_0x3677('0x3a')]['authentication']){_0x23dfd7[_0x3677('0xa4')]={'user':_0xe8aed9['Smtp'][_0x3677('0x6f')],'pass':_0xe8aed9[_0x3677('0x3a')][_0x3677('0x72')]};}_0x23dfd7[_0x3677('0x74')]=_0xe8aed9[_0x3677('0x3a')][_0x3677('0x74')];_0x23dfd7['port']=_0xe8aed9[_0x3677('0x3a')][_0x3677('0x75')];_0x23dfd7['secure']=_0xe8aed9[_0x3677('0x3a')][_0x3677('0xa5')];}else{_0x23dfd7['service']=_0xe8aed9['Smtp'][_0x3677('0x76')];_0x23dfd7[_0x3677('0xa4')]={'user':_0xe8aed9[_0x3677('0x3a')]['user'],'pass':_0xe8aed9[_0x3677('0x3a')][_0x3677('0x72')]};}return respondWithRpcPromise(_0x3677('0xa6'),_0x3677('0xa7'),{'account':_0x23dfd7,'message':_0xa153b[_0x3677('0x58')]});}else{throw new Error(_0x3677('0xa8'));}}})[_0x3677('0x1b')](function(_0x3fe676){if(_0x3fe676){_0x50555f=_0x3fe676;if(_0x186257[_0x3677('0xa9')]){if(_0x186257[_0x3677('0xa9')][_0x3677('0x9a')][_0x3677('0x49')]){return _0x186257['List'][_0x3677('0x9a')][0x0];}else{return db[_0x3677('0x99')][_0x3677('0x5e')](_[_0x3677('0x12')](_0xa153b[_0x3677('0x58')],{'firstName':_0xa153b[_0x3677('0x58')]['to'],'email':_0xa153b[_0x3677('0x58')]['to'],'phone':_0xa153b[_0x3677('0x58')]['to'],'ListId':_0x186257[_0x3677('0xaa')]}));}}else{throw new Error(_0x3677('0xa8'));}}})[_0x3677('0x1b')](function(_0x392c3b){if(_0x392c3b){var _0x7eb32d={'UserId':_0xa153b[_0x3677('0x6f')]['id'],'ContactId':_0x392c3b['id'],'MailAccountId':_0x186257['id'],'inReplyTo':_0x50555f[_0x3677('0xab')],'to':_0xa153b[_0x3677('0x58')][_0x3677('0x9d')],'cc':_0xa153b[_0x3677('0x58')]['cc'],'subject':_0xa153b[_0x3677('0x58')][_0x3677('0xac')],'attach':_0xa153b['body'][_0x3677('0xad')],'firstMsgDirection':_0x3677('0xae'),'lastMsgAt':moment()[_0x3677('0x96')](_0x3677('0xaf')),'lastMsgDirection':'out','lastMsgBody':_0xa153b[_0x3677('0x58')]['body'],'Messages':[_[_0x3677('0x50')](_0xa153b[_0x3677('0x58')],{'messageId':_0x50555f[_0x3677('0xab')],'sentAt':moment()[_0x3677('0x96')](_0x3677('0xaf')),'read':!![],'MailAccountId':_0x186257['id'],'UserId':_0xa153b[_0x3677('0x6f')]['id'],'ContactId':_0x392c3b['id']})]};if(_0xa153b['body']['Interaction']){_0x7eb32d=_[_0x3677('0x50')](_0x7eb32d,_0xa153b[_0x3677('0x58')]['Interaction']);}return db[_0x3677('0x81')][_0x3677('0x5e')](_0x7eb32d,{'include':[{'model':db[_0x3677('0x97')],'as':'Messages'}]});}})[_0x3677('0x1b')](respondWithResult(_0x51d5e2,null))[_0x3677('0x26')](handleError(_0x51d5e2,null));};exports[_0x3677('0xb0')]=function(_0x2df5d8,_0x54e050,_0x312391){return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x2df5d8['params']['id']},'include':[{'model':db['MailServerOut'],'as':_0x3677('0x3a'),'raw':!![]}]})['then'](handleEntityNotFound(_0x54e050,null))[_0x3677('0x1b')](function(_0x412ba9){if(_0x412ba9&&_0x412ba9[_0x3677('0x3a')]){var _0x274ea1={'id':_0x412ba9['id'],'tls':{'rejectUnauthorized':![]}};if(_0x412ba9['Smtp'][_0x3677('0x76')]){_0x274ea1['service']=_0x412ba9[_0x3677('0x3a')]['service'];}else{_0x274ea1[_0x3677('0x74')]=_0x412ba9[_0x3677('0x3a')][_0x3677('0x74')];_0x274ea1[_0x3677('0x75')]=_0x412ba9['Smtp']['port'];_0x274ea1[_0x3677('0xa5')]=_0x412ba9['Smtp'][_0x3677('0xa5')];}if(_0x412ba9[_0x3677('0x3a')][_0x3677('0x73')]){_0x274ea1['auth']={'user':_0x412ba9[_0x3677('0x3a')][_0x3677('0x6f')],'pass':_0x412ba9[_0x3677('0x3a')][_0x3677('0x72')]};}return respondWithRpcPromise('VerifySmtp',_0x3677('0xb0'),{'account':_0x274ea1});}})[_0x3677('0x1b')](respondWithResult(_0x54e050,null))[_0x3677('0x26')](handleError(_0x54e050,null));};exports[_0x3677('0x32')]=function(_0x299788,_0x1fc5c7){return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x299788[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x1fc5c7,null))[_0x3677('0x1b')](function(_0x22c88c){if(_0x22c88c&&_0x22c88c[_0x3677('0x76')]){throw new db[(_0x3677('0xb1'))][(_0x3677('0xb2'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x22c88c;})['then'](removeEntity(_0x1fc5c7,null))[_0x3677('0x26')](handleError(_0x1fc5c7,null));};exports[_0x3677('0xb3')]=function(_0x1d08bd,_0x3391d1,_0x3c1669){return db[_0x3677('0x3d')][_0x3677('0x59')]({'where':{'id':_0x1d08bd['params']['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x3391d1,null))[_0x3677('0x1b')](function(_0x3675e8){if(_0x3675e8){return _0x3675e8[_0x3677('0xb3')](_0x1d08bd[_0x3677('0x58')][_0x3677('0x63')],_['omit'](_0x1d08bd['body'],['ids','id'])||{})[_0x3677('0xb4')](function(_0x2e48cf){for(var _0x5099ab=0x0;_0x5099ab<_0x1d08bd[_0x3677('0x58')][_0x3677('0x63')][_0x3677('0x49')];_0x5099ab+=0x1){socket[_0x3677('0xb5')](_0x3677('0xb6'),{'UserId':_0x1d08bd['body']['ids'][_0x5099ab],'MailAccountId':_0x1d08bd[_0x3677('0x57')]['id']});}return _0x2e48cf;});}})['then'](respondWithResult(_0x3391d1,null))[_0x3677('0x26')](handleError(_0x3391d1,null));};exports[_0x3677('0xb7')]=function(_0x79efcd,_0x1344c9,_0x5e0e4a){return db['MailAccount'][_0x3677('0x59')]({'where':{'id':_0x79efcd[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x1344c9,null))[_0x3677('0x1b')](function(_0x57aa94){if(_0x57aa94){return _0x57aa94[_0x3677('0xb7')](_0x79efcd[_0x3677('0x44')][_0x3677('0x63')])[_0x3677('0x1b')](function(){if(_[_0x3677('0xb8')](_0x79efcd[_0x3677('0x44')][_0x3677('0x63')])){for(var _0x5580c0=0x0;_0x5580c0<_0x79efcd['query'][_0x3677('0x63')][_0x3677('0x49')];_0x5580c0+=0x1){socket[_0x3677('0xb5')]('userMailAccount:remove',{'UserId':Number(_0x79efcd[_0x3677('0x44')]['ids'][_0x5580c0]),'MailAccountId':Number(_0x79efcd[_0x3677('0x57')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x79efcd[_0x3677('0x44')][_0x3677('0x63')]),'MailAccountId':Number(_0x79efcd[_0x3677('0x57')]['id'])});}});}})[_0x3677('0x1b')](respondWithStatusCode(_0x1344c9,null))[_0x3677('0x26')](handleError(_0x1344c9,null));};exports['getAgents']=function(_0x4ef4cd,_0x334f69,_0x3883ba){var _0x1a1a94={};var _0x260450={};var _0x2c6831;var _0x4f83dc;return db[_0x3677('0x3d')][_0x3677('0x5f')]({'where':{'id':_0x4ef4cd[_0x3677('0x57')]['id']}})[_0x3677('0x1b')](handleEntityNotFound(_0x334f69,null))[_0x3677('0x1b')](function(_0x1bc46f){if(_0x1bc46f){_0x2c6831=_0x1bc46f;_0x260450['model']=_['keys'](db[_0x3677('0x84')][_0x3677('0x3e')]);_0x260450[_0x3677('0x44')]=_[_0x3677('0x43')](_0x4ef4cd[_0x3677('0x44')]);_0x260450[_0x3677('0x45')]=_['intersection'](_0x260450[_0x3677('0x41')],_0x260450[_0x3677('0x44')]);_0x1a1a94[_0x3677('0x48')]=_[_0x3677('0x46')](_0x260450[_0x3677('0x41')],qs[_0x3677('0x47')](_0x4ef4cd[_0x3677('0x44')][_0x3677('0x47')]));_0x1a1a94[_0x3677('0x48')]=_0x1a1a94['attributes'][_0x3677('0x49')]?_0x1a1a94[_0x3677('0x48')]:_0x260450['model'];_0x1a1a94[_0x3677('0x4c')]=qs[_0x3677('0x61')](_0x4ef4cd[_0x3677('0x44')]['sort']);_0x1a1a94['where']=qs['filters'](_[_0x3677('0x4d')](_0x4ef4cd[_0x3677('0x44')],_0x260450[_0x3677('0x45')]));if(_0x4ef4cd[_0x3677('0x44')][_0x3677('0x4e')]){_0x1a1a94[_0x3677('0x4f')]=_[_0x3677('0x50')](_0x1a1a94[_0x3677('0x4f')],{'$or':_['map'](_0x1a1a94[_0x3677('0x48')],function(_0x1daf60){var _0x200b9c={};_0x200b9c[_0x1daf60]={'$like':'%'+_0x4ef4cd['query'][_0x3677('0x4e')]+'%'};return _0x200b9c;})});}_0x1a1a94=_['merge']({},_0x1a1a94,_0x4ef4cd[_0x3677('0x51')]);return _0x2c6831[_0x3677('0xb9')](_0x1a1a94);}})['then'](function(_0xedeeea){if(_0xedeeea){_0x4f83dc=_0xedeeea[_0x3677('0x49')];if(!_0x4ef4cd[_0x3677('0x44')][_0x3677('0x4a')]('nolimit')){_0x1a1a94[_0x3677('0x2b')]=qs[_0x3677('0x2b')](_0x4ef4cd[_0x3677('0x44')][_0x3677('0x2b')]);_0x1a1a94[_0x3677('0x2a')]=qs[_0x3677('0x2a')](_0x4ef4cd['query'][_0x3677('0x2a')]);}return _0x2c6831[_0x3677('0xb9')](_0x1a1a94);}})[_0x3677('0x1b')](function(_0x2b36db){if(_0x2b36db){return _0x2b36db?{'count':_0x4f83dc,'rows':_0x2b36db}:null;}})['then'](respondWithResult(_0x334f69,null))[_0x3677('0x26')](handleError(_0x334f69,null));};