f0d948bdf1956a8cb6c0c30a94d701ace26eee82
[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 _0xf204=['service','MailServerOut','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','findOne','setImap','getSmtp','addSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','Owner','fullname','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','Contacts','updatedAt','DESC','from','attachments','join','root','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','request\x20sent','result','catch','status','offset','limit','set','Content-Range','json','apply','reject','save','destroy','get','MailAccounts','UserProfileResource','stack','send','index','MailServerIn','Imap','Smtp','Pause','map','MailAccount','rawAttributes','fieldName','type','key','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','where','merge','VIRTUAL','filter','options','count','includeAll','include','params','mandatoryDispositionPause','update','body','find','describe','addDisposition','MailAccountId','Disposition','create','nolimit','findAll','rows','ids','CannedAnswer','removeAnswers','ListId','active','description','isNil','cservice','cauthentication','user','cuser','password','pass','cpassword','authentication','host','port'];(function(_0x5e7514,_0x30c2e1){var _0x12f472=function(_0x33ddb6){while(--_0x33ddb6){_0x5e7514['push'](_0x5e7514['shift']());}};_0x12f472(++_0x30c2e1);}(_0xf204,0x108));var _0x4f20=function(_0x4c2087,_0x37ce01){_0x4c2087=_0x4c2087-0x0;var _0x5eae39=_0xf204[_0x4c2087];return _0x5eae39;};'use strict';var pdf=require(_0x4f20('0x0'));var emlformat=require(_0x4f20('0x1'));var rimraf=require(_0x4f20('0x2'));var zipdir=require(_0x4f20('0x3'));var jsonpatch=require(_0x4f20('0x4'));var rp=require(_0x4f20('0x5'));var moment=require('moment');var BPromise=require(_0x4f20('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x4f20('0x7'));var sox=require(_0x4f20('0x8'));var csv=require(_0x4f20('0x9'));var ejs=require(_0x4f20('0xa'));var fs=require('fs');var _=require(_0x4f20('0xb'));var squel=require(_0x4f20('0xc'));var crypto=require(_0x4f20('0xd'));var jsforce=require(_0x4f20('0xe'));var deskjs=require(_0x4f20('0xf'));var toCsv=require(_0x4f20('0x9'));var querystring=require(_0x4f20('0x10'));var Papa=require(_0x4f20('0x11'));var Redis=require(_0x4f20('0x12'));var authService=require(_0x4f20('0x13'));var qs=require(_0x4f20('0x14'));var as=require(_0x4f20('0x15'));var hardwareService=require(_0x4f20('0x16'));var logger=require('../../config/logger')(_0x4f20('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x4f20('0x18'));var db=require(_0x4f20('0x19'))['db'];config[_0x4f20('0x1a')]=_[_0x4f20('0x1b')](config[_0x4f20('0x1a')],{'host':_0x4f20('0x1c'),'port':0x18eb});var socket=require(_0x4f20('0x1d'))(new Redis(config[_0x4f20('0x1a')]));require(_0x4f20('0x1e'))['register'](socket);var jayson=require(_0x4f20('0x1f'));var client=jayson[_0x4f20('0x20')][_0x4f20('0x21')]({'port':0x232b});function respondWithRpcPromise(_0xbde24f,_0x5486d0,_0x2b2cb7,_0x3dcb21){return new BPromise(function(_0x8c274f,_0x57497b){var _0x126bf3=_0x3dcb21||client;return _0x126bf3[_0x4f20('0x22')](_0xbde24f,_0x2b2cb7)[_0x4f20('0x23')](function(_0x3a90cd){logger['info'](_0x4f20('0x24'),_0x5486d0,'request\x20sent');logger[_0x4f20('0x25')](_0x4f20('0x26'),_0x5486d0,'request\x20sent',JSON[_0x4f20('0x27')](_0x3a90cd));if(_0x3a90cd['error']){if(_0x3a90cd[_0x4f20('0x28')][_0x4f20('0x29')]===0x1f4){logger[_0x4f20('0x28')](_0x4f20('0x24'),_0x5486d0,_0x3a90cd[_0x4f20('0x28')]['message']);return _0x57497b(_0x3a90cd['error'][_0x4f20('0x2a')]);}logger['error'](_0x4f20('0x24'),_0x5486d0,_0x3a90cd[_0x4f20('0x28')]['message']);return _0x8c274f(_0x3a90cd[_0x4f20('0x28')]['message']);}else{logger[_0x4f20('0x2b')](_0x4f20('0x24'),_0x5486d0,_0x4f20('0x2c'));_0x8c274f(_0x3a90cd[_0x4f20('0x2d')][_0x4f20('0x2a')]);}})[_0x4f20('0x2e')](function(_0xc10d3f){logger[_0x4f20('0x28')](_0x4f20('0x24'),_0x5486d0,_0xc10d3f);_0x57497b(_0xc10d3f);});});}function respondWithStatusCode(_0x541198,_0x71333){_0x71333=_0x71333||0xcc;return function(_0x2259e7){if(_0x2259e7){return _0x541198['sendStatus'](_0x71333);}return _0x541198['status'](_0x71333)['end']();};}function respondWithResult(_0x304ef6,_0x5c8f53){_0x5c8f53=_0x5c8f53||0xc8;return function(_0x128ec8){if(_0x128ec8){return _0x304ef6[_0x4f20('0x2f')](_0x5c8f53)['json'](_0x128ec8);}};}function respondWithFilteredResult(_0x4358aa,_0x2d992c){return function(_0x2fac23){if(_0x2fac23){var _0x1515e4=_0x2fac23['count'],_0x162ebc=_0x2d992c[_0x4f20('0x30')],_0x39f48e=_0x2d992c[_0x4f20('0x30')]+_0x2d992c[_0x4f20('0x31')],_0xde451f;if(_0x39f48e>=_0x1515e4){_0x39f48e=_0x1515e4;_0xde451f=0xc8;}else{_0xde451f=0xce;}_0x4358aa['status'](_0xde451f);return _0x4358aa[_0x4f20('0x32')](_0x4f20('0x33'),_0x162ebc+'-'+_0x39f48e+'/'+_0x1515e4)[_0x4f20('0x34')](_0x2fac23);}return null;};}function patchUpdates(_0x191f60){return function(_0x1d1caa){try{jsonpatch[_0x4f20('0x35')](_0x1d1caa,_0x191f60,!![]);}catch(_0x33df47){return BPromise[_0x4f20('0x36')](_0x33df47);}return _0x1d1caa[_0x4f20('0x37')]();};}function saveUpdates(_0x54b066,_0x3c116c){return function(_0x55a452){if(_0x55a452){return _0x55a452['update'](_0x54b066)[_0x4f20('0x23')](function(_0x1e7669){return _0x1e7669;});}return null;};}function removeEntity(_0x3216ff,_0xc968eb){return function(_0x483714){if(_0x483714){return _0x483714[_0x4f20('0x38')]()[_0x4f20('0x23')](function(){var _0x1aec36=_0x483714[_0x4f20('0x39')]({'plain':!![]});var _0x1941d6=_0x4f20('0x3a');return db[_0x4f20('0x3b')][_0x4f20('0x38')]({'where':{'type':_0x1941d6,'resourceId':_0x1aec36['id']}})[_0x4f20('0x23')](function(){return _0x483714;});})['then'](function(){_0x3216ff[_0x4f20('0x2f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e6e52,_0x9e5303){return function(_0x336ae8){if(!_0x336ae8){_0x2e6e52['sendStatus'](0x194);}return _0x336ae8;};}function handleError(_0x5c1053,_0x1ce1dd){_0x1ce1dd=_0x1ce1dd||0x1f4;return function(_0x1aeefd){logger[_0x4f20('0x28')](_0x1aeefd[_0x4f20('0x3c')]);if(_0x1aeefd['name']){delete _0x1aeefd['name'];}_0x5c1053[_0x4f20('0x2f')](_0x1ce1dd)[_0x4f20('0x3d')](_0x1aeefd);};}exports[_0x4f20('0x3e')]=function(_0x5220fa,_0x1f6169){var _0xf7d2f4={'include':[{'model':db[_0x4f20('0x3f')],'as':_0x4f20('0x40')},{'model':db['MailServerOut'],'as':_0x4f20('0x41')},{'model':db[_0x4f20('0x42')],'as':'mandatoryDispositionPause'}]},_0x423d44={},_0x6ab29e={'count':0x0,'rows':[]};var _0x5964f7=_[_0x4f20('0x43')](db[_0x4f20('0x44')][_0x4f20('0x45')],function(_0x3ba9f4){return{'name':_0x3ba9f4[_0x4f20('0x46')],'type':_0x3ba9f4[_0x4f20('0x47')][_0x4f20('0x48')]};});_0x423d44[_0x4f20('0x49')]=_[_0x4f20('0x43')](_0x5964f7,_0x4f20('0x4a'));_0x423d44[_0x4f20('0x4b')]=_[_0x4f20('0x4c')](_0x5220fa[_0x4f20('0x4b')]);_0x423d44['filters']=_[_0x4f20('0x4d')](_0x423d44[_0x4f20('0x49')],_0x423d44[_0x4f20('0x4b')]);_0xf7d2f4[_0x4f20('0x4e')]=_[_0x4f20('0x4d')](_0x423d44[_0x4f20('0x49')],qs[_0x4f20('0x4f')](_0x5220fa[_0x4f20('0x4b')][_0x4f20('0x4f')]));_0xf7d2f4['attributes']=_0xf7d2f4[_0x4f20('0x4e')][_0x4f20('0x50')]?_0xf7d2f4[_0x4f20('0x4e')]:_0x423d44[_0x4f20('0x49')];if(!_0x5220fa[_0x4f20('0x4b')][_0x4f20('0x51')]('nolimit')){_0xf7d2f4[_0x4f20('0x31')]=qs['limit'](_0x5220fa['query'][_0x4f20('0x31')]);_0xf7d2f4[_0x4f20('0x30')]=qs[_0x4f20('0x30')](_0x5220fa[_0x4f20('0x4b')][_0x4f20('0x30')]);}_0xf7d2f4[_0x4f20('0x52')]=qs[_0x4f20('0x53')](_0x5220fa['query']['sort']);_0xf7d2f4['where']=qs[_0x4f20('0x54')](_[_0x4f20('0x55')](_0x5220fa['query'],_0x423d44['filters']),_0x5964f7);if(_0x5220fa[_0x4f20('0x4b')]['filter']){_0xf7d2f4[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0xf7d2f4[_0x4f20('0x56')],{'$or':_[_0x4f20('0x43')](_0x5964f7,function(_0x42b463){if(_0x42b463['type']!==_0x4f20('0x58')){var _0x183a90={};_0x183a90[_0x42b463[_0x4f20('0x4a')]]={'$like':'%'+_0x5220fa[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x183a90;}})});}_0xf7d2f4=_['merge']({},_0xf7d2f4,_0x5220fa[_0x4f20('0x5a')]);var _0x4e24dd={'where':_0xf7d2f4['where']};return db[_0x4f20('0x44')][_0x4f20('0x5b')](_0x4e24dd)[_0x4f20('0x23')](function(_0x4c336d){_0x6ab29e[_0x4f20('0x5b')]=_0x4c336d;if(_0x5220fa[_0x4f20('0x4b')][_0x4f20('0x5c')]){_0xf7d2f4[_0x4f20('0x5d')]=[{'all':!![]}];}return db['MailAccount']['findAll'](_0xf7d2f4);})[_0x4f20('0x23')](function(_0x3d1fa9){_0x6ab29e['rows']=_0x3d1fa9;return _0x6ab29e;})['then'](respondWithFilteredResult(_0x1f6169,_0xf7d2f4))[_0x4f20('0x2e')](handleError(_0x1f6169,null));};exports['show']=function(_0x4b554e,_0x2f7426){var _0x259613={'raw':![],'where':{'id':_0x4b554e[_0x4f20('0x5e')]['id']},'include':[{'model':db[_0x4f20('0x3f')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x4f20('0x41')},{'model':db[_0x4f20('0x42')],'as':_0x4f20('0x5f')}]},_0x412b30={};_0x412b30[_0x4f20('0x49')]=_[_0x4f20('0x4c')](db['MailAccount'][_0x4f20('0x45')]);_0x412b30[_0x4f20('0x4b')]=_[_0x4f20('0x4c')](_0x4b554e[_0x4f20('0x4b')]);_0x412b30[_0x4f20('0x54')]=_['intersection'](_0x412b30[_0x4f20('0x49')],_0x412b30['query']);_0x259613[_0x4f20('0x4e')]=_[_0x4f20('0x4d')](_0x412b30[_0x4f20('0x49')],qs[_0x4f20('0x4f')](_0x4b554e[_0x4f20('0x4b')][_0x4f20('0x4f')]));_0x259613['attributes']=_0x259613[_0x4f20('0x4e')][_0x4f20('0x50')]?_0x259613[_0x4f20('0x4e')]:_0x412b30['model'];if(_0x4b554e[_0x4f20('0x4b')]['includeAll']){_0x259613[_0x4f20('0x5d')]=[{'all':!![]}];}_0x259613=_[_0x4f20('0x57')]({},_0x259613,_0x4b554e[_0x4f20('0x5a')]);return db[_0x4f20('0x44')]['find'](_0x259613)[_0x4f20('0x23')](handleEntityNotFound(_0x2f7426,null))[_0x4f20('0x23')](respondWithResult(_0x2f7426,null))[_0x4f20('0x2e')](handleError(_0x2f7426,null));};exports[_0x4f20('0x60')]=function(_0xda5b90,_0x571037){if(_0xda5b90[_0x4f20('0x61')]['id']){delete _0xda5b90[_0x4f20('0x61')]['id'];}return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0xda5b90['params']['id']},'include':[{'model':db[_0x4f20('0x3f')],'as':_0x4f20('0x40')},{'model':db['MailServerOut'],'as':_0x4f20('0x41')},{'model':db[_0x4f20('0x42')],'as':'mandatoryDispositionPause'}]})[_0x4f20('0x23')](handleEntityNotFound(_0x571037,null))[_0x4f20('0x23')](saveUpdates(_0xda5b90[_0x4f20('0x61')],null))[_0x4f20('0x23')](function(_0x425c07){if(_0x425c07&&_0xda5b90[_0x4f20('0x61')]['Imap']){return db[_0x4f20('0x3f')]['update'](_0xda5b90[_0x4f20('0x61')][_0x4f20('0x40')],{'where':{'MailAccountId':_0x425c07['id']}})[_0x4f20('0x23')](function(){return _0x425c07;});}return _0x425c07;})[_0x4f20('0x23')](function(_0x1fbbd2){if(_0x1fbbd2&&_0xda5b90[_0x4f20('0x61')][_0x4f20('0x41')]){return db['MailServerOut']['update'](_0xda5b90['body'][_0x4f20('0x41')],{'where':{'MailAccountId':_0x1fbbd2['id']}})['then'](function(){return _0x1fbbd2;});}return _0x1fbbd2;})[_0x4f20('0x23')](respondWithResult(_0x571037,null))[_0x4f20('0x2e')](handleError(_0x571037,null));};exports[_0x4f20('0x63')]=function(_0x50239a,_0x270974){return db[_0x4f20('0x44')][_0x4f20('0x63')]()[_0x4f20('0x23')](respondWithResult(_0x270974,null))[_0x4f20('0x2e')](handleError(_0x270974,null));};exports[_0x4f20('0x64')]=function(_0x25feb5,_0x195977,_0x1fe9b0){if(_0x25feb5[_0x4f20('0x61')]['id']){delete _0x25feb5[_0x4f20('0x61')]['id'];}return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x25feb5[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x195977,null))[_0x4f20('0x23')](function(_0x32db5f){if(_0x32db5f){_0x25feb5[_0x4f20('0x61')][_0x4f20('0x65')]=_0x32db5f['id'];return db[_0x4f20('0x66')][_0x4f20('0x67')](_0x25feb5['body']);}})[_0x4f20('0x23')](respondWithResult(_0x195977,null))['catch'](handleError(_0x195977,null));};exports['getDispositions']=function(_0x34c71d,_0x51acf5,_0x82615b){var _0x29a7e2={'raw':![],'where':{}};var _0x4e0d58={};var _0x310ce3={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x34c71d[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x51acf5,null))[_0x4f20('0x23')](function(_0x25c9ef){if(_0x25c9ef){_0x4e0d58[_0x4f20('0x49')]=_[_0x4f20('0x4c')](db[_0x4f20('0x66')][_0x4f20('0x45')]);_0x4e0d58[_0x4f20('0x4b')]=_[_0x4f20('0x4c')](_0x34c71d[_0x4f20('0x4b')]);_0x4e0d58[_0x4f20('0x54')]=_[_0x4f20('0x4d')](_0x4e0d58[_0x4f20('0x49')],_0x4e0d58[_0x4f20('0x4b')]);_0x29a7e2[_0x4f20('0x4e')]=_[_0x4f20('0x4d')](_0x4e0d58['model'],qs['fields'](_0x34c71d['query']['fields']));_0x29a7e2[_0x4f20('0x4e')]=_0x29a7e2[_0x4f20('0x4e')][_0x4f20('0x50')]?_0x29a7e2[_0x4f20('0x4e')]:_0x4e0d58[_0x4f20('0x49')];if(!_0x34c71d['query'][_0x4f20('0x51')](_0x4f20('0x68'))){_0x29a7e2[_0x4f20('0x31')]=qs[_0x4f20('0x31')](_0x34c71d[_0x4f20('0x4b')][_0x4f20('0x31')]);_0x29a7e2[_0x4f20('0x30')]=qs[_0x4f20('0x30')](_0x34c71d['query'][_0x4f20('0x30')]);}_0x29a7e2['order']=qs[_0x4f20('0x53')](_0x34c71d[_0x4f20('0x4b')][_0x4f20('0x53')]);_0x29a7e2['where']=qs['filters'](_['pick'](_0x34c71d[_0x4f20('0x4b')],_0x4e0d58['filters']));_0x29a7e2[_0x4f20('0x56')][_0x4f20('0x65')]=_0x25c9ef['id'];if(_0x34c71d[_0x4f20('0x4b')]['filter']){_0x29a7e2[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0x29a7e2[_0x4f20('0x56')],{'$or':_[_0x4f20('0x43')](_0x29a7e2[_0x4f20('0x4e')],function(_0x52e8ba){var _0x2d3309={};_0x2d3309[_0x52e8ba]={'$like':'%'+_0x34c71d[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x2d3309;})});}_0x29a7e2=_[_0x4f20('0x57')]({},_0x29a7e2,_0x34c71d[_0x4f20('0x5a')]);return db[_0x4f20('0x66')][_0x4f20('0x5b')]({'where':_0x29a7e2[_0x4f20('0x56')]})['then'](function(_0x209b11){_0x310ce3['count']=_0x209b11;if(_0x34c71d[_0x4f20('0x4b')][_0x4f20('0x5c')]){_0x29a7e2['include']=[{'all':!![]}];}return db[_0x4f20('0x66')][_0x4f20('0x69')](_0x29a7e2);})[_0x4f20('0x23')](function(_0x42a952){_0x310ce3[_0x4f20('0x6a')]=_0x42a952;return _0x310ce3;});}})[_0x4f20('0x23')](respondWithFilteredResult(_0x51acf5,_0x29a7e2))[_0x4f20('0x2e')](handleError(_0x51acf5,null));};exports['removeDispositions']=function(_0x735df9,_0x134c9d,_0x590393){return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x735df9[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x134c9d,null))[_0x4f20('0x23')](function(_0x4c5e91){if(_0x4c5e91){return _0x4c5e91['removeDispositions'](_0x735df9['query'][_0x4f20('0x6b')]);}})[_0x4f20('0x23')](respondWithStatusCode(_0x134c9d,null))[_0x4f20('0x2e')](handleError(_0x134c9d,null));};exports['addAnswer']=function(_0x397028,_0x5dabeb,_0x1c6312){if(_0x397028[_0x4f20('0x61')]['id']){delete _0x397028[_0x4f20('0x61')]['id'];}return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x397028['params']['id']}})['then'](handleEntityNotFound(_0x5dabeb,null))[_0x4f20('0x23')](function(_0x45a135){if(_0x45a135){_0x397028['body'][_0x4f20('0x65')]=_0x45a135['id'];return db[_0x4f20('0x6c')][_0x4f20('0x67')](_0x397028[_0x4f20('0x61')]);}})[_0x4f20('0x23')](respondWithResult(_0x5dabeb,null))[_0x4f20('0x2e')](handleError(_0x5dabeb,null));};exports['getAnswers']=function(_0x3ce0ad,_0x35d213,_0x296509){var _0x5cb72b={'raw':![],'where':{}};var _0x1f9fcb={};var _0x421bdc={'count':0x0,'rows':[]};return db[_0x4f20('0x44')]['findOne']({'where':{'id':_0x3ce0ad['params']['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x35d213,null))['then'](function(_0x314102){if(_0x314102){_0x1f9fcb['model']=_['keys'](db['CannedAnswer'][_0x4f20('0x45')]);_0x1f9fcb[_0x4f20('0x4b')]=_[_0x4f20('0x4c')](_0x3ce0ad['query']);_0x1f9fcb[_0x4f20('0x54')]=_[_0x4f20('0x4d')](_0x1f9fcb[_0x4f20('0x49')],_0x1f9fcb[_0x4f20('0x4b')]);_0x5cb72b[_0x4f20('0x4e')]=_[_0x4f20('0x4d')](_0x1f9fcb['model'],qs['fields'](_0x3ce0ad[_0x4f20('0x4b')][_0x4f20('0x4f')]));_0x5cb72b[_0x4f20('0x4e')]=_0x5cb72b[_0x4f20('0x4e')][_0x4f20('0x50')]?_0x5cb72b[_0x4f20('0x4e')]:_0x1f9fcb[_0x4f20('0x49')];if(!_0x3ce0ad['query'][_0x4f20('0x51')]('nolimit')){_0x5cb72b[_0x4f20('0x31')]=qs['limit'](_0x3ce0ad[_0x4f20('0x4b')][_0x4f20('0x31')]);_0x5cb72b[_0x4f20('0x30')]=qs[_0x4f20('0x30')](_0x3ce0ad[_0x4f20('0x4b')][_0x4f20('0x30')]);}_0x5cb72b['order']=qs[_0x4f20('0x53')](_0x3ce0ad['query'][_0x4f20('0x53')]);_0x5cb72b[_0x4f20('0x56')]=qs[_0x4f20('0x54')](_[_0x4f20('0x55')](_0x3ce0ad[_0x4f20('0x4b')],_0x1f9fcb[_0x4f20('0x54')]));_0x5cb72b['where'][_0x4f20('0x65')]=_0x314102['id'];if(_0x3ce0ad['query'][_0x4f20('0x59')]){_0x5cb72b[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0x5cb72b['where'],{'$or':_['map'](_0x5cb72b[_0x4f20('0x4e')],function(_0x17b9d7){var _0x20bb42={};_0x20bb42[_0x17b9d7]={'$like':'%'+_0x3ce0ad[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x20bb42;})});}_0x5cb72b=_[_0x4f20('0x57')]({},_0x5cb72b,_0x3ce0ad['options']);return db[_0x4f20('0x6c')]['count']({'where':_0x5cb72b[_0x4f20('0x56')]})[_0x4f20('0x23')](function(_0x57ea0c){_0x421bdc[_0x4f20('0x5b')]=_0x57ea0c;if(_0x3ce0ad[_0x4f20('0x4b')][_0x4f20('0x5c')]){_0x5cb72b[_0x4f20('0x5d')]=[{'all':!![]}];}return db[_0x4f20('0x6c')][_0x4f20('0x69')](_0x5cb72b);})[_0x4f20('0x23')](function(_0x3a7642){_0x421bdc['rows']=_0x3a7642;return _0x421bdc;});}})[_0x4f20('0x23')](respondWithFilteredResult(_0x35d213,_0x5cb72b))['catch'](handleError(_0x35d213,null));};exports[_0x4f20('0x6d')]=function(_0x430b00,_0x589515,_0x439995){return db[_0x4f20('0x44')]['find']({'where':{'id':_0x430b00[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x589515,null))['then'](function(_0x72945e){if(_0x72945e){return _0x72945e[_0x4f20('0x6d')](_0x430b00[_0x4f20('0x4b')][_0x4f20('0x6b')]);}})[_0x4f20('0x23')](respondWithStatusCode(_0x589515,null))[_0x4f20('0x2e')](handleError(_0x589515,null));};exports[_0x4f20('0x67')]=function(_0x31befc,_0x357289){var _0x12026b={'name':_0x31befc[_0x4f20('0x61')]['name'],'key':_0x31befc['body']['key'],'email':_0x31befc['body']['email'],'ListId':_0x31befc['body'][_0x4f20('0x6e')],'active':!_['isNil'](_0x31befc['body'][_0x4f20('0x6f')])?_0x31befc[_0x4f20('0x61')]['active']:!![],'description':_0x31befc[_0x4f20('0x61')][_0x4f20('0x70')]||null,'Imap':{},'Smtp':{}};if(_[_0x4f20('0x71')](_0x31befc['body'][_0x4f20('0x72')])){if(_0x31befc['body'][_0x4f20('0x73')]){_0x12026b[_0x4f20('0x40')][_0x4f20('0x74')]=_0x12026b[_0x4f20('0x41')][_0x4f20('0x74')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x75')];_0x12026b[_0x4f20('0x40')][_0x4f20('0x76')]=_0x12026b[_0x4f20('0x41')][_0x4f20('0x77')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x78')];}else{_0x12026b[_0x4f20('0x40')]['authentication']=_0x12026b[_0x4f20('0x41')][_0x4f20('0x79')]=![];}_0x12026b['Imap'][_0x4f20('0x7a')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x40')][_0x4f20('0x7a')];_0x12026b[_0x4f20('0x40')][_0x4f20('0x7b')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x40')][_0x4f20('0x7b')];_0x12026b[_0x4f20('0x41')][_0x4f20('0x7a')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x41')][_0x4f20('0x7a')];_0x12026b['Smtp'][_0x4f20('0x7b')]=_0x31befc['body'][_0x4f20('0x41')][_0x4f20('0x7b')];}else{_0x12026b['Imap']['service']=_0x12026b[_0x4f20('0x41')][_0x4f20('0x7c')]=_0x31befc['body'][_0x4f20('0x72')];_0x12026b['Imap'][_0x4f20('0x74')]=_0x12026b[_0x4f20('0x41')][_0x4f20('0x74')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x75')];_0x12026b[_0x4f20('0x40')][_0x4f20('0x76')]=_0x12026b['Smtp'][_0x4f20('0x77')]=_0x31befc[_0x4f20('0x61')][_0x4f20('0x78')];}return db['MailAccount'][_0x4f20('0x67')](_0x12026b,{'include':[{'model':db[_0x4f20('0x7d')],'as':_0x4f20('0x41')},{'model':db[_0x4f20('0x3f')],'as':_0x4f20('0x40')}]})[_0x4f20('0x23')](function(_0x33b338){var _0x186918=_0x31befc[_0x4f20('0x74')]['get']({'plain':!![]});if(!_0x186918)throw new Error(_0x4f20('0x7e'));if(_0x186918['role']==='user'){var _0x530699=_0x33b338[_0x4f20('0x39')]({'plain':!![]});return db[_0x4f20('0x7f')][_0x4f20('0x62')]({'where':{'name':_0x4f20('0x3a'),'userProfileId':_0x186918['userProfileId']},'raw':!![]})[_0x4f20('0x23')](function(_0x2b9789){if(_0x2b9789&&_0x2b9789[_0x4f20('0x80')]===0x0){return db[_0x4f20('0x3b')][_0x4f20('0x67')]({'name':_0x530699['name'],'resourceId':_0x530699['id'],'type':_0x2b9789[_0x4f20('0x4a')],'sectionId':_0x2b9789['id']},{})['then'](function(){return _0x33b338;});}else{return _0x33b338;}})[_0x4f20('0x2e')](function(_0x3676c7){logger[_0x4f20('0x28')](_0x4f20('0x81'),_0x3676c7);throw _0x3676c7;});}return _0x33b338;})['then'](respondWithResult(_0x357289,0xc9))['catch'](handleError(_0x357289,null));};exports['getImap']=function(_0x3e9a94,_0x574bce,_0x136284){return db['MailAccount']['findOne']({'where':{'id':_0x3e9a94[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x574bce,null))[_0x4f20('0x23')](function(_0x4a4fe8){if(_0x4a4fe8){return _0x4a4fe8[_0x4f20('0x82')]();}return null;})[_0x4f20('0x23')](respondWithResult(_0x574bce,null))['catch'](handleError(_0x574bce,null));};exports['addImap']=function(_0x3ed3b8,_0x570cca,_0x2868cb){if(_0x3ed3b8['body']['id']){delete _0x3ed3b8[_0x4f20('0x61')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x3ed3b8['params']['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x570cca,null))[_0x4f20('0x23')](function(_0x3fd2ea){if(_0x3fd2ea){_0x3ed3b8[_0x4f20('0x61')][_0x4f20('0x65')]=_0x3fd2ea['id'];return db['MailServerIn'][_0x4f20('0x67')](_0x3ed3b8[_0x4f20('0x61')]);}})[_0x4f20('0x23')](respondWithResult(_0x570cca,null))[_0x4f20('0x2e')](handleError(_0x570cca,null));};exports[_0x4f20('0x83')]=function(_0xf5326e,_0x5af577,_0x47ff62){return db[_0x4f20('0x44')][_0x4f20('0x84')]({'where':{'id':_0xf5326e[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x5af577,null))['then'](function(_0x31b6b1){if(_0x31b6b1){return _0x31b6b1[_0x4f20('0x85')](null);}return null;})['then'](respondWithStatusCode(_0x5af577,null))[_0x4f20('0x2e')](handleError(_0x5af577,null));};exports[_0x4f20('0x86')]=function(_0x2fd452,_0x43b377,_0x175854){return db[_0x4f20('0x44')][_0x4f20('0x84')]({'where':{'id':_0x2fd452[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x43b377,null))['then'](function(_0x28f082){if(_0x28f082){return _0x28f082[_0x4f20('0x86')]();}return null;})[_0x4f20('0x23')](respondWithResult(_0x43b377,null))[_0x4f20('0x2e')](handleError(_0x43b377,null));};exports[_0x4f20('0x87')]=function(_0x36281c,_0x75a79d,_0x5cf3c2){if(_0x36281c[_0x4f20('0x61')]['id']){delete _0x36281c[_0x4f20('0x61')]['id'];}return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x36281c['params']['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x75a79d,null))[_0x4f20('0x23')](function(_0x3cbd2a){if(_0x3cbd2a){_0x36281c[_0x4f20('0x61')][_0x4f20('0x65')]=_0x3cbd2a['id'];return db['MailServerOut'][_0x4f20('0x67')](_0x36281c[_0x4f20('0x61')]);}})[_0x4f20('0x23')](respondWithResult(_0x75a79d,null))[_0x4f20('0x2e')](handleError(_0x75a79d,null));};exports['removeSmtp']=function(_0x54756d,_0x4830d1,_0x1646d9){return db[_0x4f20('0x44')][_0x4f20('0x84')]({'where':{'id':_0x54756d[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x4830d1,null))[_0x4f20('0x23')](function(_0x414b6e){if(_0x414b6e){return _0x414b6e[_0x4f20('0x88')](null);}return null;})[_0x4f20('0x23')](respondWithStatusCode(_0x4830d1,null))['catch'](handleError(_0x4830d1,null));};exports[_0x4f20('0x89')]=function(_0x5b3bc3,_0x1dd55f,_0x4380b1){return db[_0x4f20('0x8a')][_0x4f20('0x62')]({'where':{'id':_0x5b3bc3['params']['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x1dd55f,null))['then'](function(_0x115f50){if(_0x115f50){return _0x115f50[_0x4f20('0x89')](_0x5b3bc3[_0x4f20('0x61')][_0x4f20('0x6b')],_[_0x4f20('0x8b')](_0x5b3bc3['body'],[_0x4f20('0x6b'),'id'])||{});}})[_0x4f20('0x23')](respondWithResult(_0x1dd55f,null))[_0x4f20('0x2e')](handleError(_0x1dd55f,null));};exports[_0x4f20('0x8c')]=function(_0x2633b2,_0x3397e2,_0x1c5d2a){var _0x10b69f={'raw':![],'where':{}};var _0xab88fa={};var _0x16c58d={'count':0x0,'rows':[]};return db[_0x4f20('0x44')]['findOne']({'where':{'id':_0x2633b2[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x3397e2,null))['then'](function(_0x2c90ec){if(_0x2c90ec){_0xab88fa[_0x4f20('0x49')]=_[_0x4f20('0x4c')](db[_0x4f20('0x8a')][_0x4f20('0x45')]);_0xab88fa[_0x4f20('0x4b')]=_['keys'](_0x2633b2[_0x4f20('0x4b')]);_0xab88fa['filters']=_[_0x4f20('0x4d')](_0xab88fa[_0x4f20('0x49')],_0xab88fa[_0x4f20('0x4b')]);_0x10b69f[_0x4f20('0x4e')]=_[_0x4f20('0x4d')](_0xab88fa[_0x4f20('0x49')],qs[_0x4f20('0x4f')](_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x4f')]));_0x10b69f[_0x4f20('0x4e')]=_0x10b69f[_0x4f20('0x4e')]['length']?_0x10b69f[_0x4f20('0x4e')]:_0xab88fa[_0x4f20('0x49')];if(!_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x51')](_0x4f20('0x68'))){_0x10b69f['limit']=qs[_0x4f20('0x31')](_0x2633b2['query'][_0x4f20('0x31')]);_0x10b69f['offset']=qs[_0x4f20('0x30')](_0x2633b2['query']['offset']);}_0x10b69f[_0x4f20('0x52')]=qs['sort'](_0x2633b2[_0x4f20('0x4b')]['sort']);_0x10b69f[_0x4f20('0x56')]=qs[_0x4f20('0x54')](_[_0x4f20('0x55')](_0x2633b2[_0x4f20('0x4b')],_0xab88fa[_0x4f20('0x54')]));_0x10b69f['where'][_0x4f20('0x65')]=_0x2c90ec['id'];if(_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x59')]){_0x10b69f['where']=_[_0x4f20('0x57')](_0x10b69f['where'],{'$or':_[_0x4f20('0x43')](_0x10b69f[_0x4f20('0x4e')],function(_0x1dc39b){var _0x1c3b16={};_0x1c3b16[_0x1dc39b]={'$like':'%'+_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x1c3b16;})});}_0x10b69f=_[_0x4f20('0x57')]({},_0x10b69f,_0x2633b2[_0x4f20('0x5a')]);return db[_0x4f20('0x8a')][_0x4f20('0x5b')]({'where':_0x10b69f[_0x4f20('0x56')]})[_0x4f20('0x23')](function(_0xe001f6){_0x16c58d[_0x4f20('0x5b')]=_0xe001f6;if(_0x2633b2[_0x4f20('0x4b')]['includeAll']){_0x10b69f[_0x4f20('0x5d')]=[{'model':db[_0x4f20('0x8d')],'as':_0x4f20('0x8e'),'required':![]},{'model':db['User'],'as':_0x4f20('0x8f'),'attributes':['name',_0x4f20('0x90'),'internal'],'required':![]},{'model':db['Tag'],'as':_0x4f20('0x91'),'attributes':['id',_0x4f20('0x4a'),_0x4f20('0x92')],'where':_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x93')]?{'id':_0x2633b2[_0x4f20('0x4b')]['tag']}:undefined,'required':_0x2633b2[_0x4f20('0x4b')][_0x4f20('0x93')]?!![]:![]}];}return db['MailInteraction'][_0x4f20('0x69')](_0x10b69f);})[_0x4f20('0x23')](function(_0x1a3f7a){_0x16c58d['rows']=_0x1a3f7a;return _0x16c58d;});}})[_0x4f20('0x23')](respondWithFilteredResult(_0x3397e2,_0x10b69f))['catch'](handleError(_0x3397e2,null));};exports[_0x4f20('0x94')]=function(_0x1b2408,_0xe8ad48,_0x13baf2){return db[_0x4f20('0x44')]['findOne']({'where':{'id':_0x1b2408[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0xe8ad48,null))[_0x4f20('0x23')](function(_0xea3c18){if(_0xea3c18){return db[_0x4f20('0x95')][_0x4f20('0x96')](function(_0x2a3531){return db[_0x4f20('0x97')][_0x4f20('0x38')]({'where':{'MailAccountId':_0x1b2408[_0x4f20('0x5e')]['id']},'transaction':_0x2a3531})[_0x4f20('0x23')](function(_0x56eba6){var _0x4c19e7=_[_0x4f20('0x43')](_0x1b2408[_0x4f20('0x61')],function(_0x5952c2){_0x5952c2[_0x4f20('0x65')]=_0x1b2408['params']['id'];return _0x5952c2;});return db[_0x4f20('0x97')][_0x4f20('0x98')](_0x4c19e7,{'transaction':_0x2a3531});});})[_0x4f20('0x23')](function(){return db[_0x4f20('0x97')]['findAndCountAll']({'where':{'MailAccountId':_0x1b2408['params']['id']},'order':_0x4f20('0x99')});});}})['then'](respondWithResult(_0xe8ad48,null))[_0x4f20('0x2e')](handleError(_0xe8ad48,null));};exports[_0x4f20('0x9a')]=function(_0x3d3109,_0x57dd94,_0x2950fc){var _0x57ed79={};var _0x58cada={};var _0x427a31;var _0x206f78;return db[_0x4f20('0x44')][_0x4f20('0x84')]({'where':{'id':_0x3d3109[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x57dd94,null))[_0x4f20('0x23')](function(_0x3bc0da){if(_0x3bc0da){_0x427a31=_0x3bc0da;_0x58cada['model']=_['keys'](db[_0x4f20('0x97')][_0x4f20('0x45')]);_0x58cada[_0x4f20('0x4b')]=_['keys'](_0x3d3109[_0x4f20('0x4b')]);_0x58cada[_0x4f20('0x54')]=_['intersection'](_0x58cada[_0x4f20('0x49')],_0x58cada['query']);_0x57ed79['attributes']=_[_0x4f20('0x4d')](_0x58cada['model'],qs[_0x4f20('0x4f')](_0x3d3109['query'][_0x4f20('0x4f')]));_0x57ed79[_0x4f20('0x4e')]=_0x57ed79['attributes'][_0x4f20('0x50')]?_0x57ed79[_0x4f20('0x4e')]:_0x58cada[_0x4f20('0x49')];_0x57ed79[_0x4f20('0x52')]=qs[_0x4f20('0x53')](_0x3d3109[_0x4f20('0x4b')][_0x4f20('0x53')]);_0x57ed79[_0x4f20('0x56')]=qs['filters'](_[_0x4f20('0x55')](_0x3d3109[_0x4f20('0x4b')],_0x58cada[_0x4f20('0x54')]));if(_0x3d3109[_0x4f20('0x4b')][_0x4f20('0x59')]){_0x57ed79[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0x57ed79['where'],{'$or':_[_0x4f20('0x43')](_0x57ed79[_0x4f20('0x4e')],function(_0x2ac3e6){var _0x159384={};_0x159384[_0x2ac3e6]={'$like':'%'+_0x3d3109[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x159384;})});}_0x57ed79=_[_0x4f20('0x57')]({},_0x57ed79,_0x3d3109[_0x4f20('0x5a')]);return _0x427a31['getApplications'](_0x57ed79);}})[_0x4f20('0x23')](function(_0x281235){if(_0x281235){_0x206f78=_0x281235[_0x4f20('0x50')];if(!_0x3d3109[_0x4f20('0x4b')][_0x4f20('0x51')](_0x4f20('0x68'))){_0x57ed79[_0x4f20('0x31')]=qs['limit'](_0x3d3109['query'][_0x4f20('0x31')]);_0x57ed79[_0x4f20('0x30')]=qs[_0x4f20('0x30')](_0x3d3109['query']['offset']);}return _0x427a31[_0x4f20('0x9a')](_0x57ed79);}})['then'](function(_0x4cca13){if(_0x4cca13){return _0x4cca13?{'count':_0x206f78,'rows':_0x4cca13}:null;}})[_0x4f20('0x23')](respondWithResult(_0x57dd94,null))['catch'](handleError(_0x57dd94,null));};exports[_0x4f20('0x9b')]=function(_0x32f24c,_0x5e2905,_0x11b1a6){var _0xdfc87={'raw':!![],'where':{}};var _0x16f1d1={};var _0x3fb419={'count':0x0,'rows':[]};return db['MailAccount'][_0x4f20('0x84')]({'where':{'id':_0x32f24c[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x5e2905,null))[_0x4f20('0x23')](function(_0x299ada){if(_0x299ada){_0x16f1d1[_0x4f20('0x49')]=_[_0x4f20('0x4c')](db[_0x4f20('0x9c')][_0x4f20('0x45')]);_0x16f1d1[_0x4f20('0x4b')]=_['keys'](_0x32f24c[_0x4f20('0x4b')]);_0x16f1d1[_0x4f20('0x54')]=_[_0x4f20('0x4d')](_0x16f1d1[_0x4f20('0x49')],_0x16f1d1[_0x4f20('0x4b')]);_0xdfc87['attributes']=_[_0x4f20('0x4d')](_0x16f1d1[_0x4f20('0x49')],qs['fields'](_0x32f24c[_0x4f20('0x4b')][_0x4f20('0x4f')]));_0xdfc87[_0x4f20('0x4e')]=_0xdfc87['attributes']['length']?_0xdfc87[_0x4f20('0x4e')]:_0x16f1d1['model'];if(!_0x32f24c['query'][_0x4f20('0x51')](_0x4f20('0x68'))){_0xdfc87[_0x4f20('0x31')]=qs[_0x4f20('0x31')](_0x32f24c[_0x4f20('0x4b')][_0x4f20('0x31')]);_0xdfc87['offset']=qs[_0x4f20('0x30')](_0x32f24c[_0x4f20('0x4b')][_0x4f20('0x30')]);}_0xdfc87[_0x4f20('0x52')]=qs[_0x4f20('0x53')](_0x32f24c['query']['sort']);_0xdfc87['where']=qs[_0x4f20('0x54')](_[_0x4f20('0x55')](_0x32f24c['query'],_0x16f1d1[_0x4f20('0x54')]));_0xdfc87[_0x4f20('0x56')][_0x4f20('0x65')]=_0x299ada['id'];if(_0x32f24c['query'][_0x4f20('0x59')]){_0xdfc87[_0x4f20('0x56')]=_['merge'](_0xdfc87[_0x4f20('0x56')],{'$or':_[_0x4f20('0x43')](_0xdfc87[_0x4f20('0x4e')],function(_0x44dd89){var _0x559176={};_0x559176[_0x44dd89]={'$like':'%'+_0x32f24c[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x559176;})});}if(_0x32f24c['query']['$gte']){var _0x741340=_0x32f24c[_0x4f20('0x4b')][_0x4f20('0x9d')][_0x4f20('0x9e')](',');var _0x573142={};_0x573142[_0x741340[0x0]]={'$gte':moment(_0x741340[0x1])[_0x4f20('0x9f')](_0x4f20('0xa0'))};_0xdfc87[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0xdfc87[_0x4f20('0x56')],_0x573142);}_0xdfc87=_['merge']({},_0xdfc87,_0x32f24c[_0x4f20('0x5a')]);return db['MailMessage'][_0x4f20('0x5b')]({'where':_0xdfc87[_0x4f20('0x56')]})[_0x4f20('0x23')](function(_0x4a3bc5){_0x3fb419[_0x4f20('0x5b')]=_0x4a3bc5;if(_0x32f24c['query'][_0x4f20('0x5c')]){_0xdfc87[_0x4f20('0x5d')]=[{'all':!![]}];}return db['MailMessage'][_0x4f20('0x69')](_0xdfc87);})[_0x4f20('0x23')](function(_0x4a979d){_0x3fb419[_0x4f20('0x6a')]=_0x4a979d;return _0x3fb419;});}})[_0x4f20('0x23')](respondWithFilteredResult(_0x5e2905,_0xdfc87))['catch'](handleError(_0x5e2905,null));};exports[_0x4f20('0x3d')]=function(_0x4105c5,_0x39e1cb,_0x1e5715){var _0x42bc59,_0x36f905={},_0x47009a;if(_0x4105c5[_0x4f20('0x61')]['to']){_0x47009a=_0x4105c5[_0x4f20('0x61')]['to']['split'](',')[0x0];}return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x4105c5['params']['id']},'include':[{'model':db[_0x4f20('0xa1')],'as':_0x4f20('0xa2'),'include':[{'model':db[_0x4f20('0x8d')],'as':_0x4f20('0xa3'),'where':{'email':_0x47009a},'limit':0x1,'order':[[_0x4f20('0xa4'),_0x4f20('0xa5')]]}]},{'model':db[_0x4f20('0x7d')],'as':_0x4f20('0x41'),'raw':!![]}]})[_0x4f20('0x23')](handleEntityNotFound(_0x39e1cb,null))[_0x4f20('0x23')](function(_0x2b2fb2){if(_0x2b2fb2){_0x42bc59=_0x2b2fb2;if(_0x2b2fb2[_0x4f20('0x41')]){if(_[_0x4f20('0x71')](_0x4105c5[_0x4f20('0x61')][_0x4f20('0xa6')])){_0x4105c5['body'][_0x4f20('0xa6')]=util[_0x4f20('0x9f')]('%s\x20<%s>',_0x2b2fb2[_0x4f20('0x4a')],_0x2b2fb2['email']||_0x2b2fb2[_0x4f20('0x41')][_0x4f20('0x74')]);}if(_0x4105c5[_0x4f20('0x61')][_0x4f20('0xa7')]&&_0x4105c5[_0x4f20('0x61')][_0x4f20('0xa7')][_0x4f20('0x50')]){for(var _0x467465=0x0;_0x467465<_0x4105c5[_0x4f20('0x61')][_0x4f20('0xa7')]['length'];_0x467465+=0x1){_0x4105c5[_0x4f20('0x61')][_0x4f20('0xa7')][_0x467465]={'filename':_0x4105c5['body']['attachments'][_0x467465]['name'],'path':path[_0x4f20('0xa8')](config[_0x4f20('0xa9')],'server/files/attachments',_0x4105c5[_0x4f20('0x61')]['attachments'][_0x467465]['basename'])};}}var _0x3e08e0={'tls':{'rejectUnauthorized':![]}};if(_[_0x4f20('0x71')](_0x2b2fb2['Smtp'][_0x4f20('0x7c')])){if(_0x2b2fb2[_0x4f20('0x41')]['authentication']){_0x3e08e0[_0x4f20('0xaa')]={'user':_0x2b2fb2['Smtp'][_0x4f20('0x74')],'pass':_0x2b2fb2['Smtp'][_0x4f20('0x77')]};}_0x3e08e0[_0x4f20('0x7a')]=_0x2b2fb2[_0x4f20('0x41')][_0x4f20('0x7a')];_0x3e08e0['port']=_0x2b2fb2[_0x4f20('0x41')]['port'];_0x3e08e0[_0x4f20('0xab')]=_0x2b2fb2[_0x4f20('0x41')][_0x4f20('0xab')];}else{_0x3e08e0[_0x4f20('0x7c')]=_0x2b2fb2['Smtp'][_0x4f20('0x7c')];_0x3e08e0[_0x4f20('0xaa')]={'user':_0x2b2fb2['Smtp'][_0x4f20('0x74')],'pass':_0x2b2fb2['Smtp'][_0x4f20('0x77')]};}return respondWithRpcPromise(_0x4f20('0xac'),_0x4f20('0xad'),{'account':_0x3e08e0,'message':_0x4105c5['body']});}else{throw new Error(_0x4f20('0xae'));}}})[_0x4f20('0x23')](function(_0x4cda98){if(_0x4cda98){_0x36f905=_0x4cda98;if(_0x42bc59['List']){if(_0x42bc59[_0x4f20('0xa2')][_0x4f20('0xa3')][_0x4f20('0x50')]){return _0x42bc59['List'][_0x4f20('0xa3')][0x0];}else{return db['CmContact'][_0x4f20('0x67')](_[_0x4f20('0x1b')](_0x4105c5[_0x4f20('0x61')],{'firstName':_0x4105c5[_0x4f20('0x61')]['to'],'email':_0x4105c5[_0x4f20('0x61')]['to'],'phone':_0x4105c5[_0x4f20('0x61')]['to'],'ListId':_0x42bc59[_0x4f20('0x6e')]}));}}else{throw new Error(_0x4f20('0xae'));}}})['then'](function(_0x2a3642){if(_0x2a3642){var _0xa890e4={'UserId':_0x4105c5['user']['id'],'ContactId':_0x2a3642['id'],'MailAccountId':_0x42bc59['id'],'inReplyTo':_0x36f905[_0x4f20('0xaf')],'to':_0x4105c5['body'][_0x4f20('0xa6')],'cc':_0x4105c5[_0x4f20('0x61')]['cc'],'subject':_0x4105c5[_0x4f20('0x61')][_0x4f20('0xb0')],'attach':_0x4105c5[_0x4f20('0x61')]['attach'],'firstMsgDirection':_0x4f20('0xb1'),'lastMsgAt':moment()[_0x4f20('0x9f')](_0x4f20('0xa0')),'lastMsgDirection':'out','lastMsgBody':_0x4105c5[_0x4f20('0x61')][_0x4f20('0x61')],'Messages':[_[_0x4f20('0x57')](_0x4105c5[_0x4f20('0x61')],{'messageId':_0x36f905[_0x4f20('0xaf')],'sentAt':moment()[_0x4f20('0x9f')](_0x4f20('0xa0')),'read':!![],'MailAccountId':_0x42bc59['id'],'UserId':_0x4105c5[_0x4f20('0x74')]['id'],'ContactId':_0x2a3642['id']})]};if(_0x4105c5['body'][_0x4f20('0xb2')]){_0xa890e4=_[_0x4f20('0x57')](_0xa890e4,_0x4105c5[_0x4f20('0x61')][_0x4f20('0xb2')]);}return db[_0x4f20('0x8a')][_0x4f20('0x67')](_0xa890e4,{'include':[{'model':db[_0x4f20('0x9c')],'as':_0x4f20('0xb3')}]});}})[_0x4f20('0x23')](respondWithResult(_0x39e1cb,null))[_0x4f20('0x2e')](handleError(_0x39e1cb,null));};exports[_0x4f20('0xb4')]=function(_0xcfe8da,_0x1f6ef4,_0x27d878){return db[_0x4f20('0x44')]['find']({'where':{'id':_0xcfe8da['params']['id']},'include':[{'model':db[_0x4f20('0x7d')],'as':_0x4f20('0x41'),'raw':!![]}]})[_0x4f20('0x23')](handleEntityNotFound(_0x1f6ef4,null))[_0x4f20('0x23')](function(_0x4a113a){if(_0x4a113a&&_0x4a113a[_0x4f20('0x41')]){var _0xd67f5c={'id':_0x4a113a['id'],'tls':{'rejectUnauthorized':![]}};if(_0x4a113a[_0x4f20('0x41')][_0x4f20('0x7c')]){_0xd67f5c[_0x4f20('0x7c')]=_0x4a113a[_0x4f20('0x41')][_0x4f20('0x7c')];}else{_0xd67f5c[_0x4f20('0x7a')]=_0x4a113a[_0x4f20('0x41')][_0x4f20('0x7a')];_0xd67f5c[_0x4f20('0x7b')]=_0x4a113a[_0x4f20('0x41')][_0x4f20('0x7b')];_0xd67f5c[_0x4f20('0xab')]=_0x4a113a[_0x4f20('0x41')][_0x4f20('0xab')];}if(_0x4a113a[_0x4f20('0x41')]['authentication']){_0xd67f5c[_0x4f20('0xaa')]={'user':_0x4a113a[_0x4f20('0x41')][_0x4f20('0x74')],'pass':_0x4a113a[_0x4f20('0x41')][_0x4f20('0x77')]};}return respondWithRpcPromise(_0x4f20('0xb5'),_0x4f20('0xb4'),{'account':_0xd67f5c});}})[_0x4f20('0x23')](respondWithResult(_0x1f6ef4,null))['catch'](handleError(_0x1f6ef4,null));};exports[_0x4f20('0x38')]=function(_0x469d2d,_0x4d5969){return db['MailAccount'][_0x4f20('0x62')]({'where':{'id':_0x469d2d[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x4d5969,null))[_0x4f20('0x23')](function(_0x2e7bd2){if(_0x2e7bd2&&_0x2e7bd2[_0x4f20('0x7c')]){throw new db[(_0x4f20('0xb6'))][(_0x4f20('0xb7'))](_0x4f20('0xb8'));}return _0x2e7bd2;})['then'](removeEntity(_0x4d5969,null))['catch'](handleError(_0x4d5969,null));};exports[_0x4f20('0xb9')]=function(_0x6948ef,_0x251fda,_0x5ea28b){return db[_0x4f20('0x44')][_0x4f20('0x62')]({'where':{'id':_0x6948ef[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x251fda,null))['then'](function(_0xcb5b96){if(_0xcb5b96){return _0xcb5b96[_0x4f20('0xb9')](_0x6948ef[_0x4f20('0x61')][_0x4f20('0x6b')],_[_0x4f20('0x8b')](_0x6948ef[_0x4f20('0x61')],[_0x4f20('0x6b'),'id'])||{})[_0x4f20('0xba')](function(_0x392ac6){for(var _0x4b3007=0x0;_0x4b3007<_0x6948ef[_0x4f20('0x61')][_0x4f20('0x6b')][_0x4f20('0x50')];_0x4b3007+=0x1){socket[_0x4f20('0xbb')](_0x4f20('0xbc'),{'UserId':_0x6948ef['body'][_0x4f20('0x6b')][_0x4b3007],'MailAccountId':_0x6948ef[_0x4f20('0x5e')]['id']});}return _0x392ac6;});}})[_0x4f20('0x23')](respondWithResult(_0x251fda,null))[_0x4f20('0x2e')](handleError(_0x251fda,null));};exports[_0x4f20('0xbd')]=function(_0x5ef8f2,_0x484596,_0x4d85de){return db[_0x4f20('0x44')]['find']({'where':{'id':_0x5ef8f2[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x484596,null))['then'](function(_0x97f4c){if(_0x97f4c){return _0x97f4c[_0x4f20('0xbd')](_0x5ef8f2[_0x4f20('0x4b')][_0x4f20('0x6b')])[_0x4f20('0x23')](function(){if(_[_0x4f20('0xbe')](_0x5ef8f2[_0x4f20('0x4b')]['ids'])){for(var _0x4ab5a2=0x0;_0x4ab5a2<_0x5ef8f2['query']['ids'][_0x4f20('0x50')];_0x4ab5a2+=0x1){socket[_0x4f20('0xbb')](_0x4f20('0xbf'),{'UserId':Number(_0x5ef8f2[_0x4f20('0x4b')][_0x4f20('0x6b')][_0x4ab5a2]),'MailAccountId':Number(_0x5ef8f2[_0x4f20('0x5e')]['id'])});}}else{socket[_0x4f20('0xbb')](_0x4f20('0xbf'),{'UserId':Number(_0x5ef8f2['query'][_0x4f20('0x6b')]),'MailAccountId':Number(_0x5ef8f2[_0x4f20('0x5e')]['id'])});}});}})[_0x4f20('0x23')](respondWithStatusCode(_0x484596,null))[_0x4f20('0x2e')](handleError(_0x484596,null));};exports[_0x4f20('0xc0')]=function(_0x2cbba3,_0x2fec04,_0x3d0f91){var _0x5c1ca8={};var _0x10a356={};var _0x3272c6;var _0x5a75a6;return db[_0x4f20('0x44')]['findOne']({'where':{'id':_0x2cbba3[_0x4f20('0x5e')]['id']}})[_0x4f20('0x23')](handleEntityNotFound(_0x2fec04,null))[_0x4f20('0x23')](function(_0x3cc4d2){if(_0x3cc4d2){_0x3272c6=_0x3cc4d2;_0x10a356['model']=_[_0x4f20('0x4c')](db[_0x4f20('0xc1')]['rawAttributes']);_0x10a356['query']=_[_0x4f20('0x4c')](_0x2cbba3[_0x4f20('0x4b')]);_0x10a356[_0x4f20('0x54')]=_[_0x4f20('0x4d')](_0x10a356[_0x4f20('0x49')],_0x10a356['query']);_0x5c1ca8['attributes']=_['intersection'](_0x10a356[_0x4f20('0x49')],qs[_0x4f20('0x4f')](_0x2cbba3['query']['fields']));_0x5c1ca8[_0x4f20('0x4e')]=_0x5c1ca8['attributes'][_0x4f20('0x50')]?_0x5c1ca8['attributes']:_0x10a356['model'];_0x5c1ca8[_0x4f20('0x52')]=qs['sort'](_0x2cbba3[_0x4f20('0x4b')][_0x4f20('0x53')]);_0x5c1ca8[_0x4f20('0x56')]=qs[_0x4f20('0x54')](_[_0x4f20('0x55')](_0x2cbba3[_0x4f20('0x4b')],_0x10a356['filters']));if(_0x2cbba3['query'][_0x4f20('0x59')]){_0x5c1ca8[_0x4f20('0x56')]=_[_0x4f20('0x57')](_0x5c1ca8[_0x4f20('0x56')],{'$or':_['map'](_0x5c1ca8[_0x4f20('0x4e')],function(_0x3776e9){var _0x5ba732={};_0x5ba732[_0x3776e9]={'$like':'%'+_0x2cbba3[_0x4f20('0x4b')][_0x4f20('0x59')]+'%'};return _0x5ba732;})});}_0x5c1ca8=_[_0x4f20('0x57')]({},_0x5c1ca8,_0x2cbba3[_0x4f20('0x5a')]);return _0x3272c6['getAgents'](_0x5c1ca8);}})[_0x4f20('0x23')](function(_0x21c4a1){if(_0x21c4a1){_0x5a75a6=_0x21c4a1['length'];if(!_0x2cbba3[_0x4f20('0x4b')][_0x4f20('0x51')](_0x4f20('0x68'))){_0x5c1ca8[_0x4f20('0x31')]=qs[_0x4f20('0x31')](_0x2cbba3[_0x4f20('0x4b')]['limit']);_0x5c1ca8['offset']=qs[_0x4f20('0x30')](_0x2cbba3[_0x4f20('0x4b')][_0x4f20('0x30')]);}return _0x3272c6[_0x4f20('0xc0')](_0x5c1ca8);}})[_0x4f20('0x23')](function(_0x4700f7){if(_0x4700f7){return _0x4700f7?{'count':_0x5a75a6,'rows':_0x4700f7}:null;}})[_0x4f20('0x23')](respondWithResult(_0x2fec04,null))[_0x4f20('0x2e')](handleError(_0x2fec04,null));};