Built motion from commit (unavailable).|2.5.21
[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 _0x8985=['MailAccountId','findAll','removeDispositions','addAnswer','CannedAnswer','removeAnswers','ids','email','ListId','isNil','active','description','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','getImap','addImap','removeImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','CmContact','User','fullname','internal','Tag','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','getApplications','getMessages','$gte','format','MailMessage','inlineCss','true','split','CmList','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','server/files/attachments','auth','secure','SendMail','sendMail','List\x20not\x20found','List','messageId','subject','attach','YYYY-MM-DD\x20HH:mm:ss','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','ejs','jsforce','querystring','html-to-text','juice','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','client','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','status','end','json','count','offset','limit','apply','update','get','MailAccounts','UserProfileResource','destroy','sendStatus','stack','name','send','index','MailServerIn','Imap','MailServerOut','Smtp','mandatoryDispositionPause','map','MailAccount','fieldName','key','model','query','keys','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','type','VIRTUAL','merge','includeAll','include','rows','show','params','Pause','rawAttributes','attributes','options','find','body','describe','addDisposition','Disposition','create','findOne','order'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x8985,0x1c1));var _0x5898=function(_0xfa1429,_0x37a7f3){_0xfa1429=_0xfa1429-0x0;var _0x8e3c16=_0x8985[_0xfa1429];return _0x8e3c16;};'use strict';var pdf=require(_0x5898('0x0'));var emlformat=require(_0x5898('0x1'));var rimraf=require(_0x5898('0x2'));var zipdir=require(_0x5898('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5898('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x5898('0x5'));var util=require(_0x5898('0x6'));var path=require(_0x5898('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5898('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5898('0x9'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5898('0xa'));var Papa=require('papaparse');var htmlToText=require(_0x5898('0xb'));var juice=require(_0x5898('0xc'));var Redis=require('ioredis');var authService=require(_0x5898('0xd'));var qs=require(_0x5898('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5898('0xf'));var logger=require('../../config/logger')(_0x5898('0x10'));var utils=require(_0x5898('0x11'));var config=require(_0x5898('0x12'));var licenseUtil=require(_0x5898('0x13'));var db=require(_0x5898('0x14'))['db'];config['redis']=_[_0x5898('0x15')](config[_0x5898('0x16')],{'host':_0x5898('0x17'),'port':0x18eb});var socket=require(_0x5898('0x18'))(new Redis(config['redis']));require(_0x5898('0x19'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x5898('0x1a')]['http']({'port':0x232b});function respondWithRpcPromise(_0xee5cf5,_0x287275,_0x16b67f,_0x2df70b){return new BPromise(function(_0x331926,_0xaa6256){var _0x4ec32a=_0x2df70b||client;return _0x4ec32a['request'](_0xee5cf5,_0x16b67f)[_0x5898('0x1b')](function(_0x24d000){logger[_0x5898('0x1c')](_0x5898('0x1d'),_0x287275,_0x5898('0x1e'));logger[_0x5898('0x1f')](_0x5898('0x20'),_0x287275,_0x5898('0x1e'),JSON[_0x5898('0x21')](_0x24d000));if(_0x24d000[_0x5898('0x22')]){if(_0x24d000[_0x5898('0x22')][_0x5898('0x23')]===0x1f4){logger[_0x5898('0x22')](_0x5898('0x1d'),_0x287275,_0x24d000[_0x5898('0x22')][_0x5898('0x24')]);return _0xaa6256(_0x24d000[_0x5898('0x22')][_0x5898('0x24')]);}logger['error'](_0x5898('0x1d'),_0x287275,_0x24d000[_0x5898('0x22')][_0x5898('0x24')]);return _0x331926(_0x24d000['error'][_0x5898('0x24')]);}else{logger['info'](_0x5898('0x1d'),_0x287275,'request\x20sent');_0x331926(_0x24d000['result'][_0x5898('0x24')]);}})[_0x5898('0x25')](function(_0x1b6834){logger[_0x5898('0x22')](_0x5898('0x1d'),_0x287275,_0x1b6834);_0xaa6256(_0x1b6834);});});}function respondWithStatusCode(_0x287117,_0x379fb9){_0x379fb9=_0x379fb9||0xcc;return function(_0x1a305e){if(_0x1a305e){return _0x287117['sendStatus'](_0x379fb9);}return _0x287117[_0x5898('0x26')](_0x379fb9)[_0x5898('0x27')]();};}function respondWithResult(_0x607658,_0x564c76){_0x564c76=_0x564c76||0xc8;return function(_0x2f4ddc){if(_0x2f4ddc){return _0x607658[_0x5898('0x26')](_0x564c76)[_0x5898('0x28')](_0x2f4ddc);}};}function respondWithFilteredResult(_0x42979c,_0x53c76c){return function(_0x1fa38a){if(_0x1fa38a){var _0x1e3d04=_0x1fa38a[_0x5898('0x29')],_0x3a1906=_0x53c76c[_0x5898('0x2a')],_0xcb74d5=_0x53c76c['offset']+_0x53c76c[_0x5898('0x2b')],_0x351c12;if(_0xcb74d5>=_0x1e3d04){_0xcb74d5=_0x1e3d04;_0x351c12=0xc8;}else{_0x351c12=0xce;}_0x42979c[_0x5898('0x26')](_0x351c12);return _0x42979c['set']('Content-Range',_0x3a1906+'-'+_0xcb74d5+'/'+_0x1e3d04)[_0x5898('0x28')](_0x1fa38a);}return null;};}function patchUpdates(_0x786cc4){return function(_0x1de436){try{jsonpatch[_0x5898('0x2c')](_0x1de436,_0x786cc4,!![]);}catch(_0x4c4582){return BPromise['reject'](_0x4c4582);}return _0x1de436['save']();};}function saveUpdates(_0x1e8bc6,_0x1d1d75){return function(_0x12d308){if(_0x12d308){return _0x12d308[_0x5898('0x2d')](_0x1e8bc6)['then'](function(_0x4e2a58){return _0x4e2a58;});}return null;};}function removeEntity(_0x1e0c9c,_0x577629){return function(_0x5a1a52){if(_0x5a1a52){return _0x5a1a52['destroy']()['then'](function(){var _0x9ff95d=_0x5a1a52[_0x5898('0x2e')]({'plain':!![]});var _0x1ca17c=_0x5898('0x2f');return db[_0x5898('0x30')][_0x5898('0x31')]({'where':{'type':_0x1ca17c,'resourceId':_0x9ff95d['id']}})[_0x5898('0x1b')](function(){return _0x5a1a52;});})[_0x5898('0x1b')](function(){_0x1e0c9c[_0x5898('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2bc0c3,_0x32057d){return function(_0x3e9f11){if(!_0x3e9f11){_0x2bc0c3[_0x5898('0x32')](0x194);}return _0x3e9f11;};}function handleError(_0xc02a2d,_0x226294){_0x226294=_0x226294||0x1f4;return function(_0x405057){logger['error'](_0x405057[_0x5898('0x33')]);if(_0x405057[_0x5898('0x34')]){delete _0x405057['name'];}_0xc02a2d[_0x5898('0x26')](_0x226294)[_0x5898('0x35')](_0x405057);};}exports[_0x5898('0x36')]=function(_0x322beb,_0x5adc8c){var _0x405ce2={'include':[{'model':db[_0x5898('0x37')],'as':_0x5898('0x38')},{'model':db[_0x5898('0x39')],'as':_0x5898('0x3a')},{'model':db['Pause'],'as':_0x5898('0x3b')}]},_0xd02fb={},_0x2260e6={'count':0x0,'rows':[]};var _0x52c0f9=_[_0x5898('0x3c')](db[_0x5898('0x3d')]['rawAttributes'],function(_0x4efcaf){return{'name':_0x4efcaf[_0x5898('0x3e')],'type':_0x4efcaf['type'][_0x5898('0x3f')]};});_0xd02fb[_0x5898('0x40')]=_[_0x5898('0x3c')](_0x52c0f9,_0x5898('0x34'));_0xd02fb[_0x5898('0x41')]=_[_0x5898('0x42')](_0x322beb[_0x5898('0x41')]);_0xd02fb['filters']=_[_0x5898('0x43')](_0xd02fb[_0x5898('0x40')],_0xd02fb[_0x5898('0x41')]);_0x405ce2['attributes']=_[_0x5898('0x43')](_0xd02fb['model'],qs[_0x5898('0x44')](_0x322beb['query'][_0x5898('0x44')]));_0x405ce2['attributes']=_0x405ce2['attributes'][_0x5898('0x45')]?_0x405ce2['attributes']:_0xd02fb[_0x5898('0x40')];if(!_0x322beb[_0x5898('0x41')][_0x5898('0x46')](_0x5898('0x47'))){_0x405ce2[_0x5898('0x2b')]=qs[_0x5898('0x2b')](_0x322beb['query'][_0x5898('0x2b')]);_0x405ce2[_0x5898('0x2a')]=qs[_0x5898('0x2a')](_0x322beb['query'][_0x5898('0x2a')]);}_0x405ce2['order']=qs[_0x5898('0x48')](_0x322beb[_0x5898('0x41')]['sort']);_0x405ce2[_0x5898('0x49')]=qs[_0x5898('0x4a')](_[_0x5898('0x4b')](_0x322beb[_0x5898('0x41')],_0xd02fb[_0x5898('0x4a')]),_0x52c0f9);if(_0x322beb['query'][_0x5898('0x4c')]){_0x405ce2[_0x5898('0x49')]=_['merge'](_0x405ce2[_0x5898('0x49')],{'$or':_['map'](_0x52c0f9,function(_0x4187ca){if(_0x4187ca[_0x5898('0x4d')]!==_0x5898('0x4e')){var _0x3c553c={};_0x3c553c[_0x4187ca[_0x5898('0x34')]]={'$like':'%'+_0x322beb[_0x5898('0x41')]['filter']+'%'};return _0x3c553c;}})});}_0x405ce2=_[_0x5898('0x4f')]({},_0x405ce2,_0x322beb['options']);var _0x9850b9={'where':_0x405ce2[_0x5898('0x49')]};return db['MailAccount'][_0x5898('0x29')](_0x9850b9)[_0x5898('0x1b')](function(_0xfee3fc){_0x2260e6['count']=_0xfee3fc;if(_0x322beb[_0x5898('0x41')][_0x5898('0x50')]){_0x405ce2[_0x5898('0x51')]=[{'all':!![]}];}return db[_0x5898('0x3d')]['findAll'](_0x405ce2);})[_0x5898('0x1b')](function(_0x391923){_0x2260e6[_0x5898('0x52')]=_0x391923;return _0x2260e6;})['then'](respondWithFilteredResult(_0x5adc8c,_0x405ce2))['catch'](handleError(_0x5adc8c,null));};exports[_0x5898('0x53')]=function(_0x2ec9b6,_0x9d6653){var _0x18a03d={'raw':![],'where':{'id':_0x2ec9b6[_0x5898('0x54')]['id']},'include':[{'model':db[_0x5898('0x37')],'as':'Imap'},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x5898('0x55')],'as':_0x5898('0x3b')}]},_0x4f78d0={};_0x4f78d0[_0x5898('0x40')]=_[_0x5898('0x42')](db['MailAccount'][_0x5898('0x56')]);_0x4f78d0['query']=_['keys'](_0x2ec9b6[_0x5898('0x41')]);_0x4f78d0['filters']=_[_0x5898('0x43')](_0x4f78d0[_0x5898('0x40')],_0x4f78d0['query']);_0x18a03d[_0x5898('0x57')]=_[_0x5898('0x43')](_0x4f78d0['model'],qs[_0x5898('0x44')](_0x2ec9b6[_0x5898('0x41')]['fields']));_0x18a03d[_0x5898('0x57')]=_0x18a03d['attributes'][_0x5898('0x45')]?_0x18a03d[_0x5898('0x57')]:_0x4f78d0[_0x5898('0x40')];if(_0x2ec9b6['query'][_0x5898('0x50')]){_0x18a03d[_0x5898('0x51')]=[{'all':!![]}];}_0x18a03d=_['merge']({},_0x18a03d,_0x2ec9b6[_0x5898('0x58')]);return db[_0x5898('0x3d')][_0x5898('0x59')](_0x18a03d)[_0x5898('0x1b')](handleEntityNotFound(_0x9d6653,null))['then'](respondWithResult(_0x9d6653,null))[_0x5898('0x25')](handleError(_0x9d6653,null));};exports[_0x5898('0x2d')]=function(_0x255e1d,_0x3ab68a){if(_0x255e1d['body']['id']){delete _0x255e1d['body']['id'];}return db['MailAccount'][_0x5898('0x59')]({'where':{'id':_0x255e1d[_0x5898('0x54')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x5898('0x38')},{'model':db[_0x5898('0x39')],'as':'Smtp'},{'model':db[_0x5898('0x55')],'as':_0x5898('0x3b')}]})[_0x5898('0x1b')](handleEntityNotFound(_0x3ab68a,null))[_0x5898('0x1b')](saveUpdates(_0x255e1d[_0x5898('0x5a')],null))[_0x5898('0x1b')](function(_0x24c390){if(_0x24c390&&_0x255e1d[_0x5898('0x5a')][_0x5898('0x38')]){return db['MailServerIn']['update'](_0x255e1d[_0x5898('0x5a')]['Imap'],{'where':{'MailAccountId':_0x24c390['id']}})[_0x5898('0x1b')](function(){return _0x24c390;});}return _0x24c390;})[_0x5898('0x1b')](function(_0x324269){if(_0x324269&&_0x255e1d[_0x5898('0x5a')][_0x5898('0x3a')]){return db[_0x5898('0x39')]['update'](_0x255e1d[_0x5898('0x5a')][_0x5898('0x3a')],{'where':{'MailAccountId':_0x324269['id']}})[_0x5898('0x1b')](function(){return _0x324269;});}return _0x324269;})['then'](respondWithResult(_0x3ab68a,null))['catch'](handleError(_0x3ab68a,null));};exports[_0x5898('0x5b')]=function(_0x18bbca,_0x1faeb6){return db[_0x5898('0x3d')]['describe']()['then'](respondWithResult(_0x1faeb6,null))['catch'](handleError(_0x1faeb6,null));};exports[_0x5898('0x5c')]=function(_0x123e4a,_0x37c135,_0x1a6ea9){if(_0x123e4a['body']['id']){delete _0x123e4a['body']['id'];}return db[_0x5898('0x3d')]['find']({'where':{'id':_0x123e4a[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x37c135,null))[_0x5898('0x1b')](function(_0xe0373a){if(_0xe0373a){_0x123e4a[_0x5898('0x5a')]['MailAccountId']=_0xe0373a['id'];return db[_0x5898('0x5d')][_0x5898('0x5e')](_0x123e4a[_0x5898('0x5a')]);}})['then'](respondWithResult(_0x37c135,null))[_0x5898('0x25')](handleError(_0x37c135,null));};exports['getDispositions']=function(_0x3f9090,_0x14d87f,_0x450ef3){var _0x16ea17={'raw':![],'where':{}};var _0x49dab7={};var _0x116af5={'count':0x0,'rows':[]};return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x3f9090['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x14d87f,null))[_0x5898('0x1b')](function(_0xa73e06){if(_0xa73e06){_0x49dab7['model']=_[_0x5898('0x42')](db['Disposition'][_0x5898('0x56')]);_0x49dab7[_0x5898('0x41')]=_[_0x5898('0x42')](_0x3f9090[_0x5898('0x41')]);_0x49dab7[_0x5898('0x4a')]=_['intersection'](_0x49dab7[_0x5898('0x40')],_0x49dab7[_0x5898('0x41')]);_0x16ea17[_0x5898('0x57')]=_['intersection'](_0x49dab7[_0x5898('0x40')],qs[_0x5898('0x44')](_0x3f9090[_0x5898('0x41')][_0x5898('0x44')]));_0x16ea17[_0x5898('0x57')]=_0x16ea17['attributes'][_0x5898('0x45')]?_0x16ea17[_0x5898('0x57')]:_0x49dab7[_0x5898('0x40')];if(!_0x3f9090['query'][_0x5898('0x46')](_0x5898('0x47'))){_0x16ea17[_0x5898('0x2b')]=qs['limit'](_0x3f9090[_0x5898('0x41')][_0x5898('0x2b')]);_0x16ea17['offset']=qs['offset'](_0x3f9090[_0x5898('0x41')][_0x5898('0x2a')]);}_0x16ea17[_0x5898('0x60')]=qs[_0x5898('0x48')](_0x3f9090[_0x5898('0x41')]['sort']);_0x16ea17[_0x5898('0x49')]=qs[_0x5898('0x4a')](_[_0x5898('0x4b')](_0x3f9090[_0x5898('0x41')],_0x49dab7[_0x5898('0x4a')]));_0x16ea17[_0x5898('0x49')][_0x5898('0x61')]=_0xa73e06['id'];if(_0x3f9090['query'][_0x5898('0x4c')]){_0x16ea17[_0x5898('0x49')]=_['merge'](_0x16ea17['where'],{'$or':_[_0x5898('0x3c')](_0x16ea17[_0x5898('0x57')],function(_0x443518){var _0x39e9d5={};_0x39e9d5[_0x443518]={'$like':'%'+_0x3f9090['query'][_0x5898('0x4c')]+'%'};return _0x39e9d5;})});}_0x16ea17=_[_0x5898('0x4f')]({},_0x16ea17,_0x3f9090['options']);return db[_0x5898('0x5d')][_0x5898('0x29')]({'where':_0x16ea17['where']})[_0x5898('0x1b')](function(_0xb57f27){_0x116af5[_0x5898('0x29')]=_0xb57f27;if(_0x3f9090['query']['includeAll']){_0x16ea17[_0x5898('0x51')]=[{'all':!![]}];}return db[_0x5898('0x5d')][_0x5898('0x62')](_0x16ea17);})[_0x5898('0x1b')](function(_0xa14e32){_0x116af5['rows']=_0xa14e32;return _0x116af5;});}})[_0x5898('0x1b')](respondWithFilteredResult(_0x14d87f,_0x16ea17))[_0x5898('0x25')](handleError(_0x14d87f,null));};exports[_0x5898('0x63')]=function(_0x20c220,_0x217a44,_0x13997a){return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0x20c220[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x217a44,null))['then'](function(_0x105237){if(_0x105237){return _0x105237['removeDispositions'](_0x20c220[_0x5898('0x41')]['ids']);}})['then'](respondWithStatusCode(_0x217a44,null))[_0x5898('0x25')](handleError(_0x217a44,null));};exports[_0x5898('0x64')]=function(_0x420ffa,_0x199d2c,_0x5c6f33){if(_0x420ffa[_0x5898('0x5a')]['id']){delete _0x420ffa[_0x5898('0x5a')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x420ffa[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x199d2c,null))[_0x5898('0x1b')](function(_0x568765){if(_0x568765){_0x420ffa[_0x5898('0x5a')][_0x5898('0x61')]=_0x568765['id'];return db[_0x5898('0x65')][_0x5898('0x5e')](_0x420ffa[_0x5898('0x5a')]);}})[_0x5898('0x1b')](respondWithResult(_0x199d2c,null))[_0x5898('0x25')](handleError(_0x199d2c,null));};exports['getAnswers']=function(_0xb72a3e,_0x561e50,_0x26e4e0){var _0x524b30={'raw':![],'where':{}};var _0x8cdba1={};var _0x126b78={'count':0x0,'rows':[]};return db['MailAccount'][_0x5898('0x5f')]({'where':{'id':_0xb72a3e['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x561e50,null))[_0x5898('0x1b')](function(_0x7ec429){if(_0x7ec429){_0x8cdba1[_0x5898('0x40')]=_['keys'](db[_0x5898('0x65')]['rawAttributes']);_0x8cdba1[_0x5898('0x41')]=_[_0x5898('0x42')](_0xb72a3e[_0x5898('0x41')]);_0x8cdba1['filters']=_[_0x5898('0x43')](_0x8cdba1[_0x5898('0x40')],_0x8cdba1[_0x5898('0x41')]);_0x524b30[_0x5898('0x57')]=_['intersection'](_0x8cdba1[_0x5898('0x40')],qs[_0x5898('0x44')](_0xb72a3e[_0x5898('0x41')]['fields']));_0x524b30[_0x5898('0x57')]=_0x524b30[_0x5898('0x57')]['length']?_0x524b30['attributes']:_0x8cdba1['model'];if(!_0xb72a3e[_0x5898('0x41')][_0x5898('0x46')](_0x5898('0x47'))){_0x524b30['limit']=qs[_0x5898('0x2b')](_0xb72a3e[_0x5898('0x41')][_0x5898('0x2b')]);_0x524b30['offset']=qs[_0x5898('0x2a')](_0xb72a3e[_0x5898('0x41')]['offset']);}_0x524b30[_0x5898('0x60')]=qs[_0x5898('0x48')](_0xb72a3e['query']['sort']);_0x524b30['where']=qs[_0x5898('0x4a')](_['pick'](_0xb72a3e['query'],_0x8cdba1['filters']));_0x524b30['where']['MailAccountId']=_0x7ec429['id'];if(_0xb72a3e[_0x5898('0x41')][_0x5898('0x4c')]){_0x524b30[_0x5898('0x49')]=_[_0x5898('0x4f')](_0x524b30['where'],{'$or':_[_0x5898('0x3c')](_0x524b30['attributes'],function(_0xdc2129){var _0x42cabf={};_0x42cabf[_0xdc2129]={'$like':'%'+_0xb72a3e[_0x5898('0x41')][_0x5898('0x4c')]+'%'};return _0x42cabf;})});}_0x524b30=_[_0x5898('0x4f')]({},_0x524b30,_0xb72a3e[_0x5898('0x58')]);return db['CannedAnswer'][_0x5898('0x29')]({'where':_0x524b30[_0x5898('0x49')]})[_0x5898('0x1b')](function(_0x219efd){_0x126b78[_0x5898('0x29')]=_0x219efd;if(_0xb72a3e[_0x5898('0x41')][_0x5898('0x50')]){_0x524b30[_0x5898('0x51')]=[{'all':!![]}];}return db[_0x5898('0x65')][_0x5898('0x62')](_0x524b30);})[_0x5898('0x1b')](function(_0x45cead){_0x126b78[_0x5898('0x52')]=_0x45cead;return _0x126b78;});}})[_0x5898('0x1b')](respondWithFilteredResult(_0x561e50,_0x524b30))[_0x5898('0x25')](handleError(_0x561e50,null));};exports[_0x5898('0x66')]=function(_0x45e8fd,_0xdaf063,_0x954061){return db[_0x5898('0x3d')]['find']({'where':{'id':_0x45e8fd[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0xdaf063,null))['then'](function(_0x242ada){if(_0x242ada){return _0x242ada['removeAnswers'](_0x45e8fd[_0x5898('0x41')][_0x5898('0x67')]);}})['then'](respondWithStatusCode(_0xdaf063,null))[_0x5898('0x25')](handleError(_0xdaf063,null));};exports[_0x5898('0x5e')]=function(_0x4dd9d0,_0x171fe8){var _0x3ad71e={'name':_0x4dd9d0[_0x5898('0x5a')]['name'],'key':_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x3f')],'email':_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x68')],'ListId':_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x69')],'active':!_[_0x5898('0x6a')](_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x6b')])?_0x4dd9d0[_0x5898('0x5a')]['active']:!![],'description':_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x6c')]||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x6d')])){if(_0x4dd9d0[_0x5898('0x5a')]['cauthentication']){_0x3ad71e[_0x5898('0x38')][_0x5898('0x6e')]=_0x3ad71e['Smtp'][_0x5898('0x6e')]=_0x4dd9d0['body'][_0x5898('0x6f')];_0x3ad71e['Imap'][_0x5898('0x70')]=_0x3ad71e[_0x5898('0x3a')][_0x5898('0x71')]=_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x72')];}else{_0x3ad71e[_0x5898('0x38')][_0x5898('0x73')]=_0x3ad71e[_0x5898('0x3a')][_0x5898('0x73')]=![];}_0x3ad71e[_0x5898('0x38')][_0x5898('0x74')]=_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x38')][_0x5898('0x74')];_0x3ad71e[_0x5898('0x38')][_0x5898('0x75')]=_0x4dd9d0[_0x5898('0x5a')]['Imap'][_0x5898('0x75')];_0x3ad71e[_0x5898('0x3a')]['host']=_0x4dd9d0[_0x5898('0x5a')]['Smtp'][_0x5898('0x74')];_0x3ad71e[_0x5898('0x3a')][_0x5898('0x75')]=_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x3a')]['port'];}else{_0x3ad71e['Imap'][_0x5898('0x76')]=_0x3ad71e['Smtp']['service']=_0x4dd9d0['body']['cservice'];_0x3ad71e['Imap'][_0x5898('0x6e')]=_0x3ad71e[_0x5898('0x3a')][_0x5898('0x6e')]=_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x6f')];_0x3ad71e[_0x5898('0x38')][_0x5898('0x70')]=_0x3ad71e[_0x5898('0x3a')][_0x5898('0x71')]=_0x4dd9d0[_0x5898('0x5a')][_0x5898('0x72')];}return db[_0x5898('0x3d')]['create'](_0x3ad71e,{'include':[{'model':db[_0x5898('0x39')],'as':_0x5898('0x3a')},{'model':db['MailServerIn'],'as':_0x5898('0x38')}]})['then'](function(_0x573eef){var _0x561a64=_0x4dd9d0['user'][_0x5898('0x2e')]({'plain':!![]});if(!_0x561a64)throw new Error(_0x5898('0x77'));if(_0x561a64['role']===_0x5898('0x6e')){var _0x25debf=_0x573eef['get']({'plain':!![]});return db[_0x5898('0x78')][_0x5898('0x59')]({'where':{'name':_0x5898('0x2f'),'userProfileId':_0x561a64[_0x5898('0x79')]},'raw':!![]})['then'](function(_0x37c3c3){if(_0x37c3c3&&_0x37c3c3[_0x5898('0x7a')]===0x0){return db['UserProfileResource'][_0x5898('0x5e')]({'name':_0x25debf[_0x5898('0x34')],'resourceId':_0x25debf['id'],'type':_0x37c3c3[_0x5898('0x34')],'sectionId':_0x37c3c3['id']},{})['then'](function(){return _0x573eef;});}else{return _0x573eef;}})[_0x5898('0x25')](function(_0x4c9b6f){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4c9b6f);throw _0x4c9b6f;});}return _0x573eef;})[_0x5898('0x1b')](respondWithResult(_0x171fe8,0xc9))[_0x5898('0x25')](handleError(_0x171fe8,null));};exports[_0x5898('0x7b')]=function(_0x3ee604,_0x49f8b1,_0x211c55){return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x3ee604['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x49f8b1,null))['then'](function(_0x5375dc){if(_0x5375dc){return _0x5375dc[_0x5898('0x7b')]();}return null;})[_0x5898('0x1b')](respondWithResult(_0x49f8b1,null))['catch'](handleError(_0x49f8b1,null));};exports[_0x5898('0x7c')]=function(_0xd8306c,_0x5d2581,_0x44c1bf){if(_0xd8306c[_0x5898('0x5a')]['id']){delete _0xd8306c[_0x5898('0x5a')]['id'];}return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0xd8306c[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x5d2581,null))['then'](function(_0x3821a6){if(_0x3821a6){_0xd8306c[_0x5898('0x5a')][_0x5898('0x61')]=_0x3821a6['id'];return db['MailServerIn'][_0x5898('0x5e')](_0xd8306c[_0x5898('0x5a')]);}})['then'](respondWithResult(_0x5d2581,null))[_0x5898('0x25')](handleError(_0x5d2581,null));};exports[_0x5898('0x7d')]=function(_0x35ad74,_0x4fc8cc,_0x174520){return db[_0x5898('0x3d')]['findOne']({'where':{'id':_0x35ad74[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x4fc8cc,null))[_0x5898('0x1b')](function(_0x52a5f6){if(_0x52a5f6){return _0x52a5f6['setImap'](null);}return null;})[_0x5898('0x1b')](respondWithStatusCode(_0x4fc8cc,null))[_0x5898('0x25')](handleError(_0x4fc8cc,null));};exports[_0x5898('0x7e')]=function(_0x4d482d,_0x162af3,_0xb366e2){return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x4d482d[_0x5898('0x54')]['id']}})['then'](handleEntityNotFound(_0x162af3,null))[_0x5898('0x1b')](function(_0x39fd6f){if(_0x39fd6f){return _0x39fd6f['getSmtp']();}return null;})[_0x5898('0x1b')](respondWithResult(_0x162af3,null))['catch'](handleError(_0x162af3,null));};exports['addSmtp']=function(_0x467112,_0x36d73b,_0x20abec){if(_0x467112['body']['id']){delete _0x467112['body']['id'];}return db[_0x5898('0x3d')]['find']({'where':{'id':_0x467112[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x36d73b,null))[_0x5898('0x1b')](function(_0x3ce9c5){if(_0x3ce9c5){_0x467112[_0x5898('0x5a')][_0x5898('0x61')]=_0x3ce9c5['id'];return db['MailServerOut']['create'](_0x467112['body']);}})[_0x5898('0x1b')](respondWithResult(_0x36d73b,null))[_0x5898('0x25')](handleError(_0x36d73b,null));};exports[_0x5898('0x7f')]=function(_0x10dcf4,_0x897a75,_0x38a251){return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x10dcf4[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x897a75,null))[_0x5898('0x1b')](function(_0x35f256){if(_0x35f256){return _0x35f256[_0x5898('0x80')](null);}return null;})[_0x5898('0x1b')](respondWithStatusCode(_0x897a75,null))[_0x5898('0x25')](handleError(_0x897a75,null));};exports[_0x5898('0x81')]=function(_0x1cddea,_0x2c6fe2,_0x3ca677){return db[_0x5898('0x82')][_0x5898('0x59')]({'where':{'id':_0x1cddea[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x2c6fe2,null))[_0x5898('0x1b')](function(_0x5ac462){if(_0x5ac462){return _0x5ac462[_0x5898('0x81')](_0x1cddea[_0x5898('0x5a')]['ids'],_[_0x5898('0x83')](_0x1cddea[_0x5898('0x5a')],['ids','id'])||{});}})[_0x5898('0x1b')](respondWithResult(_0x2c6fe2,null))[_0x5898('0x25')](handleError(_0x2c6fe2,null));};exports['getInteractions']=function(_0x4a5361,_0x888195,_0x35afa6){var _0x4bda14={'raw':![],'where':{}};var _0x41bf88={};var _0x495352={'count':0x0,'rows':[]};return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x4a5361['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x888195,null))[_0x5898('0x1b')](function(_0x1c07bf){if(_0x1c07bf){_0x41bf88[_0x5898('0x40')]=_[_0x5898('0x42')](db[_0x5898('0x82')]['rawAttributes']);_0x41bf88[_0x5898('0x41')]=_[_0x5898('0x42')](_0x4a5361[_0x5898('0x41')]);_0x41bf88[_0x5898('0x4a')]=_['intersection'](_0x41bf88[_0x5898('0x40')],_0x41bf88[_0x5898('0x41')]);_0x4bda14[_0x5898('0x57')]=_[_0x5898('0x43')](_0x41bf88['model'],qs[_0x5898('0x44')](_0x4a5361[_0x5898('0x41')][_0x5898('0x44')]));_0x4bda14[_0x5898('0x57')]=_0x4bda14['attributes'][_0x5898('0x45')]?_0x4bda14[_0x5898('0x57')]:_0x41bf88['model'];if(!_0x4a5361[_0x5898('0x41')][_0x5898('0x46')](_0x5898('0x47'))){_0x4bda14[_0x5898('0x2b')]=qs['limit'](_0x4a5361[_0x5898('0x41')][_0x5898('0x2b')]);_0x4bda14['offset']=qs['offset'](_0x4a5361[_0x5898('0x41')][_0x5898('0x2a')]);}_0x4bda14[_0x5898('0x60')]=qs[_0x5898('0x48')](_0x4a5361[_0x5898('0x41')]['sort']);_0x4bda14[_0x5898('0x49')]=qs['filters'](_[_0x5898('0x4b')](_0x4a5361[_0x5898('0x41')],_0x41bf88[_0x5898('0x4a')]));_0x4bda14[_0x5898('0x49')][_0x5898('0x61')]=_0x1c07bf['id'];if(_0x4a5361[_0x5898('0x41')][_0x5898('0x4c')]){_0x4bda14['where']=_[_0x5898('0x4f')](_0x4bda14[_0x5898('0x49')],{'$or':_['map'](_0x4bda14[_0x5898('0x57')],function(_0x52fcb4){var _0x541762={};_0x541762[_0x52fcb4]={'$like':'%'+_0x4a5361[_0x5898('0x41')][_0x5898('0x4c')]+'%'};return _0x541762;})});}_0x4bda14=_[_0x5898('0x4f')]({},_0x4bda14,_0x4a5361['options']);return db[_0x5898('0x82')][_0x5898('0x29')]({'where':_0x4bda14['where']})[_0x5898('0x1b')](function(_0x403446){_0x495352[_0x5898('0x29')]=_0x403446;if(_0x4a5361['query'][_0x5898('0x50')]){_0x4bda14['include']=[{'model':db[_0x5898('0x84')],'as':'Contact','required':![]},{'model':db[_0x5898('0x85')],'as':'Owner','attributes':[_0x5898('0x34'),_0x5898('0x86'),_0x5898('0x87')],'required':![]},{'model':db[_0x5898('0x88')],'as':'Tags','attributes':['id',_0x5898('0x34'),_0x5898('0x89')],'where':_0x4a5361[_0x5898('0x41')][_0x5898('0x8a')]?{'id':_0x4a5361[_0x5898('0x41')][_0x5898('0x8a')]}:undefined,'required':_0x4a5361['query'][_0x5898('0x8a')]?!![]:![]}];}return db[_0x5898('0x82')][_0x5898('0x62')](_0x4bda14);})[_0x5898('0x1b')](function(_0x1334ac){_0x495352[_0x5898('0x52')]=_0x1334ac;return _0x495352;});}})['then'](respondWithFilteredResult(_0x888195,_0x4bda14))[_0x5898('0x25')](handleError(_0x888195,null));};exports[_0x5898('0x8b')]=function(_0x227e7c,_0x5535db,_0x2b8b08){return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x227e7c[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x5535db,null))[_0x5898('0x1b')](function(_0x11676f){if(_0x11676f){return db[_0x5898('0x8c')][_0x5898('0x8d')](function(_0x2ac5c0){return db[_0x5898('0x8e')]['destroy']({'where':{'MailAccountId':_0x227e7c['params']['id']},'transaction':_0x2ac5c0})['then'](function(_0xe544cc){var _0x5978d6=_[_0x5898('0x3c')](_0x227e7c['body'],function(_0x4ed63b){_0x4ed63b[_0x5898('0x61')]=_0x227e7c[_0x5898('0x54')]['id'];return _0x4ed63b;});return db[_0x5898('0x8e')][_0x5898('0x8f')](_0x5978d6,{'transaction':_0x2ac5c0});});})['then'](function(){return db[_0x5898('0x8e')][_0x5898('0x90')]({'where':{'MailAccountId':_0x227e7c[_0x5898('0x54')]['id']},'order':'priority'});});}})[_0x5898('0x1b')](respondWithResult(_0x5535db,null))['catch'](handleError(_0x5535db,null));};exports[_0x5898('0x91')]=function(_0x4c62ee,_0x2334ce,_0x16688c){var _0x229557={};var _0x25ebf5={};var _0x38a98f;var _0x22e730;return db[_0x5898('0x3d')][_0x5898('0x5f')]({'where':{'id':_0x4c62ee[_0x5898('0x54')]['id']}})['then'](handleEntityNotFound(_0x2334ce,null))[_0x5898('0x1b')](function(_0x5265fa){if(_0x5265fa){_0x38a98f=_0x5265fa;_0x25ebf5[_0x5898('0x40')]=_[_0x5898('0x42')](db[_0x5898('0x8e')][_0x5898('0x56')]);_0x25ebf5[_0x5898('0x41')]=_[_0x5898('0x42')](_0x4c62ee[_0x5898('0x41')]);_0x25ebf5[_0x5898('0x4a')]=_[_0x5898('0x43')](_0x25ebf5[_0x5898('0x40')],_0x25ebf5[_0x5898('0x41')]);_0x229557[_0x5898('0x57')]=_[_0x5898('0x43')](_0x25ebf5[_0x5898('0x40')],qs[_0x5898('0x44')](_0x4c62ee[_0x5898('0x41')][_0x5898('0x44')]));_0x229557['attributes']=_0x229557[_0x5898('0x57')]['length']?_0x229557['attributes']:_0x25ebf5[_0x5898('0x40')];_0x229557[_0x5898('0x60')]=qs[_0x5898('0x48')](_0x4c62ee['query'][_0x5898('0x48')]);_0x229557[_0x5898('0x49')]=qs[_0x5898('0x4a')](_['pick'](_0x4c62ee[_0x5898('0x41')],_0x25ebf5[_0x5898('0x4a')]));if(_0x4c62ee[_0x5898('0x41')]['filter']){_0x229557[_0x5898('0x49')]=_[_0x5898('0x4f')](_0x229557['where'],{'$or':_[_0x5898('0x3c')](_0x229557[_0x5898('0x57')],function(_0x3241f8){var _0x41535f={};_0x41535f[_0x3241f8]={'$like':'%'+_0x4c62ee[_0x5898('0x41')][_0x5898('0x4c')]+'%'};return _0x41535f;})});}_0x229557=_[_0x5898('0x4f')]({},_0x229557,_0x4c62ee[_0x5898('0x58')]);return _0x38a98f['getApplications'](_0x229557);}})['then'](function(_0x375ec4){if(_0x375ec4){_0x22e730=_0x375ec4[_0x5898('0x45')];if(!_0x4c62ee[_0x5898('0x41')][_0x5898('0x46')](_0x5898('0x47'))){_0x229557['limit']=qs[_0x5898('0x2b')](_0x4c62ee[_0x5898('0x41')]['limit']);_0x229557[_0x5898('0x2a')]=qs[_0x5898('0x2a')](_0x4c62ee[_0x5898('0x41')][_0x5898('0x2a')]);}return _0x38a98f[_0x5898('0x91')](_0x229557);}})[_0x5898('0x1b')](function(_0xe70b4b){if(_0xe70b4b){return _0xe70b4b?{'count':_0x22e730,'rows':_0xe70b4b}:null;}})[_0x5898('0x1b')](respondWithResult(_0x2334ce,null))[_0x5898('0x25')](handleError(_0x2334ce,null));};exports[_0x5898('0x92')]=function(_0x539544,_0x7b90df,_0x2ed105){var _0x489ab8={'raw':!![],'where':{}};var _0x1e2928={};var _0x3c01dd={'count':0x0,'rows':[]};return db[_0x5898('0x3d')]['findOne']({'where':{'id':_0x539544['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x7b90df,null))[_0x5898('0x1b')](function(_0x24665e){if(_0x24665e){_0x1e2928[_0x5898('0x40')]=_[_0x5898('0x42')](db['MailMessage']['rawAttributes']);_0x1e2928[_0x5898('0x41')]=_['keys'](_0x539544['query']);_0x1e2928['filters']=_['intersection'](_0x1e2928['model'],_0x1e2928['query']);_0x489ab8['attributes']=_[_0x5898('0x43')](_0x1e2928[_0x5898('0x40')],qs[_0x5898('0x44')](_0x539544[_0x5898('0x41')]['fields']));_0x489ab8[_0x5898('0x57')]=_0x489ab8['attributes'][_0x5898('0x45')]?_0x489ab8[_0x5898('0x57')]:_0x1e2928['model'];if(!_0x539544[_0x5898('0x41')]['hasOwnProperty']('nolimit')){_0x489ab8[_0x5898('0x2b')]=qs[_0x5898('0x2b')](_0x539544[_0x5898('0x41')][_0x5898('0x2b')]);_0x489ab8['offset']=qs['offset'](_0x539544[_0x5898('0x41')][_0x5898('0x2a')]);}_0x489ab8[_0x5898('0x60')]=qs[_0x5898('0x48')](_0x539544['query']['sort']);_0x489ab8[_0x5898('0x49')]=qs[_0x5898('0x4a')](_[_0x5898('0x4b')](_0x539544['query'],_0x1e2928[_0x5898('0x4a')]));_0x489ab8[_0x5898('0x49')][_0x5898('0x61')]=_0x24665e['id'];if(_0x539544[_0x5898('0x41')]['filter']){_0x489ab8[_0x5898('0x49')]=_[_0x5898('0x4f')](_0x489ab8['where'],{'$or':_[_0x5898('0x3c')](_0x489ab8[_0x5898('0x57')],function(_0x52dded){var _0x429c91={};_0x429c91[_0x52dded]={'$like':'%'+_0x539544['query'][_0x5898('0x4c')]+'%'};return _0x429c91;})});}if(_0x539544[_0x5898('0x41')][_0x5898('0x93')]){var _0xe3ed91=_0x539544[_0x5898('0x41')][_0x5898('0x93')]['split'](',');var _0x5db370={};_0x5db370[_0xe3ed91[0x0]]={'$gte':moment(_0xe3ed91[0x1])[_0x5898('0x94')]('YYYY-MM-DD\x20HH:mm:ss')};_0x489ab8['where']=_[_0x5898('0x4f')](_0x489ab8['where'],_0x5db370);}_0x489ab8=_[_0x5898('0x4f')]({},_0x489ab8,_0x539544[_0x5898('0x58')]);return db['MailMessage'][_0x5898('0x29')]({'where':_0x489ab8[_0x5898('0x49')]})[_0x5898('0x1b')](function(_0x5c60e7){_0x3c01dd[_0x5898('0x29')]=_0x5c60e7;if(_0x539544[_0x5898('0x41')][_0x5898('0x50')]){_0x489ab8['include']=[{'all':!![]}];}return db[_0x5898('0x95')][_0x5898('0x62')](_0x489ab8);})[_0x5898('0x1b')](function(_0x2ce3f5){if(_0x539544[_0x5898('0x41')][_0x5898('0x96')]===_0x5898('0x97')){for(var _0x2ad1d2=0x0;_0x2ad1d2<_0x2ce3f5['length'];_0x2ad1d2++){_0x2ce3f5[_0x2ad1d2][_0x5898('0x5a')]=juice(_0x2ce3f5[_0x2ad1d2][_0x5898('0x5a')]);}}_0x3c01dd[_0x5898('0x52')]=_0x2ce3f5;return _0x3c01dd;});}})[_0x5898('0x1b')](respondWithFilteredResult(_0x7b90df,_0x489ab8))[_0x5898('0x25')](handleError(_0x7b90df,null));};exports[_0x5898('0x35')]=function(_0x5d68db,_0x5d43bd,_0x270eb6){var _0x1aa796,_0x1b7cdd={},_0x12da9a;if(_0x5d68db[_0x5898('0x5a')]['to']){_0x12da9a=_0x5d68db[_0x5898('0x5a')]['to'][_0x5898('0x98')](',')[0x0];}return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0x5d68db['params']['id']},'include':[{'model':db[_0x5898('0x99')],'as':'List','include':[{'model':db[_0x5898('0x84')],'as':_0x5898('0x9a'),'where':{'email':_0x12da9a},'limit':0x1,'order':[[_0x5898('0x9b'),_0x5898('0x9c')]]}]},{'model':db[_0x5898('0x39')],'as':_0x5898('0x3a'),'raw':!![]}]})[_0x5898('0x1b')](handleEntityNotFound(_0x5d43bd,null))[_0x5898('0x1b')](function(_0x4798b1){if(_0x4798b1){_0x1aa796=_0x4798b1;if(_0x4798b1[_0x5898('0x3a')]){if(_[_0x5898('0x6a')](_0x5d68db['body'][_0x5898('0x9d')])){_0x5d68db['body'][_0x5898('0x9d')]=util[_0x5898('0x94')](_0x5898('0x9e'),_0x4798b1[_0x5898('0x34')],_0x4798b1[_0x5898('0x68')]||_0x4798b1[_0x5898('0x3a')][_0x5898('0x6e')]);}if(_0x5d68db[_0x5898('0x5a')]['attachments']&&_0x5d68db[_0x5898('0x5a')][_0x5898('0x9f')]['length']){for(var _0x4cfbca=0x0;_0x4cfbca<_0x5d68db['body'][_0x5898('0x9f')][_0x5898('0x45')];_0x4cfbca+=0x1){_0x5d68db['body']['attachments'][_0x4cfbca]={'filename':_0x5d68db[_0x5898('0x5a')]['attachments'][_0x4cfbca][_0x5898('0x34')],'path':path['join'](config['root'],_0x5898('0xa0'),_0x5d68db['body']['attachments'][_0x4cfbca]['basename'])};}}var _0x48eeb8={'tls':{'rejectUnauthorized':![]}};if(_[_0x5898('0x6a')](_0x4798b1['Smtp'][_0x5898('0x76')])){if(_0x4798b1[_0x5898('0x3a')][_0x5898('0x73')]){_0x48eeb8[_0x5898('0xa1')]={'user':_0x4798b1[_0x5898('0x3a')][_0x5898('0x6e')],'pass':_0x4798b1[_0x5898('0x3a')][_0x5898('0x71')]};}_0x48eeb8[_0x5898('0x74')]=_0x4798b1['Smtp'][_0x5898('0x74')];_0x48eeb8['port']=_0x4798b1[_0x5898('0x3a')][_0x5898('0x75')];_0x48eeb8[_0x5898('0xa2')]=_0x4798b1['Smtp'][_0x5898('0xa2')];}else{_0x48eeb8[_0x5898('0x76')]=_0x4798b1[_0x5898('0x3a')][_0x5898('0x76')];_0x48eeb8['auth']={'user':_0x4798b1['Smtp']['user'],'pass':_0x4798b1[_0x5898('0x3a')][_0x5898('0x71')]};}return respondWithRpcPromise(_0x5898('0xa3'),_0x5898('0xa4'),{'account':_0x48eeb8,'message':_0x5d68db[_0x5898('0x5a')]});}else{throw new Error(_0x5898('0xa5'));}}})[_0x5898('0x1b')](function(_0x33b547){if(_0x33b547){_0x1b7cdd=_0x33b547;if(_0x1aa796['List']){if(_0x1aa796[_0x5898('0xa6')][_0x5898('0x9a')][_0x5898('0x45')]){return _0x1aa796['List'][_0x5898('0x9a')][0x0];}else{return db[_0x5898('0x84')]['create'](_[_0x5898('0x15')](_0x5d68db['body'],{'firstName':_0x5d68db['body']['to'],'email':_0x5d68db['body']['to'],'phone':_0x5d68db[_0x5898('0x5a')]['to'],'ListId':_0x1aa796[_0x5898('0x69')]}));}}else{throw new Error(_0x5898('0xa5'));}}})['then'](function(_0x52a38b){if(_0x52a38b){var _0x1740ba={'UserId':_0x5d68db['user']['id'],'ContactId':_0x52a38b['id'],'MailAccountId':_0x1aa796['id'],'inReplyTo':_0x1b7cdd[_0x5898('0xa7')],'to':_0x5d68db['body'][_0x5898('0x9d')],'cc':_0x5d68db[_0x5898('0x5a')]['cc'],'subject':_0x5d68db[_0x5898('0x5a')][_0x5898('0xa8')],'attach':_0x5d68db[_0x5898('0x5a')][_0x5898('0xa9')],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0x5898('0xaa')),'lastMsgDirection':'out','lastMsgBody':_0x5d68db[_0x5898('0x5a')][_0x5898('0x5a')],'Messages':[_['merge'](_0x5d68db[_0x5898('0x5a')],{'messageId':_0x1b7cdd['messageId'],'sentAt':moment()[_0x5898('0x94')](_0x5898('0xaa')),'read':!![],'MailAccountId':_0x1aa796['id'],'UserId':_0x5d68db[_0x5898('0x6e')]['id'],'ContactId':_0x52a38b['id']})]};if(_0x5d68db[_0x5898('0x5a')]['Interaction']){_0x1740ba=_['merge'](_0x1740ba,_0x5d68db[_0x5898('0x5a')]['Interaction']);}return db[_0x5898('0x82')]['create'](_0x1740ba,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});}})[_0x5898('0x1b')](respondWithResult(_0x5d43bd,null))[_0x5898('0x25')](handleError(_0x5d43bd,null));};exports['verifySmtp']=function(_0x4ba1a0,_0x4c8e4d,_0x28687e){return db['MailAccount']['find']({'where':{'id':_0x4ba1a0[_0x5898('0x54')]['id']},'include':[{'model':db[_0x5898('0x39')],'as':_0x5898('0x3a'),'raw':!![]}]})['then'](handleEntityNotFound(_0x4c8e4d,null))[_0x5898('0x1b')](function(_0x100dd1){if(_0x100dd1&&_0x100dd1[_0x5898('0x3a')]){var _0x1fd730={'id':_0x100dd1['id'],'tls':{'rejectUnauthorized':![]}};if(_0x100dd1[_0x5898('0x3a')]['service']){_0x1fd730[_0x5898('0x76')]=_0x100dd1['Smtp']['service'];}else{_0x1fd730[_0x5898('0x74')]=_0x100dd1['Smtp'][_0x5898('0x74')];_0x1fd730['port']=_0x100dd1[_0x5898('0x3a')][_0x5898('0x75')];_0x1fd730[_0x5898('0xa2')]=_0x100dd1[_0x5898('0x3a')]['secure'];}if(_0x100dd1[_0x5898('0x3a')][_0x5898('0x73')]){_0x1fd730[_0x5898('0xa1')]={'user':_0x100dd1['Smtp'][_0x5898('0x6e')],'pass':_0x100dd1[_0x5898('0x3a')][_0x5898('0x71')]};}return respondWithRpcPromise(_0x5898('0xab'),'verifySmtp',{'account':_0x1fd730});}})['then'](respondWithResult(_0x4c8e4d,null))[_0x5898('0x25')](handleError(_0x4c8e4d,null));};exports[_0x5898('0x31')]=function(_0x35ad94,_0x457166){return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0x35ad94[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x457166,null))[_0x5898('0x1b')](function(_0x27d6af){if(_0x27d6af&&_0x27d6af['service']){throw new db[(_0x5898('0xac'))][(_0x5898('0xad'))](_0x5898('0xae'));}return _0x27d6af;})[_0x5898('0x1b')](removeEntity(_0x457166,null))[_0x5898('0x25')](handleError(_0x457166,null));};exports['addAgents']=function(_0x43443f,_0x2b2e01,_0x521e56){return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0x43443f['params']['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x2b2e01,null))[_0x5898('0x1b')](function(_0x212ad7){if(_0x212ad7){return _0x212ad7[_0x5898('0xaf')](_0x43443f[_0x5898('0x5a')][_0x5898('0x67')],_[_0x5898('0x83')](_0x43443f[_0x5898('0x5a')],[_0x5898('0x67'),'id'])||{})['spread'](function(_0x2a437b){for(var _0x41485b=0x0;_0x41485b<_0x43443f[_0x5898('0x5a')][_0x5898('0x67')]['length'];_0x41485b+=0x1){socket[_0x5898('0xb0')](_0x5898('0xb1'),{'UserId':_0x43443f['body'][_0x5898('0x67')][_0x41485b],'MailAccountId':_0x43443f[_0x5898('0x54')]['id']});}return _0x2a437b;});}})[_0x5898('0x1b')](respondWithResult(_0x2b2e01,null))['catch'](handleError(_0x2b2e01,null));};exports[_0x5898('0xb2')]=function(_0xfc34bb,_0x1bb93f,_0x57ab5e){return db[_0x5898('0x3d')][_0x5898('0x59')]({'where':{'id':_0xfc34bb[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x1bb93f,null))[_0x5898('0x1b')](function(_0xfc08ef){if(_0xfc08ef){return _0xfc08ef['removeAgents'](_0xfc34bb[_0x5898('0x41')][_0x5898('0x67')])[_0x5898('0x1b')](function(){if(_[_0x5898('0xb3')](_0xfc34bb[_0x5898('0x41')]['ids'])){for(var _0x487339=0x0;_0x487339<_0xfc34bb[_0x5898('0x41')][_0x5898('0x67')]['length'];_0x487339+=0x1){socket[_0x5898('0xb0')]('userMailAccount:remove',{'UserId':Number(_0xfc34bb[_0x5898('0x41')]['ids'][_0x487339]),'MailAccountId':Number(_0xfc34bb[_0x5898('0x54')]['id'])});}}else{socket[_0x5898('0xb0')](_0x5898('0xb4'),{'UserId':Number(_0xfc34bb[_0x5898('0x41')][_0x5898('0x67')]),'MailAccountId':Number(_0xfc34bb[_0x5898('0x54')]['id'])});}});}})[_0x5898('0x1b')](respondWithStatusCode(_0x1bb93f,null))[_0x5898('0x25')](handleError(_0x1bb93f,null));};exports['getAgents']=function(_0x1105ad,_0x59534c,_0x26a6fa){var _0x59ae1b={};var _0x3a42a6={};var _0x4aac1d;var _0x354aab;return db['MailAccount']['findOne']({'where':{'id':_0x1105ad[_0x5898('0x54')]['id']}})[_0x5898('0x1b')](handleEntityNotFound(_0x59534c,null))[_0x5898('0x1b')](function(_0xc18641){if(_0xc18641){_0x4aac1d=_0xc18641;_0x3a42a6[_0x5898('0x40')]=_[_0x5898('0x42')](db[_0x5898('0x85')]['rawAttributes']);_0x3a42a6['query']=_[_0x5898('0x42')](_0x1105ad['query']);_0x3a42a6[_0x5898('0x4a')]=_[_0x5898('0x43')](_0x3a42a6['model'],_0x3a42a6['query']);_0x59ae1b['attributes']=_[_0x5898('0x43')](_0x3a42a6[_0x5898('0x40')],qs[_0x5898('0x44')](_0x1105ad['query']['fields']));_0x59ae1b[_0x5898('0x57')]=_0x59ae1b[_0x5898('0x57')][_0x5898('0x45')]?_0x59ae1b[_0x5898('0x57')]:_0x3a42a6['model'];_0x59ae1b['order']=qs[_0x5898('0x48')](_0x1105ad[_0x5898('0x41')][_0x5898('0x48')]);_0x59ae1b[_0x5898('0x49')]=qs[_0x5898('0x4a')](_[_0x5898('0x4b')](_0x1105ad[_0x5898('0x41')],_0x3a42a6[_0x5898('0x4a')]));if(_0x1105ad[_0x5898('0x41')][_0x5898('0x4c')]){_0x59ae1b[_0x5898('0x49')]=_['merge'](_0x59ae1b['where'],{'$or':_['map'](_0x59ae1b[_0x5898('0x57')],function(_0x1a8528){var _0x3e4887={};_0x3e4887[_0x1a8528]={'$like':'%'+_0x1105ad['query'][_0x5898('0x4c')]+'%'};return _0x3e4887;})});}_0x59ae1b=_[_0x5898('0x4f')]({},_0x59ae1b,_0x1105ad[_0x5898('0x58')]);return _0x4aac1d[_0x5898('0xb5')](_0x59ae1b);}})[_0x5898('0x1b')](function(_0x2a8197){if(_0x2a8197){_0x354aab=_0x2a8197['length'];if(!_0x1105ad[_0x5898('0x41')][_0x5898('0x46')](_0x5898('0x47'))){_0x59ae1b[_0x5898('0x2b')]=qs['limit'](_0x1105ad['query'][_0x5898('0x2b')]);_0x59ae1b[_0x5898('0x2a')]=qs['offset'](_0x1105ad[_0x5898('0x41')]['offset']);}return _0x4aac1d[_0x5898('0xb5')](_0x59ae1b);}})[_0x5898('0x1b')](function(_0x28e5d2){if(_0x28e5d2){return _0x28e5d2?{'count':_0x354aab,'rows':_0x28e5d2}:null;}})[_0x5898('0x1b')](respondWithResult(_0x59534c,null))[_0x5898('0x25')](handleError(_0x59534c,null));};