410d6fc9aaf4e40a1229700e4302e07704cff383
[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 _0x9ac7=['update','get','MailAccounts','UserProfileResource','destroy','sendStatus','stack','name','index','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','fieldName','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','params','MailServerIn','Imap','length','body','find','MailServerOut','describe','addDisposition','MailAccountId','Disposition','findOne','rawAttributes','filter','removeDispositions','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','email','ListId','isNil','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','getImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','MailInteraction','CmContact','Contact','User','Owner','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','priority','getApplications','getMessages','$gte','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','send','split','List','updatedAt','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','sendMail','List\x20not\x20found','Contacts','attach','out','messageId','Interaction','Messages','secure','VerifySmtp','verifySmtp','Sequelize','addAgents','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','request','then','info','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','request\x20sent','result','catch','status','end','json','count','offset','limit','set','Content-Range','apply','reject'];(function(_0x4c4d07,_0x48512b){var _0x278851=function(_0x507727){while(--_0x507727){_0x4c4d07['push'](_0x4c4d07['shift']());}};_0x278851(++_0x48512b);}(_0x9ac7,0x147));var _0x79ac=function(_0x422905,_0x3bce3a){_0x422905=_0x422905-0x0;var _0x33dc6c=_0x9ac7[_0x422905];return _0x33dc6c;};'use strict';var pdf=require(_0x79ac('0x0'));var emlformat=require(_0x79ac('0x1'));var rimraf=require(_0x79ac('0x2'));var zipdir=require(_0x79ac('0x3'));var jsonpatch=require(_0x79ac('0x4'));var rp=require(_0x79ac('0x5'));var moment=require('moment');var BPromise=require(_0x79ac('0x6'));var Mustache=require(_0x79ac('0x7'));var util=require(_0x79ac('0x8'));var path=require(_0x79ac('0x9'));var sox=require(_0x79ac('0xa'));var csv=require(_0x79ac('0xb'));var ejs=require(_0x79ac('0xc'));var fs=require('fs');var _=require(_0x79ac('0xd'));var squel=require('squel');var crypto=require(_0x79ac('0xe'));var jsforce=require(_0x79ac('0xf'));var deskjs=require(_0x79ac('0x10'));var toCsv=require(_0x79ac('0xb'));var querystring=require('querystring');var Papa=require(_0x79ac('0x11'));var Redis=require('ioredis');var authService=require(_0x79ac('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x79ac('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x79ac('0x14'))('api');var utils=require(_0x79ac('0x15'));var config=require(_0x79ac('0x16'));var licenseUtil=require(_0x79ac('0x17'));var db=require(_0x79ac('0x18'))['db'];config['redis']=_[_0x79ac('0x19')](config[_0x79ac('0x1a')],{'host':_0x79ac('0x1b'),'port':0x18eb});var socket=require(_0x79ac('0x1c'))(new Redis(config[_0x79ac('0x1a')]));require(_0x79ac('0x1d'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232b});function respondWithRpcPromise(_0x545998,_0x54825c,_0x12da01,_0x126477){return new BPromise(function(_0x5b0cbf,_0xd87f0b){var _0x504ece=_0x126477||client;return _0x504ece[_0x79ac('0x1e')](_0x545998,_0x12da01)[_0x79ac('0x1f')](function(_0xf66e71){logger[_0x79ac('0x20')]('MailAccount,\x20%s,\x20%s',_0x54825c,'request\x20sent');logger[_0x79ac('0x21')](_0x79ac('0x22'),_0x54825c,'request\x20sent',JSON[_0x79ac('0x23')](_0xf66e71));if(_0xf66e71[_0x79ac('0x24')]){if(_0xf66e71['error'][_0x79ac('0x25')]===0x1f4){logger[_0x79ac('0x24')](_0x79ac('0x26'),_0x54825c,_0xf66e71['error'][_0x79ac('0x27')]);return _0xd87f0b(_0xf66e71[_0x79ac('0x24')][_0x79ac('0x27')]);}logger[_0x79ac('0x24')](_0x79ac('0x26'),_0x54825c,_0xf66e71['error'][_0x79ac('0x27')]);return _0x5b0cbf(_0xf66e71[_0x79ac('0x24')][_0x79ac('0x27')]);}else{logger[_0x79ac('0x20')](_0x79ac('0x26'),_0x54825c,_0x79ac('0x28'));_0x5b0cbf(_0xf66e71[_0x79ac('0x29')][_0x79ac('0x27')]);}})[_0x79ac('0x2a')](function(_0x242e31){logger['error'](_0x79ac('0x26'),_0x54825c,_0x242e31);_0xd87f0b(_0x242e31);});});}function respondWithStatusCode(_0x11663b,_0x3c11fa){_0x3c11fa=_0x3c11fa||0xcc;return function(_0x49b556){if(_0x49b556){return _0x11663b['sendStatus'](_0x3c11fa);}return _0x11663b[_0x79ac('0x2b')](_0x3c11fa)[_0x79ac('0x2c')]();};}function respondWithResult(_0x5e734f,_0x4fa34d){_0x4fa34d=_0x4fa34d||0xc8;return function(_0x4f8814){if(_0x4f8814){return _0x5e734f[_0x79ac('0x2b')](_0x4fa34d)[_0x79ac('0x2d')](_0x4f8814);}};}function respondWithFilteredResult(_0x34c465,_0x2efcc2){return function(_0x49c243){if(_0x49c243){var _0x4201c5=_0x49c243[_0x79ac('0x2e')],_0x3f4891=_0x2efcc2[_0x79ac('0x2f')],_0x288e70=_0x2efcc2['offset']+_0x2efcc2[_0x79ac('0x30')],_0x436db0;if(_0x288e70>=_0x4201c5){_0x288e70=_0x4201c5;_0x436db0=0xc8;}else{_0x436db0=0xce;}_0x34c465['status'](_0x436db0);return _0x34c465[_0x79ac('0x31')](_0x79ac('0x32'),_0x3f4891+'-'+_0x288e70+'/'+_0x4201c5)[_0x79ac('0x2d')](_0x49c243);}return null;};}function patchUpdates(_0x4d8a73){return function(_0x15e545){try{jsonpatch[_0x79ac('0x33')](_0x15e545,_0x4d8a73,!![]);}catch(_0x241b35){return BPromise[_0x79ac('0x34')](_0x241b35);}return _0x15e545['save']();};}function saveUpdates(_0x36f8d8,_0x3a2938){return function(_0x3b047b){if(_0x3b047b){return _0x3b047b[_0x79ac('0x35')](_0x36f8d8)[_0x79ac('0x1f')](function(_0x31794f){return _0x31794f;});}return null;};}function removeEntity(_0x20059f,_0x45c29e){return function(_0x1e409b){if(_0x1e409b){return _0x1e409b['destroy']()[_0x79ac('0x1f')](function(){var _0x382f52=_0x1e409b[_0x79ac('0x36')]({'plain':!![]});var _0x3da987=_0x79ac('0x37');return db[_0x79ac('0x38')][_0x79ac('0x39')]({'where':{'type':_0x3da987,'resourceId':_0x382f52['id']}})[_0x79ac('0x1f')](function(){return _0x1e409b;});})['then'](function(){_0x20059f[_0x79ac('0x2b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x30a9bb,_0x15bd2a){return function(_0x339848){if(!_0x339848){_0x30a9bb[_0x79ac('0x3a')](0x194);}return _0x339848;};}function handleError(_0xe6ce49,_0x552833){_0x552833=_0x552833||0x1f4;return function(_0x34e28c){logger[_0x79ac('0x24')](_0x34e28c[_0x79ac('0x3b')]);if(_0x34e28c[_0x79ac('0x3c')]){delete _0x34e28c[_0x79ac('0x3c')];}_0xe6ce49['status'](_0x552833)['send'](_0x34e28c);};}exports[_0x79ac('0x3d')]=function(_0x4a74cd,_0x57acdf){var _0xfcd23a={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x79ac('0x3e')},{'model':db[_0x79ac('0x3f')],'as':_0x79ac('0x40')}]},_0x1e1db2={},_0x186ceb={'count':0x0,'rows':[]};var _0x494059=_[_0x79ac('0x41')](db[_0x79ac('0x42')]['rawAttributes'],function(_0xd96646){return{'name':_0xd96646[_0x79ac('0x43')],'type':_0xd96646['type'][_0x79ac('0x44')]};});_0x1e1db2[_0x79ac('0x45')]=_['map'](_0x494059,_0x79ac('0x3c'));_0x1e1db2['query']=_[_0x79ac('0x46')](_0x4a74cd[_0x79ac('0x47')]);_0x1e1db2[_0x79ac('0x48')]=_['intersection'](_0x1e1db2['model'],_0x1e1db2[_0x79ac('0x47')]);_0xfcd23a[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x1e1db2[_0x79ac('0x45')],qs[_0x79ac('0x4b')](_0x4a74cd[_0x79ac('0x47')]['fields']));_0xfcd23a[_0x79ac('0x49')]=_0xfcd23a['attributes']['length']?_0xfcd23a[_0x79ac('0x49')]:_0x1e1db2['model'];if(!_0x4a74cd[_0x79ac('0x47')][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0xfcd23a['limit']=qs['limit'](_0x4a74cd[_0x79ac('0x47')]['limit']);_0xfcd23a['offset']=qs[_0x79ac('0x2f')](_0x4a74cd[_0x79ac('0x47')][_0x79ac('0x2f')]);}_0xfcd23a[_0x79ac('0x4e')]=qs[_0x79ac('0x4f')](_0x4a74cd[_0x79ac('0x47')]['sort']);_0xfcd23a[_0x79ac('0x50')]=qs[_0x79ac('0x48')](_[_0x79ac('0x51')](_0x4a74cd[_0x79ac('0x47')],_0x1e1db2[_0x79ac('0x48')]),_0x494059);if(_0x4a74cd['query']['filter']){_0xfcd23a['where']=_[_0x79ac('0x52')](_0xfcd23a['where'],{'$or':_[_0x79ac('0x41')](_0x494059,function(_0x3e4bd0){if(_0x3e4bd0[_0x79ac('0x53')]!==_0x79ac('0x54')){var _0x40c6f5={};_0x40c6f5[_0x3e4bd0[_0x79ac('0x3c')]]={'$like':'%'+_0x4a74cd[_0x79ac('0x47')]['filter']+'%'};return _0x40c6f5;}})});}_0xfcd23a=_[_0x79ac('0x52')]({},_0xfcd23a,_0x4a74cd[_0x79ac('0x55')]);var _0x488790={'where':_0xfcd23a['where']};return db[_0x79ac('0x42')][_0x79ac('0x2e')](_0x488790)[_0x79ac('0x1f')](function(_0x5067d1){_0x186ceb['count']=_0x5067d1;if(_0x4a74cd['query'][_0x79ac('0x56')]){_0xfcd23a[_0x79ac('0x57')]=[{'all':!![]}];}return db[_0x79ac('0x42')][_0x79ac('0x58')](_0xfcd23a);})['then'](function(_0x286cc4){_0x186ceb[_0x79ac('0x59')]=_0x286cc4;return _0x186ceb;})[_0x79ac('0x1f')](respondWithFilteredResult(_0x57acdf,_0xfcd23a))[_0x79ac('0x2a')](handleError(_0x57acdf,null));};exports['show']=function(_0x176a49,_0x4ebdae){var _0x194218={'raw':![],'where':{'id':_0x176a49[_0x79ac('0x5a')]['id']},'include':[{'model':db[_0x79ac('0x5b')],'as':_0x79ac('0x5c')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':_0x79ac('0x40')}]},_0x41b20a={};_0x41b20a[_0x79ac('0x45')]=_['keys'](db[_0x79ac('0x42')]['rawAttributes']);_0x41b20a[_0x79ac('0x47')]=_['keys'](_0x176a49[_0x79ac('0x47')]);_0x41b20a['filters']=_[_0x79ac('0x4a')](_0x41b20a[_0x79ac('0x45')],_0x41b20a[_0x79ac('0x47')]);_0x194218[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x41b20a[_0x79ac('0x45')],qs[_0x79ac('0x4b')](_0x176a49[_0x79ac('0x47')]['fields']));_0x194218[_0x79ac('0x49')]=_0x194218[_0x79ac('0x49')][_0x79ac('0x5d')]?_0x194218[_0x79ac('0x49')]:_0x41b20a[_0x79ac('0x45')];if(_0x176a49[_0x79ac('0x47')][_0x79ac('0x56')]){_0x194218[_0x79ac('0x57')]=[{'all':!![]}];}_0x194218=_['merge']({},_0x194218,_0x176a49[_0x79ac('0x55')]);return db[_0x79ac('0x42')]['find'](_0x194218)[_0x79ac('0x1f')](handleEntityNotFound(_0x4ebdae,null))[_0x79ac('0x1f')](respondWithResult(_0x4ebdae,null))['catch'](handleError(_0x4ebdae,null));};exports[_0x79ac('0x35')]=function(_0x154c17,_0x249c1c){if(_0x154c17[_0x79ac('0x5e')]['id']){delete _0x154c17['body']['id'];}return db['MailAccount'][_0x79ac('0x5f')]({'where':{'id':_0x154c17[_0x79ac('0x5a')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x79ac('0x5c')},{'model':db[_0x79ac('0x60')],'as':'Smtp'},{'model':db[_0x79ac('0x3f')],'as':'mandatoryDispositionPause'}]})[_0x79ac('0x1f')](handleEntityNotFound(_0x249c1c,null))[_0x79ac('0x1f')](saveUpdates(_0x154c17['body'],null))[_0x79ac('0x1f')](function(_0x315ba7){if(_0x315ba7&&_0x154c17[_0x79ac('0x5e')][_0x79ac('0x5c')]){return db[_0x79ac('0x5b')][_0x79ac('0x35')](_0x154c17[_0x79ac('0x5e')][_0x79ac('0x5c')],{'where':{'MailAccountId':_0x315ba7['id']}})[_0x79ac('0x1f')](function(){return _0x315ba7;});}return _0x315ba7;})[_0x79ac('0x1f')](function(_0x5d56e9){if(_0x5d56e9&&_0x154c17[_0x79ac('0x5e')]['Smtp']){return db['MailServerOut'][_0x79ac('0x35')](_0x154c17[_0x79ac('0x5e')][_0x79ac('0x3e')],{'where':{'MailAccountId':_0x5d56e9['id']}})[_0x79ac('0x1f')](function(){return _0x5d56e9;});}return _0x5d56e9;})[_0x79ac('0x1f')](respondWithResult(_0x249c1c,null))[_0x79ac('0x2a')](handleError(_0x249c1c,null));};exports[_0x79ac('0x61')]=function(_0x3eaca1,_0x1b24a0){return db[_0x79ac('0x42')][_0x79ac('0x61')]()[_0x79ac('0x1f')](respondWithResult(_0x1b24a0,null))[_0x79ac('0x2a')](handleError(_0x1b24a0,null));};exports[_0x79ac('0x62')]=function(_0x5aa69a,_0x281b0e,_0x4f2073){if(_0x5aa69a[_0x79ac('0x5e')]['id']){delete _0x5aa69a[_0x79ac('0x5e')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x5aa69a[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x281b0e,null))[_0x79ac('0x1f')](function(_0x38eaaa){if(_0x38eaaa){_0x5aa69a['body'][_0x79ac('0x63')]=_0x38eaaa['id'];return db[_0x79ac('0x64')]['create'](_0x5aa69a[_0x79ac('0x5e')]);}})[_0x79ac('0x1f')](respondWithResult(_0x281b0e,null))['catch'](handleError(_0x281b0e,null));};exports['getDispositions']=function(_0xcccccd,_0x4bf63c,_0x5a65e2){var _0x3d54ef={'raw':![],'where':{}};var _0x211c1d={};var _0x2c5317={'count':0x0,'rows':[]};return db['MailAccount'][_0x79ac('0x65')]({'where':{'id':_0xcccccd[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x4bf63c,null))['then'](function(_0x584f58){if(_0x584f58){_0x211c1d['model']=_['keys'](db['Disposition'][_0x79ac('0x66')]);_0x211c1d[_0x79ac('0x47')]=_[_0x79ac('0x46')](_0xcccccd['query']);_0x211c1d[_0x79ac('0x48')]=_['intersection'](_0x211c1d[_0x79ac('0x45')],_0x211c1d[_0x79ac('0x47')]);_0x3d54ef[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x211c1d[_0x79ac('0x45')],qs[_0x79ac('0x4b')](_0xcccccd['query'][_0x79ac('0x4b')]));_0x3d54ef[_0x79ac('0x49')]=_0x3d54ef['attributes'][_0x79ac('0x5d')]?_0x3d54ef['attributes']:_0x211c1d['model'];if(!_0xcccccd[_0x79ac('0x47')]['hasOwnProperty']('nolimit')){_0x3d54ef['limit']=qs[_0x79ac('0x30')](_0xcccccd[_0x79ac('0x47')]['limit']);_0x3d54ef['offset']=qs['offset'](_0xcccccd[_0x79ac('0x47')]['offset']);}_0x3d54ef['order']=qs[_0x79ac('0x4f')](_0xcccccd[_0x79ac('0x47')][_0x79ac('0x4f')]);_0x3d54ef[_0x79ac('0x50')]=qs['filters'](_[_0x79ac('0x51')](_0xcccccd[_0x79ac('0x47')],_0x211c1d['filters']));_0x3d54ef[_0x79ac('0x50')][_0x79ac('0x63')]=_0x584f58['id'];if(_0xcccccd[_0x79ac('0x47')][_0x79ac('0x67')]){_0x3d54ef[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0x3d54ef[_0x79ac('0x50')],{'$or':_[_0x79ac('0x41')](_0x3d54ef[_0x79ac('0x49')],function(_0x38ac76){var _0x267af5={};_0x267af5[_0x38ac76]={'$like':'%'+_0xcccccd[_0x79ac('0x47')][_0x79ac('0x67')]+'%'};return _0x267af5;})});}_0x3d54ef=_[_0x79ac('0x52')]({},_0x3d54ef,_0xcccccd['options']);return db[_0x79ac('0x64')][_0x79ac('0x2e')]({'where':_0x3d54ef[_0x79ac('0x50')]})['then'](function(_0x605842){_0x2c5317[_0x79ac('0x2e')]=_0x605842;if(_0xcccccd[_0x79ac('0x47')][_0x79ac('0x56')]){_0x3d54ef[_0x79ac('0x57')]=[{'all':!![]}];}return db[_0x79ac('0x64')]['findAll'](_0x3d54ef);})[_0x79ac('0x1f')](function(_0x5dd138){_0x2c5317[_0x79ac('0x59')]=_0x5dd138;return _0x2c5317;});}})[_0x79ac('0x1f')](respondWithFilteredResult(_0x4bf63c,_0x3d54ef))[_0x79ac('0x2a')](handleError(_0x4bf63c,null));};exports[_0x79ac('0x68')]=function(_0x1fa3d1,_0x1a7ab5,_0x45466f){return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x1fa3d1[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x1a7ab5,null))[_0x79ac('0x1f')](function(_0x135fc5){if(_0x135fc5){return _0x135fc5[_0x79ac('0x68')](_0x1fa3d1[_0x79ac('0x47')][_0x79ac('0x69')]);}})['then'](respondWithStatusCode(_0x1a7ab5,null))[_0x79ac('0x2a')](handleError(_0x1a7ab5,null));};exports[_0x79ac('0x6a')]=function(_0x12fcab,_0x4e8db7,_0x2304f7){if(_0x12fcab['body']['id']){delete _0x12fcab[_0x79ac('0x5e')]['id'];}return db[_0x79ac('0x42')]['find']({'where':{'id':_0x12fcab['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x4e8db7,null))[_0x79ac('0x1f')](function(_0x26917e){if(_0x26917e){_0x12fcab[_0x79ac('0x5e')][_0x79ac('0x63')]=_0x26917e['id'];return db[_0x79ac('0x6b')][_0x79ac('0x6c')](_0x12fcab[_0x79ac('0x5e')]);}})['then'](respondWithResult(_0x4e8db7,null))[_0x79ac('0x2a')](handleError(_0x4e8db7,null));};exports[_0x79ac('0x6d')]=function(_0x46f658,_0x5e12fe,_0x19e24d){var _0xbc7e64={'raw':![],'where':{}};var _0x504e4f={};var _0x293d90={'count':0x0,'rows':[]};return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x46f658[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x5e12fe,null))['then'](function(_0x5ecfaa){if(_0x5ecfaa){_0x504e4f[_0x79ac('0x45')]=_[_0x79ac('0x46')](db['CannedAnswer'][_0x79ac('0x66')]);_0x504e4f['query']=_[_0x79ac('0x46')](_0x46f658[_0x79ac('0x47')]);_0x504e4f[_0x79ac('0x48')]=_['intersection'](_0x504e4f[_0x79ac('0x45')],_0x504e4f[_0x79ac('0x47')]);_0xbc7e64[_0x79ac('0x49')]=_['intersection'](_0x504e4f['model'],qs[_0x79ac('0x4b')](_0x46f658['query']['fields']));_0xbc7e64[_0x79ac('0x49')]=_0xbc7e64[_0x79ac('0x49')][_0x79ac('0x5d')]?_0xbc7e64[_0x79ac('0x49')]:_0x504e4f[_0x79ac('0x45')];if(!_0x46f658['query'][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0xbc7e64[_0x79ac('0x30')]=qs[_0x79ac('0x30')](_0x46f658[_0x79ac('0x47')][_0x79ac('0x30')]);_0xbc7e64[_0x79ac('0x2f')]=qs[_0x79ac('0x2f')](_0x46f658['query'][_0x79ac('0x2f')]);}_0xbc7e64[_0x79ac('0x4e')]=qs[_0x79ac('0x4f')](_0x46f658[_0x79ac('0x47')][_0x79ac('0x4f')]);_0xbc7e64['where']=qs[_0x79ac('0x48')](_['pick'](_0x46f658[_0x79ac('0x47')],_0x504e4f['filters']));_0xbc7e64[_0x79ac('0x50')][_0x79ac('0x63')]=_0x5ecfaa['id'];if(_0x46f658[_0x79ac('0x47')][_0x79ac('0x67')]){_0xbc7e64[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0xbc7e64['where'],{'$or':_[_0x79ac('0x41')](_0xbc7e64['attributes'],function(_0x7c4e60){var _0x290f3d={};_0x290f3d[_0x7c4e60]={'$like':'%'+_0x46f658[_0x79ac('0x47')][_0x79ac('0x67')]+'%'};return _0x290f3d;})});}_0xbc7e64=_['merge']({},_0xbc7e64,_0x46f658['options']);return db[_0x79ac('0x6b')][_0x79ac('0x2e')]({'where':_0xbc7e64[_0x79ac('0x50')]})[_0x79ac('0x1f')](function(_0x1ebf47){_0x293d90[_0x79ac('0x2e')]=_0x1ebf47;if(_0x46f658[_0x79ac('0x47')][_0x79ac('0x56')]){_0xbc7e64[_0x79ac('0x57')]=[{'all':!![]}];}return db[_0x79ac('0x6b')][_0x79ac('0x58')](_0xbc7e64);})[_0x79ac('0x1f')](function(_0x5134bf){_0x293d90['rows']=_0x5134bf;return _0x293d90;});}})[_0x79ac('0x1f')](respondWithFilteredResult(_0x5e12fe,_0xbc7e64))[_0x79ac('0x2a')](handleError(_0x5e12fe,null));};exports[_0x79ac('0x6e')]=function(_0x3c27be,_0x5df8bb,_0x4ba4d3){return db[_0x79ac('0x42')]['find']({'where':{'id':_0x3c27be[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x5df8bb,null))[_0x79ac('0x1f')](function(_0x404bb0){if(_0x404bb0){return _0x404bb0[_0x79ac('0x6e')](_0x3c27be[_0x79ac('0x47')][_0x79ac('0x69')]);}})[_0x79ac('0x1f')](respondWithStatusCode(_0x5df8bb,null))['catch'](handleError(_0x5df8bb,null));};exports[_0x79ac('0x6c')]=function(_0x34cc09,_0x4110c1){var _0x3753cb={'name':_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x3c')],'key':_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x44')],'email':_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x6f')],'ListId':_0x34cc09['body'][_0x79ac('0x70')],'active':!_['isNil'](_0x34cc09['body']['active'])?_0x34cc09[_0x79ac('0x5e')]['active']:!![],'description':_0x34cc09[_0x79ac('0x5e')]['description']||null,'Imap':{},'Smtp':{}};if(_[_0x79ac('0x71')](_0x34cc09['body'][_0x79ac('0x72')])){if(_0x34cc09['body']['cauthentication']){_0x3753cb['Imap'][_0x79ac('0x73')]=_0x3753cb[_0x79ac('0x3e')]['user']=_0x34cc09['body'][_0x79ac('0x74')];_0x3753cb[_0x79ac('0x5c')][_0x79ac('0x75')]=_0x3753cb['Smtp'][_0x79ac('0x76')]=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x77')];}else{_0x3753cb[_0x79ac('0x5c')][_0x79ac('0x78')]=_0x3753cb[_0x79ac('0x3e')][_0x79ac('0x78')]=![];}_0x3753cb[_0x79ac('0x5c')]['host']=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x5c')][_0x79ac('0x79')];_0x3753cb[_0x79ac('0x5c')][_0x79ac('0x7a')]=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x5c')]['port'];_0x3753cb[_0x79ac('0x3e')][_0x79ac('0x79')]=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x3e')][_0x79ac('0x79')];_0x3753cb[_0x79ac('0x3e')][_0x79ac('0x7a')]=_0x34cc09[_0x79ac('0x5e')]['Smtp']['port'];}else{_0x3753cb[_0x79ac('0x5c')][_0x79ac('0x7b')]=_0x3753cb['Smtp'][_0x79ac('0x7b')]=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x72')];_0x3753cb['Imap'][_0x79ac('0x73')]=_0x3753cb['Smtp']['user']=_0x34cc09[_0x79ac('0x5e')]['cuser'];_0x3753cb['Imap'][_0x79ac('0x75')]=_0x3753cb[_0x79ac('0x3e')]['pass']=_0x34cc09[_0x79ac('0x5e')][_0x79ac('0x77')];}return db[_0x79ac('0x42')]['create'](_0x3753cb,{'include':[{'model':db[_0x79ac('0x60')],'as':'Smtp'},{'model':db[_0x79ac('0x5b')],'as':'Imap'}]})[_0x79ac('0x1f')](function(_0x8c89e6){var _0x2132f6=_0x34cc09[_0x79ac('0x73')]['get']({'plain':!![]});if(!_0x2132f6)throw new Error(_0x79ac('0x7c'));if(_0x2132f6[_0x79ac('0x7d')]===_0x79ac('0x73')){var _0xd6d300=_0x8c89e6['get']({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0x79ac('0x37'),'userProfileId':_0x2132f6['userProfileId']},'raw':!![]})[_0x79ac('0x1f')](function(_0xdbe787){if(_0xdbe787&&_0xdbe787[_0x79ac('0x7e')]===0x0){return db[_0x79ac('0x38')]['create']({'name':_0xd6d300[_0x79ac('0x3c')],'resourceId':_0xd6d300['id'],'type':_0xdbe787[_0x79ac('0x3c')],'sectionId':_0xdbe787['id']},{})[_0x79ac('0x1f')](function(){return _0x8c89e6;});}else{return _0x8c89e6;}})[_0x79ac('0x2a')](function(_0x10d1e0){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x10d1e0);throw _0x10d1e0;});}return _0x8c89e6;})[_0x79ac('0x1f')](respondWithResult(_0x4110c1,0xc9))[_0x79ac('0x2a')](handleError(_0x4110c1,null));};exports[_0x79ac('0x7f')]=function(_0xd0a751,_0x3e5e69,_0x34fce9){return db[_0x79ac('0x42')]['findOne']({'where':{'id':_0xd0a751['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x3e5e69,null))[_0x79ac('0x1f')](function(_0x451020){if(_0x451020){return _0x451020['getImap']();}return null;})[_0x79ac('0x1f')](respondWithResult(_0x3e5e69,null))[_0x79ac('0x2a')](handleError(_0x3e5e69,null));};exports['addImap']=function(_0x25a3d0,_0x95c2c2,_0x3a2e88){if(_0x25a3d0['body']['id']){delete _0x25a3d0['body']['id'];}return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x25a3d0['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x95c2c2,null))[_0x79ac('0x1f')](function(_0x291cc2){if(_0x291cc2){_0x25a3d0['body']['MailAccountId']=_0x291cc2['id'];return db[_0x79ac('0x5b')][_0x79ac('0x6c')](_0x25a3d0[_0x79ac('0x5e')]);}})[_0x79ac('0x1f')](respondWithResult(_0x95c2c2,null))[_0x79ac('0x2a')](handleError(_0x95c2c2,null));};exports[_0x79ac('0x80')]=function(_0x2072ff,_0x3ac000,_0x2f4e86){return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x2072ff['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x3ac000,null))[_0x79ac('0x1f')](function(_0x2c29f5){if(_0x2c29f5){return _0x2c29f5[_0x79ac('0x81')](null);}return null;})[_0x79ac('0x1f')](respondWithStatusCode(_0x3ac000,null))[_0x79ac('0x2a')](handleError(_0x3ac000,null));};exports['getSmtp']=function(_0x16fc2a,_0x5a4912,_0x178943){return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x16fc2a[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x5a4912,null))[_0x79ac('0x1f')](function(_0x722b42){if(_0x722b42){return _0x722b42[_0x79ac('0x82')]();}return null;})[_0x79ac('0x1f')](respondWithResult(_0x5a4912,null))[_0x79ac('0x2a')](handleError(_0x5a4912,null));};exports[_0x79ac('0x83')]=function(_0x79c5dc,_0x19b9a3,_0x4d13e6){if(_0x79c5dc[_0x79ac('0x5e')]['id']){delete _0x79c5dc[_0x79ac('0x5e')]['id'];}return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x79c5dc['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x19b9a3,null))[_0x79ac('0x1f')](function(_0x5633db){if(_0x5633db){_0x79c5dc[_0x79ac('0x5e')]['MailAccountId']=_0x5633db['id'];return db[_0x79ac('0x60')]['create'](_0x79c5dc['body']);}})['then'](respondWithResult(_0x19b9a3,null))[_0x79ac('0x2a')](handleError(_0x19b9a3,null));};exports[_0x79ac('0x84')]=function(_0xcf950,_0x1e1e4f,_0x4bd555){return db['MailAccount'][_0x79ac('0x65')]({'where':{'id':_0xcf950[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x1e1e4f,null))['then'](function(_0x2d2f89){if(_0x2d2f89){return _0x2d2f89[_0x79ac('0x85')](null);}return null;})[_0x79ac('0x1f')](respondWithStatusCode(_0x1e1e4f,null))[_0x79ac('0x2a')](handleError(_0x1e1e4f,null));};exports[_0x79ac('0x86')]=function(_0x4fa005,_0x4d2800,_0x2cdb7a){return db['MailInteraction'][_0x79ac('0x5f')]({'where':{'id':_0x4fa005[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x4d2800,null))[_0x79ac('0x1f')](function(_0x57fd89){if(_0x57fd89){return _0x57fd89[_0x79ac('0x86')](_0x4fa005[_0x79ac('0x5e')][_0x79ac('0x69')],_[_0x79ac('0x87')](_0x4fa005['body'],[_0x79ac('0x69'),'id'])||{});}})['then'](respondWithResult(_0x4d2800,null))[_0x79ac('0x2a')](handleError(_0x4d2800,null));};exports['getInteractions']=function(_0x22aff9,_0xafe04e,_0x33f786){var _0x287f3f={'raw':![],'where':{}};var _0x5495d3={};var _0x50c37d={'count':0x0,'rows':[]};return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x22aff9['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0xafe04e,null))[_0x79ac('0x1f')](function(_0x3446e3){if(_0x3446e3){_0x5495d3['model']=_[_0x79ac('0x46')](db[_0x79ac('0x88')][_0x79ac('0x66')]);_0x5495d3[_0x79ac('0x47')]=_[_0x79ac('0x46')](_0x22aff9[_0x79ac('0x47')]);_0x5495d3[_0x79ac('0x48')]=_[_0x79ac('0x4a')](_0x5495d3[_0x79ac('0x45')],_0x5495d3[_0x79ac('0x47')]);_0x287f3f[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x5495d3[_0x79ac('0x45')],qs[_0x79ac('0x4b')](_0x22aff9[_0x79ac('0x47')]['fields']));_0x287f3f[_0x79ac('0x49')]=_0x287f3f[_0x79ac('0x49')][_0x79ac('0x5d')]?_0x287f3f[_0x79ac('0x49')]:_0x5495d3[_0x79ac('0x45')];if(!_0x22aff9['query'][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0x287f3f[_0x79ac('0x30')]=qs[_0x79ac('0x30')](_0x22aff9['query']['limit']);_0x287f3f[_0x79ac('0x2f')]=qs[_0x79ac('0x2f')](_0x22aff9['query'][_0x79ac('0x2f')]);}_0x287f3f[_0x79ac('0x4e')]=qs[_0x79ac('0x4f')](_0x22aff9[_0x79ac('0x47')][_0x79ac('0x4f')]);_0x287f3f[_0x79ac('0x50')]=qs[_0x79ac('0x48')](_['pick'](_0x22aff9['query'],_0x5495d3[_0x79ac('0x48')]));_0x287f3f[_0x79ac('0x50')]['MailAccountId']=_0x3446e3['id'];if(_0x22aff9['query'][_0x79ac('0x67')]){_0x287f3f[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0x287f3f[_0x79ac('0x50')],{'$or':_[_0x79ac('0x41')](_0x287f3f[_0x79ac('0x49')],function(_0x88fb1){var _0x473a88={};_0x473a88[_0x88fb1]={'$like':'%'+_0x22aff9[_0x79ac('0x47')][_0x79ac('0x67')]+'%'};return _0x473a88;})});}_0x287f3f=_[_0x79ac('0x52')]({},_0x287f3f,_0x22aff9['options']);return db[_0x79ac('0x88')][_0x79ac('0x2e')]({'where':_0x287f3f[_0x79ac('0x50')]})[_0x79ac('0x1f')](function(_0x2dc114){_0x50c37d['count']=_0x2dc114;if(_0x22aff9['query']['includeAll']){_0x287f3f[_0x79ac('0x57')]=[{'model':db[_0x79ac('0x89')],'as':_0x79ac('0x8a'),'required':![]},{'model':db[_0x79ac('0x8b')],'as':_0x79ac('0x8c'),'attributes':[_0x79ac('0x3c'),'fullname',_0x79ac('0x8d')],'required':![]},{'model':db[_0x79ac('0x8e')],'as':_0x79ac('0x8f'),'attributes':['id',_0x79ac('0x3c'),_0x79ac('0x90')],'where':_0x22aff9[_0x79ac('0x47')][_0x79ac('0x91')]?{'id':_0x22aff9[_0x79ac('0x47')][_0x79ac('0x91')]}:undefined,'required':_0x22aff9[_0x79ac('0x47')][_0x79ac('0x91')]?!![]:![]}];}return db[_0x79ac('0x88')][_0x79ac('0x58')](_0x287f3f);})[_0x79ac('0x1f')](function(_0x6e5fb9){_0x50c37d[_0x79ac('0x59')]=_0x6e5fb9;return _0x50c37d;});}})[_0x79ac('0x1f')](respondWithFilteredResult(_0xafe04e,_0x287f3f))[_0x79ac('0x2a')](handleError(_0xafe04e,null));};exports[_0x79ac('0x92')]=function(_0x2bb11e,_0x412860,_0x3b160b){return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x2bb11e[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x412860,null))[_0x79ac('0x1f')](function(_0x33cb29){if(_0x33cb29){return db[_0x79ac('0x93')][_0x79ac('0x94')](function(_0x4b9e8b){return db[_0x79ac('0x95')][_0x79ac('0x39')]({'where':{'MailAccountId':_0x2bb11e[_0x79ac('0x5a')]['id']},'transaction':_0x4b9e8b})['then'](function(_0x3e2e31){var _0x2e70c9=_[_0x79ac('0x41')](_0x2bb11e['body'],function(_0x122044){_0x122044[_0x79ac('0x63')]=_0x2bb11e[_0x79ac('0x5a')]['id'];return _0x122044;});return db[_0x79ac('0x95')][_0x79ac('0x96')](_0x2e70c9,{'transaction':_0x4b9e8b});});})[_0x79ac('0x1f')](function(){return db[_0x79ac('0x95')]['findAndCountAll']({'where':{'MailAccountId':_0x2bb11e['params']['id']},'order':_0x79ac('0x97')});});}})[_0x79ac('0x1f')](respondWithResult(_0x412860,null))['catch'](handleError(_0x412860,null));};exports[_0x79ac('0x98')]=function(_0x27aaeb,_0x2ab6bb,_0x55d099){var _0x45ed0c={};var _0x28aae5={};var _0x2f4c41;var _0x20ce81;return db[_0x79ac('0x42')][_0x79ac('0x65')]({'where':{'id':_0x27aaeb['params']['id']}})['then'](handleEntityNotFound(_0x2ab6bb,null))['then'](function(_0x1d2033){if(_0x1d2033){_0x2f4c41=_0x1d2033;_0x28aae5[_0x79ac('0x45')]=_[_0x79ac('0x46')](db[_0x79ac('0x95')][_0x79ac('0x66')]);_0x28aae5[_0x79ac('0x47')]=_[_0x79ac('0x46')](_0x27aaeb['query']);_0x28aae5[_0x79ac('0x48')]=_[_0x79ac('0x4a')](_0x28aae5[_0x79ac('0x45')],_0x28aae5[_0x79ac('0x47')]);_0x45ed0c[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x28aae5[_0x79ac('0x45')],qs['fields'](_0x27aaeb['query'][_0x79ac('0x4b')]));_0x45ed0c[_0x79ac('0x49')]=_0x45ed0c['attributes']['length']?_0x45ed0c[_0x79ac('0x49')]:_0x28aae5[_0x79ac('0x45')];_0x45ed0c[_0x79ac('0x4e')]=qs['sort'](_0x27aaeb[_0x79ac('0x47')]['sort']);_0x45ed0c[_0x79ac('0x50')]=qs[_0x79ac('0x48')](_[_0x79ac('0x51')](_0x27aaeb[_0x79ac('0x47')],_0x28aae5[_0x79ac('0x48')]));if(_0x27aaeb['query'][_0x79ac('0x67')]){_0x45ed0c[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0x45ed0c[_0x79ac('0x50')],{'$or':_[_0x79ac('0x41')](_0x45ed0c[_0x79ac('0x49')],function(_0x2210bd){var _0x34b90d={};_0x34b90d[_0x2210bd]={'$like':'%'+_0x27aaeb[_0x79ac('0x47')]['filter']+'%'};return _0x34b90d;})});}_0x45ed0c=_[_0x79ac('0x52')]({},_0x45ed0c,_0x27aaeb['options']);return _0x2f4c41[_0x79ac('0x98')](_0x45ed0c);}})[_0x79ac('0x1f')](function(_0x59f1e9){if(_0x59f1e9){_0x20ce81=_0x59f1e9[_0x79ac('0x5d')];if(!_0x27aaeb['query'][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0x45ed0c[_0x79ac('0x30')]=qs[_0x79ac('0x30')](_0x27aaeb[_0x79ac('0x47')]['limit']);_0x45ed0c[_0x79ac('0x2f')]=qs['offset'](_0x27aaeb[_0x79ac('0x47')][_0x79ac('0x2f')]);}return _0x2f4c41['getApplications'](_0x45ed0c);}})[_0x79ac('0x1f')](function(_0x1476e2){if(_0x1476e2){return _0x1476e2?{'count':_0x20ce81,'rows':_0x1476e2}:null;}})[_0x79ac('0x1f')](respondWithResult(_0x2ab6bb,null))[_0x79ac('0x2a')](handleError(_0x2ab6bb,null));};exports[_0x79ac('0x99')]=function(_0x236e56,_0x2e4a5e,_0x5851ef){var _0x470481={'raw':!![],'where':{}};var _0x52c4ac={};var _0x1339c6={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x236e56[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x2e4a5e,null))['then'](function(_0x59b0eb){if(_0x59b0eb){_0x52c4ac['model']=_[_0x79ac('0x46')](db['MailMessage']['rawAttributes']);_0x52c4ac['query']=_[_0x79ac('0x46')](_0x236e56[_0x79ac('0x47')]);_0x52c4ac[_0x79ac('0x48')]=_[_0x79ac('0x4a')](_0x52c4ac[_0x79ac('0x45')],_0x52c4ac[_0x79ac('0x47')]);_0x470481['attributes']=_['intersection'](_0x52c4ac[_0x79ac('0x45')],qs['fields'](_0x236e56['query'][_0x79ac('0x4b')]));_0x470481[_0x79ac('0x49')]=_0x470481[_0x79ac('0x49')][_0x79ac('0x5d')]?_0x470481[_0x79ac('0x49')]:_0x52c4ac['model'];if(!_0x236e56[_0x79ac('0x47')][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0x470481[_0x79ac('0x30')]=qs[_0x79ac('0x30')](_0x236e56['query'][_0x79ac('0x30')]);_0x470481[_0x79ac('0x2f')]=qs['offset'](_0x236e56['query'][_0x79ac('0x2f')]);}_0x470481[_0x79ac('0x4e')]=qs['sort'](_0x236e56[_0x79ac('0x47')][_0x79ac('0x4f')]);_0x470481['where']=qs[_0x79ac('0x48')](_[_0x79ac('0x51')](_0x236e56[_0x79ac('0x47')],_0x52c4ac['filters']));_0x470481[_0x79ac('0x50')][_0x79ac('0x63')]=_0x59b0eb['id'];if(_0x236e56[_0x79ac('0x47')][_0x79ac('0x67')]){_0x470481[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0x470481[_0x79ac('0x50')],{'$or':_['map'](_0x470481[_0x79ac('0x49')],function(_0x1f16b9){var _0x356736={};_0x356736[_0x1f16b9]={'$like':'%'+_0x236e56[_0x79ac('0x47')][_0x79ac('0x67')]+'%'};return _0x356736;})});}if(_0x236e56[_0x79ac('0x47')][_0x79ac('0x9a')]){var _0x37ce73=_0x236e56[_0x79ac('0x47')][_0x79ac('0x9a')]['split'](',');var _0x327438={};_0x327438[_0x37ce73[0x0]]={'$gte':moment(_0x37ce73[0x1])[_0x79ac('0x9b')](_0x79ac('0x9c'))};_0x470481['where']=_['merge'](_0x470481['where'],_0x327438);}_0x470481=_['merge']({},_0x470481,_0x236e56[_0x79ac('0x55')]);return db['MailMessage'][_0x79ac('0x2e')]({'where':_0x470481[_0x79ac('0x50')]})[_0x79ac('0x1f')](function(_0x435c41){_0x1339c6[_0x79ac('0x2e')]=_0x435c41;if(_0x236e56[_0x79ac('0x47')][_0x79ac('0x56')]){_0x470481[_0x79ac('0x57')]=[{'all':!![]}];}return db[_0x79ac('0x9d')][_0x79ac('0x58')](_0x470481);})[_0x79ac('0x1f')](function(_0x34d1fb){_0x1339c6[_0x79ac('0x59')]=_0x34d1fb;return _0x1339c6;});}})[_0x79ac('0x1f')](respondWithFilteredResult(_0x2e4a5e,_0x470481))[_0x79ac('0x2a')](handleError(_0x2e4a5e,null));};exports[_0x79ac('0x9e')]=function(_0xf41fc0,_0x21ceda,_0xeff3e8){var _0x4905a3,_0x56fcec={},_0x3b438a;if(_0xf41fc0[_0x79ac('0x5e')]['to']){_0x3b438a=_0xf41fc0[_0x79ac('0x5e')]['to'][_0x79ac('0x9f')](',')[0x0];}return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0xf41fc0[_0x79ac('0x5a')]['id']},'include':[{'model':db['CmList'],'as':_0x79ac('0xa0'),'include':[{'model':db[_0x79ac('0x89')],'as':'Contacts','where':{'email':_0x3b438a},'limit':0x1,'order':[[_0x79ac('0xa1'),'DESC']]}]},{'model':db['MailServerOut'],'as':_0x79ac('0x3e'),'raw':!![]}]})[_0x79ac('0x1f')](handleEntityNotFound(_0x21ceda,null))['then'](function(_0x25e829){if(_0x25e829){_0x4905a3=_0x25e829;if(_0x25e829[_0x79ac('0x3e')]){if(_[_0x79ac('0x71')](_0xf41fc0['body'][_0x79ac('0xa2')])){_0xf41fc0['body'][_0x79ac('0xa2')]=util[_0x79ac('0x9b')](_0x79ac('0xa3'),_0x25e829[_0x79ac('0x3c')],_0x25e829[_0x79ac('0x6f')]||_0x25e829[_0x79ac('0x3e')][_0x79ac('0x73')]);}if(_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xa4')]&&_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xa4')]['length']){for(var _0x35aa9c=0x0;_0x35aa9c<_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xa4')][_0x79ac('0x5d')];_0x35aa9c+=0x1){_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xa4')][_0x35aa9c]={'filename':_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xa4')][_0x35aa9c]['name'],'path':path[_0x79ac('0xa5')](config[_0x79ac('0xa6')],_0x79ac('0xa7'),_0xf41fc0['body']['attachments'][_0x35aa9c][_0x79ac('0xa8')])};}}var _0x580a8f={'tls':{'rejectUnauthorized':![]}};if(_[_0x79ac('0x71')](_0x25e829[_0x79ac('0x3e')][_0x79ac('0x7b')])){if(_0x25e829[_0x79ac('0x3e')][_0x79ac('0x78')]){_0x580a8f[_0x79ac('0xa9')]={'user':_0x25e829['Smtp'][_0x79ac('0x73')],'pass':_0x25e829[_0x79ac('0x3e')][_0x79ac('0x76')]};}_0x580a8f[_0x79ac('0x79')]=_0x25e829[_0x79ac('0x3e')][_0x79ac('0x79')];_0x580a8f[_0x79ac('0x7a')]=_0x25e829[_0x79ac('0x3e')]['port'];_0x580a8f['secure']=_0x25e829[_0x79ac('0x3e')]['secure'];}else{_0x580a8f[_0x79ac('0x7b')]=_0x25e829['Smtp'][_0x79ac('0x7b')];_0x580a8f[_0x79ac('0xa9')]={'user':_0x25e829['Smtp'][_0x79ac('0x73')],'pass':_0x25e829['Smtp'][_0x79ac('0x76')]};}return respondWithRpcPromise('SendMail',_0x79ac('0xaa'),{'account':_0x580a8f,'message':_0xf41fc0[_0x79ac('0x5e')]});}else{throw new Error(_0x79ac('0xab'));}}})[_0x79ac('0x1f')](function(_0xdc8f7b){if(_0xdc8f7b){_0x56fcec=_0xdc8f7b;if(_0x4905a3['List']){if(_0x4905a3['List'][_0x79ac('0xac')][_0x79ac('0x5d')]){return _0x4905a3['List'][_0x79ac('0xac')][0x0];}else{return db['CmContact'][_0x79ac('0x6c')](_[_0x79ac('0x19')](_0xf41fc0[_0x79ac('0x5e')],{'firstName':_0xf41fc0[_0x79ac('0x5e')]['to'],'email':_0xf41fc0[_0x79ac('0x5e')]['to'],'phone':_0xf41fc0[_0x79ac('0x5e')]['to'],'ListId':_0x4905a3[_0x79ac('0x70')]}));}}else{throw new Error(_0x79ac('0xab'));}}})[_0x79ac('0x1f')](function(_0x3ca11d){if(_0x3ca11d){var _0x368b24={'UserId':_0xf41fc0['user']['id'],'ContactId':_0x3ca11d['id'],'MailAccountId':_0x4905a3['id'],'inReplyTo':_0x56fcec['messageId'],'to':_0xf41fc0[_0x79ac('0x5e')]['from'],'cc':_0xf41fc0['body']['cc'],'subject':_0xf41fc0[_0x79ac('0x5e')]['subject'],'attach':_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xad')],'firstMsgDirection':_0x79ac('0xae'),'lastMsgAt':moment()[_0x79ac('0x9b')](_0x79ac('0x9c')),'lastMsgDirection':_0x79ac('0xae'),'lastMsgBody':_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0x5e')],'Messages':[_[_0x79ac('0x52')](_0xf41fc0[_0x79ac('0x5e')],{'messageId':_0x56fcec[_0x79ac('0xaf')],'sentAt':moment()['format'](_0x79ac('0x9c')),'read':!![],'MailAccountId':_0x4905a3['id'],'UserId':_0xf41fc0['user']['id'],'ContactId':_0x3ca11d['id']})]};if(_0xf41fc0['body'][_0x79ac('0xb0')]){_0x368b24=_['merge'](_0x368b24,_0xf41fc0[_0x79ac('0x5e')][_0x79ac('0xb0')]);}return db[_0x79ac('0x88')][_0x79ac('0x6c')](_0x368b24,{'include':[{'model':db['MailMessage'],'as':_0x79ac('0xb1')}]});}})[_0x79ac('0x1f')](respondWithResult(_0x21ceda,null))[_0x79ac('0x2a')](handleError(_0x21ceda,null));};exports['verifySmtp']=function(_0xf6144a,_0x27b8a5,_0x15f7f1){return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0xf6144a[_0x79ac('0x5a')]['id']},'include':[{'model':db[_0x79ac('0x60')],'as':_0x79ac('0x3e'),'raw':!![]}]})[_0x79ac('0x1f')](handleEntityNotFound(_0x27b8a5,null))[_0x79ac('0x1f')](function(_0x3d9328){if(_0x3d9328&&_0x3d9328[_0x79ac('0x3e')]){var _0x5846d8={'id':_0x3d9328['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3d9328[_0x79ac('0x3e')][_0x79ac('0x7b')]){_0x5846d8[_0x79ac('0x7b')]=_0x3d9328['Smtp']['service'];}else{_0x5846d8[_0x79ac('0x79')]=_0x3d9328[_0x79ac('0x3e')][_0x79ac('0x79')];_0x5846d8[_0x79ac('0x7a')]=_0x3d9328[_0x79ac('0x3e')][_0x79ac('0x7a')];_0x5846d8[_0x79ac('0xb2')]=_0x3d9328[_0x79ac('0x3e')][_0x79ac('0xb2')];}if(_0x3d9328[_0x79ac('0x3e')][_0x79ac('0x78')]){_0x5846d8['auth']={'user':_0x3d9328['Smtp'][_0x79ac('0x73')],'pass':_0x3d9328[_0x79ac('0x3e')][_0x79ac('0x76')]};}return respondWithRpcPromise(_0x79ac('0xb3'),_0x79ac('0xb4'),{'account':_0x5846d8});}})[_0x79ac('0x1f')](respondWithResult(_0x27b8a5,null))['catch'](handleError(_0x27b8a5,null));};exports[_0x79ac('0x39')]=function(_0x1c612a,_0x37eba3){return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x1c612a[_0x79ac('0x5a')]['id']}})['then'](handleEntityNotFound(_0x37eba3,null))[_0x79ac('0x1f')](function(_0x49eb9f){if(_0x49eb9f&&_0x49eb9f[_0x79ac('0x7b')]){throw new db[(_0x79ac('0xb5'))]['ValidationError']('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x49eb9f;})[_0x79ac('0x1f')](removeEntity(_0x37eba3,null))[_0x79ac('0x2a')](handleError(_0x37eba3,null));};exports['addAgents']=function(_0x1ef6d1,_0x4ec33a,_0x1715f7){return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x1ef6d1[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x4ec33a,null))[_0x79ac('0x1f')](function(_0x3bb18c){if(_0x3bb18c){return _0x3bb18c[_0x79ac('0xb6')](_0x1ef6d1['body'][_0x79ac('0x69')],_[_0x79ac('0x87')](_0x1ef6d1['body'],[_0x79ac('0x69'),'id'])||{})[_0x79ac('0xb7')](function(_0x4f835b){for(var _0x1fe7c2=0x0;_0x1fe7c2<_0x1ef6d1[_0x79ac('0x5e')]['ids'][_0x79ac('0x5d')];_0x1fe7c2+=0x1){socket['emit'](_0x79ac('0xb8'),{'UserId':_0x1ef6d1[_0x79ac('0x5e')]['ids'][_0x1fe7c2],'MailAccountId':_0x1ef6d1['params']['id']});}return _0x4f835b;});}})[_0x79ac('0x1f')](respondWithResult(_0x4ec33a,null))[_0x79ac('0x2a')](handleError(_0x4ec33a,null));};exports[_0x79ac('0xb9')]=function(_0x288079,_0x51c98c,_0x481828){return db[_0x79ac('0x42')][_0x79ac('0x5f')]({'where':{'id':_0x288079['params']['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x51c98c,null))[_0x79ac('0x1f')](function(_0x215c62){if(_0x215c62){return _0x215c62['removeAgents'](_0x288079[_0x79ac('0x47')]['ids'])['then'](function(){if(_[_0x79ac('0xba')](_0x288079[_0x79ac('0x47')][_0x79ac('0x69')])){for(var _0x1ffa66=0x0;_0x1ffa66<_0x288079[_0x79ac('0x47')][_0x79ac('0x69')][_0x79ac('0x5d')];_0x1ffa66+=0x1){socket[_0x79ac('0xbb')]('userMailAccount:remove',{'UserId':Number(_0x288079[_0x79ac('0x47')][_0x79ac('0x69')][_0x1ffa66]),'MailAccountId':Number(_0x288079['params']['id'])});}}else{socket[_0x79ac('0xbb')](_0x79ac('0xbc'),{'UserId':Number(_0x288079[_0x79ac('0x47')][_0x79ac('0x69')]),'MailAccountId':Number(_0x288079[_0x79ac('0x5a')]['id'])});}});}})[_0x79ac('0x1f')](respondWithStatusCode(_0x51c98c,null))[_0x79ac('0x2a')](handleError(_0x51c98c,null));};exports['getAgents']=function(_0x252f44,_0x11068a,_0x57445a){var _0xcfbf6={};var _0x52852c={};var _0x2d6bef;var _0x15e10f;return db[_0x79ac('0x42')]['findOne']({'where':{'id':_0x252f44[_0x79ac('0x5a')]['id']}})[_0x79ac('0x1f')](handleEntityNotFound(_0x11068a,null))['then'](function(_0x3742f9){if(_0x3742f9){_0x2d6bef=_0x3742f9;_0x52852c[_0x79ac('0x45')]=_[_0x79ac('0x46')](db[_0x79ac('0x8b')]['rawAttributes']);_0x52852c[_0x79ac('0x47')]=_['keys'](_0x252f44[_0x79ac('0x47')]);_0x52852c[_0x79ac('0x48')]=_[_0x79ac('0x4a')](_0x52852c[_0x79ac('0x45')],_0x52852c[_0x79ac('0x47')]);_0xcfbf6[_0x79ac('0x49')]=_[_0x79ac('0x4a')](_0x52852c[_0x79ac('0x45')],qs[_0x79ac('0x4b')](_0x252f44[_0x79ac('0x47')]['fields']));_0xcfbf6[_0x79ac('0x49')]=_0xcfbf6[_0x79ac('0x49')][_0x79ac('0x5d')]?_0xcfbf6['attributes']:_0x52852c['model'];_0xcfbf6[_0x79ac('0x4e')]=qs[_0x79ac('0x4f')](_0x252f44[_0x79ac('0x47')][_0x79ac('0x4f')]);_0xcfbf6[_0x79ac('0x50')]=qs[_0x79ac('0x48')](_[_0x79ac('0x51')](_0x252f44[_0x79ac('0x47')],_0x52852c['filters']));if(_0x252f44[_0x79ac('0x47')]['filter']){_0xcfbf6[_0x79ac('0x50')]=_[_0x79ac('0x52')](_0xcfbf6[_0x79ac('0x50')],{'$or':_[_0x79ac('0x41')](_0xcfbf6[_0x79ac('0x49')],function(_0x4f1288){var _0x5649d4={};_0x5649d4[_0x4f1288]={'$like':'%'+_0x252f44[_0x79ac('0x47')][_0x79ac('0x67')]+'%'};return _0x5649d4;})});}_0xcfbf6=_[_0x79ac('0x52')]({},_0xcfbf6,_0x252f44[_0x79ac('0x55')]);return _0x2d6bef[_0x79ac('0xbd')](_0xcfbf6);}})[_0x79ac('0x1f')](function(_0x3a6b08){if(_0x3a6b08){_0x15e10f=_0x3a6b08[_0x79ac('0x5d')];if(!_0x252f44[_0x79ac('0x47')][_0x79ac('0x4c')](_0x79ac('0x4d'))){_0xcfbf6['limit']=qs[_0x79ac('0x30')](_0x252f44[_0x79ac('0x47')][_0x79ac('0x30')]);_0xcfbf6['offset']=qs[_0x79ac('0x2f')](_0x252f44[_0x79ac('0x47')][_0x79ac('0x2f')]);}return _0x2d6bef[_0x79ac('0xbd')](_0xcfbf6);}})[_0x79ac('0x1f')](function(_0x42b6f2){if(_0x42b6f2){return _0x42b6f2?{'count':_0x15e10f,'rows':_0x42b6f2}:null;}})['then'](respondWithResult(_0x11068a,null))[_0x79ac('0x2a')](handleError(_0x11068a,null));};