2976efe1079aa0d0f52cf353253968bb591d4108
[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 _0x2b99=['color','tag','sequelize','MailApplication','priority','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','CmList','Contacts','updatedAt','DESC','from','format','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','List','defaults','ListId','List\x20not\x20found','subject','attach','out','messageId','Interaction','Messages','verifySmtp','VerifySmtp','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','then','MailAccounts','UserProfileResource','destroy','stack','name','send','Imap','mandatoryDispositionPause','MailAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','merge','map','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','MailServerIn','MailServerOut','Smtp','find','update','body','Pause','describe','addDisposition','Disposition','create','getDispositions','findOne','MailAccountId','removeDispositions','addAnswer','getAnswers','CannedAnswer','removeAnswers','email','active','isNil','user','pass','cpassword','authentication','host','port','service','cuser','password','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','removeSmtp','addInteraction','MailInteraction','ids','omit','getInteractions','nolimit','CmContact','Contact','User','Owner','fullname','internal','Tag','Tags'];(function(_0x4f3b92,_0x339f18){var _0x27536d=function(_0x3b237c){while(--_0x3b237c){_0x4f3b92['push'](_0x4f3b92['shift']());}};_0x27536d(++_0x339f18);}(_0x2b99,0xf3));var _0x92b9=function(_0x126558,_0x143c9a){_0x126558=_0x126558-0x0;var _0x1f6d14=_0x2b99[_0x126558];return _0x1f6d14;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x92b9('0x0'));var zipdir=require(_0x92b9('0x1'));var jsonpatch=require(_0x92b9('0x2'));var rp=require('request-promise');var moment=require(_0x92b9('0x3'));var BPromise=require(_0x92b9('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x92b9('0x5'));var sox=require(_0x92b9('0x6'));var csv=require(_0x92b9('0x7'));var ejs=require(_0x92b9('0x8'));var fs=require('fs');var _=require(_0x92b9('0x9'));var squel=require(_0x92b9('0xa'));var crypto=require('crypto');var jsforce=require(_0x92b9('0xb'));var deskjs=require(_0x92b9('0xc'));var toCsv=require(_0x92b9('0x7'));var querystring=require(_0x92b9('0xd'));var Papa=require(_0x92b9('0xe'));var Redis=require(_0x92b9('0xf'));var authService=require(_0x92b9('0x10'));var qs=require(_0x92b9('0x11'));var as=require(_0x92b9('0x12'));var hardwareService=require(_0x92b9('0x13'));var logger=require(_0x92b9('0x14'))(_0x92b9('0x15'));var utils=require(_0x92b9('0x16'));var config=require(_0x92b9('0x17'));var db=require(_0x92b9('0x18'))['db'];config['redis']=_['defaults'](config[_0x92b9('0x19')],{'host':_0x92b9('0x1a'),'port':0x18eb});var socket=require(_0x92b9('0x1b'))(new Redis(config[_0x92b9('0x19')]));require('./mailAccount.socket')[_0x92b9('0x1c')](socket);var jayson=require(_0x92b9('0x1d'));var client=jayson['client'][_0x92b9('0x1e')]({'port':0x232b});function checkPasswordPattern(_0x4a94ff,_0x2ef58e,_0x21576c){if(_0x21576c){var _0x11bb03=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x11bb03[_0x92b9('0x1f')](_0x2ef58e)){return _0x4a94ff;}else{throw new db[(_0x92b9('0x20'))][(_0x92b9('0x21'))](_0x92b9('0x22'));}}else{return _0x4a94ff;}}function respondWithRpcPromise(_0x50518c,_0x329f3b,_0x140e86,_0x1f00e5){return new BPromise(function(_0x2b8edd,_0x1c9e72){var _0x3628dc=_0x1f00e5||client;return _0x3628dc[_0x92b9('0x23')](_0x50518c,_0x140e86)['then'](function(_0x54b7b9){logger[_0x92b9('0x24')](_0x92b9('0x25'),_0x329f3b,_0x92b9('0x26'));logger[_0x92b9('0x27')](_0x92b9('0x28'),_0x329f3b,_0x92b9('0x26'),JSON['stringify'](_0x54b7b9));if(_0x54b7b9[_0x92b9('0x29')]){if(_0x54b7b9['error'][_0x92b9('0x2a')]===0x1f4){logger['error']('MailAccount,\x20%s,\x20%s',_0x329f3b,_0x54b7b9[_0x92b9('0x29')]['message']);return _0x1c9e72(_0x54b7b9[_0x92b9('0x29')][_0x92b9('0x2b')]);}logger[_0x92b9('0x29')](_0x92b9('0x25'),_0x329f3b,_0x54b7b9[_0x92b9('0x29')][_0x92b9('0x2b')]);return _0x2b8edd(_0x54b7b9[_0x92b9('0x29')][_0x92b9('0x2b')]);}else{logger[_0x92b9('0x24')](_0x92b9('0x25'),_0x329f3b,'request\x20sent');_0x2b8edd(_0x54b7b9[_0x92b9('0x2c')][_0x92b9('0x2b')]);}})['catch'](function(_0x5ed231){logger[_0x92b9('0x29')]('MailAccount,\x20%s,\x20%s',_0x329f3b,_0x5ed231);_0x1c9e72(_0x5ed231);});});}function respondWithStatusCode(_0x5a1bb4,_0xfb7d6){_0xfb7d6=_0xfb7d6||0xcc;return function(_0x467f61){if(_0x467f61){return _0x5a1bb4[_0x92b9('0x2d')](_0xfb7d6);}return _0x5a1bb4[_0x92b9('0x2e')](_0xfb7d6)[_0x92b9('0x2f')]();};}function respondWithResult(_0x4658a6,_0x26902e){_0x26902e=_0x26902e||0xc8;return function(_0x291d7a){if(_0x291d7a){return _0x4658a6[_0x92b9('0x2e')](_0x26902e)[_0x92b9('0x30')](_0x291d7a);}};}function respondWithFilteredResult(_0x348c44,_0x488b7d){return function(_0x24d85e){if(_0x24d85e){var _0x402f10=_0x24d85e[_0x92b9('0x31')],_0x9bfcba=_0x488b7d[_0x92b9('0x32')],_0x2e652a=_0x488b7d[_0x92b9('0x32')]+_0x488b7d['limit'],_0xedb1b1;if(_0x2e652a>=_0x402f10){_0x2e652a=_0x402f10;_0xedb1b1=0xc8;}else{_0xedb1b1=0xce;}_0x348c44[_0x92b9('0x2e')](_0xedb1b1);return _0x348c44[_0x92b9('0x33')](_0x92b9('0x34'),_0x9bfcba+'-'+_0x2e652a+'/'+_0x402f10)[_0x92b9('0x30')](_0x24d85e);}return null;};}function patchUpdates(_0x3d8f5f){return function(_0x5e0c9a){try{jsonpatch[_0x92b9('0x35')](_0x5e0c9a,_0x3d8f5f,!![]);}catch(_0x15ae64){return BPromise[_0x92b9('0x36')](_0x15ae64);}return _0x5e0c9a['save']();};}function saveUpdates(_0x3a66f4,_0x2707ea){return function(_0x80c8eb){if(_0x80c8eb){return _0x80c8eb['update'](_0x3a66f4)[_0x92b9('0x37')](function(_0x5a2084){return _0x5a2084;});}return null;};}function removeEntity(_0x495224,_0x2a6489){return function(_0x521905){if(_0x521905){return _0x521905['destroy']()[_0x92b9('0x37')](function(){var _0xa6ede6=_0x521905['get']({'plain':!![]});var _0x17ca8b=_0x92b9('0x38');return db[_0x92b9('0x39')][_0x92b9('0x3a')]({'where':{'type':_0x17ca8b,'resourceId':_0xa6ede6['id']}})[_0x92b9('0x37')](function(){return _0x521905;});})[_0x92b9('0x37')](function(){_0x495224[_0x92b9('0x2e')](0xcc)[_0x92b9('0x2f')]();});}};}function handleEntityNotFound(_0x5b51a2,_0x19631e){return function(_0x31dfcd){if(!_0x31dfcd){_0x5b51a2[_0x92b9('0x2d')](0x194);}return _0x31dfcd;};}function handleError(_0x94bd94,_0x2b5627){_0x2b5627=_0x2b5627||0x1f4;return function(_0x117f6e){logger[_0x92b9('0x29')](_0x117f6e[_0x92b9('0x3b')]);if(_0x117f6e['name']){delete _0x117f6e[_0x92b9('0x3c')];}_0x94bd94[_0x92b9('0x2e')](_0x2b5627)[_0x92b9('0x3d')](_0x117f6e);};}exports['index']=function(_0x3f3b59,_0x22ad25){var _0xf46e7f={'include':[{'model':db['MailServerIn'],'as':_0x92b9('0x3e')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':_0x92b9('0x3f')}]},_0x26518d={},_0xf00837={'count':0x0,'rows':[]};var _0x206d6b=_['map'](db[_0x92b9('0x40')][_0x92b9('0x41')],function(_0x5061c5){return{'name':_0x5061c5[_0x92b9('0x42')],'type':_0x5061c5[_0x92b9('0x43')][_0x92b9('0x44')]};});_0x26518d[_0x92b9('0x45')]=_['map'](_0x206d6b,'name');_0x26518d[_0x92b9('0x46')]=_[_0x92b9('0x47')](_0x3f3b59[_0x92b9('0x46')]);_0x26518d[_0x92b9('0x48')]=_[_0x92b9('0x49')](_0x26518d[_0x92b9('0x45')],_0x26518d['query']);_0xf46e7f[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x26518d[_0x92b9('0x45')],qs[_0x92b9('0x4b')](_0x3f3b59['query'][_0x92b9('0x4b')]));_0xf46e7f[_0x92b9('0x4a')]=_0xf46e7f['attributes'][_0x92b9('0x4c')]?_0xf46e7f['attributes']:_0x26518d[_0x92b9('0x45')];if(!_0x3f3b59['query'][_0x92b9('0x4d')]('nolimit')){_0xf46e7f['limit']=qs[_0x92b9('0x4e')](_0x3f3b59['query'][_0x92b9('0x4e')]);_0xf46e7f[_0x92b9('0x32')]=qs['offset'](_0x3f3b59[_0x92b9('0x46')][_0x92b9('0x32')]);}_0xf46e7f[_0x92b9('0x4f')]=qs[_0x92b9('0x50')](_0x3f3b59[_0x92b9('0x46')]['sort']);_0xf46e7f[_0x92b9('0x51')]=qs[_0x92b9('0x48')](_[_0x92b9('0x52')](_0x3f3b59[_0x92b9('0x46')],_0x26518d[_0x92b9('0x48')]));if(_0x3f3b59[_0x92b9('0x46')]['filter']){_0xf46e7f[_0x92b9('0x51')]=_[_0x92b9('0x53')](_0xf46e7f[_0x92b9('0x51')],{'$or':_[_0x92b9('0x54')](_0x206d6b,function(_0xc3e5d4){if(_0xc3e5d4[_0x92b9('0x43')]!==_0x92b9('0x55')){var _0x2383aa={};_0x2383aa[_0xc3e5d4[_0x92b9('0x3c')]]={'$like':'%'+_0x3f3b59[_0x92b9('0x46')][_0x92b9('0x56')]+'%'};return _0x2383aa;}})});}_0xf46e7f=_['merge']({},_0xf46e7f,_0x3f3b59[_0x92b9('0x57')]);var _0x17096d={'where':_0xf46e7f['where']};return db[_0x92b9('0x40')][_0x92b9('0x31')](_0x17096d)[_0x92b9('0x37')](function(_0x278811){_0xf00837[_0x92b9('0x31')]=_0x278811;if(_0x3f3b59[_0x92b9('0x46')][_0x92b9('0x58')]){_0xf46e7f[_0x92b9('0x59')]=[{'all':!![]}];}return db[_0x92b9('0x40')][_0x92b9('0x5a')](_0xf46e7f);})[_0x92b9('0x37')](function(_0x53c921){_0xf00837[_0x92b9('0x5b')]=_0x53c921;return _0xf00837;})[_0x92b9('0x37')](respondWithFilteredResult(_0x22ad25,_0xf46e7f))[_0x92b9('0x5c')](handleError(_0x22ad25,null));};exports[_0x92b9('0x5d')]=function(_0x3f08b5,_0x78f443){var _0x29999b={'raw':![],'where':{'id':_0x3f08b5[_0x92b9('0x5e')]['id']},'include':[{'model':db[_0x92b9('0x5f')],'as':_0x92b9('0x3e')},{'model':db[_0x92b9('0x60')],'as':_0x92b9('0x61')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x4580ac={};_0x4580ac[_0x92b9('0x45')]=_['keys'](db['MailAccount'][_0x92b9('0x41')]);_0x4580ac['query']=_[_0x92b9('0x47')](_0x3f08b5[_0x92b9('0x46')]);_0x4580ac[_0x92b9('0x48')]=_['intersection'](_0x4580ac[_0x92b9('0x45')],_0x4580ac[_0x92b9('0x46')]);_0x29999b[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x4580ac[_0x92b9('0x45')],qs[_0x92b9('0x4b')](_0x3f08b5[_0x92b9('0x46')][_0x92b9('0x4b')]));_0x29999b[_0x92b9('0x4a')]=_0x29999b['attributes']['length']?_0x29999b[_0x92b9('0x4a')]:_0x4580ac['model'];if(_0x3f08b5[_0x92b9('0x46')][_0x92b9('0x58')]){_0x29999b[_0x92b9('0x59')]=[{'all':!![]}];}_0x29999b=_['merge']({},_0x29999b,_0x3f08b5[_0x92b9('0x57')]);return db[_0x92b9('0x40')][_0x92b9('0x62')](_0x29999b)[_0x92b9('0x37')](handleEntityNotFound(_0x78f443,null))[_0x92b9('0x37')](respondWithResult(_0x78f443,null))[_0x92b9('0x5c')](handleError(_0x78f443,null));};exports[_0x92b9('0x63')]=function(_0x320f42,_0x2f9326){if(_0x320f42[_0x92b9('0x64')]['id']){delete _0x320f42[_0x92b9('0x64')]['id'];}return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x320f42[_0x92b9('0x5e')]['id']},'include':[{'model':db[_0x92b9('0x5f')],'as':_0x92b9('0x3e')},{'model':db[_0x92b9('0x60')],'as':_0x92b9('0x61')},{'model':db[_0x92b9('0x65')],'as':_0x92b9('0x3f')}]})[_0x92b9('0x37')](handleEntityNotFound(_0x2f9326,null))[_0x92b9('0x37')](saveUpdates(_0x320f42[_0x92b9('0x64')],null))[_0x92b9('0x37')](function(_0x500deb){if(_0x500deb&&_0x320f42['body']['Imap']){return db[_0x92b9('0x5f')][_0x92b9('0x63')](_0x320f42[_0x92b9('0x64')][_0x92b9('0x3e')],{'where':{'MailAccountId':_0x500deb['id']}})['then'](function(){return _0x500deb;});}return _0x500deb;})['then'](function(_0x5728dd){if(_0x5728dd&&_0x320f42['body'][_0x92b9('0x61')]){return db[_0x92b9('0x60')]['update'](_0x320f42[_0x92b9('0x64')][_0x92b9('0x61')],{'where':{'MailAccountId':_0x5728dd['id']}})[_0x92b9('0x37')](function(){return _0x5728dd;});}return _0x5728dd;})[_0x92b9('0x37')](respondWithResult(_0x2f9326,null))[_0x92b9('0x5c')](handleError(_0x2f9326,null));};exports[_0x92b9('0x66')]=function(_0x368405,_0x202d6c){return db['MailAccount'][_0x92b9('0x66')]()[_0x92b9('0x37')](respondWithResult(_0x202d6c,null))['catch'](handleError(_0x202d6c,null));};exports[_0x92b9('0x67')]=function(_0x26c502,_0x3f2ff3,_0x4645c8){if(_0x26c502[_0x92b9('0x64')]['id']){delete _0x26c502['body']['id'];}return db[_0x92b9('0x40')]['find']({'where':{'id':_0x26c502[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x3f2ff3,null))[_0x92b9('0x37')](function(_0x42b777){if(_0x42b777){_0x26c502[_0x92b9('0x64')]['MailAccountId']=_0x42b777['id'];return db[_0x92b9('0x68')][_0x92b9('0x69')](_0x26c502[_0x92b9('0x64')]);}})[_0x92b9('0x37')](respondWithResult(_0x3f2ff3,null))[_0x92b9('0x5c')](handleError(_0x3f2ff3,null));};exports[_0x92b9('0x6a')]=function(_0x3ec647,_0x1dbdd2,_0x442fb0){var _0x2c2e41={'raw':![],'where':{}};var _0x6c7b59={};var _0x412bed={'count':0x0,'rows':[]};return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x3ec647[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x1dbdd2,null))[_0x92b9('0x37')](function(_0x51dcd9){if(_0x51dcd9){_0x6c7b59[_0x92b9('0x45')]=_[_0x92b9('0x47')](db[_0x92b9('0x68')][_0x92b9('0x41')]);_0x6c7b59[_0x92b9('0x46')]=_[_0x92b9('0x47')](_0x3ec647[_0x92b9('0x46')]);_0x6c7b59['filters']=_['intersection'](_0x6c7b59[_0x92b9('0x45')],_0x6c7b59[_0x92b9('0x46')]);_0x2c2e41[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x6c7b59[_0x92b9('0x45')],qs['fields'](_0x3ec647[_0x92b9('0x46')][_0x92b9('0x4b')]));_0x2c2e41[_0x92b9('0x4a')]=_0x2c2e41['attributes'][_0x92b9('0x4c')]?_0x2c2e41[_0x92b9('0x4a')]:_0x6c7b59['model'];if(!_0x3ec647[_0x92b9('0x46')][_0x92b9('0x4d')]('nolimit')){_0x2c2e41[_0x92b9('0x4e')]=qs['limit'](_0x3ec647[_0x92b9('0x46')][_0x92b9('0x4e')]);_0x2c2e41[_0x92b9('0x32')]=qs[_0x92b9('0x32')](_0x3ec647[_0x92b9('0x46')][_0x92b9('0x32')]);}_0x2c2e41[_0x92b9('0x4f')]=qs[_0x92b9('0x50')](_0x3ec647[_0x92b9('0x46')][_0x92b9('0x50')]);_0x2c2e41[_0x92b9('0x51')]=qs['filters'](_[_0x92b9('0x52')](_0x3ec647[_0x92b9('0x46')],_0x6c7b59['filters']));_0x2c2e41[_0x92b9('0x51')][_0x92b9('0x6c')]=_0x51dcd9['id'];if(_0x3ec647[_0x92b9('0x46')][_0x92b9('0x56')]){_0x2c2e41[_0x92b9('0x51')]=_['merge'](_0x2c2e41['where'],{'$or':_[_0x92b9('0x54')](_0x2c2e41[_0x92b9('0x4a')],function(_0x4248bd){var _0xfa37ba={};_0xfa37ba[_0x4248bd]={'$like':'%'+_0x3ec647[_0x92b9('0x46')][_0x92b9('0x56')]+'%'};return _0xfa37ba;})});}_0x2c2e41=_[_0x92b9('0x53')]({},_0x2c2e41,_0x3ec647[_0x92b9('0x57')]);return db['Disposition'][_0x92b9('0x31')]({'where':_0x2c2e41[_0x92b9('0x51')]})[_0x92b9('0x37')](function(_0x4af37b){_0x412bed[_0x92b9('0x31')]=_0x4af37b;if(_0x3ec647[_0x92b9('0x46')][_0x92b9('0x58')]){_0x2c2e41[_0x92b9('0x59')]=[{'all':!![]}];}return db[_0x92b9('0x68')][_0x92b9('0x5a')](_0x2c2e41);})['then'](function(_0x4ecff6){_0x412bed['rows']=_0x4ecff6;return _0x412bed;});}})[_0x92b9('0x37')](respondWithFilteredResult(_0x1dbdd2,_0x2c2e41))['catch'](handleError(_0x1dbdd2,null));};exports[_0x92b9('0x6d')]=function(_0x492b55,_0x28486e,_0x2f3d2a){return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x492b55[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x28486e,null))[_0x92b9('0x37')](function(_0x26b90b){if(_0x26b90b){return _0x26b90b[_0x92b9('0x6d')](_0x492b55[_0x92b9('0x46')]['ids']);}})[_0x92b9('0x37')](respondWithStatusCode(_0x28486e,null))[_0x92b9('0x5c')](handleError(_0x28486e,null));};exports[_0x92b9('0x6e')]=function(_0x4929da,_0x3173f0,_0x4d1ab2){if(_0x4929da[_0x92b9('0x64')]['id']){delete _0x4929da['body']['id'];}return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x4929da[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x3173f0,null))[_0x92b9('0x37')](function(_0x12a8ad){if(_0x12a8ad){_0x4929da['body']['MailAccountId']=_0x12a8ad['id'];return db['CannedAnswer'][_0x92b9('0x69')](_0x4929da[_0x92b9('0x64')]);}})[_0x92b9('0x37')](respondWithResult(_0x3173f0,null))['catch'](handleError(_0x3173f0,null));};exports[_0x92b9('0x6f')]=function(_0x3ccd50,_0x456fb3,_0xeab738){var _0x566531={'raw':![],'where':{}};var _0x514cd5={};var _0x3d7da4={'count':0x0,'rows':[]};return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x3ccd50[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x456fb3,null))['then'](function(_0xf925ff){if(_0xf925ff){_0x514cd5[_0x92b9('0x45')]=_['keys'](db[_0x92b9('0x70')][_0x92b9('0x41')]);_0x514cd5[_0x92b9('0x46')]=_['keys'](_0x3ccd50[_0x92b9('0x46')]);_0x514cd5['filters']=_[_0x92b9('0x49')](_0x514cd5[_0x92b9('0x45')],_0x514cd5[_0x92b9('0x46')]);_0x566531['attributes']=_[_0x92b9('0x49')](_0x514cd5['model'],qs[_0x92b9('0x4b')](_0x3ccd50[_0x92b9('0x46')][_0x92b9('0x4b')]));_0x566531['attributes']=_0x566531[_0x92b9('0x4a')][_0x92b9('0x4c')]?_0x566531[_0x92b9('0x4a')]:_0x514cd5['model'];if(!_0x3ccd50[_0x92b9('0x46')][_0x92b9('0x4d')]('nolimit')){_0x566531['limit']=qs['limit'](_0x3ccd50[_0x92b9('0x46')][_0x92b9('0x4e')]);_0x566531[_0x92b9('0x32')]=qs['offset'](_0x3ccd50['query'][_0x92b9('0x32')]);}_0x566531[_0x92b9('0x4f')]=qs[_0x92b9('0x50')](_0x3ccd50[_0x92b9('0x46')][_0x92b9('0x50')]);_0x566531[_0x92b9('0x51')]=qs[_0x92b9('0x48')](_[_0x92b9('0x52')](_0x3ccd50[_0x92b9('0x46')],_0x514cd5[_0x92b9('0x48')]));_0x566531['where']['MailAccountId']=_0xf925ff['id'];if(_0x3ccd50['query']['filter']){_0x566531[_0x92b9('0x51')]=_['merge'](_0x566531['where'],{'$or':_['map'](_0x566531[_0x92b9('0x4a')],function(_0x20bbae){var _0x183243={};_0x183243[_0x20bbae]={'$like':'%'+_0x3ccd50[_0x92b9('0x46')]['filter']+'%'};return _0x183243;})});}_0x566531=_[_0x92b9('0x53')]({},_0x566531,_0x3ccd50[_0x92b9('0x57')]);return db[_0x92b9('0x70')][_0x92b9('0x31')]({'where':_0x566531[_0x92b9('0x51')]})[_0x92b9('0x37')](function(_0x208761){_0x3d7da4[_0x92b9('0x31')]=_0x208761;if(_0x3ccd50[_0x92b9('0x46')][_0x92b9('0x58')]){_0x566531[_0x92b9('0x59')]=[{'all':!![]}];}return db['CannedAnswer']['findAll'](_0x566531);})[_0x92b9('0x37')](function(_0xa143c9){_0x3d7da4[_0x92b9('0x5b')]=_0xa143c9;return _0x3d7da4;});}})[_0x92b9('0x37')](respondWithFilteredResult(_0x456fb3,_0x566531))['catch'](handleError(_0x456fb3,null));};exports['removeAnswers']=function(_0x5ddcd7,_0x3bddf2,_0x3e9457){return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x5ddcd7[_0x92b9('0x5e')]['id']}})['then'](handleEntityNotFound(_0x3bddf2,null))[_0x92b9('0x37')](function(_0xc21d3a){if(_0xc21d3a){return _0xc21d3a[_0x92b9('0x71')](_0x5ddcd7[_0x92b9('0x46')]['ids']);}})[_0x92b9('0x37')](respondWithStatusCode(_0x3bddf2,null))[_0x92b9('0x5c')](handleError(_0x3bddf2,null));};exports['create']=function(_0x239732,_0xc487c){var _0x1c6abe={'name':_0x239732[_0x92b9('0x64')][_0x92b9('0x3c')],'key':_0x239732[_0x92b9('0x64')][_0x92b9('0x44')],'email':_0x239732[_0x92b9('0x64')][_0x92b9('0x72')],'ListId':_0x239732['body']['ListId'],'active':!_['isNil'](_0x239732[_0x92b9('0x64')][_0x92b9('0x73')])?_0x239732[_0x92b9('0x64')][_0x92b9('0x73')]:!![],'description':_0x239732[_0x92b9('0x64')]['description']||null,'Imap':{},'Smtp':{}};if(_[_0x92b9('0x74')](_0x239732[_0x92b9('0x64')]['cservice'])){if(_0x239732['body']['cauthentication']){_0x1c6abe[_0x92b9('0x3e')]['user']=_0x1c6abe[_0x92b9('0x61')][_0x92b9('0x75')]=_0x239732[_0x92b9('0x64')]['cuser'];_0x1c6abe[_0x92b9('0x3e')]['password']=_0x1c6abe[_0x92b9('0x61')][_0x92b9('0x76')]=_0x239732['body'][_0x92b9('0x77')];}else{_0x1c6abe['Imap']['authentication']=_0x1c6abe[_0x92b9('0x61')][_0x92b9('0x78')]=![];}_0x1c6abe[_0x92b9('0x3e')][_0x92b9('0x79')]=_0x239732['body'][_0x92b9('0x3e')][_0x92b9('0x79')];_0x1c6abe[_0x92b9('0x3e')]['port']=_0x239732['body'][_0x92b9('0x3e')][_0x92b9('0x7a')];_0x1c6abe['Smtp']['host']=_0x239732[_0x92b9('0x64')][_0x92b9('0x61')][_0x92b9('0x79')];_0x1c6abe[_0x92b9('0x61')][_0x92b9('0x7a')]=_0x239732[_0x92b9('0x64')][_0x92b9('0x61')][_0x92b9('0x7a')];}else{_0x1c6abe[_0x92b9('0x3e')][_0x92b9('0x7b')]=_0x1c6abe['Smtp'][_0x92b9('0x7b')]=_0x239732[_0x92b9('0x64')]['cservice'];_0x1c6abe[_0x92b9('0x3e')][_0x92b9('0x75')]=_0x1c6abe['Smtp'][_0x92b9('0x75')]=_0x239732['body'][_0x92b9('0x7c')];_0x1c6abe[_0x92b9('0x3e')][_0x92b9('0x7d')]=_0x1c6abe['Smtp'][_0x92b9('0x76')]=_0x239732[_0x92b9('0x64')][_0x92b9('0x77')];}return db['MailAccount'][_0x92b9('0x69')](_0x1c6abe,{'include':[{'model':db[_0x92b9('0x60')],'as':_0x92b9('0x61')},{'model':db[_0x92b9('0x5f')],'as':_0x92b9('0x3e')}]})['then'](function(_0x2f8e9c){var _0x40d236=_0x239732[_0x92b9('0x75')]['get']({'plain':!![]});if(!_0x40d236)throw new Error(_0x92b9('0x7e'));if(_0x40d236[_0x92b9('0x7f')]===_0x92b9('0x75')){var _0x306a99=_0x2f8e9c[_0x92b9('0x80')]({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0x92b9('0x38'),'userProfileId':_0x40d236[_0x92b9('0x81')]},'raw':!![]})[_0x92b9('0x37')](function(_0x4018df){if(_0x4018df&&_0x4018df[_0x92b9('0x82')]===0x0){return db[_0x92b9('0x39')][_0x92b9('0x69')]({'name':_0x306a99[_0x92b9('0x3c')],'resourceId':_0x306a99['id'],'type':_0x4018df[_0x92b9('0x3c')],'sectionId':_0x4018df['id']},{})['then'](function(){return _0x2f8e9c;});}else{return _0x2f8e9c;}})[_0x92b9('0x5c')](function(_0x16bc48){logger['error'](_0x92b9('0x83'),_0x16bc48);throw _0x16bc48;});}return _0x2f8e9c;})[_0x92b9('0x37')](respondWithResult(_0xc487c,0xc9))[_0x92b9('0x5c')](handleError(_0xc487c,null));};exports[_0x92b9('0x84')]=function(_0x15c323,_0x110f10,_0x32c7bd){return db['MailAccount']['findOne']({'where':{'id':_0x15c323[_0x92b9('0x5e')]['id']}})['then'](handleEntityNotFound(_0x110f10,null))[_0x92b9('0x37')](function(_0x33d7ca){if(_0x33d7ca){return _0x33d7ca['getImap']();}return null;})[_0x92b9('0x37')](respondWithResult(_0x110f10,null))[_0x92b9('0x5c')](handleError(_0x110f10,null));};exports[_0x92b9('0x85')]=function(_0x258953,_0x26dc70,_0x49ea9c){if(_0x258953['body']['id']){delete _0x258953[_0x92b9('0x64')]['id'];}return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x258953[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x26dc70,null))['then'](function(_0x24a7d9){if(_0x24a7d9){_0x258953[_0x92b9('0x64')][_0x92b9('0x6c')]=_0x24a7d9['id'];return db[_0x92b9('0x5f')][_0x92b9('0x69')](_0x258953[_0x92b9('0x64')]);}})[_0x92b9('0x37')](respondWithResult(_0x26dc70,null))[_0x92b9('0x5c')](handleError(_0x26dc70,null));};exports['removeImap']=function(_0x2bb432,_0x5a6275,_0x164d9d){return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x2bb432[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x5a6275,null))[_0x92b9('0x37')](function(_0x3d3d86){if(_0x3d3d86){return _0x3d3d86[_0x92b9('0x86')](null);}return null;})[_0x92b9('0x37')](respondWithStatusCode(_0x5a6275,null))[_0x92b9('0x5c')](handleError(_0x5a6275,null));};exports['getSmtp']=function(_0x31ced5,_0x52755e,_0x5a2c08){return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x31ced5[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x52755e,null))['then'](function(_0x26f3ee){if(_0x26f3ee){return _0x26f3ee[_0x92b9('0x87')]();}return null;})[_0x92b9('0x37')](respondWithResult(_0x52755e,null))['catch'](handleError(_0x52755e,null));};exports['addSmtp']=function(_0x42f7b3,_0x5938df,_0x58d695){if(_0x42f7b3[_0x92b9('0x64')]['id']){delete _0x42f7b3['body']['id'];}return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x42f7b3[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x5938df,null))[_0x92b9('0x37')](function(_0x474278){if(_0x474278){_0x42f7b3[_0x92b9('0x64')][_0x92b9('0x6c')]=_0x474278['id'];return db['MailServerOut'][_0x92b9('0x69')](_0x42f7b3[_0x92b9('0x64')]);}})[_0x92b9('0x37')](respondWithResult(_0x5938df,null))[_0x92b9('0x5c')](handleError(_0x5938df,null));};exports[_0x92b9('0x88')]=function(_0x2a407b,_0x33e11d,_0xab2f00){return db[_0x92b9('0x40')]['findOne']({'where':{'id':_0x2a407b['params']['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x33e11d,null))[_0x92b9('0x37')](function(_0xe28952){if(_0xe28952){return _0xe28952['setSmtp'](null);}return null;})[_0x92b9('0x37')](respondWithStatusCode(_0x33e11d,null))['catch'](handleError(_0x33e11d,null));};exports[_0x92b9('0x89')]=function(_0x558cf9,_0x1fc31e,_0x39cd70){return db[_0x92b9('0x8a')]['find']({'where':{'id':_0x558cf9['params']['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x1fc31e,null))[_0x92b9('0x37')](function(_0x4d98ff){if(_0x4d98ff){return _0x4d98ff['addInteraction'](_0x558cf9[_0x92b9('0x64')][_0x92b9('0x8b')],_[_0x92b9('0x8c')](_0x558cf9[_0x92b9('0x64')],[_0x92b9('0x8b'),'id'])||{});}})[_0x92b9('0x37')](respondWithResult(_0x1fc31e,null))[_0x92b9('0x5c')](handleError(_0x1fc31e,null));};exports[_0x92b9('0x8d')]=function(_0x52650f,_0x4892de,_0x13c933){var _0x452e28={'raw':![],'where':{}};var _0x295c77={};var _0x4ef583={'count':0x0,'rows':[]};return db[_0x92b9('0x40')]['findOne']({'where':{'id':_0x52650f['params']['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x4892de,null))['then'](function(_0x802207){if(_0x802207){_0x295c77[_0x92b9('0x45')]=_[_0x92b9('0x47')](db['MailInteraction'][_0x92b9('0x41')]);_0x295c77['query']=_[_0x92b9('0x47')](_0x52650f['query']);_0x295c77[_0x92b9('0x48')]=_[_0x92b9('0x49')](_0x295c77[_0x92b9('0x45')],_0x295c77[_0x92b9('0x46')]);_0x452e28[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x295c77['model'],qs[_0x92b9('0x4b')](_0x52650f[_0x92b9('0x46')][_0x92b9('0x4b')]));_0x452e28['attributes']=_0x452e28[_0x92b9('0x4a')][_0x92b9('0x4c')]?_0x452e28[_0x92b9('0x4a')]:_0x295c77[_0x92b9('0x45')];if(!_0x52650f['query'][_0x92b9('0x4d')](_0x92b9('0x8e'))){_0x452e28[_0x92b9('0x4e')]=qs[_0x92b9('0x4e')](_0x52650f[_0x92b9('0x46')]['limit']);_0x452e28[_0x92b9('0x32')]=qs[_0x92b9('0x32')](_0x52650f[_0x92b9('0x46')][_0x92b9('0x32')]);}_0x452e28[_0x92b9('0x4f')]=qs[_0x92b9('0x50')](_0x52650f['query'][_0x92b9('0x50')]);_0x452e28['where']=qs['filters'](_[_0x92b9('0x52')](_0x52650f[_0x92b9('0x46')],_0x295c77[_0x92b9('0x48')]));_0x452e28[_0x92b9('0x51')][_0x92b9('0x6c')]=_0x802207['id'];if(_0x52650f['query'][_0x92b9('0x56')]){_0x452e28[_0x92b9('0x51')]=_[_0x92b9('0x53')](_0x452e28[_0x92b9('0x51')],{'$or':_[_0x92b9('0x54')](_0x452e28[_0x92b9('0x4a')],function(_0x451f14){var _0x29a9c1={};_0x29a9c1[_0x451f14]={'$like':'%'+_0x52650f[_0x92b9('0x46')]['filter']+'%'};return _0x29a9c1;})});}_0x452e28=_[_0x92b9('0x53')]({},_0x452e28,_0x52650f[_0x92b9('0x57')]);return db['MailInteraction'][_0x92b9('0x31')]({'where':_0x452e28['where']})[_0x92b9('0x37')](function(_0x332812){_0x4ef583[_0x92b9('0x31')]=_0x332812;if(_0x52650f[_0x92b9('0x46')]['includeAll']){_0x452e28[_0x92b9('0x59')]=[{'model':db[_0x92b9('0x8f')],'as':_0x92b9('0x90'),'required':![]},{'model':db[_0x92b9('0x91')],'as':_0x92b9('0x92'),'attributes':[_0x92b9('0x3c'),_0x92b9('0x93'),_0x92b9('0x94')],'required':![]},{'model':db[_0x92b9('0x95')],'as':_0x92b9('0x96'),'attributes':['id','name',_0x92b9('0x97')],'where':_0x52650f[_0x92b9('0x46')][_0x92b9('0x98')]?{'id':_0x52650f[_0x92b9('0x46')]['tag']}:undefined,'required':_0x52650f[_0x92b9('0x46')][_0x92b9('0x98')]?!![]:![]}];}return db[_0x92b9('0x8a')][_0x92b9('0x5a')](_0x452e28);})[_0x92b9('0x37')](function(_0x301236){_0x4ef583[_0x92b9('0x5b')]=_0x301236;return _0x4ef583;});}})[_0x92b9('0x37')](respondWithFilteredResult(_0x4892de,_0x452e28))['catch'](handleError(_0x4892de,null));};exports['addApplications']=function(_0x6cbac3,_0x2ff714,_0x2ef02c){return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x6cbac3[_0x92b9('0x5e')]['id']}})['then'](handleEntityNotFound(_0x2ff714,null))[_0x92b9('0x37')](function(_0x5f5a3e){if(_0x5f5a3e){return db[_0x92b9('0x99')]['transaction'](function(_0x18e720){return db[_0x92b9('0x9a')][_0x92b9('0x3a')]({'where':{'MailAccountId':_0x6cbac3[_0x92b9('0x5e')]['id']},'transaction':_0x18e720})[_0x92b9('0x37')](function(_0x263a2a){var _0x10522b=_[_0x92b9('0x54')](_0x6cbac3[_0x92b9('0x64')],function(_0x132e9a){_0x132e9a[_0x92b9('0x6c')]=_0x6cbac3[_0x92b9('0x5e')]['id'];return _0x132e9a;});return db[_0x92b9('0x9a')]['bulkCreate'](_0x10522b,{'transaction':_0x18e720});});})[_0x92b9('0x37')](function(){return db[_0x92b9('0x9a')]['findAndCountAll']({'where':{'MailAccountId':_0x6cbac3[_0x92b9('0x5e')]['id']},'order':_0x92b9('0x9b')});});}})[_0x92b9('0x37')](respondWithResult(_0x2ff714,null))[_0x92b9('0x5c')](handleError(_0x2ff714,null));};exports[_0x92b9('0x9c')]=function(_0x26bc67,_0xad2478,_0x2cb609){var _0x59741d={};var _0x2cbd91={};var _0x13602d;var _0x1743cc;return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x26bc67[_0x92b9('0x5e')]['id']}})['then'](handleEntityNotFound(_0xad2478,null))['then'](function(_0x554731){if(_0x554731){_0x13602d=_0x554731;_0x2cbd91[_0x92b9('0x45')]=_[_0x92b9('0x47')](db[_0x92b9('0x9a')][_0x92b9('0x41')]);_0x2cbd91[_0x92b9('0x46')]=_[_0x92b9('0x47')](_0x26bc67[_0x92b9('0x46')]);_0x2cbd91[_0x92b9('0x48')]=_[_0x92b9('0x49')](_0x2cbd91[_0x92b9('0x45')],_0x2cbd91[_0x92b9('0x46')]);_0x59741d[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x2cbd91[_0x92b9('0x45')],qs[_0x92b9('0x4b')](_0x26bc67['query'][_0x92b9('0x4b')]));_0x59741d[_0x92b9('0x4a')]=_0x59741d[_0x92b9('0x4a')][_0x92b9('0x4c')]?_0x59741d[_0x92b9('0x4a')]:_0x2cbd91[_0x92b9('0x45')];_0x59741d[_0x92b9('0x4f')]=qs['sort'](_0x26bc67[_0x92b9('0x46')]['sort']);_0x59741d['where']=qs[_0x92b9('0x48')](_['pick'](_0x26bc67[_0x92b9('0x46')],_0x2cbd91[_0x92b9('0x48')]));if(_0x26bc67['query'][_0x92b9('0x56')]){_0x59741d[_0x92b9('0x51')]=_[_0x92b9('0x53')](_0x59741d[_0x92b9('0x51')],{'$or':_[_0x92b9('0x54')](_0x59741d['attributes'],function(_0xba2f8c){var _0x2608c3={};_0x2608c3[_0xba2f8c]={'$like':'%'+_0x26bc67[_0x92b9('0x46')][_0x92b9('0x56')]+'%'};return _0x2608c3;})});}_0x59741d=_['merge']({},_0x59741d,_0x26bc67[_0x92b9('0x57')]);return _0x13602d['getApplications'](_0x59741d);}})[_0x92b9('0x37')](function(_0x3f700c){if(_0x3f700c){_0x1743cc=_0x3f700c['length'];if(!_0x26bc67[_0x92b9('0x46')][_0x92b9('0x4d')](_0x92b9('0x8e'))){_0x59741d[_0x92b9('0x4e')]=qs[_0x92b9('0x4e')](_0x26bc67[_0x92b9('0x46')][_0x92b9('0x4e')]);_0x59741d[_0x92b9('0x32')]=qs[_0x92b9('0x32')](_0x26bc67['query'][_0x92b9('0x32')]);}return _0x13602d[_0x92b9('0x9c')](_0x59741d);}})[_0x92b9('0x37')](function(_0x27c919){if(_0x27c919){return _0x27c919?{'count':_0x1743cc,'rows':_0x27c919}:null;}})[_0x92b9('0x37')](respondWithResult(_0xad2478,null))[_0x92b9('0x5c')](handleError(_0xad2478,null));};exports[_0x92b9('0x9d')]=function(_0x3ae58e,_0x3cd17b,_0x8232e4){var _0x4a4759={'raw':!![],'where':{}};var _0x379928={};var _0x228ed0={'count':0x0,'rows':[]};return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x3ae58e[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x3cd17b,null))['then'](function(_0x21bc4d){if(_0x21bc4d){_0x379928[_0x92b9('0x45')]=_[_0x92b9('0x47')](db[_0x92b9('0x9e')]['rawAttributes']);_0x379928['query']=_['keys'](_0x3ae58e['query']);_0x379928[_0x92b9('0x48')]=_[_0x92b9('0x49')](_0x379928[_0x92b9('0x45')],_0x379928[_0x92b9('0x46')]);_0x4a4759[_0x92b9('0x4a')]=_['intersection'](_0x379928[_0x92b9('0x45')],qs['fields'](_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x4b')]));_0x4a4759[_0x92b9('0x4a')]=_0x4a4759[_0x92b9('0x4a')][_0x92b9('0x4c')]?_0x4a4759[_0x92b9('0x4a')]:_0x379928['model'];if(!_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x4d')](_0x92b9('0x8e'))){_0x4a4759['limit']=qs[_0x92b9('0x4e')](_0x3ae58e['query']['limit']);_0x4a4759[_0x92b9('0x32')]=qs[_0x92b9('0x32')](_0x3ae58e[_0x92b9('0x46')]['offset']);}_0x4a4759[_0x92b9('0x4f')]=qs[_0x92b9('0x50')](_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x50')]);_0x4a4759[_0x92b9('0x51')]=qs[_0x92b9('0x48')](_[_0x92b9('0x52')](_0x3ae58e[_0x92b9('0x46')],_0x379928[_0x92b9('0x48')]));_0x4a4759[_0x92b9('0x51')]['MailAccountId']=_0x21bc4d['id'];if(_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x56')]){_0x4a4759['where']=_[_0x92b9('0x53')](_0x4a4759[_0x92b9('0x51')],{'$or':_[_0x92b9('0x54')](_0x4a4759[_0x92b9('0x4a')],function(_0x3c36ac){var _0x4fd92a={};_0x4fd92a[_0x3c36ac]={'$like':'%'+_0x3ae58e['query'][_0x92b9('0x56')]+'%'};return _0x4fd92a;})});}if(_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x9f')]){var _0x334e0a=_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x9f')][_0x92b9('0xa0')](',');var _0x4f1ced={};_0x4f1ced[_0x334e0a[0x0]]={'$gte':moment(_0x334e0a[0x1])['format'](_0x92b9('0xa1'))};_0x4a4759[_0x92b9('0x51')]=_['merge'](_0x4a4759[_0x92b9('0x51')],_0x4f1ced);}_0x4a4759=_[_0x92b9('0x53')]({},_0x4a4759,_0x3ae58e[_0x92b9('0x57')]);return db[_0x92b9('0x9e')][_0x92b9('0x31')]({'where':_0x4a4759[_0x92b9('0x51')]})[_0x92b9('0x37')](function(_0x1e3b0b){_0x228ed0['count']=_0x1e3b0b;if(_0x3ae58e[_0x92b9('0x46')][_0x92b9('0x58')]){_0x4a4759[_0x92b9('0x59')]=[{'all':!![]}];}return db[_0x92b9('0x9e')]['findAll'](_0x4a4759);})[_0x92b9('0x37')](function(_0x3ebd92){_0x228ed0['rows']=_0x3ebd92;return _0x228ed0;});}})[_0x92b9('0x37')](respondWithFilteredResult(_0x3cd17b,_0x4a4759))[_0x92b9('0x5c')](handleError(_0x3cd17b,null));};exports[_0x92b9('0x3d')]=function(_0x32e8e3,_0x2216dc,_0x48d0f7){var _0x1f3ae5,_0x3b6ecd={},_0x2d3ef1;if(_0x32e8e3[_0x92b9('0x64')]['to']){_0x2d3ef1=_0x32e8e3[_0x92b9('0x64')]['to'][_0x92b9('0xa0')](',')[0x0];}return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x32e8e3['params']['id']},'include':[{'model':db[_0x92b9('0xa2')],'as':'List','include':[{'model':db[_0x92b9('0x8f')],'as':_0x92b9('0xa3'),'where':{'email':_0x2d3ef1},'limit':0x1,'order':[[_0x92b9('0xa4'),_0x92b9('0xa5')]]}]},{'model':db[_0x92b9('0x60')],'as':'Smtp','raw':!![]}]})[_0x92b9('0x37')](handleEntityNotFound(_0x2216dc,null))[_0x92b9('0x37')](function(_0x4a889c){if(_0x4a889c){_0x1f3ae5=_0x4a889c;if(_0x4a889c[_0x92b9('0x61')]){if(_[_0x92b9('0x74')](_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xa6')])){_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xa6')]=util[_0x92b9('0xa7')](_0x92b9('0xa8'),_0x4a889c[_0x92b9('0x3c')],_0x4a889c[_0x92b9('0x72')]||_0x4a889c['Smtp'][_0x92b9('0x75')]);}if(_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xa9')]&&_0x32e8e3['body'][_0x92b9('0xa9')][_0x92b9('0x4c')]){for(var _0xed6389=0x0;_0xed6389<_0x32e8e3[_0x92b9('0x64')]['attachments']['length'];_0xed6389+=0x1){_0x32e8e3[_0x92b9('0x64')]['attachments'][_0xed6389]={'filename':_0x32e8e3[_0x92b9('0x64')]['attachments'][_0xed6389][_0x92b9('0x3c')],'path':path[_0x92b9('0xaa')](config[_0x92b9('0xab')],_0x92b9('0xac'),_0x32e8e3['body']['attachments'][_0xed6389][_0x92b9('0xad')])};}}var _0x5393f0={'tls':{'rejectUnauthorized':![]}};if(_[_0x92b9('0x74')](_0x4a889c[_0x92b9('0x61')][_0x92b9('0x7b')])){if(_0x4a889c[_0x92b9('0x61')]['authentication']){_0x5393f0[_0x92b9('0xae')]={'user':_0x4a889c[_0x92b9('0x61')][_0x92b9('0x75')],'pass':_0x4a889c['Smtp'][_0x92b9('0x76')]};}_0x5393f0[_0x92b9('0x79')]=_0x4a889c['Smtp'][_0x92b9('0x79')];_0x5393f0[_0x92b9('0x7a')]=_0x4a889c[_0x92b9('0x61')][_0x92b9('0x7a')];_0x5393f0[_0x92b9('0xaf')]=_0x4a889c[_0x92b9('0x61')]['secure'];}else{_0x5393f0['service']=_0x4a889c[_0x92b9('0x61')][_0x92b9('0x7b')];_0x5393f0['auth']={'user':_0x4a889c[_0x92b9('0x61')]['user'],'pass':_0x4a889c[_0x92b9('0x61')]['pass']};}return respondWithRpcPromise('SendMail','sendMail',{'account':_0x5393f0,'message':_0x32e8e3[_0x92b9('0x64')]});}else{throw new Error('List\x20not\x20found');}}})[_0x92b9('0x37')](function(_0x362191){if(_0x362191){_0x3b6ecd=_0x362191;if(_0x1f3ae5['List']){if(_0x1f3ae5[_0x92b9('0xb0')][_0x92b9('0xa3')]['length']){return _0x1f3ae5['List'][_0x92b9('0xa3')][0x0];}else{return db[_0x92b9('0x8f')][_0x92b9('0x69')](_[_0x92b9('0xb1')](_0x32e8e3[_0x92b9('0x64')],{'firstName':_0x32e8e3[_0x92b9('0x64')]['to'],'email':_0x32e8e3[_0x92b9('0x64')]['to'],'phone':_0x32e8e3[_0x92b9('0x64')]['to'],'ListId':_0x1f3ae5[_0x92b9('0xb2')]}));}}else{throw new Error(_0x92b9('0xb3'));}}})[_0x92b9('0x37')](function(_0x4cff7a){if(_0x4cff7a){var _0x460f82={'UserId':_0x32e8e3[_0x92b9('0x75')]['id'],'ContactId':_0x4cff7a['id'],'MailAccountId':_0x1f3ae5['id'],'inReplyTo':_0x3b6ecd['messageId'],'to':_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xa6')],'cc':_0x32e8e3[_0x92b9('0x64')]['cc'],'subject':_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xb4')],'attach':_0x32e8e3[_0x92b9('0x64')][_0x92b9('0xb5')],'firstMsgDirection':_0x92b9('0xb6'),'lastMsgAt':moment()['format'](_0x92b9('0xa1')),'lastMsgDirection':_0x92b9('0xb6'),'lastMsgBody':_0x32e8e3[_0x92b9('0x64')][_0x92b9('0x64')],'Messages':[_['merge'](_0x32e8e3['body'],{'messageId':_0x3b6ecd[_0x92b9('0xb7')],'sentAt':moment()[_0x92b9('0xa7')](_0x92b9('0xa1')),'read':!![],'MailAccountId':_0x1f3ae5['id'],'UserId':_0x32e8e3[_0x92b9('0x75')]['id'],'ContactId':_0x4cff7a['id']})]};if(_0x32e8e3[_0x92b9('0x64')]['Interaction']){_0x460f82=_['merge'](_0x460f82,_0x32e8e3['body'][_0x92b9('0xb8')]);}return db[_0x92b9('0x8a')]['create'](_0x460f82,{'include':[{'model':db[_0x92b9('0x9e')],'as':_0x92b9('0xb9')}]});}})[_0x92b9('0x37')](respondWithResult(_0x2216dc,null))[_0x92b9('0x5c')](handleError(_0x2216dc,null));};exports[_0x92b9('0xba')]=function(_0x2f36eb,_0xd98ac6,_0x5cff17){return db['MailAccount']['find']({'where':{'id':_0x2f36eb[_0x92b9('0x5e')]['id']},'include':[{'model':db[_0x92b9('0x60')],'as':_0x92b9('0x61'),'raw':!![]}]})[_0x92b9('0x37')](handleEntityNotFound(_0xd98ac6,null))[_0x92b9('0x37')](function(_0x50e207){if(_0x50e207&&_0x50e207[_0x92b9('0x61')]){var _0x2aa75a={'id':_0x50e207['id'],'tls':{'rejectUnauthorized':![]}};if(_0x50e207[_0x92b9('0x61')][_0x92b9('0x7b')]){_0x2aa75a['service']=_0x50e207['Smtp'][_0x92b9('0x7b')];}else{_0x2aa75a[_0x92b9('0x79')]=_0x50e207['Smtp'][_0x92b9('0x79')];_0x2aa75a[_0x92b9('0x7a')]=_0x50e207[_0x92b9('0x61')][_0x92b9('0x7a')];_0x2aa75a[_0x92b9('0xaf')]=_0x50e207[_0x92b9('0x61')][_0x92b9('0xaf')];}if(_0x50e207[_0x92b9('0x61')][_0x92b9('0x78')]){_0x2aa75a[_0x92b9('0xae')]={'user':_0x50e207[_0x92b9('0x61')][_0x92b9('0x75')],'pass':_0x50e207[_0x92b9('0x61')][_0x92b9('0x76')]};}return respondWithRpcPromise(_0x92b9('0xbb'),_0x92b9('0xba'),{'account':_0x2aa75a});}})['then'](respondWithResult(_0xd98ac6,null))[_0x92b9('0x5c')](handleError(_0xd98ac6,null));};exports[_0x92b9('0x3a')]=function(_0x1178e2,_0x1bde4a){return db[_0x92b9('0x40')][_0x92b9('0x62')]({'where':{'id':_0x1178e2[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x1bde4a,null))[_0x92b9('0x37')](function(_0x5e0e07){if(_0x5e0e07&&_0x5e0e07[_0x92b9('0x7b')]){throw new db[(_0x92b9('0x20'))][(_0x92b9('0x21'))](_0x92b9('0xbc'));}return _0x5e0e07;})[_0x92b9('0x37')](removeEntity(_0x1bde4a,null))[_0x92b9('0x5c')](handleError(_0x1bde4a,null));};exports[_0x92b9('0xbd')]=function(_0x1d8ab5,_0x36389e,_0x4d96d0){return db[_0x92b9('0x40')]['find']({'where':{'id':_0x1d8ab5[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x36389e,null))['then'](function(_0x656ca7){if(_0x656ca7){return _0x656ca7['addAgents'](_0x1d8ab5[_0x92b9('0x64')][_0x92b9('0x8b')],_[_0x92b9('0x8c')](_0x1d8ab5[_0x92b9('0x64')],[_0x92b9('0x8b'),'id'])||{})[_0x92b9('0xbe')](function(_0x1181cf){for(var _0x232111=0x0;_0x232111<_0x1d8ab5[_0x92b9('0x64')]['ids'][_0x92b9('0x4c')];_0x232111+=0x1){socket[_0x92b9('0xbf')](_0x92b9('0xc0'),{'UserId':_0x1d8ab5[_0x92b9('0x64')]['ids'][_0x232111],'MailAccountId':_0x1d8ab5[_0x92b9('0x5e')]['id']});}return _0x1181cf;});}})[_0x92b9('0x37')](respondWithResult(_0x36389e,null))[_0x92b9('0x5c')](handleError(_0x36389e,null));};exports[_0x92b9('0xc1')]=function(_0x46d1bc,_0x3f3495,_0x4f6c94){return db['MailAccount']['find']({'where':{'id':_0x46d1bc[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x3f3495,null))[_0x92b9('0x37')](function(_0x1a6cb4){if(_0x1a6cb4){return _0x1a6cb4[_0x92b9('0xc1')](_0x46d1bc[_0x92b9('0x46')][_0x92b9('0x8b')])[_0x92b9('0x37')](function(){if(_[_0x92b9('0xc2')](_0x46d1bc[_0x92b9('0x46')][_0x92b9('0x8b')])){for(var _0x28bb8b=0x0;_0x28bb8b<_0x46d1bc[_0x92b9('0x46')][_0x92b9('0x8b')]['length'];_0x28bb8b+=0x1){socket['emit'](_0x92b9('0xc3'),{'UserId':Number(_0x46d1bc['query'][_0x92b9('0x8b')][_0x28bb8b]),'MailAccountId':Number(_0x46d1bc['params']['id'])});}}else{socket['emit'](_0x92b9('0xc3'),{'UserId':Number(_0x46d1bc['query'][_0x92b9('0x8b')]),'MailAccountId':Number(_0x46d1bc[_0x92b9('0x5e')]['id'])});}});}})[_0x92b9('0x37')](respondWithStatusCode(_0x3f3495,null))[_0x92b9('0x5c')](handleError(_0x3f3495,null));};exports[_0x92b9('0xc4')]=function(_0x5cc7ee,_0x4f0b14,_0x351af1){var _0xd152c5={};var _0x448095={};var _0xee7ae4;var _0x1ce2e5;return db[_0x92b9('0x40')][_0x92b9('0x6b')]({'where':{'id':_0x5cc7ee[_0x92b9('0x5e')]['id']}})[_0x92b9('0x37')](handleEntityNotFound(_0x4f0b14,null))[_0x92b9('0x37')](function(_0x16a6cb){if(_0x16a6cb){_0xee7ae4=_0x16a6cb;_0x448095[_0x92b9('0x45')]=_[_0x92b9('0x47')](db[_0x92b9('0x91')][_0x92b9('0x41')]);_0x448095[_0x92b9('0x46')]=_[_0x92b9('0x47')](_0x5cc7ee[_0x92b9('0x46')]);_0x448095[_0x92b9('0x48')]=_[_0x92b9('0x49')](_0x448095[_0x92b9('0x45')],_0x448095[_0x92b9('0x46')]);_0xd152c5[_0x92b9('0x4a')]=_[_0x92b9('0x49')](_0x448095[_0x92b9('0x45')],qs[_0x92b9('0x4b')](_0x5cc7ee[_0x92b9('0x46')][_0x92b9('0x4b')]));_0xd152c5[_0x92b9('0x4a')]=_0xd152c5['attributes'][_0x92b9('0x4c')]?_0xd152c5[_0x92b9('0x4a')]:_0x448095[_0x92b9('0x45')];_0xd152c5[_0x92b9('0x4f')]=qs['sort'](_0x5cc7ee['query'][_0x92b9('0x50')]);_0xd152c5[_0x92b9('0x51')]=qs[_0x92b9('0x48')](_[_0x92b9('0x52')](_0x5cc7ee[_0x92b9('0x46')],_0x448095['filters']));if(_0x5cc7ee[_0x92b9('0x46')]['filter']){_0xd152c5[_0x92b9('0x51')]=_[_0x92b9('0x53')](_0xd152c5[_0x92b9('0x51')],{'$or':_[_0x92b9('0x54')](_0xd152c5[_0x92b9('0x4a')],function(_0x39c975){var _0x422efa={};_0x422efa[_0x39c975]={'$like':'%'+_0x5cc7ee['query']['filter']+'%'};return _0x422efa;})});}_0xd152c5=_[_0x92b9('0x53')]({},_0xd152c5,_0x5cc7ee[_0x92b9('0x57')]);return _0xee7ae4[_0x92b9('0xc4')](_0xd152c5);}})[_0x92b9('0x37')](function(_0x2e5353){if(_0x2e5353){_0x1ce2e5=_0x2e5353[_0x92b9('0x4c')];if(!_0x5cc7ee['query'][_0x92b9('0x4d')](_0x92b9('0x8e'))){_0xd152c5[_0x92b9('0x4e')]=qs[_0x92b9('0x4e')](_0x5cc7ee[_0x92b9('0x46')][_0x92b9('0x4e')]);_0xd152c5[_0x92b9('0x32')]=qs[_0x92b9('0x32')](_0x5cc7ee[_0x92b9('0x46')]['offset']);}return _0xee7ae4[_0x92b9('0xc4')](_0xd152c5);}})[_0x92b9('0x37')](function(_0x3e5053){if(_0x3e5053){return _0x3e5053?{'count':_0x1ce2e5,'rows':_0x3e5053}:null;}})[_0x92b9('0x37')](respondWithResult(_0x4f0b14,null))[_0x92b9('0x5c')](handleError(_0x4f0b14,null));};