Built motion from commit (unavailable).|2.5.11
[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 _0x579e=['result','catch','sendStatus','status','end','json','count','limit','set','Content-Range','reject','save','update','destroy','then','MailAccounts','UserProfileResource','stack','name','send','MailServerIn','Imap','MailServerOut','Smtp','Pause','map','MailAccount','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','offset','order','where','pick','filter','merge','options','includeAll','include','findAll','rows','show','mandatoryDispositionPause','keys','length','find','body','params','describe','addDisposition','MailAccountId','Disposition','create','findOne','nolimit','sort','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','authentication','host','port','service','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','MailApplication','bulkCreate','findAndCountAll','getApplications','getMessages','MailMessage','$gte','split','format','CmList','List','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message'];(function(_0x29931d,_0x466d60){var _0x13e7d7=function(_0x2d2fa6){while(--_0x2d2fa6){_0x29931d['push'](_0x29931d['shift']());}};_0x13e7d7(++_0x466d60);}(_0x579e,0x16b));var _0xe579=function(_0x27332d,_0xb59aef){_0x27332d=_0x27332d-0x0;var _0x48e659=_0x579e[_0x27332d];return _0x48e659;};'use strict';var pdf=require(_0xe579('0x0'));var emlformat=require(_0xe579('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe579('0x2'));var jsonpatch=require(_0xe579('0x3'));var rp=require(_0xe579('0x4'));var moment=require(_0xe579('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe579('0x6'));var path=require(_0xe579('0x7'));var sox=require(_0xe579('0x8'));var csv=require('to-csv');var ejs=require(_0xe579('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe579('0xa'));var crypto=require(_0xe579('0xb'));var jsforce=require(_0xe579('0xc'));var deskjs=require(_0xe579('0xd'));var toCsv=require(_0xe579('0xe'));var querystring=require(_0xe579('0xf'));var Papa=require(_0xe579('0x10'));var Redis=require('ioredis');var authService=require(_0xe579('0x11'));var qs=require(_0xe579('0x12'));var as=require(_0xe579('0x13'));var hardwareService=require(_0xe579('0x14'));var logger=require(_0xe579('0x15'))('api');var utils=require(_0xe579('0x16'));var config=require(_0xe579('0x17'));var licenseUtil=require(_0xe579('0x18'));var db=require(_0xe579('0x19'))['db'];config[_0xe579('0x1a')]=_[_0xe579('0x1b')](config[_0xe579('0x1a')],{'host':_0xe579('0x1c'),'port':0x18eb});var socket=require(_0xe579('0x1d'))(new Redis(config['redis']));require(_0xe579('0x1e'))[_0xe579('0x1f')](socket);var jayson=require(_0xe579('0x20'));var client=jayson[_0xe579('0x21')][_0xe579('0x22')]({'port':0x232b});function respondWithRpcPromise(_0x31e509,_0x5897d4,_0x350911,_0x55f029){return new BPromise(function(_0x5951b5,_0x48bd8d){var _0x3e11aa=_0x55f029||client;return _0x3e11aa[_0xe579('0x23')](_0x31e509,_0x350911)['then'](function(_0x18a5c3){logger[_0xe579('0x24')](_0xe579('0x25'),_0x5897d4,_0xe579('0x26'));logger[_0xe579('0x27')](_0xe579('0x28'),_0x5897d4,_0xe579('0x26'),JSON[_0xe579('0x29')](_0x18a5c3));if(_0x18a5c3[_0xe579('0x2a')]){if(_0x18a5c3[_0xe579('0x2a')][_0xe579('0x2b')]===0x1f4){logger[_0xe579('0x2a')](_0xe579('0x25'),_0x5897d4,_0x18a5c3[_0xe579('0x2a')][_0xe579('0x2c')]);return _0x48bd8d(_0x18a5c3[_0xe579('0x2a')][_0xe579('0x2c')]);}logger['error'](_0xe579('0x25'),_0x5897d4,_0x18a5c3[_0xe579('0x2a')][_0xe579('0x2c')]);return _0x5951b5(_0x18a5c3['error'][_0xe579('0x2c')]);}else{logger[_0xe579('0x24')](_0xe579('0x25'),_0x5897d4,_0xe579('0x26'));_0x5951b5(_0x18a5c3[_0xe579('0x2d')][_0xe579('0x2c')]);}})[_0xe579('0x2e')](function(_0xd79f21){logger[_0xe579('0x2a')](_0xe579('0x25'),_0x5897d4,_0xd79f21);_0x48bd8d(_0xd79f21);});});}function respondWithStatusCode(_0x5d897a,_0x560b34){_0x560b34=_0x560b34||0xcc;return function(_0x1892d4){if(_0x1892d4){return _0x5d897a[_0xe579('0x2f')](_0x560b34);}return _0x5d897a[_0xe579('0x30')](_0x560b34)[_0xe579('0x31')]();};}function respondWithResult(_0x124de6,_0x40d236){_0x40d236=_0x40d236||0xc8;return function(_0x583852){if(_0x583852){return _0x124de6[_0xe579('0x30')](_0x40d236)[_0xe579('0x32')](_0x583852);}};}function respondWithFilteredResult(_0x113fe6,_0x1ef86e){return function(_0x2c9c49){if(_0x2c9c49){var _0x4ac7c8=_0x2c9c49[_0xe579('0x33')],_0x3c3dd5=_0x1ef86e['offset'],_0x20721b=_0x1ef86e['offset']+_0x1ef86e[_0xe579('0x34')],_0x2d7211;if(_0x20721b>=_0x4ac7c8){_0x20721b=_0x4ac7c8;_0x2d7211=0xc8;}else{_0x2d7211=0xce;}_0x113fe6[_0xe579('0x30')](_0x2d7211);return _0x113fe6[_0xe579('0x35')](_0xe579('0x36'),_0x3c3dd5+'-'+_0x20721b+'/'+_0x4ac7c8)['json'](_0x2c9c49);}return null;};}function patchUpdates(_0x2414fb){return function(_0x5c697e){try{jsonpatch['apply'](_0x5c697e,_0x2414fb,!![]);}catch(_0x192992){return BPromise[_0xe579('0x37')](_0x192992);}return _0x5c697e[_0xe579('0x38')]();};}function saveUpdates(_0x18221f,_0x4beb75){return function(_0x4d9e57){if(_0x4d9e57){return _0x4d9e57[_0xe579('0x39')](_0x18221f)['then'](function(_0x4fe725){return _0x4fe725;});}return null;};}function removeEntity(_0x22eaea,_0x5cb6bf){return function(_0x347344){if(_0x347344){return _0x347344[_0xe579('0x3a')]()[_0xe579('0x3b')](function(){var _0x2663c9=_0x347344['get']({'plain':!![]});var _0x366a67=_0xe579('0x3c');return db[_0xe579('0x3d')][_0xe579('0x3a')]({'where':{'type':_0x366a67,'resourceId':_0x2663c9['id']}})[_0xe579('0x3b')](function(){return _0x347344;});})['then'](function(){_0x22eaea[_0xe579('0x30')](0xcc)[_0xe579('0x31')]();});}};}function handleEntityNotFound(_0x5b0890,_0x4b60d5){return function(_0x2ec0d7){if(!_0x2ec0d7){_0x5b0890[_0xe579('0x2f')](0x194);}return _0x2ec0d7;};}function handleError(_0x9108bc,_0x427bb1){_0x427bb1=_0x427bb1||0x1f4;return function(_0x501f31){logger[_0xe579('0x2a')](_0x501f31[_0xe579('0x3e')]);if(_0x501f31['name']){delete _0x501f31[_0xe579('0x3f')];}_0x9108bc[_0xe579('0x30')](_0x427bb1)[_0xe579('0x40')](_0x501f31);};}exports['index']=function(_0x45ece2,_0x3db2fb){var _0x3fcc9c={'include':[{'model':db[_0xe579('0x41')],'as':_0xe579('0x42')},{'model':db[_0xe579('0x43')],'as':_0xe579('0x44')},{'model':db[_0xe579('0x45')],'as':'mandatoryDispositionPause'}]},_0xed658a={},_0x7d4dd3={'count':0x0,'rows':[]};var _0x8f8efd=_[_0xe579('0x46')](db[_0xe579('0x47')][_0xe579('0x48')],function(_0x3291e8){return{'name':_0x3291e8[_0xe579('0x49')],'type':_0x3291e8[_0xe579('0x4a')][_0xe579('0x4b')]};});_0xed658a[_0xe579('0x4c')]=_[_0xe579('0x46')](_0x8f8efd,_0xe579('0x3f'));_0xed658a[_0xe579('0x4d')]=_['keys'](_0x45ece2[_0xe579('0x4d')]);_0xed658a[_0xe579('0x4e')]=_[_0xe579('0x4f')](_0xed658a[_0xe579('0x4c')],_0xed658a[_0xe579('0x4d')]);_0x3fcc9c[_0xe579('0x50')]=_[_0xe579('0x4f')](_0xed658a['model'],qs[_0xe579('0x51')](_0x45ece2['query'][_0xe579('0x51')]));_0x3fcc9c[_0xe579('0x50')]=_0x3fcc9c[_0xe579('0x50')]['length']?_0x3fcc9c[_0xe579('0x50')]:_0xed658a[_0xe579('0x4c')];if(!_0x45ece2[_0xe579('0x4d')][_0xe579('0x52')]('nolimit')){_0x3fcc9c[_0xe579('0x34')]=qs[_0xe579('0x34')](_0x45ece2[_0xe579('0x4d')]['limit']);_0x3fcc9c['offset']=qs[_0xe579('0x53')](_0x45ece2[_0xe579('0x4d')][_0xe579('0x53')]);}_0x3fcc9c[_0xe579('0x54')]=qs['sort'](_0x45ece2[_0xe579('0x4d')]['sort']);_0x3fcc9c[_0xe579('0x55')]=qs[_0xe579('0x4e')](_[_0xe579('0x56')](_0x45ece2['query'],_0xed658a[_0xe579('0x4e')]),_0x8f8efd);if(_0x45ece2[_0xe579('0x4d')][_0xe579('0x57')]){_0x3fcc9c[_0xe579('0x55')]=_[_0xe579('0x58')](_0x3fcc9c['where'],{'$or':_['map'](_0x8f8efd,function(_0x5bd09a){if(_0x5bd09a[_0xe579('0x4a')]!=='VIRTUAL'){var _0x129b20={};_0x129b20[_0x5bd09a[_0xe579('0x3f')]]={'$like':'%'+_0x45ece2[_0xe579('0x4d')][_0xe579('0x57')]+'%'};return _0x129b20;}})});}_0x3fcc9c=_[_0xe579('0x58')]({},_0x3fcc9c,_0x45ece2[_0xe579('0x59')]);var _0x27103d={'where':_0x3fcc9c[_0xe579('0x55')]};return db[_0xe579('0x47')][_0xe579('0x33')](_0x27103d)[_0xe579('0x3b')](function(_0x6fa16b){_0x7d4dd3['count']=_0x6fa16b;if(_0x45ece2['query'][_0xe579('0x5a')]){_0x3fcc9c[_0xe579('0x5b')]=[{'all':!![]}];}return db['MailAccount'][_0xe579('0x5c')](_0x3fcc9c);})['then'](function(_0x4ba869){_0x7d4dd3[_0xe579('0x5d')]=_0x4ba869;return _0x7d4dd3;})[_0xe579('0x3b')](respondWithFilteredResult(_0x3db2fb,_0x3fcc9c))[_0xe579('0x2e')](handleError(_0x3db2fb,null));};exports[_0xe579('0x5e')]=function(_0x4b5ed4,_0x13790a){var _0x238aba={'raw':![],'where':{'id':_0x4b5ed4['params']['id']},'include':[{'model':db[_0xe579('0x41')],'as':_0xe579('0x42')},{'model':db['MailServerOut'],'as':_0xe579('0x44')},{'model':db[_0xe579('0x45')],'as':_0xe579('0x5f')}]},_0x23b1be={};_0x23b1be[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0x47')]['rawAttributes']);_0x23b1be[_0xe579('0x4d')]=_[_0xe579('0x60')](_0x4b5ed4[_0xe579('0x4d')]);_0x23b1be[_0xe579('0x4e')]=_[_0xe579('0x4f')](_0x23b1be[_0xe579('0x4c')],_0x23b1be['query']);_0x238aba[_0xe579('0x50')]=_[_0xe579('0x4f')](_0x23b1be['model'],qs[_0xe579('0x51')](_0x4b5ed4[_0xe579('0x4d')][_0xe579('0x51')]));_0x238aba['attributes']=_0x238aba['attributes'][_0xe579('0x61')]?_0x238aba[_0xe579('0x50')]:_0x23b1be['model'];if(_0x4b5ed4[_0xe579('0x4d')]['includeAll']){_0x238aba[_0xe579('0x5b')]=[{'all':!![]}];}_0x238aba=_[_0xe579('0x58')]({},_0x238aba,_0x4b5ed4[_0xe579('0x59')]);return db[_0xe579('0x47')][_0xe579('0x62')](_0x238aba)[_0xe579('0x3b')](handleEntityNotFound(_0x13790a,null))[_0xe579('0x3b')](respondWithResult(_0x13790a,null))[_0xe579('0x2e')](handleError(_0x13790a,null));};exports[_0xe579('0x39')]=function(_0x18cf27,_0x3b5b33){if(_0x18cf27[_0xe579('0x63')]['id']){delete _0x18cf27[_0xe579('0x63')]['id'];}return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0x18cf27[_0xe579('0x64')]['id']},'include':[{'model':db[_0xe579('0x41')],'as':'Imap'},{'model':db[_0xe579('0x43')],'as':_0xe579('0x44')},{'model':db[_0xe579('0x45')],'as':_0xe579('0x5f')}]})[_0xe579('0x3b')](handleEntityNotFound(_0x3b5b33,null))[_0xe579('0x3b')](saveUpdates(_0x18cf27[_0xe579('0x63')],null))[_0xe579('0x3b')](function(_0x24d226){if(_0x24d226&&_0x18cf27[_0xe579('0x63')][_0xe579('0x42')]){return db[_0xe579('0x41')][_0xe579('0x39')](_0x18cf27[_0xe579('0x63')]['Imap'],{'where':{'MailAccountId':_0x24d226['id']}})[_0xe579('0x3b')](function(){return _0x24d226;});}return _0x24d226;})['then'](function(_0x4c18b0){if(_0x4c18b0&&_0x18cf27['body'][_0xe579('0x44')]){return db[_0xe579('0x43')]['update'](_0x18cf27[_0xe579('0x63')][_0xe579('0x44')],{'where':{'MailAccountId':_0x4c18b0['id']}})[_0xe579('0x3b')](function(){return _0x4c18b0;});}return _0x4c18b0;})['then'](respondWithResult(_0x3b5b33,null))[_0xe579('0x2e')](handleError(_0x3b5b33,null));};exports[_0xe579('0x65')]=function(_0x385c06,_0x706d10){return db[_0xe579('0x47')][_0xe579('0x65')]()[_0xe579('0x3b')](respondWithResult(_0x706d10,null))['catch'](handleError(_0x706d10,null));};exports[_0xe579('0x66')]=function(_0x49bdc4,_0x2bf839,_0x2f843a){if(_0x49bdc4[_0xe579('0x63')]['id']){delete _0x49bdc4[_0xe579('0x63')]['id'];}return db['MailAccount'][_0xe579('0x62')]({'where':{'id':_0x49bdc4[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x2bf839,null))['then'](function(_0x3b91df){if(_0x3b91df){_0x49bdc4[_0xe579('0x63')][_0xe579('0x67')]=_0x3b91df['id'];return db[_0xe579('0x68')][_0xe579('0x69')](_0x49bdc4[_0xe579('0x63')]);}})[_0xe579('0x3b')](respondWithResult(_0x2bf839,null))[_0xe579('0x2e')](handleError(_0x2bf839,null));};exports['getDispositions']=function(_0xe7e8a0,_0x108bcf,_0x564454){var _0x57c7ed={'raw':![],'where':{}};var _0xdf2e85={};var _0x30750b={'count':0x0,'rows':[]};return db['MailAccount'][_0xe579('0x6a')]({'where':{'id':_0xe7e8a0[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x108bcf,null))[_0xe579('0x3b')](function(_0xf74a15){if(_0xf74a15){_0xdf2e85['model']=_[_0xe579('0x60')](db[_0xe579('0x68')][_0xe579('0x48')]);_0xdf2e85[_0xe579('0x4d')]=_[_0xe579('0x60')](_0xe7e8a0[_0xe579('0x4d')]);_0xdf2e85['filters']=_[_0xe579('0x4f')](_0xdf2e85['model'],_0xdf2e85[_0xe579('0x4d')]);_0x57c7ed['attributes']=_[_0xe579('0x4f')](_0xdf2e85[_0xe579('0x4c')],qs[_0xe579('0x51')](_0xe7e8a0['query'][_0xe579('0x51')]));_0x57c7ed[_0xe579('0x50')]=_0x57c7ed[_0xe579('0x50')][_0xe579('0x61')]?_0x57c7ed[_0xe579('0x50')]:_0xdf2e85['model'];if(!_0xe7e8a0[_0xe579('0x4d')][_0xe579('0x52')](_0xe579('0x6b'))){_0x57c7ed[_0xe579('0x34')]=qs['limit'](_0xe7e8a0[_0xe579('0x4d')]['limit']);_0x57c7ed['offset']=qs[_0xe579('0x53')](_0xe7e8a0[_0xe579('0x4d')]['offset']);}_0x57c7ed[_0xe579('0x54')]=qs[_0xe579('0x6c')](_0xe7e8a0['query'][_0xe579('0x6c')]);_0x57c7ed[_0xe579('0x55')]=qs['filters'](_['pick'](_0xe7e8a0['query'],_0xdf2e85[_0xe579('0x4e')]));_0x57c7ed[_0xe579('0x55')][_0xe579('0x67')]=_0xf74a15['id'];if(_0xe7e8a0['query'][_0xe579('0x57')]){_0x57c7ed[_0xe579('0x55')]=_['merge'](_0x57c7ed[_0xe579('0x55')],{'$or':_[_0xe579('0x46')](_0x57c7ed[_0xe579('0x50')],function(_0x2678b9){var _0x371078={};_0x371078[_0x2678b9]={'$like':'%'+_0xe7e8a0[_0xe579('0x4d')][_0xe579('0x57')]+'%'};return _0x371078;})});}_0x57c7ed=_['merge']({},_0x57c7ed,_0xe7e8a0[_0xe579('0x59')]);return db[_0xe579('0x68')][_0xe579('0x33')]({'where':_0x57c7ed[_0xe579('0x55')]})['then'](function(_0x280b29){_0x30750b[_0xe579('0x33')]=_0x280b29;if(_0xe7e8a0[_0xe579('0x4d')][_0xe579('0x5a')]){_0x57c7ed['include']=[{'all':!![]}];}return db[_0xe579('0x68')][_0xe579('0x5c')](_0x57c7ed);})['then'](function(_0x49af1f){_0x30750b[_0xe579('0x5d')]=_0x49af1f;return _0x30750b;});}})[_0xe579('0x3b')](respondWithFilteredResult(_0x108bcf,_0x57c7ed))['catch'](handleError(_0x108bcf,null));};exports[_0xe579('0x6d')]=function(_0x433a5a,_0x1bc985,_0x3f5b98){return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0x433a5a[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x1bc985,null))[_0xe579('0x3b')](function(_0xfaee90){if(_0xfaee90){return _0xfaee90[_0xe579('0x6d')](_0x433a5a['query'][_0xe579('0x6e')]);}})[_0xe579('0x3b')](respondWithStatusCode(_0x1bc985,null))[_0xe579('0x2e')](handleError(_0x1bc985,null));};exports[_0xe579('0x6f')]=function(_0x3fe496,_0x833ee6,_0x48ec31){if(_0x3fe496[_0xe579('0x63')]['id']){delete _0x3fe496['body']['id'];}return db['MailAccount']['find']({'where':{'id':_0x3fe496['params']['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x833ee6,null))['then'](function(_0x1abce1){if(_0x1abce1){_0x3fe496[_0xe579('0x63')][_0xe579('0x67')]=_0x1abce1['id'];return db['CannedAnswer'][_0xe579('0x69')](_0x3fe496[_0xe579('0x63')]);}})['then'](respondWithResult(_0x833ee6,null))['catch'](handleError(_0x833ee6,null));};exports[_0xe579('0x70')]=function(_0xdb51a,_0x23b3ed,_0x16c6ff){var _0x4d3001={'raw':![],'where':{}};var _0x3a22ec={};var _0x26dee0={'count':0x0,'rows':[]};return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0xdb51a[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x23b3ed,null))[_0xe579('0x3b')](function(_0x286391){if(_0x286391){_0x3a22ec[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0x71')][_0xe579('0x48')]);_0x3a22ec['query']=_[_0xe579('0x60')](_0xdb51a[_0xe579('0x4d')]);_0x3a22ec['filters']=_[_0xe579('0x4f')](_0x3a22ec[_0xe579('0x4c')],_0x3a22ec['query']);_0x4d3001[_0xe579('0x50')]=_['intersection'](_0x3a22ec['model'],qs[_0xe579('0x51')](_0xdb51a[_0xe579('0x4d')][_0xe579('0x51')]));_0x4d3001[_0xe579('0x50')]=_0x4d3001[_0xe579('0x50')][_0xe579('0x61')]?_0x4d3001[_0xe579('0x50')]:_0x3a22ec['model'];if(!_0xdb51a[_0xe579('0x4d')][_0xe579('0x52')](_0xe579('0x6b'))){_0x4d3001[_0xe579('0x34')]=qs[_0xe579('0x34')](_0xdb51a['query'][_0xe579('0x34')]);_0x4d3001[_0xe579('0x53')]=qs[_0xe579('0x53')](_0xdb51a[_0xe579('0x4d')][_0xe579('0x53')]);}_0x4d3001['order']=qs['sort'](_0xdb51a[_0xe579('0x4d')][_0xe579('0x6c')]);_0x4d3001[_0xe579('0x55')]=qs[_0xe579('0x4e')](_['pick'](_0xdb51a[_0xe579('0x4d')],_0x3a22ec[_0xe579('0x4e')]));_0x4d3001[_0xe579('0x55')][_0xe579('0x67')]=_0x286391['id'];if(_0xdb51a[_0xe579('0x4d')]['filter']){_0x4d3001[_0xe579('0x55')]=_[_0xe579('0x58')](_0x4d3001['where'],{'$or':_[_0xe579('0x46')](_0x4d3001[_0xe579('0x50')],function(_0xab8ac0){var _0x533a49={};_0x533a49[_0xab8ac0]={'$like':'%'+_0xdb51a[_0xe579('0x4d')]['filter']+'%'};return _0x533a49;})});}_0x4d3001=_[_0xe579('0x58')]({},_0x4d3001,_0xdb51a[_0xe579('0x59')]);return db[_0xe579('0x71')]['count']({'where':_0x4d3001[_0xe579('0x55')]})[_0xe579('0x3b')](function(_0x361654){_0x26dee0[_0xe579('0x33')]=_0x361654;if(_0xdb51a[_0xe579('0x4d')][_0xe579('0x5a')]){_0x4d3001[_0xe579('0x5b')]=[{'all':!![]}];}return db['CannedAnswer'][_0xe579('0x5c')](_0x4d3001);})['then'](function(_0x1d2d41){_0x26dee0['rows']=_0x1d2d41;return _0x26dee0;});}})[_0xe579('0x3b')](respondWithFilteredResult(_0x23b3ed,_0x4d3001))[_0xe579('0x2e')](handleError(_0x23b3ed,null));};exports['removeAnswers']=function(_0x37e586,_0x4501f5,_0x5502a8){return db['MailAccount'][_0xe579('0x62')]({'where':{'id':_0x37e586[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x4501f5,null))['then'](function(_0x1b999a){if(_0x1b999a){return _0x1b999a[_0xe579('0x72')](_0x37e586[_0xe579('0x4d')]['ids']);}})[_0xe579('0x3b')](respondWithStatusCode(_0x4501f5,null))[_0xe579('0x2e')](handleError(_0x4501f5,null));};exports[_0xe579('0x69')]=function(_0x2c5b25,_0x19ae2b){var _0x473261={'name':_0x2c5b25[_0xe579('0x63')][_0xe579('0x3f')],'key':_0x2c5b25[_0xe579('0x63')][_0xe579('0x4b')],'email':_0x2c5b25['body'][_0xe579('0x73')],'ListId':_0x2c5b25[_0xe579('0x63')][_0xe579('0x74')],'active':!_[_0xe579('0x75')](_0x2c5b25[_0xe579('0x63')][_0xe579('0x76')])?_0x2c5b25[_0xe579('0x63')][_0xe579('0x76')]:!![],'description':_0x2c5b25[_0xe579('0x63')][_0xe579('0x77')]||null,'Imap':{},'Smtp':{}};if(_[_0xe579('0x75')](_0x2c5b25[_0xe579('0x63')][_0xe579('0x78')])){if(_0x2c5b25[_0xe579('0x63')][_0xe579('0x79')]){_0x473261[_0xe579('0x42')]['user']=_0x473261[_0xe579('0x44')][_0xe579('0x7a')]=_0x2c5b25[_0xe579('0x63')][_0xe579('0x7b')];_0x473261[_0xe579('0x42')][_0xe579('0x7c')]=_0x473261['Smtp'][_0xe579('0x7d')]=_0x2c5b25[_0xe579('0x63')]['cpassword'];}else{_0x473261['Imap'][_0xe579('0x7e')]=_0x473261[_0xe579('0x44')][_0xe579('0x7e')]=![];}_0x473261['Imap'][_0xe579('0x7f')]=_0x2c5b25['body'][_0xe579('0x42')][_0xe579('0x7f')];_0x473261['Imap'][_0xe579('0x80')]=_0x2c5b25[_0xe579('0x63')][_0xe579('0x42')][_0xe579('0x80')];_0x473261[_0xe579('0x44')][_0xe579('0x7f')]=_0x2c5b25[_0xe579('0x63')][_0xe579('0x44')]['host'];_0x473261[_0xe579('0x44')]['port']=_0x2c5b25[_0xe579('0x63')][_0xe579('0x44')][_0xe579('0x80')];}else{_0x473261[_0xe579('0x42')][_0xe579('0x81')]=_0x473261[_0xe579('0x44')]['service']=_0x2c5b25[_0xe579('0x63')]['cservice'];_0x473261['Imap'][_0xe579('0x7a')]=_0x473261[_0xe579('0x44')][_0xe579('0x7a')]=_0x2c5b25[_0xe579('0x63')]['cuser'];_0x473261[_0xe579('0x42')][_0xe579('0x7c')]=_0x473261[_0xe579('0x44')]['pass']=_0x2c5b25['body']['cpassword'];}return db[_0xe579('0x47')][_0xe579('0x69')](_0x473261,{'include':[{'model':db['MailServerOut'],'as':_0xe579('0x44')},{'model':db[_0xe579('0x41')],'as':'Imap'}]})[_0xe579('0x3b')](function(_0x165365){var _0x478251=_0x2c5b25[_0xe579('0x7a')][_0xe579('0x82')]({'plain':!![]});if(!_0x478251)throw new Error(_0xe579('0x83'));if(_0x478251[_0xe579('0x84')]===_0xe579('0x7a')){var _0x2cb9e6=_0x165365['get']({'plain':!![]});return db[_0xe579('0x85')][_0xe579('0x62')]({'where':{'name':_0xe579('0x3c'),'userProfileId':_0x478251[_0xe579('0x86')]},'raw':!![]})[_0xe579('0x3b')](function(_0xb86150){if(_0xb86150&&_0xb86150[_0xe579('0x87')]===0x0){return db[_0xe579('0x3d')]['create']({'name':_0x2cb9e6[_0xe579('0x3f')],'resourceId':_0x2cb9e6['id'],'type':_0xb86150[_0xe579('0x3f')],'sectionId':_0xb86150['id']},{})['then'](function(){return _0x165365;});}else{return _0x165365;}})[_0xe579('0x2e')](function(_0xa0f4ac){logger['error'](_0xe579('0x88'),_0xa0f4ac);throw _0xa0f4ac;});}return _0x165365;})[_0xe579('0x3b')](respondWithResult(_0x19ae2b,0xc9))[_0xe579('0x2e')](handleError(_0x19ae2b,null));};exports[_0xe579('0x89')]=function(_0x52497e,_0x33718f,_0x3be0a2){return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x52497e[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x33718f,null))[_0xe579('0x3b')](function(_0x2bbdfb){if(_0x2bbdfb){return _0x2bbdfb[_0xe579('0x89')]();}return null;})[_0xe579('0x3b')](respondWithResult(_0x33718f,null))[_0xe579('0x2e')](handleError(_0x33718f,null));};exports[_0xe579('0x8a')]=function(_0x4ad5f8,_0x25000f,_0x5e32da){if(_0x4ad5f8[_0xe579('0x63')]['id']){delete _0x4ad5f8[_0xe579('0x63')]['id'];}return db[_0xe579('0x47')]['find']({'where':{'id':_0x4ad5f8[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x25000f,null))['then'](function(_0x4133cd){if(_0x4133cd){_0x4ad5f8[_0xe579('0x63')][_0xe579('0x67')]=_0x4133cd['id'];return db['MailServerIn'][_0xe579('0x69')](_0x4ad5f8[_0xe579('0x63')]);}})[_0xe579('0x3b')](respondWithResult(_0x25000f,null))[_0xe579('0x2e')](handleError(_0x25000f,null));};exports[_0xe579('0x8b')]=function(_0x404034,_0x2d4785,_0xa2bf9d){return db['MailAccount'][_0xe579('0x6a')]({'where':{'id':_0x404034[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x2d4785,null))[_0xe579('0x3b')](function(_0xdfadbb){if(_0xdfadbb){return _0xdfadbb[_0xe579('0x8c')](null);}return null;})[_0xe579('0x3b')](respondWithStatusCode(_0x2d4785,null))['catch'](handleError(_0x2d4785,null));};exports[_0xe579('0x8d')]=function(_0x35243c,_0x37e3f8,_0x466208){return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x35243c[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x37e3f8,null))['then'](function(_0x4d2f33){if(_0x4d2f33){return _0x4d2f33[_0xe579('0x8d')]();}return null;})[_0xe579('0x3b')](respondWithResult(_0x37e3f8,null))[_0xe579('0x2e')](handleError(_0x37e3f8,null));};exports[_0xe579('0x8e')]=function(_0xe0573e,_0x1ecd76,_0x421cec){if(_0xe0573e[_0xe579('0x63')]['id']){delete _0xe0573e['body']['id'];}return db['MailAccount'][_0xe579('0x62')]({'where':{'id':_0xe0573e[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x1ecd76,null))[_0xe579('0x3b')](function(_0x4836c8){if(_0x4836c8){_0xe0573e['body']['MailAccountId']=_0x4836c8['id'];return db[_0xe579('0x43')][_0xe579('0x69')](_0xe0573e[_0xe579('0x63')]);}})[_0xe579('0x3b')](respondWithResult(_0x1ecd76,null))[_0xe579('0x2e')](handleError(_0x1ecd76,null));};exports[_0xe579('0x8f')]=function(_0x3dfbf4,_0x27cadb,_0xf4eeff){return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x3dfbf4[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x27cadb,null))[_0xe579('0x3b')](function(_0x210399){if(_0x210399){return _0x210399[_0xe579('0x90')](null);}return null;})['then'](respondWithStatusCode(_0x27cadb,null))['catch'](handleError(_0x27cadb,null));};exports[_0xe579('0x91')]=function(_0x171d32,_0x163805,_0x156949){return db[_0xe579('0x92')][_0xe579('0x62')]({'where':{'id':_0x171d32[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x163805,null))[_0xe579('0x3b')](function(_0x2b0ab9){if(_0x2b0ab9){return _0x2b0ab9[_0xe579('0x91')](_0x171d32['body'][_0xe579('0x6e')],_[_0xe579('0x93')](_0x171d32[_0xe579('0x63')],[_0xe579('0x6e'),'id'])||{});}})['then'](respondWithResult(_0x163805,null))[_0xe579('0x2e')](handleError(_0x163805,null));};exports[_0xe579('0x94')]=function(_0xc7ef9a,_0x1be121,_0xb9fbca){var _0xdb4b78={'raw':![],'where':{}};var _0x57e438={};var _0x1f3508={'count':0x0,'rows':[]};return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0xc7ef9a[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x1be121,null))[_0xe579('0x3b')](function(_0x357e04){if(_0x357e04){_0x57e438[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0x92')][_0xe579('0x48')]);_0x57e438[_0xe579('0x4d')]=_[_0xe579('0x60')](_0xc7ef9a[_0xe579('0x4d')]);_0x57e438[_0xe579('0x4e')]=_[_0xe579('0x4f')](_0x57e438['model'],_0x57e438['query']);_0xdb4b78['attributes']=_[_0xe579('0x4f')](_0x57e438['model'],qs[_0xe579('0x51')](_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x51')]));_0xdb4b78[_0xe579('0x50')]=_0xdb4b78[_0xe579('0x50')]['length']?_0xdb4b78[_0xe579('0x50')]:_0x57e438[_0xe579('0x4c')];if(!_0xc7ef9a['query']['hasOwnProperty']('nolimit')){_0xdb4b78[_0xe579('0x34')]=qs[_0xe579('0x34')](_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x34')]);_0xdb4b78[_0xe579('0x53')]=qs[_0xe579('0x53')](_0xc7ef9a[_0xe579('0x4d')]['offset']);}_0xdb4b78['order']=qs[_0xe579('0x6c')](_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x6c')]);_0xdb4b78[_0xe579('0x55')]=qs[_0xe579('0x4e')](_[_0xe579('0x56')](_0xc7ef9a['query'],_0x57e438[_0xe579('0x4e')]));_0xdb4b78[_0xe579('0x55')][_0xe579('0x67')]=_0x357e04['id'];if(_0xc7ef9a[_0xe579('0x4d')]['filter']){_0xdb4b78[_0xe579('0x55')]=_[_0xe579('0x58')](_0xdb4b78[_0xe579('0x55')],{'$or':_[_0xe579('0x46')](_0xdb4b78[_0xe579('0x50')],function(_0x1d1a05){var _0x4b1650={};_0x4b1650[_0x1d1a05]={'$like':'%'+_0xc7ef9a['query'][_0xe579('0x57')]+'%'};return _0x4b1650;})});}_0xdb4b78=_[_0xe579('0x58')]({},_0xdb4b78,_0xc7ef9a[_0xe579('0x59')]);return db[_0xe579('0x92')][_0xe579('0x33')]({'where':_0xdb4b78[_0xe579('0x55')]})['then'](function(_0xc1f52c){_0x1f3508[_0xe579('0x33')]=_0xc1f52c;if(_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x5a')]){_0xdb4b78[_0xe579('0x5b')]=[{'model':db[_0xe579('0x95')],'as':_0xe579('0x96'),'required':![]},{'model':db[_0xe579('0x97')],'as':_0xe579('0x98'),'attributes':[_0xe579('0x3f'),_0xe579('0x99'),_0xe579('0x9a')],'required':![]},{'model':db[_0xe579('0x9b')],'as':_0xe579('0x9c'),'attributes':['id',_0xe579('0x3f'),_0xe579('0x9d')],'where':_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x9e')]?{'id':_0xc7ef9a[_0xe579('0x4d')][_0xe579('0x9e')]}:undefined,'required':_0xc7ef9a[_0xe579('0x4d')]['tag']?!![]:![]}];}return db['MailInteraction'][_0xe579('0x5c')](_0xdb4b78);})[_0xe579('0x3b')](function(_0x52e458){_0x1f3508['rows']=_0x52e458;return _0x1f3508;});}})['then'](respondWithFilteredResult(_0x1be121,_0xdb4b78))['catch'](handleError(_0x1be121,null));};exports[_0xe579('0x9f')]=function(_0x401c88,_0x3addb4,_0x49759a){return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x401c88[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x3addb4,null))[_0xe579('0x3b')](function(_0xb58e97){if(_0xb58e97){return db[_0xe579('0xa0')]['transaction'](function(_0x1ddf74){return db[_0xe579('0xa1')]['destroy']({'where':{'MailAccountId':_0x401c88[_0xe579('0x64')]['id']},'transaction':_0x1ddf74})[_0xe579('0x3b')](function(_0x3090da){var _0xdb0b68=_[_0xe579('0x46')](_0x401c88[_0xe579('0x63')],function(_0x3c9b21){_0x3c9b21[_0xe579('0x67')]=_0x401c88[_0xe579('0x64')]['id'];return _0x3c9b21;});return db['MailApplication'][_0xe579('0xa2')](_0xdb0b68,{'transaction':_0x1ddf74});});})['then'](function(){return db[_0xe579('0xa1')][_0xe579('0xa3')]({'where':{'MailAccountId':_0x401c88[_0xe579('0x64')]['id']},'order':'priority'});});}})[_0xe579('0x3b')](respondWithResult(_0x3addb4,null))[_0xe579('0x2e')](handleError(_0x3addb4,null));};exports['getApplications']=function(_0x478629,_0x548082,_0xd2730c){var _0xaf4cfc={};var _0xac3293={};var _0xd08a39;var _0x4f3fed;return db[_0xe579('0x47')]['findOne']({'where':{'id':_0x478629[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x548082,null))[_0xe579('0x3b')](function(_0x2aaa3a){if(_0x2aaa3a){_0xd08a39=_0x2aaa3a;_0xac3293[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0xa1')][_0xe579('0x48')]);_0xac3293[_0xe579('0x4d')]=_[_0xe579('0x60')](_0x478629['query']);_0xac3293['filters']=_[_0xe579('0x4f')](_0xac3293[_0xe579('0x4c')],_0xac3293[_0xe579('0x4d')]);_0xaf4cfc['attributes']=_[_0xe579('0x4f')](_0xac3293[_0xe579('0x4c')],qs[_0xe579('0x51')](_0x478629[_0xe579('0x4d')][_0xe579('0x51')]));_0xaf4cfc[_0xe579('0x50')]=_0xaf4cfc['attributes'][_0xe579('0x61')]?_0xaf4cfc[_0xe579('0x50')]:_0xac3293['model'];_0xaf4cfc[_0xe579('0x54')]=qs[_0xe579('0x6c')](_0x478629['query'][_0xe579('0x6c')]);_0xaf4cfc[_0xe579('0x55')]=qs[_0xe579('0x4e')](_['pick'](_0x478629['query'],_0xac3293['filters']));if(_0x478629[_0xe579('0x4d')]['filter']){_0xaf4cfc[_0xe579('0x55')]=_[_0xe579('0x58')](_0xaf4cfc['where'],{'$or':_[_0xe579('0x46')](_0xaf4cfc[_0xe579('0x50')],function(_0x2f8984){var _0xe14922={};_0xe14922[_0x2f8984]={'$like':'%'+_0x478629['query'][_0xe579('0x57')]+'%'};return _0xe14922;})});}_0xaf4cfc=_[_0xe579('0x58')]({},_0xaf4cfc,_0x478629[_0xe579('0x59')]);return _0xd08a39[_0xe579('0xa4')](_0xaf4cfc);}})[_0xe579('0x3b')](function(_0x12828a){if(_0x12828a){_0x4f3fed=_0x12828a[_0xe579('0x61')];if(!_0x478629[_0xe579('0x4d')][_0xe579('0x52')](_0xe579('0x6b'))){_0xaf4cfc[_0xe579('0x34')]=qs['limit'](_0x478629[_0xe579('0x4d')][_0xe579('0x34')]);_0xaf4cfc[_0xe579('0x53')]=qs[_0xe579('0x53')](_0x478629['query'][_0xe579('0x53')]);}return _0xd08a39[_0xe579('0xa4')](_0xaf4cfc);}})[_0xe579('0x3b')](function(_0x44bfcb){if(_0x44bfcb){return _0x44bfcb?{'count':_0x4f3fed,'rows':_0x44bfcb}:null;}})['then'](respondWithResult(_0x548082,null))['catch'](handleError(_0x548082,null));};exports[_0xe579('0xa5')]=function(_0x1a9654,_0x36b8e9,_0x27f1a3){var _0x5477cd={'raw':!![],'where':{}};var _0x31dd12={};var _0x406aae={'count':0x0,'rows':[]};return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x1a9654[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x36b8e9,null))['then'](function(_0x45e893){if(_0x45e893){_0x31dd12[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0xa6')][_0xe579('0x48')]);_0x31dd12[_0xe579('0x4d')]=_[_0xe579('0x60')](_0x1a9654[_0xe579('0x4d')]);_0x31dd12[_0xe579('0x4e')]=_[_0xe579('0x4f')](_0x31dd12['model'],_0x31dd12[_0xe579('0x4d')]);_0x5477cd[_0xe579('0x50')]=_[_0xe579('0x4f')](_0x31dd12['model'],qs[_0xe579('0x51')](_0x1a9654[_0xe579('0x4d')][_0xe579('0x51')]));_0x5477cd[_0xe579('0x50')]=_0x5477cd[_0xe579('0x50')][_0xe579('0x61')]?_0x5477cd['attributes']:_0x31dd12[_0xe579('0x4c')];if(!_0x1a9654['query'][_0xe579('0x52')](_0xe579('0x6b'))){_0x5477cd['limit']=qs[_0xe579('0x34')](_0x1a9654[_0xe579('0x4d')][_0xe579('0x34')]);_0x5477cd[_0xe579('0x53')]=qs['offset'](_0x1a9654[_0xe579('0x4d')][_0xe579('0x53')]);}_0x5477cd[_0xe579('0x54')]=qs['sort'](_0x1a9654['query'][_0xe579('0x6c')]);_0x5477cd[_0xe579('0x55')]=qs[_0xe579('0x4e')](_['pick'](_0x1a9654[_0xe579('0x4d')],_0x31dd12['filters']));_0x5477cd['where'][_0xe579('0x67')]=_0x45e893['id'];if(_0x1a9654[_0xe579('0x4d')][_0xe579('0x57')]){_0x5477cd['where']=_[_0xe579('0x58')](_0x5477cd['where'],{'$or':_[_0xe579('0x46')](_0x5477cd[_0xe579('0x50')],function(_0x2ff3b9){var _0x4514dd={};_0x4514dd[_0x2ff3b9]={'$like':'%'+_0x1a9654[_0xe579('0x4d')][_0xe579('0x57')]+'%'};return _0x4514dd;})});}if(_0x1a9654[_0xe579('0x4d')][_0xe579('0xa7')]){var _0x2cfa70=_0x1a9654['query'][_0xe579('0xa7')][_0xe579('0xa8')](',');var _0x413084={};_0x413084[_0x2cfa70[0x0]]={'$gte':moment(_0x2cfa70[0x1])[_0xe579('0xa9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x5477cd['where']=_[_0xe579('0x58')](_0x5477cd[_0xe579('0x55')],_0x413084);}_0x5477cd=_[_0xe579('0x58')]({},_0x5477cd,_0x1a9654[_0xe579('0x59')]);return db[_0xe579('0xa6')]['count']({'where':_0x5477cd[_0xe579('0x55')]})['then'](function(_0x420e58){_0x406aae[_0xe579('0x33')]=_0x420e58;if(_0x1a9654[_0xe579('0x4d')][_0xe579('0x5a')]){_0x5477cd[_0xe579('0x5b')]=[{'all':!![]}];}return db[_0xe579('0xa6')][_0xe579('0x5c')](_0x5477cd);})[_0xe579('0x3b')](function(_0x5c08cd){_0x406aae['rows']=_0x5c08cd;return _0x406aae;});}})[_0xe579('0x3b')](respondWithFilteredResult(_0x36b8e9,_0x5477cd))[_0xe579('0x2e')](handleError(_0x36b8e9,null));};exports[_0xe579('0x40')]=function(_0x2d65fc,_0x40bc5a,_0x5888ca){var _0x595649,_0x46474d={},_0x3b4af1;if(_0x2d65fc[_0xe579('0x63')]['to']){_0x3b4af1=_0x2d65fc[_0xe579('0x63')]['to'][_0xe579('0xa8')](',')[0x0];}return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0x2d65fc['params']['id']},'include':[{'model':db[_0xe579('0xaa')],'as':_0xe579('0xab'),'include':[{'model':db['CmContact'],'as':_0xe579('0xac'),'where':{'email':_0x3b4af1},'limit':0x1,'order':[[_0xe579('0xad'),_0xe579('0xae')]]}]},{'model':db[_0xe579('0x43')],'as':_0xe579('0x44'),'raw':!![]}]})[_0xe579('0x3b')](handleEntityNotFound(_0x40bc5a,null))[_0xe579('0x3b')](function(_0x33c9fd){if(_0x33c9fd){_0x595649=_0x33c9fd;if(_0x33c9fd[_0xe579('0x44')]){if(_[_0xe579('0x75')](_0x2d65fc['body'][_0xe579('0xaf')])){_0x2d65fc[_0xe579('0x63')]['from']=util[_0xe579('0xa9')](_0xe579('0xb0'),_0x33c9fd[_0xe579('0x3f')],_0x33c9fd[_0xe579('0x73')]||_0x33c9fd[_0xe579('0x44')][_0xe579('0x7a')]);}if(_0x2d65fc[_0xe579('0x63')][_0xe579('0xb1')]&&_0x2d65fc['body'][_0xe579('0xb1')][_0xe579('0x61')]){for(var _0x552f55=0x0;_0x552f55<_0x2d65fc['body'][_0xe579('0xb1')]['length'];_0x552f55+=0x1){_0x2d65fc[_0xe579('0x63')][_0xe579('0xb1')][_0x552f55]={'filename':_0x2d65fc[_0xe579('0x63')][_0xe579('0xb1')][_0x552f55][_0xe579('0x3f')],'path':path[_0xe579('0xb2')](config[_0xe579('0xb3')],_0xe579('0xb4'),_0x2d65fc[_0xe579('0x63')][_0xe579('0xb1')][_0x552f55][_0xe579('0xb5')])};}}var _0x2d74cd={'tls':{'rejectUnauthorized':![]}};if(_[_0xe579('0x75')](_0x33c9fd[_0xe579('0x44')]['service'])){if(_0x33c9fd[_0xe579('0x44')][_0xe579('0x7e')]){_0x2d74cd[_0xe579('0xb6')]={'user':_0x33c9fd[_0xe579('0x44')][_0xe579('0x7a')],'pass':_0x33c9fd[_0xe579('0x44')][_0xe579('0x7d')]};}_0x2d74cd['host']=_0x33c9fd[_0xe579('0x44')][_0xe579('0x7f')];_0x2d74cd['port']=_0x33c9fd[_0xe579('0x44')][_0xe579('0x80')];_0x2d74cd[_0xe579('0xb7')]=_0x33c9fd[_0xe579('0x44')][_0xe579('0xb7')];}else{_0x2d74cd[_0xe579('0x81')]=_0x33c9fd[_0xe579('0x44')][_0xe579('0x81')];_0x2d74cd['auth']={'user':_0x33c9fd[_0xe579('0x44')][_0xe579('0x7a')],'pass':_0x33c9fd[_0xe579('0x44')][_0xe579('0x7d')]};}return respondWithRpcPromise(_0xe579('0xb8'),_0xe579('0xb9'),{'account':_0x2d74cd,'message':_0x2d65fc['body']});}else{throw new Error(_0xe579('0xba'));}}})[_0xe579('0x3b')](function(_0x4da464){if(_0x4da464){_0x46474d=_0x4da464;if(_0x595649[_0xe579('0xab')]){if(_0x595649[_0xe579('0xab')][_0xe579('0xac')][_0xe579('0x61')]){return _0x595649[_0xe579('0xab')][_0xe579('0xac')][0x0];}else{return db[_0xe579('0x95')][_0xe579('0x69')](_['defaults'](_0x2d65fc['body'],{'firstName':_0x2d65fc[_0xe579('0x63')]['to'],'email':_0x2d65fc[_0xe579('0x63')]['to'],'phone':_0x2d65fc[_0xe579('0x63')]['to'],'ListId':_0x595649[_0xe579('0x74')]}));}}else{throw new Error(_0xe579('0xba'));}}})[_0xe579('0x3b')](function(_0x47d99d){if(_0x47d99d){var _0x4d6755={'UserId':_0x2d65fc[_0xe579('0x7a')]['id'],'ContactId':_0x47d99d['id'],'MailAccountId':_0x595649['id'],'inReplyTo':_0x46474d[_0xe579('0xbb')],'to':_0x2d65fc[_0xe579('0x63')]['from'],'cc':_0x2d65fc[_0xe579('0x63')]['cc'],'subject':_0x2d65fc['body'][_0xe579('0xbc')],'attach':_0x2d65fc[_0xe579('0x63')][_0xe579('0xbd')],'firstMsgDirection':_0xe579('0xbe'),'lastMsgAt':moment()['format'](_0xe579('0xbf')),'lastMsgDirection':_0xe579('0xbe'),'lastMsgBody':_0x2d65fc[_0xe579('0x63')][_0xe579('0x63')],'Messages':[_[_0xe579('0x58')](_0x2d65fc['body'],{'messageId':_0x46474d[_0xe579('0xbb')],'sentAt':moment()[_0xe579('0xa9')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x595649['id'],'UserId':_0x2d65fc[_0xe579('0x7a')]['id'],'ContactId':_0x47d99d['id']})]};if(_0x2d65fc[_0xe579('0x63')][_0xe579('0xc0')]){_0x4d6755=_[_0xe579('0x58')](_0x4d6755,_0x2d65fc['body'][_0xe579('0xc0')]);}return db[_0xe579('0x92')][_0xe579('0x69')](_0x4d6755,{'include':[{'model':db[_0xe579('0xa6')],'as':_0xe579('0xc1')}]});}})[_0xe579('0x3b')](respondWithResult(_0x40bc5a,null))[_0xe579('0x2e')](handleError(_0x40bc5a,null));};exports[_0xe579('0xc2')]=function(_0x5e49da,_0x1e04c3,_0x41afff){return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0x5e49da[_0xe579('0x64')]['id']},'include':[{'model':db[_0xe579('0x43')],'as':'Smtp','raw':!![]}]})[_0xe579('0x3b')](handleEntityNotFound(_0x1e04c3,null))[_0xe579('0x3b')](function(_0x4e841d){if(_0x4e841d&&_0x4e841d[_0xe579('0x44')]){var _0x89e744={'id':_0x4e841d['id'],'tls':{'rejectUnauthorized':![]}};if(_0x4e841d[_0xe579('0x44')][_0xe579('0x81')]){_0x89e744[_0xe579('0x81')]=_0x4e841d[_0xe579('0x44')][_0xe579('0x81')];}else{_0x89e744['host']=_0x4e841d[_0xe579('0x44')]['host'];_0x89e744[_0xe579('0x80')]=_0x4e841d['Smtp'][_0xe579('0x80')];_0x89e744[_0xe579('0xb7')]=_0x4e841d[_0xe579('0x44')][_0xe579('0xb7')];}if(_0x4e841d['Smtp'][_0xe579('0x7e')]){_0x89e744[_0xe579('0xb6')]={'user':_0x4e841d[_0xe579('0x44')][_0xe579('0x7a')],'pass':_0x4e841d[_0xe579('0x44')][_0xe579('0x7d')]};}return respondWithRpcPromise(_0xe579('0xc3'),_0xe579('0xc2'),{'account':_0x89e744});}})['then'](respondWithResult(_0x1e04c3,null))[_0xe579('0x2e')](handleError(_0x1e04c3,null));};exports[_0xe579('0x3a')]=function(_0x1449fe,_0x1af522){return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0x1449fe[_0xe579('0x64')]['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x1af522,null))[_0xe579('0x3b')](function(_0x4ae266){if(_0x4ae266&&_0x4ae266[_0xe579('0x81')]){throw new db[(_0xe579('0xc4'))]['ValidationError'](_0xe579('0xc5'));}return _0x4ae266;})[_0xe579('0x3b')](removeEntity(_0x1af522,null))[_0xe579('0x2e')](handleError(_0x1af522,null));};exports[_0xe579('0xc6')]=function(_0x45898c,_0x17a5e4,_0x33ca61){return db[_0xe579('0x47')]['find']({'where':{'id':_0x45898c['params']['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x17a5e4,null))[_0xe579('0x3b')](function(_0x387fed){if(_0x387fed){return _0x387fed['addAgents'](_0x45898c[_0xe579('0x63')][_0xe579('0x6e')],_[_0xe579('0x93')](_0x45898c[_0xe579('0x63')],[_0xe579('0x6e'),'id'])||{})['spread'](function(_0xf828c1){for(var _0x11028b=0x0;_0x11028b<_0x45898c[_0xe579('0x63')][_0xe579('0x6e')][_0xe579('0x61')];_0x11028b+=0x1){socket[_0xe579('0xc7')]('userMailAccount:save',{'UserId':_0x45898c['body'][_0xe579('0x6e')][_0x11028b],'MailAccountId':_0x45898c[_0xe579('0x64')]['id']});}return _0xf828c1;});}})['then'](respondWithResult(_0x17a5e4,null))[_0xe579('0x2e')](handleError(_0x17a5e4,null));};exports['removeAgents']=function(_0xe36d93,_0x6ff08,_0x809307){return db[_0xe579('0x47')][_0xe579('0x62')]({'where':{'id':_0xe36d93['params']['id']}})[_0xe579('0x3b')](handleEntityNotFound(_0x6ff08,null))[_0xe579('0x3b')](function(_0x229924){if(_0x229924){return _0x229924[_0xe579('0xc8')](_0xe36d93['query'][_0xe579('0x6e')])[_0xe579('0x3b')](function(){if(_[_0xe579('0xc9')](_0xe36d93[_0xe579('0x4d')][_0xe579('0x6e')])){for(var _0x5e8c31=0x0;_0x5e8c31<_0xe36d93['query']['ids'][_0xe579('0x61')];_0x5e8c31+=0x1){socket[_0xe579('0xc7')](_0xe579('0xca'),{'UserId':Number(_0xe36d93[_0xe579('0x4d')][_0xe579('0x6e')][_0x5e8c31]),'MailAccountId':Number(_0xe36d93[_0xe579('0x64')]['id'])});}}else{socket[_0xe579('0xc7')](_0xe579('0xca'),{'UserId':Number(_0xe36d93['query'][_0xe579('0x6e')]),'MailAccountId':Number(_0xe36d93[_0xe579('0x64')]['id'])});}});}})[_0xe579('0x3b')](respondWithStatusCode(_0x6ff08,null))[_0xe579('0x2e')](handleError(_0x6ff08,null));};exports[_0xe579('0xcb')]=function(_0x3c723b,_0x4bdc4f,_0x2b8537){var _0x25d580={};var _0x341512={};var _0x58bf5f;var _0x4a313f;return db[_0xe579('0x47')][_0xe579('0x6a')]({'where':{'id':_0x3c723b[_0xe579('0x64')]['id']}})['then'](handleEntityNotFound(_0x4bdc4f,null))['then'](function(_0x2c01fd){if(_0x2c01fd){_0x58bf5f=_0x2c01fd;_0x341512[_0xe579('0x4c')]=_[_0xe579('0x60')](db[_0xe579('0x97')]['rawAttributes']);_0x341512[_0xe579('0x4d')]=_[_0xe579('0x60')](_0x3c723b[_0xe579('0x4d')]);_0x341512[_0xe579('0x4e')]=_[_0xe579('0x4f')](_0x341512[_0xe579('0x4c')],_0x341512[_0xe579('0x4d')]);_0x25d580[_0xe579('0x50')]=_[_0xe579('0x4f')](_0x341512[_0xe579('0x4c')],qs[_0xe579('0x51')](_0x3c723b[_0xe579('0x4d')][_0xe579('0x51')]));_0x25d580[_0xe579('0x50')]=_0x25d580[_0xe579('0x50')][_0xe579('0x61')]?_0x25d580['attributes']:_0x341512[_0xe579('0x4c')];_0x25d580['order']=qs['sort'](_0x3c723b[_0xe579('0x4d')][_0xe579('0x6c')]);_0x25d580[_0xe579('0x55')]=qs[_0xe579('0x4e')](_[_0xe579('0x56')](_0x3c723b[_0xe579('0x4d')],_0x341512[_0xe579('0x4e')]));if(_0x3c723b[_0xe579('0x4d')][_0xe579('0x57')]){_0x25d580['where']=_[_0xe579('0x58')](_0x25d580[_0xe579('0x55')],{'$or':_[_0xe579('0x46')](_0x25d580[_0xe579('0x50')],function(_0x541bd2){var _0x36399e={};_0x36399e[_0x541bd2]={'$like':'%'+_0x3c723b['query'][_0xe579('0x57')]+'%'};return _0x36399e;})});}_0x25d580=_['merge']({},_0x25d580,_0x3c723b['options']);return _0x58bf5f[_0xe579('0xcb')](_0x25d580);}})[_0xe579('0x3b')](function(_0x43891a){if(_0x43891a){_0x4a313f=_0x43891a['length'];if(!_0x3c723b[_0xe579('0x4d')][_0xe579('0x52')]('nolimit')){_0x25d580[_0xe579('0x34')]=qs['limit'](_0x3c723b[_0xe579('0x4d')][_0xe579('0x34')]);_0x25d580[_0xe579('0x53')]=qs[_0xe579('0x53')](_0x3c723b[_0xe579('0x4d')][_0xe579('0x53')]);}return _0x58bf5f[_0xe579('0xcb')](_0x25d580);}})[_0xe579('0x3b')](function(_0x298d68){if(_0x298d68){return _0x298d68?{'count':_0x4a313f,'rows':_0x298d68}:null;}})['then'](respondWithResult(_0x4bdc4f,null))[_0xe579('0x2e')](handleError(_0x4bdc4f,null));};