b9aafaa989ad69e79e4e2b8efc0aab6d4cd38a57
[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 _0x5876=['getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','Contact','User','Owner','fullname','internal','Tag','tag','addApplications','transaction','bulkCreate','findAndCountAll','getApplications','MailApplication','$gte','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','split','CmList','List','CmContact','updatedAt','DESC','from','attachments','join','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','Contacts','messageId','subject','attach','out','Messages','VerifySmtp','verifySmtp','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','register','client','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','end','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','get','MailAccounts','sendStatus','stack','name','index','MailServerIn','Imap','Smtp','mandatoryDispositionPause','map','MailAccount','rawAttributes','key','model','filters','intersection','attributes','fields','query','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','rows','show','params','MailServerOut','Pause','body','find','addDisposition','MailAccountId','create','findOne','keys','Disposition','findAll','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','ListId','isNil','cservice','cauthentication','user','password','pass','cpassword','authentication','host','port','service','cuser','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap'];(function(_0x4e8c3f,_0x39d62c){var _0x565180=function(_0x1932b8){while(--_0x1932b8){_0x4e8c3f['push'](_0x4e8c3f['shift']());}};_0x565180(++_0x39d62c);}(_0x5876,0x1af));var _0x6587=function(_0x5baf32,_0x103278){_0x5baf32=_0x5baf32-0x0;var _0x539cae=_0x5876[_0x5baf32];return _0x539cae;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6587('0x0'));var rimraf=require(_0x6587('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6587('0x2'));var rp=require(_0x6587('0x3'));var moment=require('moment');var BPromise=require(_0x6587('0x4'));var Mustache=require('mustache');var util=require(_0x6587('0x5'));var path=require('path');var sox=require(_0x6587('0x6'));var csv=require(_0x6587('0x7'));var ejs=require(_0x6587('0x8'));var fs=require('fs');var _=require(_0x6587('0x9'));var squel=require(_0x6587('0xa'));var crypto=require(_0x6587('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6587('0xc'));var toCsv=require(_0x6587('0x7'));var querystring=require(_0x6587('0xd'));var Papa=require(_0x6587('0xe'));var Redis=require(_0x6587('0xf'));var authService=require(_0x6587('0x10'));var qs=require(_0x6587('0x11'));var as=require(_0x6587('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6587('0x13'))('api');var utils=require(_0x6587('0x14'));var config=require(_0x6587('0x15'));var db=require(_0x6587('0x16'))['db'];config[_0x6587('0x17')]=_[_0x6587('0x18')](config[_0x6587('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x6587('0x19'))(new Redis(config[_0x6587('0x17')]));require(_0x6587('0x1a'))[_0x6587('0x1b')](socket);var jayson=require('jayson/promise');var client=jayson[_0x6587('0x1c')][_0x6587('0x1d')]({'port':0x232b});function checkPasswordPattern(_0x2a5849,_0x5e54d0,_0x53097b){if(_0x53097b){var _0x59d415=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x59d415['test'](_0x5e54d0)){return _0x2a5849;}else{throw new db[(_0x6587('0x1e'))][(_0x6587('0x1f'))](_0x6587('0x20'));}}else{return _0x2a5849;}}function respondWithRpcPromise(_0x366685,_0x3b337c,_0x5cd7c3,_0x5cc28a){return new BPromise(function(_0x33f8f1,_0x3259c8){var _0x4b80a5=_0x5cc28a||client;return _0x4b80a5[_0x6587('0x21')](_0x366685,_0x5cd7c3)[_0x6587('0x22')](function(_0xd6fcd2){logger[_0x6587('0x23')](_0x6587('0x24'),_0x3b337c,_0x6587('0x25'));logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x3b337c,_0x6587('0x25'),JSON[_0x6587('0x26')](_0xd6fcd2));if(_0xd6fcd2[_0x6587('0x27')]){if(_0xd6fcd2['error'][_0x6587('0x28')]===0x1f4){logger[_0x6587('0x27')](_0x6587('0x24'),_0x3b337c,_0xd6fcd2[_0x6587('0x27')]['message']);return _0x3259c8(_0xd6fcd2[_0x6587('0x27')]['message']);}logger['error']('MailAccount,\x20%s,\x20%s',_0x3b337c,_0xd6fcd2['error'][_0x6587('0x29')]);return _0x33f8f1(_0xd6fcd2[_0x6587('0x27')][_0x6587('0x29')]);}else{logger['info'](_0x6587('0x24'),_0x3b337c,_0x6587('0x25'));_0x33f8f1(_0xd6fcd2[_0x6587('0x2a')][_0x6587('0x29')]);}})[_0x6587('0x2b')](function(_0x4c7526){logger['error'](_0x6587('0x24'),_0x3b337c,_0x4c7526);_0x3259c8(_0x4c7526);});});}function respondWithStatusCode(_0x2c4beb,_0x5ec238){_0x5ec238=_0x5ec238||0xcc;return function(_0x63975b){if(_0x63975b){return _0x2c4beb['sendStatus'](_0x5ec238);}return _0x2c4beb['status'](_0x5ec238)[_0x6587('0x2c')]();};}function respondWithResult(_0x28abff,_0x3f56e9){_0x3f56e9=_0x3f56e9||0xc8;return function(_0x40f13b){if(_0x40f13b){return _0x28abff[_0x6587('0x2d')](_0x3f56e9)['json'](_0x40f13b);}};}function respondWithFilteredResult(_0x21085a,_0x11c0af){return function(_0x7a8a69){if(_0x7a8a69){var _0x187bdb=_0x7a8a69[_0x6587('0x2e')],_0x5e2332=_0x11c0af[_0x6587('0x2f')],_0x30bdc4=_0x11c0af['offset']+_0x11c0af[_0x6587('0x30')],_0x297e24;if(_0x30bdc4>=_0x187bdb){_0x30bdc4=_0x187bdb;_0x297e24=0xc8;}else{_0x297e24=0xce;}_0x21085a[_0x6587('0x2d')](_0x297e24);return _0x21085a[_0x6587('0x31')](_0x6587('0x32'),_0x5e2332+'-'+_0x30bdc4+'/'+_0x187bdb)[_0x6587('0x33')](_0x7a8a69);}return null;};}function patchUpdates(_0x562443){return function(_0x120905){try{jsonpatch[_0x6587('0x34')](_0x120905,_0x562443,!![]);}catch(_0xcd1583){return BPromise[_0x6587('0x35')](_0xcd1583);}return _0x120905[_0x6587('0x36')]();};}function saveUpdates(_0x18b933,_0x81d36){return function(_0x129c6d){if(_0x129c6d){return _0x129c6d[_0x6587('0x37')](_0x18b933)['then'](function(_0x3e0d0b){return _0x3e0d0b;});}return null;};}function removeEntity(_0x5940a8,_0x9a4d14){return function(_0x1d9b3e){if(_0x1d9b3e){return _0x1d9b3e[_0x6587('0x38')]()[_0x6587('0x22')](function(){var _0xf6ae4d=_0x1d9b3e[_0x6587('0x39')]({'plain':!![]});var _0x384cb8=_0x6587('0x3a');return db['UserProfileResource'][_0x6587('0x38')]({'where':{'type':_0x384cb8,'resourceId':_0xf6ae4d['id']}})[_0x6587('0x22')](function(){return _0x1d9b3e;});})['then'](function(){_0x5940a8[_0x6587('0x2d')](0xcc)[_0x6587('0x2c')]();});}};}function handleEntityNotFound(_0x258c8a,_0x240f98){return function(_0x644435){if(!_0x644435){_0x258c8a[_0x6587('0x3b')](0x194);}return _0x644435;};}function handleError(_0x5a9a3a,_0x3b22b2){_0x3b22b2=_0x3b22b2||0x1f4;return function(_0x3cac83){logger[_0x6587('0x27')](_0x3cac83[_0x6587('0x3c')]);if(_0x3cac83[_0x6587('0x3d')]){delete _0x3cac83[_0x6587('0x3d')];}_0x5a9a3a[_0x6587('0x2d')](_0x3b22b2)['send'](_0x3cac83);};}exports[_0x6587('0x3e')]=function(_0x1a9e15,_0x137d59){var _0x4093a3={'include':[{'model':db[_0x6587('0x3f')],'as':_0x6587('0x40')},{'model':db['MailServerOut'],'as':_0x6587('0x41')},{'model':db['Pause'],'as':_0x6587('0x42')}]},_0x5d6387={},_0x506363={'count':0x0,'rows':[]};var _0x5e916e=_[_0x6587('0x43')](db[_0x6587('0x44')][_0x6587('0x45')],function(_0x13ba74){return{'name':_0x13ba74['fieldName'],'type':_0x13ba74['type'][_0x6587('0x46')]};});_0x5d6387[_0x6587('0x47')]=_[_0x6587('0x43')](_0x5e916e,'name');_0x5d6387['query']=_['keys'](_0x1a9e15['query']);_0x5d6387[_0x6587('0x48')]=_[_0x6587('0x49')](_0x5d6387['model'],_0x5d6387['query']);_0x4093a3[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x5d6387[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x1a9e15[_0x6587('0x4c')]['fields']));_0x4093a3['attributes']=_0x4093a3[_0x6587('0x4a')][_0x6587('0x4d')]?_0x4093a3[_0x6587('0x4a')]:_0x5d6387[_0x6587('0x47')];if(!_0x1a9e15[_0x6587('0x4c')][_0x6587('0x4e')](_0x6587('0x4f'))){_0x4093a3[_0x6587('0x30')]=qs['limit'](_0x1a9e15['query'][_0x6587('0x30')]);_0x4093a3['offset']=qs[_0x6587('0x2f')](_0x1a9e15[_0x6587('0x4c')][_0x6587('0x2f')]);}_0x4093a3[_0x6587('0x50')]=qs[_0x6587('0x51')](_0x1a9e15[_0x6587('0x4c')][_0x6587('0x51')]);_0x4093a3[_0x6587('0x52')]=qs[_0x6587('0x48')](_[_0x6587('0x53')](_0x1a9e15[_0x6587('0x4c')],_0x5d6387[_0x6587('0x48')]),_0x5e916e);if(_0x1a9e15[_0x6587('0x4c')][_0x6587('0x54')]){_0x4093a3[_0x6587('0x52')]=_[_0x6587('0x55')](_0x4093a3[_0x6587('0x52')],{'$or':_[_0x6587('0x43')](_0x5e916e,function(_0x484973){if(_0x484973[_0x6587('0x56')]!==_0x6587('0x57')){var _0x3b8267={};_0x3b8267[_0x484973[_0x6587('0x3d')]]={'$like':'%'+_0x1a9e15[_0x6587('0x4c')][_0x6587('0x54')]+'%'};return _0x3b8267;}})});}_0x4093a3=_[_0x6587('0x55')]({},_0x4093a3,_0x1a9e15[_0x6587('0x58')]);var _0x201b25={'where':_0x4093a3[_0x6587('0x52')]};return db[_0x6587('0x44')][_0x6587('0x2e')](_0x201b25)[_0x6587('0x22')](function(_0x3a35ef){_0x506363[_0x6587('0x2e')]=_0x3a35ef;if(_0x1a9e15[_0x6587('0x4c')][_0x6587('0x59')]){_0x4093a3[_0x6587('0x5a')]=[{'all':!![]}];}return db[_0x6587('0x44')]['findAll'](_0x4093a3);})[_0x6587('0x22')](function(_0xe2ec7d){_0x506363[_0x6587('0x5b')]=_0xe2ec7d;return _0x506363;})[_0x6587('0x22')](respondWithFilteredResult(_0x137d59,_0x4093a3))[_0x6587('0x2b')](handleError(_0x137d59,null));};exports[_0x6587('0x5c')]=function(_0x2a51d4,_0x2fa716){var _0x50a625={'raw':![],'where':{'id':_0x2a51d4[_0x6587('0x5d')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x6587('0x5e')],'as':_0x6587('0x41')},{'model':db[_0x6587('0x5f')],'as':_0x6587('0x42')}]},_0x22b59f={};_0x22b59f[_0x6587('0x47')]=_['keys'](db[_0x6587('0x44')][_0x6587('0x45')]);_0x22b59f[_0x6587('0x4c')]=_['keys'](_0x2a51d4['query']);_0x22b59f['filters']=_[_0x6587('0x49')](_0x22b59f[_0x6587('0x47')],_0x22b59f[_0x6587('0x4c')]);_0x50a625[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x22b59f['model'],qs[_0x6587('0x4b')](_0x2a51d4[_0x6587('0x4c')]['fields']));_0x50a625[_0x6587('0x4a')]=_0x50a625[_0x6587('0x4a')][_0x6587('0x4d')]?_0x50a625[_0x6587('0x4a')]:_0x22b59f[_0x6587('0x47')];if(_0x2a51d4['query'][_0x6587('0x59')]){_0x50a625['include']=[{'all':!![]}];}_0x50a625=_['merge']({},_0x50a625,_0x2a51d4['options']);return db[_0x6587('0x44')]['find'](_0x50a625)['then'](handleEntityNotFound(_0x2fa716,null))['then'](respondWithResult(_0x2fa716,null))[_0x6587('0x2b')](handleError(_0x2fa716,null));};exports[_0x6587('0x37')]=function(_0x1e1a59,_0x29b973){if(_0x1e1a59[_0x6587('0x60')]['id']){delete _0x1e1a59['body']['id'];}return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x1e1a59[_0x6587('0x5d')]['id']},'include':[{'model':db[_0x6587('0x3f')],'as':_0x6587('0x40')},{'model':db[_0x6587('0x5e')],'as':_0x6587('0x41')},{'model':db[_0x6587('0x5f')],'as':'mandatoryDispositionPause'}]})[_0x6587('0x22')](handleEntityNotFound(_0x29b973,null))[_0x6587('0x22')](saveUpdates(_0x1e1a59[_0x6587('0x60')],null))['then'](function(_0x5285db){if(_0x5285db&&_0x1e1a59[_0x6587('0x60')][_0x6587('0x40')]){return db[_0x6587('0x3f')][_0x6587('0x37')](_0x1e1a59[_0x6587('0x60')]['Imap'],{'where':{'MailAccountId':_0x5285db['id']}})[_0x6587('0x22')](function(){return _0x5285db;});}return _0x5285db;})[_0x6587('0x22')](function(_0xa55221){if(_0xa55221&&_0x1e1a59['body'][_0x6587('0x41')]){return db[_0x6587('0x5e')][_0x6587('0x37')](_0x1e1a59['body'][_0x6587('0x41')],{'where':{'MailAccountId':_0xa55221['id']}})[_0x6587('0x22')](function(){return _0xa55221;});}return _0xa55221;})[_0x6587('0x22')](respondWithResult(_0x29b973,null))['catch'](handleError(_0x29b973,null));};exports['describe']=function(_0x1baf9e,_0x7c429b){return db[_0x6587('0x44')]['describe']()[_0x6587('0x22')](respondWithResult(_0x7c429b,null))['catch'](handleError(_0x7c429b,null));};exports[_0x6587('0x62')]=function(_0xbf3919,_0x1980fb,_0x58cbcd){if(_0xbf3919[_0x6587('0x60')]['id']){delete _0xbf3919[_0x6587('0x60')]['id'];}return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0xbf3919[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x1980fb,null))[_0x6587('0x22')](function(_0x4a004c){if(_0x4a004c){_0xbf3919[_0x6587('0x60')][_0x6587('0x63')]=_0x4a004c['id'];return db['Disposition'][_0x6587('0x64')](_0xbf3919[_0x6587('0x60')]);}})[_0x6587('0x22')](respondWithResult(_0x1980fb,null))[_0x6587('0x2b')](handleError(_0x1980fb,null));};exports['getDispositions']=function(_0x3dc28e,_0x3403f2,_0x342b21){var _0xe35b4f={'raw':![],'where':{}};var _0x4036c1={};var _0x436578={'count':0x0,'rows':[]};return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x3dc28e['params']['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x3403f2,null))[_0x6587('0x22')](function(_0x99521c){if(_0x99521c){_0x4036c1[_0x6587('0x47')]=_[_0x6587('0x66')](db[_0x6587('0x67')][_0x6587('0x45')]);_0x4036c1[_0x6587('0x4c')]=_[_0x6587('0x66')](_0x3dc28e[_0x6587('0x4c')]);_0x4036c1[_0x6587('0x48')]=_[_0x6587('0x49')](_0x4036c1[_0x6587('0x47')],_0x4036c1[_0x6587('0x4c')]);_0xe35b4f[_0x6587('0x4a')]=_['intersection'](_0x4036c1[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x3dc28e[_0x6587('0x4c')][_0x6587('0x4b')]));_0xe35b4f['attributes']=_0xe35b4f[_0x6587('0x4a')]['length']?_0xe35b4f[_0x6587('0x4a')]:_0x4036c1[_0x6587('0x47')];if(!_0x3dc28e['query'][_0x6587('0x4e')](_0x6587('0x4f'))){_0xe35b4f[_0x6587('0x30')]=qs['limit'](_0x3dc28e['query'][_0x6587('0x30')]);_0xe35b4f[_0x6587('0x2f')]=qs[_0x6587('0x2f')](_0x3dc28e[_0x6587('0x4c')]['offset']);}_0xe35b4f[_0x6587('0x50')]=qs[_0x6587('0x51')](_0x3dc28e['query'][_0x6587('0x51')]);_0xe35b4f[_0x6587('0x52')]=qs[_0x6587('0x48')](_['pick'](_0x3dc28e[_0x6587('0x4c')],_0x4036c1[_0x6587('0x48')]));_0xe35b4f[_0x6587('0x52')][_0x6587('0x63')]=_0x99521c['id'];if(_0x3dc28e[_0x6587('0x4c')]['filter']){_0xe35b4f['where']=_[_0x6587('0x55')](_0xe35b4f[_0x6587('0x52')],{'$or':_['map'](_0xe35b4f[_0x6587('0x4a')],function(_0x25d8d0){var _0x4bb7b5={};_0x4bb7b5[_0x25d8d0]={'$like':'%'+_0x3dc28e[_0x6587('0x4c')][_0x6587('0x54')]+'%'};return _0x4bb7b5;})});}_0xe35b4f=_[_0x6587('0x55')]({},_0xe35b4f,_0x3dc28e[_0x6587('0x58')]);return db['Disposition'][_0x6587('0x2e')]({'where':_0xe35b4f[_0x6587('0x52')]})[_0x6587('0x22')](function(_0x52cfe5){_0x436578[_0x6587('0x2e')]=_0x52cfe5;if(_0x3dc28e[_0x6587('0x4c')][_0x6587('0x59')]){_0xe35b4f[_0x6587('0x5a')]=[{'all':!![]}];}return db[_0x6587('0x67')][_0x6587('0x68')](_0xe35b4f);})['then'](function(_0x85d6e8){_0x436578[_0x6587('0x5b')]=_0x85d6e8;return _0x436578;});}})['then'](respondWithFilteredResult(_0x3403f2,_0xe35b4f))[_0x6587('0x2b')](handleError(_0x3403f2,null));};exports[_0x6587('0x69')]=function(_0x6a539b,_0x4253c7,_0x15eeab){return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x6a539b[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x4253c7,null))[_0x6587('0x22')](function(_0x20c81a){if(_0x20c81a){return _0x20c81a[_0x6587('0x69')](_0x6a539b[_0x6587('0x4c')][_0x6587('0x6a')]);}})['then'](respondWithStatusCode(_0x4253c7,null))[_0x6587('0x2b')](handleError(_0x4253c7,null));};exports[_0x6587('0x6b')]=function(_0x1e5e7a,_0xde6239,_0x51d8b5){if(_0x1e5e7a[_0x6587('0x60')]['id']){delete _0x1e5e7a['body']['id'];}return db['MailAccount'][_0x6587('0x61')]({'where':{'id':_0x1e5e7a[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0xde6239,null))[_0x6587('0x22')](function(_0x1d3dea){if(_0x1d3dea){_0x1e5e7a[_0x6587('0x60')][_0x6587('0x63')]=_0x1d3dea['id'];return db[_0x6587('0x6c')][_0x6587('0x64')](_0x1e5e7a[_0x6587('0x60')]);}})[_0x6587('0x22')](respondWithResult(_0xde6239,null))[_0x6587('0x2b')](handleError(_0xde6239,null));};exports[_0x6587('0x6d')]=function(_0x171aa6,_0x59ae06,_0x38d6b4){var _0x2ae8dc={'raw':![],'where':{}};var _0x42cc08={};var _0x48d9a9={'count':0x0,'rows':[]};return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x171aa6['params']['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x59ae06,null))[_0x6587('0x22')](function(_0x5c416b){if(_0x5c416b){_0x42cc08['model']=_['keys'](db[_0x6587('0x6c')][_0x6587('0x45')]);_0x42cc08[_0x6587('0x4c')]=_[_0x6587('0x66')](_0x171aa6['query']);_0x42cc08['filters']=_['intersection'](_0x42cc08[_0x6587('0x47')],_0x42cc08[_0x6587('0x4c')]);_0x2ae8dc[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x42cc08[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x171aa6[_0x6587('0x4c')]['fields']));_0x2ae8dc[_0x6587('0x4a')]=_0x2ae8dc[_0x6587('0x4a')][_0x6587('0x4d')]?_0x2ae8dc[_0x6587('0x4a')]:_0x42cc08['model'];if(!_0x171aa6['query'][_0x6587('0x4e')](_0x6587('0x4f'))){_0x2ae8dc['limit']=qs[_0x6587('0x30')](_0x171aa6['query']['limit']);_0x2ae8dc[_0x6587('0x2f')]=qs[_0x6587('0x2f')](_0x171aa6[_0x6587('0x4c')]['offset']);}_0x2ae8dc['order']=qs[_0x6587('0x51')](_0x171aa6[_0x6587('0x4c')]['sort']);_0x2ae8dc[_0x6587('0x52')]=qs[_0x6587('0x48')](_[_0x6587('0x53')](_0x171aa6['query'],_0x42cc08[_0x6587('0x48')]));_0x2ae8dc[_0x6587('0x52')][_0x6587('0x63')]=_0x5c416b['id'];if(_0x171aa6['query']['filter']){_0x2ae8dc['where']=_['merge'](_0x2ae8dc['where'],{'$or':_['map'](_0x2ae8dc[_0x6587('0x4a')],function(_0x1114fb){var _0x335611={};_0x335611[_0x1114fb]={'$like':'%'+_0x171aa6['query'][_0x6587('0x54')]+'%'};return _0x335611;})});}_0x2ae8dc=_['merge']({},_0x2ae8dc,_0x171aa6[_0x6587('0x58')]);return db['CannedAnswer'][_0x6587('0x2e')]({'where':_0x2ae8dc[_0x6587('0x52')]})[_0x6587('0x22')](function(_0x1b3434){_0x48d9a9['count']=_0x1b3434;if(_0x171aa6[_0x6587('0x4c')][_0x6587('0x59')]){_0x2ae8dc[_0x6587('0x5a')]=[{'all':!![]}];}return db['CannedAnswer'][_0x6587('0x68')](_0x2ae8dc);})[_0x6587('0x22')](function(_0x26bc1b){_0x48d9a9[_0x6587('0x5b')]=_0x26bc1b;return _0x48d9a9;});}})[_0x6587('0x22')](respondWithFilteredResult(_0x59ae06,_0x2ae8dc))[_0x6587('0x2b')](handleError(_0x59ae06,null));};exports[_0x6587('0x6e')]=function(_0x347cb9,_0x42f44c,_0x26bb46){return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x347cb9[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x42f44c,null))[_0x6587('0x22')](function(_0x465af5){if(_0x465af5){return _0x465af5[_0x6587('0x6e')](_0x347cb9[_0x6587('0x4c')][_0x6587('0x6a')]);}})['then'](respondWithStatusCode(_0x42f44c,null))[_0x6587('0x2b')](handleError(_0x42f44c,null));};exports[_0x6587('0x64')]=function(_0x3bcf8e,_0x5cc6e9){var _0x491c31={'name':_0x3bcf8e[_0x6587('0x60')][_0x6587('0x3d')],'key':_0x3bcf8e[_0x6587('0x60')][_0x6587('0x46')],'email':_0x3bcf8e[_0x6587('0x60')][_0x6587('0x6f')],'ListId':_0x3bcf8e[_0x6587('0x60')][_0x6587('0x70')],'active':!_[_0x6587('0x71')](_0x3bcf8e[_0x6587('0x60')]['active'])?_0x3bcf8e['body']['active']:!![],'description':_0x3bcf8e[_0x6587('0x60')]['description']||null,'Imap':{},'Smtp':{}};if(_[_0x6587('0x71')](_0x3bcf8e[_0x6587('0x60')][_0x6587('0x72')])){if(_0x3bcf8e[_0x6587('0x60')][_0x6587('0x73')]){_0x491c31[_0x6587('0x40')][_0x6587('0x74')]=_0x491c31[_0x6587('0x41')]['user']=_0x3bcf8e[_0x6587('0x60')]['cuser'];_0x491c31['Imap'][_0x6587('0x75')]=_0x491c31[_0x6587('0x41')][_0x6587('0x76')]=_0x3bcf8e[_0x6587('0x60')][_0x6587('0x77')];}else{_0x491c31['Imap']['authentication']=_0x491c31['Smtp'][_0x6587('0x78')]=![];}_0x491c31[_0x6587('0x40')][_0x6587('0x79')]=_0x3bcf8e[_0x6587('0x60')]['Imap'][_0x6587('0x79')];_0x491c31['Imap']['port']=_0x3bcf8e[_0x6587('0x60')][_0x6587('0x40')][_0x6587('0x7a')];_0x491c31[_0x6587('0x41')][_0x6587('0x79')]=_0x3bcf8e[_0x6587('0x60')][_0x6587('0x41')][_0x6587('0x79')];_0x491c31[_0x6587('0x41')][_0x6587('0x7a')]=_0x3bcf8e['body'][_0x6587('0x41')][_0x6587('0x7a')];}else{_0x491c31[_0x6587('0x40')][_0x6587('0x7b')]=_0x491c31[_0x6587('0x41')]['service']=_0x3bcf8e[_0x6587('0x60')][_0x6587('0x72')];_0x491c31[_0x6587('0x40')][_0x6587('0x74')]=_0x491c31['Smtp']['user']=_0x3bcf8e['body'][_0x6587('0x7c')];_0x491c31['Imap'][_0x6587('0x75')]=_0x491c31[_0x6587('0x41')][_0x6587('0x76')]=_0x3bcf8e['body'][_0x6587('0x77')];}return db[_0x6587('0x44')]['create'](_0x491c31,{'include':[{'model':db[_0x6587('0x5e')],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0x6587('0x40')}]})['then'](function(_0x4e42db){var _0x4fecd1=_0x3bcf8e[_0x6587('0x74')][_0x6587('0x39')]({'plain':!![]});if(!_0x4fecd1)throw new Error(_0x6587('0x7d'));if(_0x4fecd1['role']===_0x6587('0x74')){var _0x1ca03e=_0x4e42db[_0x6587('0x39')]({'plain':!![]});return db[_0x6587('0x7e')]['find']({'where':{'name':_0x6587('0x3a'),'userProfileId':_0x4fecd1[_0x6587('0x7f')]},'raw':!![]})['then'](function(_0x3920ef){if(_0x3920ef&&_0x3920ef[_0x6587('0x80')]===0x0){return db['UserProfileResource'][_0x6587('0x64')]({'name':_0x1ca03e[_0x6587('0x3d')],'resourceId':_0x1ca03e['id'],'type':_0x3920ef['name'],'sectionId':_0x3920ef['id']},{})['then'](function(){return _0x4e42db;});}else{return _0x4e42db;}})[_0x6587('0x2b')](function(_0x4e1da6){logger['error'](_0x6587('0x81'),_0x4e1da6);throw _0x4e1da6;});}return _0x4e42db;})[_0x6587('0x22')](respondWithResult(_0x5cc6e9,0xc9))[_0x6587('0x2b')](handleError(_0x5cc6e9,null));};exports[_0x6587('0x82')]=function(_0xed805e,_0x5a9908,_0x4a81fa){return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0xed805e['params']['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x5a9908,null))[_0x6587('0x22')](function(_0x509c59){if(_0x509c59){return _0x509c59['getImap']();}return null;})[_0x6587('0x22')](respondWithResult(_0x5a9908,null))['catch'](handleError(_0x5a9908,null));};exports[_0x6587('0x83')]=function(_0x5697f0,_0x4cf17c,_0x2b46ce){if(_0x5697f0['body']['id']){delete _0x5697f0[_0x6587('0x60')]['id'];}return db[_0x6587('0x44')]['find']({'where':{'id':_0x5697f0[_0x6587('0x5d')]['id']}})['then'](handleEntityNotFound(_0x4cf17c,null))['then'](function(_0x2d9f09){if(_0x2d9f09){_0x5697f0[_0x6587('0x60')][_0x6587('0x63')]=_0x2d9f09['id'];return db[_0x6587('0x3f')]['create'](_0x5697f0[_0x6587('0x60')]);}})[_0x6587('0x22')](respondWithResult(_0x4cf17c,null))[_0x6587('0x2b')](handleError(_0x4cf17c,null));};exports[_0x6587('0x84')]=function(_0x5a614e,_0x39e7ba,_0x238b6c){return db[_0x6587('0x44')]['findOne']({'where':{'id':_0x5a614e['params']['id']}})['then'](handleEntityNotFound(_0x39e7ba,null))[_0x6587('0x22')](function(_0x1c52d3){if(_0x1c52d3){return _0x1c52d3['setImap'](null);}return null;})['then'](respondWithStatusCode(_0x39e7ba,null))['catch'](handleError(_0x39e7ba,null));};exports[_0x6587('0x85')]=function(_0x8e2f55,_0x8cf35b,_0x4058af){return db[_0x6587('0x44')]['findOne']({'where':{'id':_0x8e2f55[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x8cf35b,null))['then'](function(_0x3579a0){if(_0x3579a0){return _0x3579a0[_0x6587('0x85')]();}return null;})[_0x6587('0x22')](respondWithResult(_0x8cf35b,null))[_0x6587('0x2b')](handleError(_0x8cf35b,null));};exports[_0x6587('0x86')]=function(_0x4dff62,_0x254584,_0xbcbcce){if(_0x4dff62[_0x6587('0x60')]['id']){delete _0x4dff62[_0x6587('0x60')]['id'];}return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x4dff62[_0x6587('0x5d')]['id']}})['then'](handleEntityNotFound(_0x254584,null))[_0x6587('0x22')](function(_0xeeb8b6){if(_0xeeb8b6){_0x4dff62[_0x6587('0x60')]['MailAccountId']=_0xeeb8b6['id'];return db[_0x6587('0x5e')][_0x6587('0x64')](_0x4dff62[_0x6587('0x60')]);}})['then'](respondWithResult(_0x254584,null))[_0x6587('0x2b')](handleError(_0x254584,null));};exports[_0x6587('0x87')]=function(_0x3f391e,_0x1d1673,_0x436c3a){return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x3f391e[_0x6587('0x5d')]['id']}})['then'](handleEntityNotFound(_0x1d1673,null))['then'](function(_0x34d91b){if(_0x34d91b){return _0x34d91b[_0x6587('0x88')](null);}return null;})[_0x6587('0x22')](respondWithStatusCode(_0x1d1673,null))[_0x6587('0x2b')](handleError(_0x1d1673,null));};exports[_0x6587('0x89')]=function(_0x521247,_0x3c539c,_0xbc9945){return db[_0x6587('0x8a')][_0x6587('0x61')]({'where':{'id':_0x521247[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x3c539c,null))[_0x6587('0x22')](function(_0x33284a){if(_0x33284a){return _0x33284a[_0x6587('0x89')](_0x521247[_0x6587('0x60')][_0x6587('0x6a')],_[_0x6587('0x8b')](_0x521247[_0x6587('0x60')],[_0x6587('0x6a'),'id'])||{});}})[_0x6587('0x22')](respondWithResult(_0x3c539c,null))['catch'](handleError(_0x3c539c,null));};exports['getInteractions']=function(_0x54ad34,_0x5985ae,_0xb05419){var _0x111f77={'raw':![],'where':{}};var _0x44c896={};var _0x4839c7={'count':0x0,'rows':[]};return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x54ad34[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x5985ae,null))[_0x6587('0x22')](function(_0x85cff0){if(_0x85cff0){_0x44c896[_0x6587('0x47')]=_['keys'](db[_0x6587('0x8a')][_0x6587('0x45')]);_0x44c896[_0x6587('0x4c')]=_['keys'](_0x54ad34['query']);_0x44c896[_0x6587('0x48')]=_[_0x6587('0x49')](_0x44c896[_0x6587('0x47')],_0x44c896[_0x6587('0x4c')]);_0x111f77[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x44c896[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x54ad34[_0x6587('0x4c')]['fields']));_0x111f77['attributes']=_0x111f77[_0x6587('0x4a')][_0x6587('0x4d')]?_0x111f77['attributes']:_0x44c896[_0x6587('0x47')];if(!_0x54ad34[_0x6587('0x4c')][_0x6587('0x4e')](_0x6587('0x4f'))){_0x111f77['limit']=qs['limit'](_0x54ad34[_0x6587('0x4c')][_0x6587('0x30')]);_0x111f77['offset']=qs[_0x6587('0x2f')](_0x54ad34['query'][_0x6587('0x2f')]);}_0x111f77['order']=qs[_0x6587('0x51')](_0x54ad34[_0x6587('0x4c')][_0x6587('0x51')]);_0x111f77[_0x6587('0x52')]=qs['filters'](_[_0x6587('0x53')](_0x54ad34[_0x6587('0x4c')],_0x44c896['filters']));_0x111f77['where'][_0x6587('0x63')]=_0x85cff0['id'];if(_0x54ad34['query']['filter']){_0x111f77[_0x6587('0x52')]=_['merge'](_0x111f77[_0x6587('0x52')],{'$or':_[_0x6587('0x43')](_0x111f77[_0x6587('0x4a')],function(_0x2ed200){var _0x55cfb0={};_0x55cfb0[_0x2ed200]={'$like':'%'+_0x54ad34[_0x6587('0x4c')][_0x6587('0x54')]+'%'};return _0x55cfb0;})});}_0x111f77=_[_0x6587('0x55')]({},_0x111f77,_0x54ad34[_0x6587('0x58')]);return db[_0x6587('0x8a')][_0x6587('0x2e')]({'where':_0x111f77[_0x6587('0x52')]})[_0x6587('0x22')](function(_0x35b871){_0x4839c7['count']=_0x35b871;if(_0x54ad34[_0x6587('0x4c')][_0x6587('0x59')]){_0x111f77['include']=[{'model':db['CmContact'],'as':_0x6587('0x8c'),'required':![]},{'model':db[_0x6587('0x8d')],'as':_0x6587('0x8e'),'attributes':['name',_0x6587('0x8f'),_0x6587('0x90')],'required':![]},{'model':db[_0x6587('0x91')],'as':'Tags','attributes':['id','name','color'],'where':_0x54ad34['query'][_0x6587('0x92')]?{'id':_0x54ad34[_0x6587('0x4c')][_0x6587('0x92')]}:undefined,'required':_0x54ad34[_0x6587('0x4c')][_0x6587('0x92')]?!![]:![]}];}return db['MailInteraction'][_0x6587('0x68')](_0x111f77);})['then'](function(_0x3ae191){_0x4839c7[_0x6587('0x5b')]=_0x3ae191;return _0x4839c7;});}})[_0x6587('0x22')](respondWithFilteredResult(_0x5985ae,_0x111f77))[_0x6587('0x2b')](handleError(_0x5985ae,null));};exports[_0x6587('0x93')]=function(_0x52f597,_0x581453,_0x271a34){return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x52f597['params']['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x581453,null))[_0x6587('0x22')](function(_0x32ffd0){if(_0x32ffd0){return db['sequelize'][_0x6587('0x94')](function(_0x5e1956){return db['MailApplication'][_0x6587('0x38')]({'where':{'MailAccountId':_0x52f597[_0x6587('0x5d')]['id']},'transaction':_0x5e1956})[_0x6587('0x22')](function(_0x47ebc5){var _0xd09ca4=_[_0x6587('0x43')](_0x52f597['body'],function(_0x2505db){_0x2505db[_0x6587('0x63')]=_0x52f597[_0x6587('0x5d')]['id'];return _0x2505db;});return db['MailApplication'][_0x6587('0x95')](_0xd09ca4,{'transaction':_0x5e1956});});})[_0x6587('0x22')](function(){return db['MailApplication'][_0x6587('0x96')]({'where':{'MailAccountId':_0x52f597[_0x6587('0x5d')]['id']},'order':'priority'});});}})[_0x6587('0x22')](respondWithResult(_0x581453,null))['catch'](handleError(_0x581453,null));};exports[_0x6587('0x97')]=function(_0x346a4d,_0x1a1173,_0x5620c8){var _0x3e5dba={};var _0x123cf7={};var _0x28e55f;var _0x38685f;return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x346a4d[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x1a1173,null))[_0x6587('0x22')](function(_0xb83e71){if(_0xb83e71){_0x28e55f=_0xb83e71;_0x123cf7[_0x6587('0x47')]=_[_0x6587('0x66')](db[_0x6587('0x98')][_0x6587('0x45')]);_0x123cf7['query']=_[_0x6587('0x66')](_0x346a4d[_0x6587('0x4c')]);_0x123cf7[_0x6587('0x48')]=_[_0x6587('0x49')](_0x123cf7['model'],_0x123cf7[_0x6587('0x4c')]);_0x3e5dba[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x123cf7[_0x6587('0x47')],qs['fields'](_0x346a4d[_0x6587('0x4c')][_0x6587('0x4b')]));_0x3e5dba[_0x6587('0x4a')]=_0x3e5dba[_0x6587('0x4a')]['length']?_0x3e5dba[_0x6587('0x4a')]:_0x123cf7[_0x6587('0x47')];_0x3e5dba[_0x6587('0x50')]=qs['sort'](_0x346a4d['query'][_0x6587('0x51')]);_0x3e5dba[_0x6587('0x52')]=qs['filters'](_[_0x6587('0x53')](_0x346a4d[_0x6587('0x4c')],_0x123cf7['filters']));if(_0x346a4d[_0x6587('0x4c')][_0x6587('0x54')]){_0x3e5dba[_0x6587('0x52')]=_[_0x6587('0x55')](_0x3e5dba[_0x6587('0x52')],{'$or':_['map'](_0x3e5dba[_0x6587('0x4a')],function(_0xc6e1f6){var _0x389759={};_0x389759[_0xc6e1f6]={'$like':'%'+_0x346a4d[_0x6587('0x4c')]['filter']+'%'};return _0x389759;})});}_0x3e5dba=_[_0x6587('0x55')]({},_0x3e5dba,_0x346a4d['options']);return _0x28e55f[_0x6587('0x97')](_0x3e5dba);}})['then'](function(_0x1e5a6f){if(_0x1e5a6f){_0x38685f=_0x1e5a6f['length'];if(!_0x346a4d[_0x6587('0x4c')][_0x6587('0x4e')](_0x6587('0x4f'))){_0x3e5dba[_0x6587('0x30')]=qs[_0x6587('0x30')](_0x346a4d[_0x6587('0x4c')][_0x6587('0x30')]);_0x3e5dba[_0x6587('0x2f')]=qs[_0x6587('0x2f')](_0x346a4d[_0x6587('0x4c')][_0x6587('0x2f')]);}return _0x28e55f['getApplications'](_0x3e5dba);}})['then'](function(_0x55e8e9){if(_0x55e8e9){return _0x55e8e9?{'count':_0x38685f,'rows':_0x55e8e9}:null;}})[_0x6587('0x22')](respondWithResult(_0x1a1173,null))[_0x6587('0x2b')](handleError(_0x1a1173,null));};exports['getMessages']=function(_0x19f6d8,_0xc6b3ba,_0x347755){var _0x450da0={'raw':!![],'where':{}};var _0x1e0a8f={};var _0x38d1de={'count':0x0,'rows':[]};return db[_0x6587('0x44')]['findOne']({'where':{'id':_0x19f6d8[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0xc6b3ba,null))['then'](function(_0x5f4543){if(_0x5f4543){_0x1e0a8f['model']=_[_0x6587('0x66')](db['MailMessage']['rawAttributes']);_0x1e0a8f[_0x6587('0x4c')]=_['keys'](_0x19f6d8[_0x6587('0x4c')]);_0x1e0a8f['filters']=_[_0x6587('0x49')](_0x1e0a8f[_0x6587('0x47')],_0x1e0a8f[_0x6587('0x4c')]);_0x450da0['attributes']=_[_0x6587('0x49')](_0x1e0a8f[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x19f6d8[_0x6587('0x4c')]['fields']));_0x450da0[_0x6587('0x4a')]=_0x450da0[_0x6587('0x4a')][_0x6587('0x4d')]?_0x450da0[_0x6587('0x4a')]:_0x1e0a8f['model'];if(!_0x19f6d8['query'][_0x6587('0x4e')](_0x6587('0x4f'))){_0x450da0[_0x6587('0x30')]=qs[_0x6587('0x30')](_0x19f6d8[_0x6587('0x4c')]['limit']);_0x450da0[_0x6587('0x2f')]=qs[_0x6587('0x2f')](_0x19f6d8[_0x6587('0x4c')][_0x6587('0x2f')]);}_0x450da0[_0x6587('0x50')]=qs['sort'](_0x19f6d8[_0x6587('0x4c')]['sort']);_0x450da0[_0x6587('0x52')]=qs[_0x6587('0x48')](_[_0x6587('0x53')](_0x19f6d8[_0x6587('0x4c')],_0x1e0a8f['filters']));_0x450da0['where'][_0x6587('0x63')]=_0x5f4543['id'];if(_0x19f6d8[_0x6587('0x4c')][_0x6587('0x54')]){_0x450da0['where']=_['merge'](_0x450da0[_0x6587('0x52')],{'$or':_[_0x6587('0x43')](_0x450da0[_0x6587('0x4a')],function(_0xaf31fe){var _0x1afc44={};_0x1afc44[_0xaf31fe]={'$like':'%'+_0x19f6d8['query'][_0x6587('0x54')]+'%'};return _0x1afc44;})});}if(_0x19f6d8[_0x6587('0x4c')][_0x6587('0x99')]){var _0x1a04b7=_0x19f6d8[_0x6587('0x4c')][_0x6587('0x99')]['split'](',');var _0x4914b5={};_0x4914b5[_0x1a04b7[0x0]]={'$gte':moment(_0x1a04b7[0x1])[_0x6587('0x9a')](_0x6587('0x9b'))};_0x450da0[_0x6587('0x52')]=_[_0x6587('0x55')](_0x450da0[_0x6587('0x52')],_0x4914b5);}_0x450da0=_[_0x6587('0x55')]({},_0x450da0,_0x19f6d8['options']);return db[_0x6587('0x9c')]['count']({'where':_0x450da0[_0x6587('0x52')]})[_0x6587('0x22')](function(_0xd97cb9){_0x38d1de[_0x6587('0x2e')]=_0xd97cb9;if(_0x19f6d8[_0x6587('0x4c')][_0x6587('0x59')]){_0x450da0[_0x6587('0x5a')]=[{'all':!![]}];}return db['MailMessage'][_0x6587('0x68')](_0x450da0);})[_0x6587('0x22')](function(_0x3c3fa3){_0x38d1de[_0x6587('0x5b')]=_0x3c3fa3;return _0x38d1de;});}})[_0x6587('0x22')](respondWithFilteredResult(_0xc6b3ba,_0x450da0))['catch'](handleError(_0xc6b3ba,null));};exports['send']=function(_0x17fcbf,_0x37b364,_0xbab695){var _0x58ed2c,_0x2efa11={},_0x56691e;if(_0x17fcbf[_0x6587('0x60')]['to']){_0x56691e=_0x17fcbf[_0x6587('0x60')]['to'][_0x6587('0x9d')](',')[0x0];}return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x17fcbf[_0x6587('0x5d')]['id']},'include':[{'model':db[_0x6587('0x9e')],'as':_0x6587('0x9f'),'include':[{'model':db[_0x6587('0xa0')],'as':'Contacts','where':{'email':_0x56691e},'limit':0x1,'order':[[_0x6587('0xa1'),_0x6587('0xa2')]]}]},{'model':db[_0x6587('0x5e')],'as':'Smtp','raw':!![]}]})[_0x6587('0x22')](handleEntityNotFound(_0x37b364,null))[_0x6587('0x22')](function(_0x2a6dd9){if(_0x2a6dd9){_0x58ed2c=_0x2a6dd9;if(_0x2a6dd9[_0x6587('0x41')]){if(_[_0x6587('0x71')](_0x17fcbf[_0x6587('0x60')][_0x6587('0xa3')])){_0x17fcbf[_0x6587('0x60')][_0x6587('0xa3')]=util[_0x6587('0x9a')]('%s\x20<%s>',_0x2a6dd9[_0x6587('0x3d')],_0x2a6dd9[_0x6587('0x6f')]||_0x2a6dd9[_0x6587('0x41')][_0x6587('0x74')]);}if(_0x17fcbf[_0x6587('0x60')][_0x6587('0xa4')]&&_0x17fcbf[_0x6587('0x60')][_0x6587('0xa4')][_0x6587('0x4d')]){for(var _0x5c7741=0x0;_0x5c7741<_0x17fcbf[_0x6587('0x60')]['attachments'][_0x6587('0x4d')];_0x5c7741+=0x1){_0x17fcbf[_0x6587('0x60')]['attachments'][_0x5c7741]={'filename':_0x17fcbf[_0x6587('0x60')]['attachments'][_0x5c7741]['name'],'path':path[_0x6587('0xa5')](config['root'],_0x6587('0xa6'),_0x17fcbf['body'][_0x6587('0xa4')][_0x5c7741][_0x6587('0xa7')])};}}var _0x1cf105={'tls':{'rejectUnauthorized':![]}};if(_[_0x6587('0x71')](_0x2a6dd9[_0x6587('0x41')][_0x6587('0x7b')])){if(_0x2a6dd9[_0x6587('0x41')][_0x6587('0x78')]){_0x1cf105[_0x6587('0xa8')]={'user':_0x2a6dd9[_0x6587('0x41')][_0x6587('0x74')],'pass':_0x2a6dd9[_0x6587('0x41')][_0x6587('0x76')]};}_0x1cf105[_0x6587('0x79')]=_0x2a6dd9['Smtp'][_0x6587('0x79')];_0x1cf105[_0x6587('0x7a')]=_0x2a6dd9[_0x6587('0x41')][_0x6587('0x7a')];_0x1cf105['secure']=_0x2a6dd9['Smtp'][_0x6587('0xa9')];}else{_0x1cf105[_0x6587('0x7b')]=_0x2a6dd9[_0x6587('0x41')][_0x6587('0x7b')];_0x1cf105[_0x6587('0xa8')]={'user':_0x2a6dd9[_0x6587('0x41')]['user'],'pass':_0x2a6dd9[_0x6587('0x41')][_0x6587('0x76')]};}return respondWithRpcPromise(_0x6587('0xaa'),_0x6587('0xab'),{'account':_0x1cf105,'message':_0x17fcbf[_0x6587('0x60')]});}else{throw new Error(_0x6587('0xac'));}}})[_0x6587('0x22')](function(_0x25098d){if(_0x25098d){_0x2efa11=_0x25098d;if(_0x58ed2c[_0x6587('0x9f')]){if(_0x58ed2c[_0x6587('0x9f')][_0x6587('0xad')][_0x6587('0x4d')]){return _0x58ed2c['List'][_0x6587('0xad')][0x0];}else{return db[_0x6587('0xa0')][_0x6587('0x64')](_[_0x6587('0x18')](_0x17fcbf[_0x6587('0x60')],{'firstName':_0x17fcbf[_0x6587('0x60')]['to'],'email':_0x17fcbf[_0x6587('0x60')]['to'],'phone':_0x17fcbf[_0x6587('0x60')]['to'],'ListId':_0x58ed2c[_0x6587('0x70')]}));}}else{throw new Error(_0x6587('0xac'));}}})[_0x6587('0x22')](function(_0x2ba037){if(_0x2ba037){var _0x44f283={'UserId':_0x17fcbf[_0x6587('0x74')]['id'],'ContactId':_0x2ba037['id'],'MailAccountId':_0x58ed2c['id'],'inReplyTo':_0x2efa11[_0x6587('0xae')],'to':_0x17fcbf[_0x6587('0x60')]['from'],'cc':_0x17fcbf['body']['cc'],'subject':_0x17fcbf[_0x6587('0x60')][_0x6587('0xaf')],'attach':_0x17fcbf['body'][_0x6587('0xb0')],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0x6587('0x9b')),'lastMsgDirection':_0x6587('0xb1'),'lastMsgBody':_0x17fcbf[_0x6587('0x60')]['body'],'Messages':[_['merge'](_0x17fcbf[_0x6587('0x60')],{'messageId':_0x2efa11[_0x6587('0xae')],'sentAt':moment()[_0x6587('0x9a')](_0x6587('0x9b')),'read':!![],'MailAccountId':_0x58ed2c['id'],'UserId':_0x17fcbf['user']['id'],'ContactId':_0x2ba037['id']})]};if(_0x17fcbf['body']['Interaction']){_0x44f283=_[_0x6587('0x55')](_0x44f283,_0x17fcbf[_0x6587('0x60')]['Interaction']);}return db['MailInteraction'][_0x6587('0x64')](_0x44f283,{'include':[{'model':db[_0x6587('0x9c')],'as':_0x6587('0xb2')}]});}})['then'](respondWithResult(_0x37b364,null))['catch'](handleError(_0x37b364,null));};exports['verifySmtp']=function(_0x4923ca,_0x536b82,_0x426fb9){return db['MailAccount'][_0x6587('0x61')]({'where':{'id':_0x4923ca['params']['id']},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})[_0x6587('0x22')](handleEntityNotFound(_0x536b82,null))[_0x6587('0x22')](function(_0x14596f){if(_0x14596f&&_0x14596f[_0x6587('0x41')]){var _0x520ca2={'id':_0x14596f['id'],'tls':{'rejectUnauthorized':![]}};if(_0x14596f[_0x6587('0x41')][_0x6587('0x7b')]){_0x520ca2['service']=_0x14596f[_0x6587('0x41')][_0x6587('0x7b')];}else{_0x520ca2['host']=_0x14596f[_0x6587('0x41')][_0x6587('0x79')];_0x520ca2[_0x6587('0x7a')]=_0x14596f['Smtp'][_0x6587('0x7a')];_0x520ca2['secure']=_0x14596f['Smtp'][_0x6587('0xa9')];}if(_0x14596f[_0x6587('0x41')][_0x6587('0x78')]){_0x520ca2[_0x6587('0xa8')]={'user':_0x14596f[_0x6587('0x41')]['user'],'pass':_0x14596f[_0x6587('0x41')][_0x6587('0x76')]};}return respondWithRpcPromise(_0x6587('0xb3'),_0x6587('0xb4'),{'account':_0x520ca2});}})[_0x6587('0x22')](respondWithResult(_0x536b82,null))['catch'](handleError(_0x536b82,null));};exports[_0x6587('0x38')]=function(_0x2a0249,_0x271d85){return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x2a0249[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x271d85,null))['then'](function(_0x396d38){if(_0x396d38&&_0x396d38[_0x6587('0x7b')]){throw new db['Sequelize'][(_0x6587('0x1f'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x396d38;})['then'](removeEntity(_0x271d85,null))[_0x6587('0x2b')](handleError(_0x271d85,null));};exports[_0x6587('0xb5')]=function(_0x4e8ce6,_0xb84673,_0x2860ef){return db[_0x6587('0x44')]['find']({'where':{'id':_0x4e8ce6['params']['id']}})['then'](handleEntityNotFound(_0xb84673,null))[_0x6587('0x22')](function(_0x500b32){if(_0x500b32){return _0x500b32[_0x6587('0xb5')](_0x4e8ce6['body']['ids'],_[_0x6587('0x8b')](_0x4e8ce6[_0x6587('0x60')],[_0x6587('0x6a'),'id'])||{})['spread'](function(_0x426cb8){for(var _0x15c15d=0x0;_0x15c15d<_0x4e8ce6['body']['ids'][_0x6587('0x4d')];_0x15c15d+=0x1){socket[_0x6587('0xb6')](_0x6587('0xb7'),{'UserId':_0x4e8ce6['body']['ids'][_0x15c15d],'MailAccountId':_0x4e8ce6[_0x6587('0x5d')]['id']});}return _0x426cb8;});}})['then'](respondWithResult(_0xb84673,null))[_0x6587('0x2b')](handleError(_0xb84673,null));};exports[_0x6587('0xb8')]=function(_0x4a90db,_0x414827,_0x944d2f){return db[_0x6587('0x44')][_0x6587('0x61')]({'where':{'id':_0x4a90db[_0x6587('0x5d')]['id']}})[_0x6587('0x22')](handleEntityNotFound(_0x414827,null))[_0x6587('0x22')](function(_0x18a9e4){if(_0x18a9e4){return _0x18a9e4[_0x6587('0xb8')](_0x4a90db[_0x6587('0x4c')][_0x6587('0x6a')])[_0x6587('0x22')](function(){if(_[_0x6587('0xb9')](_0x4a90db['query'][_0x6587('0x6a')])){for(var _0x2149a7=0x0;_0x2149a7<_0x4a90db[_0x6587('0x4c')]['ids']['length'];_0x2149a7+=0x1){socket[_0x6587('0xb6')](_0x6587('0xba'),{'UserId':Number(_0x4a90db[_0x6587('0x4c')][_0x6587('0x6a')][_0x2149a7]),'MailAccountId':Number(_0x4a90db['params']['id'])});}}else{socket[_0x6587('0xb6')]('userMailAccount:remove',{'UserId':Number(_0x4a90db[_0x6587('0x4c')][_0x6587('0x6a')]),'MailAccountId':Number(_0x4a90db[_0x6587('0x5d')]['id'])});}});}})[_0x6587('0x22')](respondWithStatusCode(_0x414827,null))[_0x6587('0x2b')](handleError(_0x414827,null));};exports['getAgents']=function(_0x29b047,_0x800360,_0x265a9a){var _0x280e3f={};var _0x11bce8={};var _0x5c85c1;var _0x544c86;return db[_0x6587('0x44')][_0x6587('0x65')]({'where':{'id':_0x29b047[_0x6587('0x5d')]['id']}})['then'](handleEntityNotFound(_0x800360,null))[_0x6587('0x22')](function(_0x563745){if(_0x563745){_0x5c85c1=_0x563745;_0x11bce8['model']=_[_0x6587('0x66')](db[_0x6587('0x8d')]['rawAttributes']);_0x11bce8[_0x6587('0x4c')]=_[_0x6587('0x66')](_0x29b047[_0x6587('0x4c')]);_0x11bce8[_0x6587('0x48')]=_[_0x6587('0x49')](_0x11bce8[_0x6587('0x47')],_0x11bce8[_0x6587('0x4c')]);_0x280e3f[_0x6587('0x4a')]=_[_0x6587('0x49')](_0x11bce8[_0x6587('0x47')],qs[_0x6587('0x4b')](_0x29b047['query'][_0x6587('0x4b')]));_0x280e3f[_0x6587('0x4a')]=_0x280e3f[_0x6587('0x4a')]['length']?_0x280e3f[_0x6587('0x4a')]:_0x11bce8[_0x6587('0x47')];_0x280e3f[_0x6587('0x50')]=qs[_0x6587('0x51')](_0x29b047[_0x6587('0x4c')]['sort']);_0x280e3f[_0x6587('0x52')]=qs[_0x6587('0x48')](_[_0x6587('0x53')](_0x29b047[_0x6587('0x4c')],_0x11bce8[_0x6587('0x48')]));if(_0x29b047[_0x6587('0x4c')][_0x6587('0x54')]){_0x280e3f[_0x6587('0x52')]=_[_0x6587('0x55')](_0x280e3f[_0x6587('0x52')],{'$or':_[_0x6587('0x43')](_0x280e3f[_0x6587('0x4a')],function(_0x57f49d){var _0x124ad1={};_0x124ad1[_0x57f49d]={'$like':'%'+_0x29b047[_0x6587('0x4c')][_0x6587('0x54')]+'%'};return _0x124ad1;})});}_0x280e3f=_[_0x6587('0x55')]({},_0x280e3f,_0x29b047[_0x6587('0x58')]);return _0x5c85c1[_0x6587('0xbb')](_0x280e3f);}})[_0x6587('0x22')](function(_0x16e4ae){if(_0x16e4ae){_0x544c86=_0x16e4ae[_0x6587('0x4d')];if(!_0x29b047[_0x6587('0x4c')][_0x6587('0x4e')](_0x6587('0x4f'))){_0x280e3f[_0x6587('0x30')]=qs[_0x6587('0x30')](_0x29b047[_0x6587('0x4c')][_0x6587('0x30')]);_0x280e3f['offset']=qs['offset'](_0x29b047[_0x6587('0x4c')][_0x6587('0x2f')]);}return _0x5c85c1[_0x6587('0xbb')](_0x280e3f);}})[_0x6587('0x22')](function(_0x241893){if(_0x241893){return _0x241893?{'count':_0x544c86,'rows':_0x241893}:null;}})[_0x6587('0x22')](respondWithResult(_0x800360,null))[_0x6587('0x2b')](handleError(_0x800360,null));};