37819772b4b1f0a606f5d93a3c1b5c2d3cc999f0
[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 _0x760b=['find','params','describe','Disposition','getDispositions','findOne','filters','nolimit','removeDispositions','ids','addAnswer','MailAccountId','create','getAnswers','CannedAnswer','removeAnswers','key','ListId','isNil','active','description','cservice','cauthentication','user','password','pass','cpassword','authentication','port','host','service','cuser','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','omit','getInteractions','MailInteraction','CmContact','User','Owner','internal','Tag','color','tag','addApplications','sequelize','MailApplication','priority','getApplications','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','CmList','List','updatedAt','DESC','from','%s\x20<%s>','email','attachments','join','root','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','userMailAccount:save','removeAgents','isArray','emit','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','jsforce','querystring','html-to-text','juice','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','register','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','info','catch','sendStatus','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','destroy','get','MailAccounts','name','index','MailServerIn','Imap','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','options','findAll','rows','show','Smtp','includeAll','include','update','body'];(function(_0x7d2fc1,_0x366dba){var _0xf32bb0=function(_0x1ef2e3){while(--_0x1ef2e3){_0x7d2fc1['push'](_0x7d2fc1['shift']());}};_0xf32bb0(++_0x366dba);}(_0x760b,0x1e3));var _0xb760=function(_0x2c8633,_0x16d006){_0x2c8633=_0x2c8633-0x0;var _0x331f7e=_0x760b[_0x2c8633];return _0x331f7e;};'use strict';var emlformat=require(_0xb760('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb760('0x1'));var jsonpatch=require(_0xb760('0x2'));var rp=require(_0xb760('0x3'));var moment=require(_0xb760('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb760('0x5'));var util=require(_0xb760('0x6'));var path=require(_0xb760('0x7'));var sox=require(_0xb760('0x8'));var csv=require(_0xb760('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb760('0xa'));var _=require(_0xb760('0xb'));var squel=require(_0xb760('0xc'));var crypto=require('crypto');var jsforce=require(_0xb760('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xb760('0x9'));var querystring=require(_0xb760('0xe'));var Papa=require('papaparse');var htmlToText=require(_0xb760('0xf'));var juice=require(_0xb760('0x10'));var Redis=require(_0xb760('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb760('0x12'));var hardwareService=require(_0xb760('0x13'));var logger=require('../../config/logger')(_0xb760('0x14'));var utils=require('../../config/utils');var config=require(_0xb760('0x15'));var licenseUtil=require(_0xb760('0x16'));var db=require('../../mysqldb')['db'];config[_0xb760('0x17')]=_[_0xb760('0x18')](config[_0xb760('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0xb760('0x19'))(new Redis(config['redis']));require('./mailAccount.socket')[_0xb760('0x1a')](socket);var jayson=require('jayson/promise');var client=jayson[_0xb760('0x1b')][_0xb760('0x1c')]({'port':0x232b});function respondWithRpcPromise(_0x4b49d6,_0x2f6035,_0x660250,_0x4056be){return new BPromise(function(_0x4cfe47,_0xbef41e){var _0x495c77=_0x4056be||client;return _0x495c77[_0xb760('0x1d')](_0x4b49d6,_0x660250)[_0xb760('0x1e')](function(_0x1cc5d2){logger['info'](_0xb760('0x1f'),_0x2f6035,_0xb760('0x20'));logger[_0xb760('0x21')](_0xb760('0x22'),_0x2f6035,'request\x20sent',JSON['stringify'](_0x1cc5d2));if(_0x1cc5d2[_0xb760('0x23')]){if(_0x1cc5d2['error'][_0xb760('0x24')]===0x1f4){logger[_0xb760('0x23')](_0xb760('0x1f'),_0x2f6035,_0x1cc5d2[_0xb760('0x23')]['message']);return _0xbef41e(_0x1cc5d2[_0xb760('0x23')][_0xb760('0x25')]);}logger['error'](_0xb760('0x1f'),_0x2f6035,_0x1cc5d2[_0xb760('0x23')][_0xb760('0x25')]);return _0x4cfe47(_0x1cc5d2[_0xb760('0x23')]['message']);}else{logger[_0xb760('0x26')](_0xb760('0x1f'),_0x2f6035,_0xb760('0x20'));_0x4cfe47(_0x1cc5d2['result']['message']);}})[_0xb760('0x27')](function(_0x2ce8a1){logger[_0xb760('0x23')](_0xb760('0x1f'),_0x2f6035,_0x2ce8a1);_0xbef41e(_0x2ce8a1);});});}function respondWithStatusCode(_0x3bda05,_0x2e6edf){_0x2e6edf=_0x2e6edf||0xcc;return function(_0x5c67bb){if(_0x5c67bb){return _0x3bda05[_0xb760('0x28')](_0x2e6edf);}return _0x3bda05[_0xb760('0x29')](_0x2e6edf)[_0xb760('0x2a')]();};}function respondWithResult(_0x59b39c,_0x31f5f4){_0x31f5f4=_0x31f5f4||0xc8;return function(_0x5483da){if(_0x5483da){return _0x59b39c[_0xb760('0x29')](_0x31f5f4)[_0xb760('0x2b')](_0x5483da);}};}function respondWithFilteredResult(_0x100b09,_0x404f04){return function(_0xe61a98){if(_0xe61a98){var _0xc8cfc7=typeof _0x404f04['offset']==='undefined'&&typeof _0x404f04['limit']===_0xb760('0x2c');var _0x2213ea=_0xe61a98[_0xb760('0x2d')];var _0x1e7321=_0xc8cfc7?0x0:_0x404f04[_0xb760('0x2e')];var _0xdb1338=_0xc8cfc7?_0xe61a98[_0xb760('0x2d')]:_0x404f04['offset']+_0x404f04[_0xb760('0x2f')];var _0x2569e8;if(_0xdb1338>=_0x2213ea){_0xdb1338=_0x2213ea;_0x2569e8=0xc8;}else{_0x2569e8=0xce;}_0x100b09['status'](_0x2569e8);return _0x100b09['set'](_0xb760('0x30'),_0x1e7321+'-'+_0xdb1338+'/'+_0x2213ea)[_0xb760('0x2b')](_0xe61a98);}return null;};}function patchUpdates(_0x4b2162){return function(_0x2dd89d){try{jsonpatch[_0xb760('0x31')](_0x2dd89d,_0x4b2162,!![]);}catch(_0x4d7444){return BPromise[_0xb760('0x32')](_0x4d7444);}return _0x2dd89d[_0xb760('0x33')]();};}function saveUpdates(_0x2b5c02,_0x4478fd){return function(_0x1f1ed1){if(_0x1f1ed1){return _0x1f1ed1['update'](_0x2b5c02)[_0xb760('0x1e')](function(_0x21a1bb){return _0x21a1bb;});}return null;};}function removeEntity(_0xdf3df2,_0xef1fd1){return function(_0x486dd8){if(_0x486dd8){return _0x486dd8[_0xb760('0x34')]()[_0xb760('0x1e')](function(){var _0x356d31=_0x486dd8[_0xb760('0x35')]({'plain':!![]});var _0x415130=_0xb760('0x36');return db['UserProfileResource']['destroy']({'where':{'type':_0x415130,'resourceId':_0x356d31['id']}})['then'](function(){return _0x486dd8;});})[_0xb760('0x1e')](function(){_0xdf3df2['status'](0xcc)[_0xb760('0x2a')]();});}};}function handleEntityNotFound(_0x48c1d1,_0x5f2c91){return function(_0x2d030d){if(!_0x2d030d){_0x48c1d1[_0xb760('0x28')](0x194);}return _0x2d030d;};}function handleError(_0xcad653,_0x4a5f35){_0x4a5f35=_0x4a5f35||0x1f4;return function(_0x32f21f){logger['error'](_0x32f21f['stack']);if(_0x32f21f[_0xb760('0x37')]){delete _0x32f21f[_0xb760('0x37')];}_0xcad653[_0xb760('0x29')](_0x4a5f35)['send'](_0x32f21f);};}exports[_0xb760('0x38')]=function(_0x559289,_0x4de7b5){var _0x416cab={'include':[{'model':db[_0xb760('0x39')],'as':_0xb760('0x3a')},{'model':db[_0xb760('0x3b')],'as':'Smtp'},{'model':db[_0xb760('0x3c')],'as':_0xb760('0x3d')}]},_0x462bc0={},_0x363db1={'count':0x0,'rows':[]};var _0x1ad467=_[_0xb760('0x3e')](db[_0xb760('0x3f')][_0xb760('0x40')],function(_0x126005){return{'name':_0x126005[_0xb760('0x41')],'type':_0x126005['type']['key']};});_0x462bc0[_0xb760('0x42')]=_[_0xb760('0x3e')](_0x1ad467,_0xb760('0x37'));_0x462bc0[_0xb760('0x43')]=_[_0xb760('0x44')](_0x559289['query']);_0x462bc0['filters']=_[_0xb760('0x45')](_0x462bc0[_0xb760('0x42')],_0x462bc0[_0xb760('0x43')]);_0x416cab[_0xb760('0x46')]=_[_0xb760('0x45')](_0x462bc0['model'],qs[_0xb760('0x47')](_0x559289[_0xb760('0x43')]['fields']));_0x416cab['attributes']=_0x416cab[_0xb760('0x46')][_0xb760('0x48')]?_0x416cab[_0xb760('0x46')]:_0x462bc0['model'];if(!_0x559289[_0xb760('0x43')][_0xb760('0x49')]('nolimit')){_0x416cab[_0xb760('0x2f')]=qs[_0xb760('0x2f')](_0x559289[_0xb760('0x43')][_0xb760('0x2f')]);_0x416cab[_0xb760('0x2e')]=qs['offset'](_0x559289[_0xb760('0x43')]['offset']);}_0x416cab[_0xb760('0x4a')]=qs[_0xb760('0x4b')](_0x559289['query'][_0xb760('0x4b')]);_0x416cab[_0xb760('0x4c')]=qs['filters'](_[_0xb760('0x4d')](_0x559289[_0xb760('0x43')],_0x462bc0['filters']),_0x1ad467);if(_0x559289[_0xb760('0x43')][_0xb760('0x4e')]){_0x416cab[_0xb760('0x4c')]=_[_0xb760('0x4f')](_0x416cab[_0xb760('0x4c')],{'$or':_[_0xb760('0x3e')](_0x1ad467,function(_0xd35b49){if(_0xd35b49[_0xb760('0x50')]!=='VIRTUAL'){var _0xde1eb1={};_0xde1eb1[_0xd35b49[_0xb760('0x37')]]={'$like':'%'+_0x559289[_0xb760('0x43')][_0xb760('0x4e')]+'%'};return _0xde1eb1;}})});}_0x416cab=_['merge']({},_0x416cab,_0x559289[_0xb760('0x51')]);var _0x3e8a3c={'where':_0x416cab[_0xb760('0x4c')]};return db[_0xb760('0x3f')][_0xb760('0x2d')](_0x3e8a3c)[_0xb760('0x1e')](function(_0x220911){_0x363db1[_0xb760('0x2d')]=_0x220911;if(_0x559289[_0xb760('0x43')]['includeAll']){_0x416cab['include']=[{'all':!![]}];}return db[_0xb760('0x3f')][_0xb760('0x52')](_0x416cab);})[_0xb760('0x1e')](function(_0x5713e3){_0x363db1[_0xb760('0x53')]=_0x5713e3;return _0x363db1;})[_0xb760('0x1e')](respondWithFilteredResult(_0x4de7b5,_0x416cab))[_0xb760('0x27')](handleError(_0x4de7b5,null));};exports[_0xb760('0x54')]=function(_0x5101c5,_0x10959a){var _0x1ce01f={'raw':![],'where':{'id':_0x5101c5['params']['id']},'include':[{'model':db[_0xb760('0x39')],'as':_0xb760('0x3a')},{'model':db['MailServerOut'],'as':_0xb760('0x55')},{'model':db['Pause'],'as':_0xb760('0x3d')}]},_0x2e843e={};_0x2e843e[_0xb760('0x42')]=_[_0xb760('0x44')](db[_0xb760('0x3f')][_0xb760('0x40')]);_0x2e843e[_0xb760('0x43')]=_[_0xb760('0x44')](_0x5101c5[_0xb760('0x43')]);_0x2e843e['filters']=_[_0xb760('0x45')](_0x2e843e[_0xb760('0x42')],_0x2e843e[_0xb760('0x43')]);_0x1ce01f['attributes']=_[_0xb760('0x45')](_0x2e843e[_0xb760('0x42')],qs[_0xb760('0x47')](_0x5101c5[_0xb760('0x43')][_0xb760('0x47')]));_0x1ce01f['attributes']=_0x1ce01f[_0xb760('0x46')][_0xb760('0x48')]?_0x1ce01f[_0xb760('0x46')]:_0x2e843e[_0xb760('0x42')];if(_0x5101c5[_0xb760('0x43')][_0xb760('0x56')]){_0x1ce01f[_0xb760('0x57')]=[{'all':!![]}];}_0x1ce01f=_[_0xb760('0x4f')]({},_0x1ce01f,_0x5101c5[_0xb760('0x51')]);return db[_0xb760('0x3f')]['find'](_0x1ce01f)[_0xb760('0x1e')](handleEntityNotFound(_0x10959a,null))[_0xb760('0x1e')](respondWithResult(_0x10959a,null))[_0xb760('0x27')](handleError(_0x10959a,null));};exports[_0xb760('0x58')]=function(_0x10df83,_0x22cfba){if(_0x10df83[_0xb760('0x59')]['id']){delete _0x10df83[_0xb760('0x59')]['id'];}return db['MailAccount'][_0xb760('0x5a')]({'where':{'id':_0x10df83[_0xb760('0x5b')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xb760('0x3a')},{'model':db['MailServerOut'],'as':_0xb760('0x55')},{'model':db[_0xb760('0x3c')],'as':_0xb760('0x3d')}]})[_0xb760('0x1e')](handleEntityNotFound(_0x22cfba,null))[_0xb760('0x1e')](saveUpdates(_0x10df83['body'],null))['then'](function(_0x272537){if(_0x272537&&_0x10df83[_0xb760('0x59')][_0xb760('0x3a')]){return db['MailServerIn'][_0xb760('0x58')](_0x10df83['body'][_0xb760('0x3a')],{'where':{'MailAccountId':_0x272537['id']}})[_0xb760('0x1e')](function(){return _0x272537;});}return _0x272537;})[_0xb760('0x1e')](function(_0xbbfec7){if(_0xbbfec7&&_0x10df83['body'][_0xb760('0x55')]){return db[_0xb760('0x3b')][_0xb760('0x58')](_0x10df83[_0xb760('0x59')]['Smtp'],{'where':{'MailAccountId':_0xbbfec7['id']}})[_0xb760('0x1e')](function(){return _0xbbfec7;});}return _0xbbfec7;})[_0xb760('0x1e')](respondWithResult(_0x22cfba,null))[_0xb760('0x27')](handleError(_0x22cfba,null));};exports[_0xb760('0x5c')]=function(_0x41de4f,_0x474625){return db[_0xb760('0x3f')][_0xb760('0x5c')]()[_0xb760('0x1e')](respondWithResult(_0x474625,null))[_0xb760('0x27')](handleError(_0x474625,null));};exports['addDisposition']=function(_0x4c010d,_0x33f7ee,_0x4e59d5){if(_0x4c010d['body']['id']){delete _0x4c010d[_0xb760('0x59')]['id'];}return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x4c010d[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x33f7ee,null))[_0xb760('0x1e')](function(_0x4a8788){if(_0x4a8788){_0x4c010d[_0xb760('0x59')]['MailAccountId']=_0x4a8788['id'];return db[_0xb760('0x5d')]['create'](_0x4c010d[_0xb760('0x59')]);}})['then'](respondWithResult(_0x33f7ee,null))['catch'](handleError(_0x33f7ee,null));};exports[_0xb760('0x5e')]=function(_0x5314cd,_0x9987c,_0x9cc010){var _0x1662b4={'raw':![],'where':{}};var _0x11f6d9={};var _0x4d57d8={'count':0x0,'rows':[]};return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x5314cd[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x9987c,null))[_0xb760('0x1e')](function(_0x3e0db7){if(_0x3e0db7){_0x11f6d9['model']=_[_0xb760('0x44')](db['Disposition']['rawAttributes']);_0x11f6d9['query']=_[_0xb760('0x44')](_0x5314cd['query']);_0x11f6d9[_0xb760('0x60')]=_[_0xb760('0x45')](_0x11f6d9[_0xb760('0x42')],_0x11f6d9['query']);_0x1662b4[_0xb760('0x46')]=_[_0xb760('0x45')](_0x11f6d9['model'],qs[_0xb760('0x47')](_0x5314cd[_0xb760('0x43')][_0xb760('0x47')]));_0x1662b4[_0xb760('0x46')]=_0x1662b4[_0xb760('0x46')][_0xb760('0x48')]?_0x1662b4[_0xb760('0x46')]:_0x11f6d9[_0xb760('0x42')];if(!_0x5314cd[_0xb760('0x43')][_0xb760('0x49')](_0xb760('0x61'))){_0x1662b4['limit']=qs[_0xb760('0x2f')](_0x5314cd[_0xb760('0x43')]['limit']);_0x1662b4[_0xb760('0x2e')]=qs[_0xb760('0x2e')](_0x5314cd[_0xb760('0x43')][_0xb760('0x2e')]);}_0x1662b4[_0xb760('0x4a')]=qs[_0xb760('0x4b')](_0x5314cd[_0xb760('0x43')][_0xb760('0x4b')]);_0x1662b4['where']=qs[_0xb760('0x60')](_['pick'](_0x5314cd[_0xb760('0x43')],_0x11f6d9[_0xb760('0x60')]));_0x1662b4['where']['MailAccountId']=_0x3e0db7['id'];if(_0x5314cd[_0xb760('0x43')][_0xb760('0x4e')]){_0x1662b4[_0xb760('0x4c')]=_[_0xb760('0x4f')](_0x1662b4[_0xb760('0x4c')],{'$or':_['map'](_0x1662b4[_0xb760('0x46')],function(_0xef62ac){var _0x3284e2={};_0x3284e2[_0xef62ac]={'$like':'%'+_0x5314cd['query']['filter']+'%'};return _0x3284e2;})});}_0x1662b4=_[_0xb760('0x4f')]({},_0x1662b4,_0x5314cd[_0xb760('0x51')]);return db['Disposition'][_0xb760('0x2d')]({'where':_0x1662b4[_0xb760('0x4c')]})[_0xb760('0x1e')](function(_0x3e294e){_0x4d57d8[_0xb760('0x2d')]=_0x3e294e;if(_0x5314cd[_0xb760('0x43')][_0xb760('0x56')]){_0x1662b4[_0xb760('0x57')]=[{'all':!![]}];}return db[_0xb760('0x5d')]['findAll'](_0x1662b4);})[_0xb760('0x1e')](function(_0x32af18){_0x4d57d8[_0xb760('0x53')]=_0x32af18;return _0x4d57d8;});}})[_0xb760('0x1e')](respondWithFilteredResult(_0x9987c,_0x1662b4))['catch'](handleError(_0x9987c,null));};exports[_0xb760('0x62')]=function(_0x598a3b,_0x420fbe,_0x578373){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x598a3b[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x420fbe,null))[_0xb760('0x1e')](function(_0x3c676b){if(_0x3c676b){return _0x3c676b[_0xb760('0x62')](_0x598a3b[_0xb760('0x43')][_0xb760('0x63')]);}})['then'](respondWithStatusCode(_0x420fbe,null))['catch'](handleError(_0x420fbe,null));};exports[_0xb760('0x64')]=function(_0x466730,_0x4411ce,_0x948817){if(_0x466730[_0xb760('0x59')]['id']){delete _0x466730[_0xb760('0x59')]['id'];}return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x466730[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x4411ce,null))['then'](function(_0x5cbf28){if(_0x5cbf28){_0x466730['body'][_0xb760('0x65')]=_0x5cbf28['id'];return db['CannedAnswer'][_0xb760('0x66')](_0x466730[_0xb760('0x59')]);}})[_0xb760('0x1e')](respondWithResult(_0x4411ce,null))[_0xb760('0x27')](handleError(_0x4411ce,null));};exports[_0xb760('0x67')]=function(_0x592a4d,_0x26a93c,_0x19c84e){var _0x16568a={'raw':![],'where':{}};var _0x3a6dfc={};var _0x58a8c6={'count':0x0,'rows':[]};return db['MailAccount'][_0xb760('0x5f')]({'where':{'id':_0x592a4d[_0xb760('0x5b')]['id']}})['then'](handleEntityNotFound(_0x26a93c,null))[_0xb760('0x1e')](function(_0x1ae3e9){if(_0x1ae3e9){_0x3a6dfc[_0xb760('0x42')]=_[_0xb760('0x44')](db[_0xb760('0x68')][_0xb760('0x40')]);_0x3a6dfc['query']=_[_0xb760('0x44')](_0x592a4d['query']);_0x3a6dfc['filters']=_[_0xb760('0x45')](_0x3a6dfc[_0xb760('0x42')],_0x3a6dfc[_0xb760('0x43')]);_0x16568a[_0xb760('0x46')]=_['intersection'](_0x3a6dfc[_0xb760('0x42')],qs[_0xb760('0x47')](_0x592a4d[_0xb760('0x43')][_0xb760('0x47')]));_0x16568a[_0xb760('0x46')]=_0x16568a[_0xb760('0x46')]['length']?_0x16568a[_0xb760('0x46')]:_0x3a6dfc['model'];if(!_0x592a4d[_0xb760('0x43')][_0xb760('0x49')]('nolimit')){_0x16568a[_0xb760('0x2f')]=qs[_0xb760('0x2f')](_0x592a4d['query'][_0xb760('0x2f')]);_0x16568a[_0xb760('0x2e')]=qs['offset'](_0x592a4d[_0xb760('0x43')]['offset']);}_0x16568a[_0xb760('0x4a')]=qs['sort'](_0x592a4d[_0xb760('0x43')][_0xb760('0x4b')]);_0x16568a['where']=qs[_0xb760('0x60')](_[_0xb760('0x4d')](_0x592a4d[_0xb760('0x43')],_0x3a6dfc[_0xb760('0x60')]));_0x16568a[_0xb760('0x4c')][_0xb760('0x65')]=_0x1ae3e9['id'];if(_0x592a4d[_0xb760('0x43')][_0xb760('0x4e')]){_0x16568a[_0xb760('0x4c')]=_['merge'](_0x16568a[_0xb760('0x4c')],{'$or':_[_0xb760('0x3e')](_0x16568a[_0xb760('0x46')],function(_0x3ba998){var _0xd1e18d={};_0xd1e18d[_0x3ba998]={'$like':'%'+_0x592a4d[_0xb760('0x43')][_0xb760('0x4e')]+'%'};return _0xd1e18d;})});}_0x16568a=_[_0xb760('0x4f')]({},_0x16568a,_0x592a4d['options']);return db[_0xb760('0x68')][_0xb760('0x2d')]({'where':_0x16568a[_0xb760('0x4c')]})[_0xb760('0x1e')](function(_0x2526a0){_0x58a8c6[_0xb760('0x2d')]=_0x2526a0;if(_0x592a4d[_0xb760('0x43')][_0xb760('0x56')]){_0x16568a[_0xb760('0x57')]=[{'all':!![]}];}return db[_0xb760('0x68')]['findAll'](_0x16568a);})[_0xb760('0x1e')](function(_0x1cb1b8){_0x58a8c6[_0xb760('0x53')]=_0x1cb1b8;return _0x58a8c6;});}})[_0xb760('0x1e')](respondWithFilteredResult(_0x26a93c,_0x16568a))[_0xb760('0x27')](handleError(_0x26a93c,null));};exports['removeAnswers']=function(_0x1751a1,_0x15c067,_0x157c94){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x1751a1[_0xb760('0x5b')]['id']}})['then'](handleEntityNotFound(_0x15c067,null))[_0xb760('0x1e')](function(_0x15c230){if(_0x15c230){return _0x15c230[_0xb760('0x69')](_0x1751a1[_0xb760('0x43')]['ids']);}})[_0xb760('0x1e')](respondWithStatusCode(_0x15c067,null))[_0xb760('0x27')](handleError(_0x15c067,null));};exports['create']=function(_0x28e44a,_0x478e6c){var _0x1d444a={'name':_0x28e44a[_0xb760('0x59')]['name'],'key':_0x28e44a['body'][_0xb760('0x6a')],'email':_0x28e44a[_0xb760('0x59')]['email'],'ListId':_0x28e44a['body'][_0xb760('0x6b')],'active':!_[_0xb760('0x6c')](_0x28e44a['body'][_0xb760('0x6d')])?_0x28e44a[_0xb760('0x59')][_0xb760('0x6d')]:!![],'description':_0x28e44a[_0xb760('0x59')][_0xb760('0x6e')]||null,'Imap':{},'Smtp':{}};if(_[_0xb760('0x6c')](_0x28e44a[_0xb760('0x59')][_0xb760('0x6f')])){if(_0x28e44a[_0xb760('0x59')][_0xb760('0x70')]){_0x1d444a[_0xb760('0x3a')][_0xb760('0x71')]=_0x1d444a[_0xb760('0x55')][_0xb760('0x71')]=_0x28e44a[_0xb760('0x59')]['cuser'];_0x1d444a[_0xb760('0x3a')][_0xb760('0x72')]=_0x1d444a[_0xb760('0x55')][_0xb760('0x73')]=_0x28e44a[_0xb760('0x59')][_0xb760('0x74')];}else{_0x1d444a[_0xb760('0x3a')][_0xb760('0x75')]=_0x1d444a['Smtp'][_0xb760('0x75')]=![];}_0x1d444a[_0xb760('0x3a')]['host']=_0x28e44a[_0xb760('0x59')][_0xb760('0x3a')]['host'];_0x1d444a['Imap'][_0xb760('0x76')]=_0x28e44a['body']['Imap']['port'];_0x1d444a[_0xb760('0x55')][_0xb760('0x77')]=_0x28e44a[_0xb760('0x59')]['Smtp'][_0xb760('0x77')];_0x1d444a[_0xb760('0x55')][_0xb760('0x76')]=_0x28e44a[_0xb760('0x59')]['Smtp'][_0xb760('0x76')];}else{_0x1d444a[_0xb760('0x3a')][_0xb760('0x78')]=_0x1d444a[_0xb760('0x55')]['service']=_0x28e44a['body'][_0xb760('0x6f')];_0x1d444a[_0xb760('0x3a')]['user']=_0x1d444a['Smtp'][_0xb760('0x71')]=_0x28e44a['body'][_0xb760('0x79')];_0x1d444a['Imap'][_0xb760('0x72')]=_0x1d444a['Smtp']['pass']=_0x28e44a[_0xb760('0x59')]['cpassword'];}return db['MailAccount']['create'](_0x1d444a,{'include':[{'model':db['MailServerOut'],'as':_0xb760('0x55')},{'model':db['MailServerIn'],'as':_0xb760('0x3a')}]})['then'](function(_0xe4f1de){var _0x4c678a=_0x28e44a[_0xb760('0x71')]['get']({'plain':!![]});if(!_0x4c678a)throw new Error(_0xb760('0x7a'));if(_0x4c678a['role']===_0xb760('0x71')){var _0x2ef4b7=_0xe4f1de[_0xb760('0x35')]({'plain':!![]});return db[_0xb760('0x7b')][_0xb760('0x5a')]({'where':{'name':'MailAccounts','userProfileId':_0x4c678a[_0xb760('0x7c')]},'raw':!![]})[_0xb760('0x1e')](function(_0x2ed004){if(_0x2ed004&&_0x2ed004[_0xb760('0x7d')]===0x0){return db[_0xb760('0x7e')][_0xb760('0x66')]({'name':_0x2ef4b7[_0xb760('0x37')],'resourceId':_0x2ef4b7['id'],'type':_0x2ed004[_0xb760('0x37')],'sectionId':_0x2ed004['id']},{})[_0xb760('0x1e')](function(){return _0xe4f1de;});}else{return _0xe4f1de;}})[_0xb760('0x27')](function(_0x3dffb9){logger['error'](_0xb760('0x7f'),_0x3dffb9);throw _0x3dffb9;});}return _0xe4f1de;})[_0xb760('0x1e')](respondWithResult(_0x478e6c,0xc9))[_0xb760('0x27')](handleError(_0x478e6c,null));};exports[_0xb760('0x80')]=function(_0x10e318,_0xc251d3,_0x420d07){return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x10e318[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0xc251d3,null))[_0xb760('0x1e')](function(_0x25d427){if(_0x25d427){return _0x25d427[_0xb760('0x80')]();}return null;})[_0xb760('0x1e')](respondWithResult(_0xc251d3,null))[_0xb760('0x27')](handleError(_0xc251d3,null));};exports[_0xb760('0x81')]=function(_0x1e6635,_0x1ab257,_0x3da4a8){if(_0x1e6635[_0xb760('0x59')]['id']){delete _0x1e6635['body']['id'];}return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x1e6635['params']['id']}})['then'](handleEntityNotFound(_0x1ab257,null))[_0xb760('0x1e')](function(_0x285c74){if(_0x285c74){_0x1e6635[_0xb760('0x59')][_0xb760('0x65')]=_0x285c74['id'];return db[_0xb760('0x39')]['create'](_0x1e6635[_0xb760('0x59')]);}})[_0xb760('0x1e')](respondWithResult(_0x1ab257,null))['catch'](handleError(_0x1ab257,null));};exports[_0xb760('0x82')]=function(_0x193b47,_0x37239a,_0x35492a){return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x193b47['params']['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x37239a,null))[_0xb760('0x1e')](function(_0x14d027){if(_0x14d027){return _0x14d027[_0xb760('0x83')](null);}return null;})[_0xb760('0x1e')](respondWithStatusCode(_0x37239a,null))[_0xb760('0x27')](handleError(_0x37239a,null));};exports[_0xb760('0x84')]=function(_0x15dc9c,_0x2c5dc3,_0x3f37b7){return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x15dc9c['params']['id']}})['then'](handleEntityNotFound(_0x2c5dc3,null))[_0xb760('0x1e')](function(_0x313cde){if(_0x313cde){return _0x313cde[_0xb760('0x84')]();}return null;})[_0xb760('0x1e')](respondWithResult(_0x2c5dc3,null))[_0xb760('0x27')](handleError(_0x2c5dc3,null));};exports[_0xb760('0x85')]=function(_0x54d0c1,_0x35a084,_0x3e9845){if(_0x54d0c1['body']['id']){delete _0x54d0c1[_0xb760('0x59')]['id'];}return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x54d0c1[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x35a084,null))[_0xb760('0x1e')](function(_0xb85bdb){if(_0xb85bdb){_0x54d0c1[_0xb760('0x59')][_0xb760('0x65')]=_0xb85bdb['id'];return db[_0xb760('0x3b')][_0xb760('0x66')](_0x54d0c1[_0xb760('0x59')]);}})['then'](respondWithResult(_0x35a084,null))[_0xb760('0x27')](handleError(_0x35a084,null));};exports[_0xb760('0x86')]=function(_0x3ba47b,_0x5e9df2,_0x696225){return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x3ba47b['params']['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x5e9df2,null))[_0xb760('0x1e')](function(_0x4bb3ab){if(_0x4bb3ab){return _0x4bb3ab['setSmtp'](null);}return null;})[_0xb760('0x1e')](respondWithStatusCode(_0x5e9df2,null))[_0xb760('0x27')](handleError(_0x5e9df2,null));};exports[_0xb760('0x87')]=function(_0x3124bd,_0x54c9db,_0x2a5a6f){return db['MailInteraction']['find']({'where':{'id':_0x3124bd[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x54c9db,null))[_0xb760('0x1e')](function(_0x488a53){if(_0x488a53){return _0x488a53[_0xb760('0x87')](_0x3124bd[_0xb760('0x59')][_0xb760('0x63')],_[_0xb760('0x88')](_0x3124bd[_0xb760('0x59')],[_0xb760('0x63'),'id'])||{});}})[_0xb760('0x1e')](respondWithResult(_0x54c9db,null))[_0xb760('0x27')](handleError(_0x54c9db,null));};exports[_0xb760('0x89')]=function(_0x5358b4,_0x1c8dca,_0x3ed4cd){var _0x5b981d={'raw':![],'where':{}};var _0xcbaa59={};var _0x36f45f={'count':0x0,'rows':[]};return db['MailAccount'][_0xb760('0x5f')]({'where':{'id':_0x5358b4[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x1c8dca,null))[_0xb760('0x1e')](function(_0x268430){if(_0x268430){_0xcbaa59['model']=_[_0xb760('0x44')](db['MailInteraction'][_0xb760('0x40')]);_0xcbaa59['query']=_[_0xb760('0x44')](_0x5358b4[_0xb760('0x43')]);_0xcbaa59[_0xb760('0x60')]=_['intersection'](_0xcbaa59[_0xb760('0x42')],_0xcbaa59[_0xb760('0x43')]);_0x5b981d[_0xb760('0x46')]=_[_0xb760('0x45')](_0xcbaa59[_0xb760('0x42')],qs[_0xb760('0x47')](_0x5358b4[_0xb760('0x43')][_0xb760('0x47')]));_0x5b981d[_0xb760('0x46')]=_0x5b981d['attributes']['length']?_0x5b981d[_0xb760('0x46')]:_0xcbaa59['model'];if(!_0x5358b4['query']['hasOwnProperty'](_0xb760('0x61'))){_0x5b981d['limit']=qs[_0xb760('0x2f')](_0x5358b4[_0xb760('0x43')]['limit']);_0x5b981d[_0xb760('0x2e')]=qs['offset'](_0x5358b4[_0xb760('0x43')][_0xb760('0x2e')]);}_0x5b981d['order']=qs['sort'](_0x5358b4[_0xb760('0x43')][_0xb760('0x4b')]);_0x5b981d[_0xb760('0x4c')]=qs[_0xb760('0x60')](_[_0xb760('0x4d')](_0x5358b4[_0xb760('0x43')],_0xcbaa59[_0xb760('0x60')]));_0x5b981d['where'][_0xb760('0x65')]=_0x268430['id'];if(_0x5358b4[_0xb760('0x43')][_0xb760('0x4e')]){_0x5b981d[_0xb760('0x4c')]=_[_0xb760('0x4f')](_0x5b981d[_0xb760('0x4c')],{'$or':_[_0xb760('0x3e')](_0x5b981d[_0xb760('0x46')],function(_0x25e927){var _0x54f4a8={};_0x54f4a8[_0x25e927]={'$like':'%'+_0x5358b4[_0xb760('0x43')][_0xb760('0x4e')]+'%'};return _0x54f4a8;})});}_0x5b981d=_[_0xb760('0x4f')]({},_0x5b981d,_0x5358b4['options']);return db[_0xb760('0x8a')][_0xb760('0x2d')]({'where':_0x5b981d[_0xb760('0x4c')]})[_0xb760('0x1e')](function(_0x2e4ecc){_0x36f45f[_0xb760('0x2d')]=_0x2e4ecc;if(_0x5358b4[_0xb760('0x43')]['includeAll']){_0x5b981d[_0xb760('0x57')]=[{'model':db[_0xb760('0x8b')],'as':'Contact','required':![]},{'model':db[_0xb760('0x8c')],'as':_0xb760('0x8d'),'attributes':[_0xb760('0x37'),'fullname',_0xb760('0x8e')],'required':![]},{'model':db[_0xb760('0x8f')],'as':'Tags','attributes':['id',_0xb760('0x37'),_0xb760('0x90')],'where':_0x5358b4[_0xb760('0x43')]['tag']?{'id':_0x5358b4[_0xb760('0x43')][_0xb760('0x91')]}:undefined,'required':_0x5358b4[_0xb760('0x43')][_0xb760('0x91')]?!![]:![]}];}return db[_0xb760('0x8a')][_0xb760('0x52')](_0x5b981d);})[_0xb760('0x1e')](function(_0x2f9865){_0x36f45f['rows']=_0x2f9865;return _0x36f45f;});}})[_0xb760('0x1e')](respondWithFilteredResult(_0x1c8dca,_0x5b981d))['catch'](handleError(_0x1c8dca,null));};exports[_0xb760('0x92')]=function(_0x4ba03b,_0x27c8b9,_0x3b86af){return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x4ba03b[_0xb760('0x5b')]['id']}})['then'](handleEntityNotFound(_0x27c8b9,null))[_0xb760('0x1e')](function(_0x4f0494){if(_0x4f0494){return db[_0xb760('0x93')]['transaction'](function(_0x489beb){return db[_0xb760('0x94')][_0xb760('0x34')]({'where':{'MailAccountId':_0x4ba03b['params']['id']},'transaction':_0x489beb})['then'](function(_0x4d81d9){var _0x36abe5=_['map'](_0x4ba03b[_0xb760('0x59')],function(_0x4b5f94){_0x4b5f94[_0xb760('0x65')]=_0x4ba03b[_0xb760('0x5b')]['id'];return _0x4b5f94;});return db['MailApplication']['bulkCreate'](_0x36abe5,{'transaction':_0x489beb});});})[_0xb760('0x1e')](function(){return db[_0xb760('0x94')]['findAndCountAll']({'where':{'MailAccountId':_0x4ba03b[_0xb760('0x5b')]['id']},'order':_0xb760('0x95')});});}})[_0xb760('0x1e')](respondWithResult(_0x27c8b9,null))[_0xb760('0x27')](handleError(_0x27c8b9,null));};exports[_0xb760('0x96')]=function(_0x222591,_0x4a5975,_0x3824d2){var _0x29e9f6={};var _0x1ba031={};var _0x253e4d;var _0xb64d52;return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x222591[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x4a5975,null))[_0xb760('0x1e')](function(_0x49c410){if(_0x49c410){_0x253e4d=_0x49c410;_0x1ba031[_0xb760('0x42')]=_[_0xb760('0x44')](db[_0xb760('0x94')][_0xb760('0x40')]);_0x1ba031[_0xb760('0x43')]=_[_0xb760('0x44')](_0x222591[_0xb760('0x43')]);_0x1ba031[_0xb760('0x60')]=_['intersection'](_0x1ba031['model'],_0x1ba031[_0xb760('0x43')]);_0x29e9f6['attributes']=_['intersection'](_0x1ba031[_0xb760('0x42')],qs['fields'](_0x222591['query'][_0xb760('0x47')]));_0x29e9f6['attributes']=_0x29e9f6['attributes'][_0xb760('0x48')]?_0x29e9f6['attributes']:_0x1ba031[_0xb760('0x42')];_0x29e9f6['order']=qs[_0xb760('0x4b')](_0x222591[_0xb760('0x43')][_0xb760('0x4b')]);_0x29e9f6['where']=qs[_0xb760('0x60')](_[_0xb760('0x4d')](_0x222591['query'],_0x1ba031['filters']));if(_0x222591[_0xb760('0x43')][_0xb760('0x4e')]){_0x29e9f6[_0xb760('0x4c')]=_['merge'](_0x29e9f6[_0xb760('0x4c')],{'$or':_['map'](_0x29e9f6[_0xb760('0x46')],function(_0x3dfde3){var _0x5f1984={};_0x5f1984[_0x3dfde3]={'$like':'%'+_0x222591['query']['filter']+'%'};return _0x5f1984;})});}_0x29e9f6=_[_0xb760('0x4f')]({},_0x29e9f6,_0x222591[_0xb760('0x51')]);return _0x253e4d['getApplications'](_0x29e9f6);}})[_0xb760('0x1e')](function(_0x96d162){if(_0x96d162){_0xb64d52=_0x96d162['length'];if(!_0x222591[_0xb760('0x43')][_0xb760('0x49')](_0xb760('0x61'))){_0x29e9f6[_0xb760('0x2f')]=qs[_0xb760('0x2f')](_0x222591[_0xb760('0x43')]['limit']);_0x29e9f6[_0xb760('0x2e')]=qs[_0xb760('0x2e')](_0x222591[_0xb760('0x43')][_0xb760('0x2e')]);}return _0x253e4d['getApplications'](_0x29e9f6);}})[_0xb760('0x1e')](function(_0x230dc2){if(_0x230dc2){return _0x230dc2?{'count':_0xb64d52,'rows':_0x230dc2}:null;}})[_0xb760('0x1e')](respondWithResult(_0x4a5975,null))[_0xb760('0x27')](handleError(_0x4a5975,null));};exports['getMessages']=function(_0xd80de6,_0x3c17b5,_0x3a3978){var _0x4ebb4={'raw':!![],'where':{}};var _0x35f58f={};var _0x2b2508={'count':0x0,'rows':[]};return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0xd80de6[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x3c17b5,null))['then'](function(_0x2dd341){if(_0x2dd341){_0x35f58f['model']=_[_0xb760('0x44')](db['MailMessage']['rawAttributes']);_0x35f58f[_0xb760('0x43')]=_[_0xb760('0x44')](_0xd80de6[_0xb760('0x43')]);_0x35f58f[_0xb760('0x60')]=_['intersection'](_0x35f58f[_0xb760('0x42')],_0x35f58f[_0xb760('0x43')]);_0x4ebb4[_0xb760('0x46')]=_[_0xb760('0x45')](_0x35f58f[_0xb760('0x42')],qs[_0xb760('0x47')](_0xd80de6['query'][_0xb760('0x47')]));_0x4ebb4[_0xb760('0x46')]=_0x4ebb4[_0xb760('0x46')][_0xb760('0x48')]?_0x4ebb4[_0xb760('0x46')]:_0x35f58f[_0xb760('0x42')];if(!_0xd80de6['query']['hasOwnProperty'](_0xb760('0x61'))){_0x4ebb4[_0xb760('0x2f')]=qs['limit'](_0xd80de6[_0xb760('0x43')][_0xb760('0x2f')]);_0x4ebb4[_0xb760('0x2e')]=qs[_0xb760('0x2e')](_0xd80de6[_0xb760('0x43')][_0xb760('0x2e')]);}_0x4ebb4[_0xb760('0x4a')]=qs[_0xb760('0x4b')](_0xd80de6['query'][_0xb760('0x4b')]);_0x4ebb4[_0xb760('0x4c')]=qs['filters'](_[_0xb760('0x4d')](_0xd80de6['query'],_0x35f58f[_0xb760('0x60')]));_0x4ebb4[_0xb760('0x4c')]['MailAccountId']=_0x2dd341['id'];if(_0xd80de6[_0xb760('0x43')][_0xb760('0x4e')]){_0x4ebb4[_0xb760('0x4c')]=_[_0xb760('0x4f')](_0x4ebb4[_0xb760('0x4c')],{'$or':_['map'](_0x4ebb4[_0xb760('0x46')],function(_0x4ccc31){var _0x18dd7c={};_0x18dd7c[_0x4ccc31]={'$like':'%'+_0xd80de6[_0xb760('0x43')]['filter']+'%'};return _0x18dd7c;})});}if(_0xd80de6[_0xb760('0x43')][_0xb760('0x97')]){var _0x4f30ca=_0xd80de6['query'][_0xb760('0x97')][_0xb760('0x98')](',');var _0x4ab0c4={};_0x4ab0c4[_0x4f30ca[0x0]]={'$gte':moment(_0x4f30ca[0x1])[_0xb760('0x99')](_0xb760('0x9a'))};_0x4ebb4[_0xb760('0x4c')]=_['merge'](_0x4ebb4[_0xb760('0x4c')],_0x4ab0c4);}_0x4ebb4=_[_0xb760('0x4f')]({},_0x4ebb4,_0xd80de6['options']);return db[_0xb760('0x9b')][_0xb760('0x2d')]({'where':_0x4ebb4[_0xb760('0x4c')]})[_0xb760('0x1e')](function(_0x2777c1){_0x2b2508[_0xb760('0x2d')]=_0x2777c1;if(_0xd80de6[_0xb760('0x43')][_0xb760('0x56')]){_0x4ebb4['include']=[{'all':!![]}];}return db['MailMessage'][_0xb760('0x52')](_0x4ebb4);})[_0xb760('0x1e')](function(_0x535d2b){if(_0xd80de6[_0xb760('0x43')][_0xb760('0x9c')]===_0xb760('0x9d')){for(var _0x24d670=0x0;_0x24d670<_0x535d2b[_0xb760('0x48')];_0x24d670++){_0x535d2b[_0x24d670][_0xb760('0x59')]=juice(_0x535d2b[_0x24d670][_0xb760('0x59')]);}}_0x2b2508[_0xb760('0x53')]=_0x535d2b;return _0x2b2508;});}})[_0xb760('0x1e')](respondWithFilteredResult(_0x3c17b5,_0x4ebb4))['catch'](handleError(_0x3c17b5,null));};exports['send']=function(_0x44a89e,_0x42d5c4,_0x146312){var _0x385498,_0x32fe38={},_0x47ef39;if(_0x44a89e[_0xb760('0x59')]['to']){_0x47ef39=_0x44a89e[_0xb760('0x59')]['to'][_0xb760('0x98')](',')[0x0];}return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x44a89e[_0xb760('0x5b')]['id']},'include':[{'model':db[_0xb760('0x9e')],'as':_0xb760('0x9f'),'include':[{'model':db[_0xb760('0x8b')],'as':'Contacts','where':{'email':_0x47ef39},'limit':0x1,'order':[[_0xb760('0xa0'),_0xb760('0xa1')]]}]},{'model':db[_0xb760('0x3b')],'as':'Smtp','raw':!![]}]})['then'](handleEntityNotFound(_0x42d5c4,null))['then'](function(_0x1320ff){if(_0x1320ff){_0x385498=_0x1320ff;if(_0x1320ff['Smtp']){if(_[_0xb760('0x6c')](_0x44a89e[_0xb760('0x59')][_0xb760('0xa2')])){_0x44a89e[_0xb760('0x59')][_0xb760('0xa2')]=util['format'](_0xb760('0xa3'),_0x1320ff['name'],_0x1320ff[_0xb760('0xa4')]||_0x1320ff[_0xb760('0x55')]['user']);}if(_0x44a89e[_0xb760('0x59')][_0xb760('0xa5')]&&_0x44a89e[_0xb760('0x59')][_0xb760('0xa5')][_0xb760('0x48')]){for(var _0x1b4881=0x0;_0x1b4881<_0x44a89e['body']['attachments'][_0xb760('0x48')];_0x1b4881+=0x1){_0x44a89e[_0xb760('0x59')][_0xb760('0xa5')][_0x1b4881]={'filename':_0x44a89e[_0xb760('0x59')][_0xb760('0xa5')][_0x1b4881][_0xb760('0x37')],'path':path[_0xb760('0xa6')](config[_0xb760('0xa7')],'server/files/attachments',_0x44a89e[_0xb760('0x59')]['attachments'][_0x1b4881][_0xb760('0xa8')])};}}var _0x428d1d={'tls':{'rejectUnauthorized':![]}};if(_[_0xb760('0x6c')](_0x1320ff['Smtp'][_0xb760('0x78')])){if(_0x1320ff[_0xb760('0x55')][_0xb760('0x75')]){_0x428d1d[_0xb760('0xa9')]={'user':_0x1320ff[_0xb760('0x55')][_0xb760('0x71')],'pass':_0x1320ff[_0xb760('0x55')][_0xb760('0x73')]};}_0x428d1d[_0xb760('0x77')]=_0x1320ff[_0xb760('0x55')][_0xb760('0x77')];_0x428d1d['port']=_0x1320ff['Smtp']['port'];_0x428d1d['secure']=_0x1320ff[_0xb760('0x55')][_0xb760('0xaa')];}else{_0x428d1d[_0xb760('0x78')]=_0x1320ff[_0xb760('0x55')][_0xb760('0x78')];_0x428d1d[_0xb760('0xa9')]={'user':_0x1320ff['Smtp']['user'],'pass':_0x1320ff[_0xb760('0x55')][_0xb760('0x73')]};}return respondWithRpcPromise(_0xb760('0xab'),_0xb760('0xac'),{'account':_0x428d1d,'message':_0x44a89e[_0xb760('0x59')]});}else{throw new Error(_0xb760('0xad'));}}})['then'](function(_0x36b71d){if(_0x36b71d){_0x32fe38=_0x36b71d;if(_0x385498[_0xb760('0x9f')]){if(_0x385498['List']['Contacts'][_0xb760('0x48')]){return _0x385498[_0xb760('0x9f')]['Contacts'][0x0];}else{return db[_0xb760('0x8b')][_0xb760('0x66')](_[_0xb760('0x18')](_0x44a89e[_0xb760('0x59')],{'firstName':_0x44a89e[_0xb760('0x59')]['to'],'email':_0x44a89e[_0xb760('0x59')]['to'],'phone':_0x44a89e['body']['to'],'ListId':_0x385498[_0xb760('0x6b')]}));}}else{throw new Error(_0xb760('0xad'));}}})[_0xb760('0x1e')](function(_0x416678){if(_0x416678){var _0x35a17b={'UserId':_0x44a89e[_0xb760('0x71')]['id'],'ContactId':_0x416678['id'],'MailAccountId':_0x385498['id'],'inReplyTo':_0x32fe38[_0xb760('0xae')],'to':_0x44a89e[_0xb760('0x59')][_0xb760('0xa2')],'cc':_0x44a89e[_0xb760('0x59')]['cc'],'subject':_0x44a89e['body'][_0xb760('0xaf')],'attach':_0x44a89e[_0xb760('0x59')][_0xb760('0xb0')],'firstMsgDirection':_0xb760('0xb1'),'lastMsgAt':moment()[_0xb760('0x99')](_0xb760('0x9a')),'lastMsgDirection':_0xb760('0xb1'),'Messages':[_[_0xb760('0x4f')](_0x44a89e[_0xb760('0x59')],{'messageId':_0x32fe38['messageId'],'sentAt':moment()[_0xb760('0x99')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x385498['id'],'UserId':_0x44a89e['user']['id'],'ContactId':_0x416678['id']})]};if(_0x44a89e[_0xb760('0x59')][_0xb760('0xb2')]){_0x35a17b=_[_0xb760('0x4f')](_0x35a17b,_0x44a89e[_0xb760('0x59')][_0xb760('0xb2')]);}return db[_0xb760('0x8a')]['create'](_0x35a17b,{'include':[{'model':db[_0xb760('0x9b')],'as':_0xb760('0xb3')}]});}})[_0xb760('0x1e')](respondWithResult(_0x42d5c4,null))[_0xb760('0x27')](handleError(_0x42d5c4,null));};exports[_0xb760('0xb4')]=function(_0xe90a75,_0x4e1079,_0x4957b6){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0xe90a75[_0xb760('0x5b')]['id']},'include':[{'model':db[_0xb760('0x3b')],'as':_0xb760('0x55'),'raw':!![]}]})[_0xb760('0x1e')](handleEntityNotFound(_0x4e1079,null))[_0xb760('0x1e')](function(_0x2f7164){if(_0x2f7164&&_0x2f7164['Smtp']){var _0x739265={'id':_0x2f7164['id'],'tls':{'rejectUnauthorized':![]}};if(_0x2f7164[_0xb760('0x55')][_0xb760('0x78')]){_0x739265['service']=_0x2f7164['Smtp'][_0xb760('0x78')];}else{_0x739265[_0xb760('0x77')]=_0x2f7164[_0xb760('0x55')][_0xb760('0x77')];_0x739265[_0xb760('0x76')]=_0x2f7164[_0xb760('0x55')][_0xb760('0x76')];_0x739265['secure']=_0x2f7164[_0xb760('0x55')][_0xb760('0xaa')];}if(_0x2f7164['Smtp'][_0xb760('0x75')]){_0x739265[_0xb760('0xa9')]={'user':_0x2f7164[_0xb760('0x55')][_0xb760('0x71')],'pass':_0x2f7164['Smtp']['pass']};}return respondWithRpcPromise(_0xb760('0xb5'),_0xb760('0xb4'),{'account':_0x739265});}})[_0xb760('0x1e')](respondWithResult(_0x4e1079,null))[_0xb760('0x27')](handleError(_0x4e1079,null));};exports[_0xb760('0x34')]=function(_0x14b144,_0xdd14ef){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x14b144[_0xb760('0x5b')]['id']}})['then'](handleEntityNotFound(_0xdd14ef,null))[_0xb760('0x1e')](function(_0x26624f){if(_0x26624f&&_0x26624f['service']){throw new db[(_0xb760('0xb6'))]['ValidationError'](_0xb760('0xb7'));}return _0x26624f;})[_0xb760('0x1e')](removeEntity(_0xdd14ef,null))[_0xb760('0x27')](handleError(_0xdd14ef,null));};exports[_0xb760('0xb8')]=function(_0x2d70ad,_0x57800e,_0x1a0351){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x2d70ad[_0xb760('0x5b')]['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x57800e,null))[_0xb760('0x1e')](function(_0x42c37b){if(_0x42c37b){return _0x42c37b['addAgents'](_0x2d70ad[_0xb760('0x59')][_0xb760('0x63')],_[_0xb760('0x88')](_0x2d70ad[_0xb760('0x59')],[_0xb760('0x63'),'id'])||{})[_0xb760('0xb9')](function(_0xa2f6c){for(var _0x21392a=0x0;_0x21392a<_0x2d70ad[_0xb760('0x59')]['ids'][_0xb760('0x48')];_0x21392a+=0x1){socket['emit'](_0xb760('0xba'),{'UserId':Number(_0x2d70ad[_0xb760('0x59')]['ids'][_0x21392a]),'MailAccountId':Number(_0x2d70ad[_0xb760('0x5b')]['id'])});}return _0xa2f6c;});}})[_0xb760('0x1e')](respondWithResult(_0x57800e,null))[_0xb760('0x27')](handleError(_0x57800e,null));};exports[_0xb760('0xbb')]=function(_0x45cf2f,_0x5f02c9,_0x35c61a){return db[_0xb760('0x3f')][_0xb760('0x5a')]({'where':{'id':_0x45cf2f['params']['id']}})['then'](handleEntityNotFound(_0x5f02c9,null))[_0xb760('0x1e')](function(_0x3310e0){if(_0x3310e0){return _0x3310e0[_0xb760('0xbb')](_0x45cf2f[_0xb760('0x43')]['ids'])['then'](function(){if(_[_0xb760('0xbc')](_0x45cf2f['query'][_0xb760('0x63')])){for(var _0x4f48fb=0x0;_0x4f48fb<_0x45cf2f['query'][_0xb760('0x63')]['length'];_0x4f48fb+=0x1){socket[_0xb760('0xbd')]('userMailAccount:remove',{'UserId':Number(_0x45cf2f[_0xb760('0x43')][_0xb760('0x63')][_0x4f48fb]),'MailAccountId':Number(_0x45cf2f[_0xb760('0x5b')]['id'])});}}else{socket[_0xb760('0xbd')]('userMailAccount:remove',{'UserId':Number(_0x45cf2f[_0xb760('0x43')][_0xb760('0x63')]),'MailAccountId':Number(_0x45cf2f[_0xb760('0x5b')]['id'])});}});}})['then'](respondWithStatusCode(_0x5f02c9,null))['catch'](handleError(_0x5f02c9,null));};exports[_0xb760('0xbe')]=function(_0x4eaa2f,_0x38f82a,_0x4a81d5){var _0xc2d4c0={};var _0x3bd5b2={};var _0x2d9877;var _0x2aaa6d;return db[_0xb760('0x3f')][_0xb760('0x5f')]({'where':{'id':_0x4eaa2f['params']['id']}})[_0xb760('0x1e')](handleEntityNotFound(_0x38f82a,null))[_0xb760('0x1e')](function(_0x3ae9ad){if(_0x3ae9ad){_0x2d9877=_0x3ae9ad;_0x3bd5b2['model']=_[_0xb760('0x44')](db['User']['rawAttributes']);_0x3bd5b2[_0xb760('0x43')]=_[_0xb760('0x44')](_0x4eaa2f[_0xb760('0x43')]);_0x3bd5b2[_0xb760('0x60')]=_[_0xb760('0x45')](_0x3bd5b2[_0xb760('0x42')],_0x3bd5b2[_0xb760('0x43')]);_0xc2d4c0[_0xb760('0x46')]=_[_0xb760('0x45')](_0x3bd5b2[_0xb760('0x42')],qs[_0xb760('0x47')](_0x4eaa2f['query'][_0xb760('0x47')]));_0xc2d4c0[_0xb760('0x46')]=_0xc2d4c0[_0xb760('0x46')][_0xb760('0x48')]?_0xc2d4c0[_0xb760('0x46')]:_0x3bd5b2[_0xb760('0x42')];_0xc2d4c0['order']=qs[_0xb760('0x4b')](_0x4eaa2f[_0xb760('0x43')][_0xb760('0x4b')]);_0xc2d4c0[_0xb760('0x4c')]=qs[_0xb760('0x60')](_['pick'](_0x4eaa2f[_0xb760('0x43')],_0x3bd5b2[_0xb760('0x60')]));if(_0x4eaa2f[_0xb760('0x43')][_0xb760('0x4e')]){_0xc2d4c0[_0xb760('0x4c')]=_['merge'](_0xc2d4c0[_0xb760('0x4c')],{'$or':_['map'](_0xc2d4c0[_0xb760('0x46')],function(_0x562f10){var _0x447b04={};_0x447b04[_0x562f10]={'$like':'%'+_0x4eaa2f[_0xb760('0x43')][_0xb760('0x4e')]+'%'};return _0x447b04;})});}_0xc2d4c0=_['merge']({},_0xc2d4c0,_0x4eaa2f[_0xb760('0x51')]);return _0x2d9877[_0xb760('0xbe')](_0xc2d4c0);}})[_0xb760('0x1e')](function(_0x42ed19){if(_0x42ed19){_0x2aaa6d=_0x42ed19[_0xb760('0x48')];if(!_0x4eaa2f[_0xb760('0x43')]['hasOwnProperty'](_0xb760('0x61'))){_0xc2d4c0[_0xb760('0x2f')]=qs[_0xb760('0x2f')](_0x4eaa2f[_0xb760('0x43')][_0xb760('0x2f')]);_0xc2d4c0['offset']=qs[_0xb760('0x2e')](_0x4eaa2f[_0xb760('0x43')][_0xb760('0x2e')]);}return _0x2d9877['getAgents'](_0xc2d4c0);}})[_0xb760('0x1e')](function(_0x590417){if(_0x590417){return _0x590417?{'count':_0x2aaa6d,'rows':_0x590417}:null;}})[_0xb760('0x1e')](respondWithResult(_0x38f82a,null))[_0xb760('0x27')](handleError(_0x38f82a,null));};