Built motion from commit (unavailable).|2.5.26
[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 _0x2298=['api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','request','then','info','MailAccount,\x20%s,\x20%s','debug','request\x20sent','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','MailAccounts','stack','index','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','pick','filter','where','type','VIRTUAL','merge','options','include','findAll','MailServerIn','Imap','includeAll','find','update','body','params','describe','addDisposition','Disposition','create','getDispositions','findOne','nolimit','sort','MailAccountId','rows','addAnswer','getAnswers','CannedAnswer','removeAnswers','ids','email','isNil','description','cservice','cauthentication','user','cuser','pass','cpassword','authentication','host','port','service','password','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','Contact','Owner','internal','Tag','Tags','tag','sequelize','MailApplication','destroy','bulkCreate','priority','getApplications','$gte','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','split','CmList','List','CmContact','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','basename','auth','secure','SendMail','List\x20not\x20found','ListId','attach','out','Interaction','verifySmtp','VerifySmtp','Sequelize','ValidationError','addAgents','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x3f052f,_0x54d259){var _0x12bc15=function(_0x4e1269){while(--_0x4e1269){_0x3f052f['push'](_0x3f052f['shift']());}};_0x12bc15(++_0x54d259);}(_0x2298,0xac));var _0x8229=function(_0x4baae2,_0x487ab6){_0x4baae2=_0x4baae2-0x0;var _0x1a2285=_0x2298[_0x4baae2];return _0x1a2285;};'use strict';var pdf=require(_0x8229('0x0'));var emlformat=require(_0x8229('0x1'));var rimraf=require(_0x8229('0x2'));var zipdir=require(_0x8229('0x3'));var jsonpatch=require(_0x8229('0x4'));var rp=require(_0x8229('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x8229('0x6'));var util=require(_0x8229('0x7'));var path=require(_0x8229('0x8'));var sox=require(_0x8229('0x9'));var csv=require(_0x8229('0xa'));var ejs=require(_0x8229('0xb'));var fs=require('fs');var fs_extra=require(_0x8229('0xc'));var _=require(_0x8229('0xd'));var squel=require(_0x8229('0xe'));var crypto=require('crypto');var jsforce=require(_0x8229('0xf'));var deskjs=require(_0x8229('0x10'));var toCsv=require(_0x8229('0xa'));var querystring=require('querystring');var Papa=require(_0x8229('0x11'));var htmlToText=require(_0x8229('0x12'));var juice=require(_0x8229('0x13'));var Redis=require(_0x8229('0x14'));var authService=require(_0x8229('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x8229('0x16'));var hardwareService=require(_0x8229('0x17'));var logger=require('../../config/logger')(_0x8229('0x18'));var utils=require('../../config/utils');var config=require(_0x8229('0x19'));var licenseUtil=require(_0x8229('0x1a'));var db=require(_0x8229('0x1b'))['db'];config[_0x8229('0x1c')]=_[_0x8229('0x1d')](config[_0x8229('0x1c')],{'host':_0x8229('0x1e'),'port':0x18eb});var socket=require(_0x8229('0x1f'))(new Redis(config[_0x8229('0x1c')]));require(_0x8229('0x20'))[_0x8229('0x21')](socket);var jayson=require(_0x8229('0x22'));var client=jayson[_0x8229('0x23')][_0x8229('0x24')]({'port':0x232b});function respondWithRpcPromise(_0x1df68c,_0x5510ef,_0xa43dd2,_0x599a15){return new BPromise(function(_0x5b1915,_0x512c95){var _0x1feee3=_0x599a15||client;return _0x1feee3[_0x8229('0x25')](_0x1df68c,_0xa43dd2)[_0x8229('0x26')](function(_0x5413a6){logger[_0x8229('0x27')](_0x8229('0x28'),_0x5510ef,'request\x20sent');logger[_0x8229('0x29')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x5510ef,_0x8229('0x2a'),JSON['stringify'](_0x5413a6));if(_0x5413a6[_0x8229('0x2b')]){if(_0x5413a6[_0x8229('0x2b')][_0x8229('0x2c')]===0x1f4){logger[_0x8229('0x2b')](_0x8229('0x28'),_0x5510ef,_0x5413a6['error'][_0x8229('0x2d')]);return _0x512c95(_0x5413a6['error'][_0x8229('0x2d')]);}logger[_0x8229('0x2b')]('MailAccount,\x20%s,\x20%s',_0x5510ef,_0x5413a6[_0x8229('0x2b')][_0x8229('0x2d')]);return _0x5b1915(_0x5413a6[_0x8229('0x2b')]['message']);}else{logger[_0x8229('0x27')](_0x8229('0x28'),_0x5510ef,'request\x20sent');_0x5b1915(_0x5413a6[_0x8229('0x2e')]['message']);}})[_0x8229('0x2f')](function(_0x4a06ae){logger['error'](_0x8229('0x28'),_0x5510ef,_0x4a06ae);_0x512c95(_0x4a06ae);});});}function respondWithStatusCode(_0x1bbe9d,_0x32d8dd){_0x32d8dd=_0x32d8dd||0xcc;return function(_0x7a9462){if(_0x7a9462){return _0x1bbe9d[_0x8229('0x30')](_0x32d8dd);}return _0x1bbe9d[_0x8229('0x31')](_0x32d8dd)[_0x8229('0x32')]();};}function respondWithResult(_0x4712b1,_0x143ab8){_0x143ab8=_0x143ab8||0xc8;return function(_0x4a2839){if(_0x4a2839){return _0x4712b1['status'](_0x143ab8)[_0x8229('0x33')](_0x4a2839);}};}function respondWithFilteredResult(_0x336735,_0x18baf0){return function(_0x2c798c){if(_0x2c798c){var _0xd7c119=_0x2c798c[_0x8229('0x34')],_0x452856=_0x18baf0[_0x8229('0x35')],_0x386873=_0x18baf0['offset']+_0x18baf0[_0x8229('0x36')],_0x1a05ce;if(_0x386873>=_0xd7c119){_0x386873=_0xd7c119;_0x1a05ce=0xc8;}else{_0x1a05ce=0xce;}_0x336735[_0x8229('0x31')](_0x1a05ce);return _0x336735[_0x8229('0x37')](_0x8229('0x38'),_0x452856+'-'+_0x386873+'/'+_0xd7c119)[_0x8229('0x33')](_0x2c798c);}return null;};}function patchUpdates(_0x19e3f3){return function(_0x4423b1){try{jsonpatch[_0x8229('0x39')](_0x4423b1,_0x19e3f3,!![]);}catch(_0x554aa9){return BPromise[_0x8229('0x3a')](_0x554aa9);}return _0x4423b1[_0x8229('0x3b')]();};}function saveUpdates(_0x5e2b53,_0x15b730){return function(_0x1603d0){if(_0x1603d0){return _0x1603d0['update'](_0x5e2b53)[_0x8229('0x26')](function(_0x3f9134){return _0x3f9134;});}return null;};}function removeEntity(_0x57ecb6,_0x33f21e){return function(_0x5b3fea){if(_0x5b3fea){return _0x5b3fea['destroy']()['then'](function(){var _0x208114=_0x5b3fea['get']({'plain':!![]});var _0x3cc385=_0x8229('0x3c');return db['UserProfileResource']['destroy']({'where':{'type':_0x3cc385,'resourceId':_0x208114['id']}})[_0x8229('0x26')](function(){return _0x5b3fea;});})['then'](function(){_0x57ecb6[_0x8229('0x31')](0xcc)['end']();});}};}function handleEntityNotFound(_0x227253,_0x26f88){return function(_0x25b858){if(!_0x25b858){_0x227253[_0x8229('0x30')](0x194);}return _0x25b858;};}function handleError(_0xa6544b,_0x4aab48){_0x4aab48=_0x4aab48||0x1f4;return function(_0x20fd1a){logger['error'](_0x20fd1a[_0x8229('0x3d')]);if(_0x20fd1a['name']){delete _0x20fd1a['name'];}_0xa6544b[_0x8229('0x31')](_0x4aab48)['send'](_0x20fd1a);};}exports[_0x8229('0x3e')]=function(_0x16e641,_0x18f8de){var _0x216706={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x8229('0x3f')],'as':_0x8229('0x40')},{'model':db[_0x8229('0x41')],'as':_0x8229('0x42')}]},_0x59ca49={},_0x42ee69={'count':0x0,'rows':[]};var _0x4611cb=_[_0x8229('0x43')](db[_0x8229('0x44')][_0x8229('0x45')],function(_0x31d3fa){return{'name':_0x31d3fa[_0x8229('0x46')],'type':_0x31d3fa['type'][_0x8229('0x47')]};});_0x59ca49[_0x8229('0x48')]=_[_0x8229('0x43')](_0x4611cb,_0x8229('0x49'));_0x59ca49[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x16e641[_0x8229('0x4a')]);_0x59ca49[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x59ca49[_0x8229('0x48')],_0x59ca49[_0x8229('0x4a')]);_0x216706[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x59ca49[_0x8229('0x48')],qs[_0x8229('0x4f')](_0x16e641['query'][_0x8229('0x4f')]));_0x216706[_0x8229('0x4e')]=_0x216706[_0x8229('0x4e')][_0x8229('0x50')]?_0x216706[_0x8229('0x4e')]:_0x59ca49['model'];if(!_0x16e641[_0x8229('0x4a')][_0x8229('0x51')]('nolimit')){_0x216706['limit']=qs[_0x8229('0x36')](_0x16e641[_0x8229('0x4a')][_0x8229('0x36')]);_0x216706['offset']=qs[_0x8229('0x35')](_0x16e641[_0x8229('0x4a')]['offset']);}_0x216706[_0x8229('0x52')]=qs['sort'](_0x16e641[_0x8229('0x4a')]['sort']);_0x216706['where']=qs['filters'](_[_0x8229('0x53')](_0x16e641[_0x8229('0x4a')],_0x59ca49[_0x8229('0x4c')]),_0x4611cb);if(_0x16e641[_0x8229('0x4a')][_0x8229('0x54')]){_0x216706[_0x8229('0x55')]=_['merge'](_0x216706[_0x8229('0x55')],{'$or':_[_0x8229('0x43')](_0x4611cb,function(_0x4d20c7){if(_0x4d20c7[_0x8229('0x56')]!==_0x8229('0x57')){var _0x5ebc39={};_0x5ebc39[_0x4d20c7['name']]={'$like':'%'+_0x16e641['query'][_0x8229('0x54')]+'%'};return _0x5ebc39;}})});}_0x216706=_[_0x8229('0x58')]({},_0x216706,_0x16e641[_0x8229('0x59')]);var _0x433d27={'where':_0x216706[_0x8229('0x55')]};return db['MailAccount'][_0x8229('0x34')](_0x433d27)[_0x8229('0x26')](function(_0x1a9059){_0x42ee69[_0x8229('0x34')]=_0x1a9059;if(_0x16e641[_0x8229('0x4a')]['includeAll']){_0x216706[_0x8229('0x5a')]=[{'all':!![]}];}return db[_0x8229('0x44')][_0x8229('0x5b')](_0x216706);})['then'](function(_0x3c7e37){_0x42ee69['rows']=_0x3c7e37;return _0x42ee69;})['then'](respondWithFilteredResult(_0x18f8de,_0x216706))['catch'](handleError(_0x18f8de,null));};exports['show']=function(_0xcac670,_0x318765){var _0x1ba81b={'raw':![],'where':{'id':_0xcac670['params']['id']},'include':[{'model':db[_0x8229('0x5c')],'as':_0x8229('0x5d')},{'model':db[_0x8229('0x3f')],'as':_0x8229('0x40')},{'model':db[_0x8229('0x41')],'as':'mandatoryDispositionPause'}]},_0x1c4694={};_0x1c4694[_0x8229('0x48')]=_[_0x8229('0x4b')](db[_0x8229('0x44')][_0x8229('0x45')]);_0x1c4694['query']=_[_0x8229('0x4b')](_0xcac670[_0x8229('0x4a')]);_0x1c4694[_0x8229('0x4c')]=_['intersection'](_0x1c4694['model'],_0x1c4694[_0x8229('0x4a')]);_0x1ba81b[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x1c4694[_0x8229('0x48')],qs[_0x8229('0x4f')](_0xcac670[_0x8229('0x4a')][_0x8229('0x4f')]));_0x1ba81b['attributes']=_0x1ba81b['attributes'][_0x8229('0x50')]?_0x1ba81b[_0x8229('0x4e')]:_0x1c4694[_0x8229('0x48')];if(_0xcac670['query'][_0x8229('0x5e')]){_0x1ba81b[_0x8229('0x5a')]=[{'all':!![]}];}_0x1ba81b=_[_0x8229('0x58')]({},_0x1ba81b,_0xcac670['options']);return db[_0x8229('0x44')][_0x8229('0x5f')](_0x1ba81b)[_0x8229('0x26')](handleEntityNotFound(_0x318765,null))[_0x8229('0x26')](respondWithResult(_0x318765,null))[_0x8229('0x2f')](handleError(_0x318765,null));};exports[_0x8229('0x60')]=function(_0x584b99,_0xa33891){if(_0x584b99[_0x8229('0x61')]['id']){delete _0x584b99['body']['id'];}return db['MailAccount'][_0x8229('0x5f')]({'where':{'id':_0x584b99[_0x8229('0x62')]['id']},'include':[{'model':db[_0x8229('0x5c')],'as':_0x8229('0x5d')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x8229('0x41')],'as':'mandatoryDispositionPause'}]})[_0x8229('0x26')](handleEntityNotFound(_0xa33891,null))[_0x8229('0x26')](saveUpdates(_0x584b99[_0x8229('0x61')],null))[_0x8229('0x26')](function(_0x16329){if(_0x16329&&_0x584b99[_0x8229('0x61')][_0x8229('0x5d')]){return db[_0x8229('0x5c')][_0x8229('0x60')](_0x584b99[_0x8229('0x61')]['Imap'],{'where':{'MailAccountId':_0x16329['id']}})[_0x8229('0x26')](function(){return _0x16329;});}return _0x16329;})[_0x8229('0x26')](function(_0x3ed45b){if(_0x3ed45b&&_0x584b99[_0x8229('0x61')][_0x8229('0x40')]){return db[_0x8229('0x3f')][_0x8229('0x60')](_0x584b99['body'][_0x8229('0x40')],{'where':{'MailAccountId':_0x3ed45b['id']}})[_0x8229('0x26')](function(){return _0x3ed45b;});}return _0x3ed45b;})[_0x8229('0x26')](respondWithResult(_0xa33891,null))[_0x8229('0x2f')](handleError(_0xa33891,null));};exports['describe']=function(_0x5ec318,_0x323d6e){return db[_0x8229('0x44')][_0x8229('0x63')]()[_0x8229('0x26')](respondWithResult(_0x323d6e,null))[_0x8229('0x2f')](handleError(_0x323d6e,null));};exports[_0x8229('0x64')]=function(_0x31ead9,_0x1f8ccf,_0x113cf8){if(_0x31ead9['body']['id']){delete _0x31ead9[_0x8229('0x61')]['id'];}return db[_0x8229('0x44')]['find']({'where':{'id':_0x31ead9[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x1f8ccf,null))[_0x8229('0x26')](function(_0x529bba){if(_0x529bba){_0x31ead9[_0x8229('0x61')]['MailAccountId']=_0x529bba['id'];return db[_0x8229('0x65')][_0x8229('0x66')](_0x31ead9['body']);}})[_0x8229('0x26')](respondWithResult(_0x1f8ccf,null))[_0x8229('0x2f')](handleError(_0x1f8ccf,null));};exports[_0x8229('0x67')]=function(_0x395b1b,_0x5beb96,_0x4cfcae){var _0x2fa48d={'raw':![],'where':{}};var _0x193cb5={};var _0x2bbb04={'count':0x0,'rows':[]};return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x395b1b[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x5beb96,null))[_0x8229('0x26')](function(_0x2eb561){if(_0x2eb561){_0x193cb5['model']=_[_0x8229('0x4b')](db[_0x8229('0x65')][_0x8229('0x45')]);_0x193cb5[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x395b1b['query']);_0x193cb5[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x193cb5[_0x8229('0x48')],_0x193cb5[_0x8229('0x4a')]);_0x2fa48d[_0x8229('0x4e')]=_['intersection'](_0x193cb5['model'],qs[_0x8229('0x4f')](_0x395b1b['query'][_0x8229('0x4f')]));_0x2fa48d[_0x8229('0x4e')]=_0x2fa48d[_0x8229('0x4e')][_0x8229('0x50')]?_0x2fa48d[_0x8229('0x4e')]:_0x193cb5['model'];if(!_0x395b1b[_0x8229('0x4a')][_0x8229('0x51')](_0x8229('0x69'))){_0x2fa48d['limit']=qs[_0x8229('0x36')](_0x395b1b[_0x8229('0x4a')][_0x8229('0x36')]);_0x2fa48d[_0x8229('0x35')]=qs['offset'](_0x395b1b[_0x8229('0x4a')][_0x8229('0x35')]);}_0x2fa48d[_0x8229('0x52')]=qs[_0x8229('0x6a')](_0x395b1b['query']['sort']);_0x2fa48d[_0x8229('0x55')]=qs['filters'](_[_0x8229('0x53')](_0x395b1b[_0x8229('0x4a')],_0x193cb5[_0x8229('0x4c')]));_0x2fa48d['where'][_0x8229('0x6b')]=_0x2eb561['id'];if(_0x395b1b[_0x8229('0x4a')][_0x8229('0x54')]){_0x2fa48d[_0x8229('0x55')]=_[_0x8229('0x58')](_0x2fa48d[_0x8229('0x55')],{'$or':_['map'](_0x2fa48d[_0x8229('0x4e')],function(_0x55ffc8){var _0x500865={};_0x500865[_0x55ffc8]={'$like':'%'+_0x395b1b[_0x8229('0x4a')][_0x8229('0x54')]+'%'};return _0x500865;})});}_0x2fa48d=_['merge']({},_0x2fa48d,_0x395b1b[_0x8229('0x59')]);return db['Disposition'][_0x8229('0x34')]({'where':_0x2fa48d[_0x8229('0x55')]})[_0x8229('0x26')](function(_0x43e855){_0x2bbb04[_0x8229('0x34')]=_0x43e855;if(_0x395b1b[_0x8229('0x4a')][_0x8229('0x5e')]){_0x2fa48d[_0x8229('0x5a')]=[{'all':!![]}];}return db['Disposition'][_0x8229('0x5b')](_0x2fa48d);})[_0x8229('0x26')](function(_0x5246ff){_0x2bbb04[_0x8229('0x6c')]=_0x5246ff;return _0x2bbb04;});}})[_0x8229('0x26')](respondWithFilteredResult(_0x5beb96,_0x2fa48d))[_0x8229('0x2f')](handleError(_0x5beb96,null));};exports['removeDispositions']=function(_0x568097,_0xd22d3d,_0x5b6e7a){return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x568097['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0xd22d3d,null))[_0x8229('0x26')](function(_0x3e6096){if(_0x3e6096){return _0x3e6096['removeDispositions'](_0x568097['query']['ids']);}})[_0x8229('0x26')](respondWithStatusCode(_0xd22d3d,null))[_0x8229('0x2f')](handleError(_0xd22d3d,null));};exports[_0x8229('0x6d')]=function(_0x405972,_0x52c890,_0x4249b8){if(_0x405972['body']['id']){delete _0x405972[_0x8229('0x61')]['id'];}return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x405972['params']['id']}})['then'](handleEntityNotFound(_0x52c890,null))[_0x8229('0x26')](function(_0x48796c){if(_0x48796c){_0x405972[_0x8229('0x61')][_0x8229('0x6b')]=_0x48796c['id'];return db['CannedAnswer'][_0x8229('0x66')](_0x405972[_0x8229('0x61')]);}})[_0x8229('0x26')](respondWithResult(_0x52c890,null))[_0x8229('0x2f')](handleError(_0x52c890,null));};exports[_0x8229('0x6e')]=function(_0x15f31b,_0x338bb7,_0x1cb401){var _0x39a9dd={'raw':![],'where':{}};var _0x2216f0={};var _0x389bb7={'count':0x0,'rows':[]};return db['MailAccount'][_0x8229('0x68')]({'where':{'id':_0x15f31b['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x338bb7,null))[_0x8229('0x26')](function(_0x24c76c){if(_0x24c76c){_0x2216f0[_0x8229('0x48')]=_[_0x8229('0x4b')](db['CannedAnswer'][_0x8229('0x45')]);_0x2216f0[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x15f31b[_0x8229('0x4a')]);_0x2216f0[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x2216f0[_0x8229('0x48')],_0x2216f0[_0x8229('0x4a')]);_0x39a9dd[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x2216f0[_0x8229('0x48')],qs[_0x8229('0x4f')](_0x15f31b[_0x8229('0x4a')][_0x8229('0x4f')]));_0x39a9dd[_0x8229('0x4e')]=_0x39a9dd[_0x8229('0x4e')][_0x8229('0x50')]?_0x39a9dd[_0x8229('0x4e')]:_0x2216f0['model'];if(!_0x15f31b['query'][_0x8229('0x51')](_0x8229('0x69'))){_0x39a9dd[_0x8229('0x36')]=qs['limit'](_0x15f31b[_0x8229('0x4a')]['limit']);_0x39a9dd[_0x8229('0x35')]=qs[_0x8229('0x35')](_0x15f31b[_0x8229('0x4a')]['offset']);}_0x39a9dd['order']=qs[_0x8229('0x6a')](_0x15f31b[_0x8229('0x4a')]['sort']);_0x39a9dd[_0x8229('0x55')]=qs['filters'](_[_0x8229('0x53')](_0x15f31b[_0x8229('0x4a')],_0x2216f0[_0x8229('0x4c')]));_0x39a9dd[_0x8229('0x55')][_0x8229('0x6b')]=_0x24c76c['id'];if(_0x15f31b[_0x8229('0x4a')][_0x8229('0x54')]){_0x39a9dd['where']=_[_0x8229('0x58')](_0x39a9dd[_0x8229('0x55')],{'$or':_[_0x8229('0x43')](_0x39a9dd[_0x8229('0x4e')],function(_0x388c94){var _0x3ee095={};_0x3ee095[_0x388c94]={'$like':'%'+_0x15f31b['query'][_0x8229('0x54')]+'%'};return _0x3ee095;})});}_0x39a9dd=_[_0x8229('0x58')]({},_0x39a9dd,_0x15f31b[_0x8229('0x59')]);return db[_0x8229('0x6f')][_0x8229('0x34')]({'where':_0x39a9dd['where']})[_0x8229('0x26')](function(_0x438f55){_0x389bb7['count']=_0x438f55;if(_0x15f31b['query'][_0x8229('0x5e')]){_0x39a9dd['include']=[{'all':!![]}];}return db[_0x8229('0x6f')]['findAll'](_0x39a9dd);})[_0x8229('0x26')](function(_0x3cec76){_0x389bb7[_0x8229('0x6c')]=_0x3cec76;return _0x389bb7;});}})[_0x8229('0x26')](respondWithFilteredResult(_0x338bb7,_0x39a9dd))[_0x8229('0x2f')](handleError(_0x338bb7,null));};exports[_0x8229('0x70')]=function(_0x325688,_0x30899b,_0xad42b1){return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x325688[_0x8229('0x62')]['id']}})['then'](handleEntityNotFound(_0x30899b,null))[_0x8229('0x26')](function(_0x44176e){if(_0x44176e){return _0x44176e[_0x8229('0x70')](_0x325688[_0x8229('0x4a')][_0x8229('0x71')]);}})[_0x8229('0x26')](respondWithStatusCode(_0x30899b,null))[_0x8229('0x2f')](handleError(_0x30899b,null));};exports[_0x8229('0x66')]=function(_0x40212f,_0x1e2b2e){var _0x4a7a71={'name':_0x40212f[_0x8229('0x61')]['name'],'key':_0x40212f['body']['key'],'email':_0x40212f[_0x8229('0x61')][_0x8229('0x72')],'ListId':_0x40212f[_0x8229('0x61')]['ListId'],'active':!_[_0x8229('0x73')](_0x40212f[_0x8229('0x61')]['active'])?_0x40212f['body']['active']:!![],'description':_0x40212f[_0x8229('0x61')][_0x8229('0x74')]||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x40212f['body'][_0x8229('0x75')])){if(_0x40212f[_0x8229('0x61')][_0x8229('0x76')]){_0x4a7a71[_0x8229('0x5d')][_0x8229('0x77')]=_0x4a7a71['Smtp']['user']=_0x40212f[_0x8229('0x61')][_0x8229('0x78')];_0x4a7a71[_0x8229('0x5d')]['password']=_0x4a7a71[_0x8229('0x40')][_0x8229('0x79')]=_0x40212f[_0x8229('0x61')][_0x8229('0x7a')];}else{_0x4a7a71[_0x8229('0x5d')][_0x8229('0x7b')]=_0x4a7a71[_0x8229('0x40')]['authentication']=![];}_0x4a7a71[_0x8229('0x5d')]['host']=_0x40212f[_0x8229('0x61')][_0x8229('0x5d')][_0x8229('0x7c')];_0x4a7a71[_0x8229('0x5d')][_0x8229('0x7d')]=_0x40212f[_0x8229('0x61')][_0x8229('0x5d')][_0x8229('0x7d')];_0x4a7a71[_0x8229('0x40')][_0x8229('0x7c')]=_0x40212f[_0x8229('0x61')][_0x8229('0x40')][_0x8229('0x7c')];_0x4a7a71[_0x8229('0x40')][_0x8229('0x7d')]=_0x40212f['body'][_0x8229('0x40')]['port'];}else{_0x4a7a71[_0x8229('0x5d')][_0x8229('0x7e')]=_0x4a7a71[_0x8229('0x40')]['service']=_0x40212f[_0x8229('0x61')][_0x8229('0x75')];_0x4a7a71[_0x8229('0x5d')]['user']=_0x4a7a71[_0x8229('0x40')][_0x8229('0x77')]=_0x40212f[_0x8229('0x61')][_0x8229('0x78')];_0x4a7a71['Imap'][_0x8229('0x7f')]=_0x4a7a71[_0x8229('0x40')][_0x8229('0x79')]=_0x40212f[_0x8229('0x61')][_0x8229('0x7a')];}return db['MailAccount'][_0x8229('0x66')](_0x4a7a71,{'include':[{'model':db[_0x8229('0x3f')],'as':'Smtp'},{'model':db[_0x8229('0x5c')],'as':_0x8229('0x5d')}]})[_0x8229('0x26')](function(_0x523519){var _0x4f9a45=_0x40212f[_0x8229('0x77')][_0x8229('0x80')]({'plain':!![]});if(!_0x4f9a45)throw new Error(_0x8229('0x81'));if(_0x4f9a45[_0x8229('0x82')]===_0x8229('0x77')){var _0x752cc6=_0x523519[_0x8229('0x80')]({'plain':!![]});return db[_0x8229('0x83')][_0x8229('0x5f')]({'where':{'name':_0x8229('0x3c'),'userProfileId':_0x4f9a45[_0x8229('0x84')]},'raw':!![]})[_0x8229('0x26')](function(_0x4aff7e){if(_0x4aff7e&&_0x4aff7e[_0x8229('0x85')]===0x0){return db[_0x8229('0x86')][_0x8229('0x66')]({'name':_0x752cc6[_0x8229('0x49')],'resourceId':_0x752cc6['id'],'type':_0x4aff7e['name'],'sectionId':_0x4aff7e['id']},{})[_0x8229('0x26')](function(){return _0x523519;});}else{return _0x523519;}})[_0x8229('0x2f')](function(_0x1dcc2d){logger[_0x8229('0x2b')](_0x8229('0x87'),_0x1dcc2d);throw _0x1dcc2d;});}return _0x523519;})[_0x8229('0x26')](respondWithResult(_0x1e2b2e,0xc9))['catch'](handleError(_0x1e2b2e,null));};exports[_0x8229('0x88')]=function(_0x2a57ec,_0x56d0f2,_0x59b5d7){return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x2a57ec['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x56d0f2,null))[_0x8229('0x26')](function(_0x13ea35){if(_0x13ea35){return _0x13ea35[_0x8229('0x88')]();}return null;})[_0x8229('0x26')](respondWithResult(_0x56d0f2,null))[_0x8229('0x2f')](handleError(_0x56d0f2,null));};exports['addImap']=function(_0x466f16,_0x21b0c9,_0x4069a4){if(_0x466f16[_0x8229('0x61')]['id']){delete _0x466f16[_0x8229('0x61')]['id'];}return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x466f16[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x21b0c9,null))['then'](function(_0x4dc1a0){if(_0x4dc1a0){_0x466f16['body'][_0x8229('0x6b')]=_0x4dc1a0['id'];return db['MailServerIn'][_0x8229('0x66')](_0x466f16[_0x8229('0x61')]);}})[_0x8229('0x26')](respondWithResult(_0x21b0c9,null))[_0x8229('0x2f')](handleError(_0x21b0c9,null));};exports[_0x8229('0x89')]=function(_0x47f03d,_0x5be38a,_0x4a563a){return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x47f03d[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x5be38a,null))[_0x8229('0x26')](function(_0x4b28fd){if(_0x4b28fd){return _0x4b28fd[_0x8229('0x8a')](null);}return null;})[_0x8229('0x26')](respondWithStatusCode(_0x5be38a,null))[_0x8229('0x2f')](handleError(_0x5be38a,null));};exports['getSmtp']=function(_0x55753f,_0x4ed944,_0x4f373b){return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x55753f[_0x8229('0x62')]['id']}})['then'](handleEntityNotFound(_0x4ed944,null))[_0x8229('0x26')](function(_0x353512){if(_0x353512){return _0x353512[_0x8229('0x8b')]();}return null;})[_0x8229('0x26')](respondWithResult(_0x4ed944,null))[_0x8229('0x2f')](handleError(_0x4ed944,null));};exports[_0x8229('0x8c')]=function(_0xcb637d,_0x406a29,_0xb4cf04){if(_0xcb637d[_0x8229('0x61')]['id']){delete _0xcb637d[_0x8229('0x61')]['id'];}return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0xcb637d['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x406a29,null))[_0x8229('0x26')](function(_0x2b06e1){if(_0x2b06e1){_0xcb637d[_0x8229('0x61')][_0x8229('0x6b')]=_0x2b06e1['id'];return db[_0x8229('0x3f')][_0x8229('0x66')](_0xcb637d[_0x8229('0x61')]);}})['then'](respondWithResult(_0x406a29,null))[_0x8229('0x2f')](handleError(_0x406a29,null));};exports[_0x8229('0x8d')]=function(_0x88a11d,_0x10ffa3,_0x1f2147){return db[_0x8229('0x44')]['findOne']({'where':{'id':_0x88a11d[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x10ffa3,null))[_0x8229('0x26')](function(_0x474cb8){if(_0x474cb8){return _0x474cb8[_0x8229('0x8e')](null);}return null;})['then'](respondWithStatusCode(_0x10ffa3,null))[_0x8229('0x2f')](handleError(_0x10ffa3,null));};exports[_0x8229('0x8f')]=function(_0x566e0a,_0x5dad88,_0x2d7f43){return db['MailInteraction'][_0x8229('0x5f')]({'where':{'id':_0x566e0a['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x5dad88,null))['then'](function(_0x2217b0){if(_0x2217b0){return _0x2217b0[_0x8229('0x8f')](_0x566e0a[_0x8229('0x61')][_0x8229('0x71')],_[_0x8229('0x90')](_0x566e0a['body'],[_0x8229('0x71'),'id'])||{});}})['then'](respondWithResult(_0x5dad88,null))[_0x8229('0x2f')](handleError(_0x5dad88,null));};exports[_0x8229('0x91')]=function(_0x33edaa,_0x250eb6,_0x2d886a){var _0x3f7360={'raw':![],'where':{}};var _0x5be7af={};var _0x85f4cf={'count':0x0,'rows':[]};return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x33edaa['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x250eb6,null))['then'](function(_0x2f74e4){if(_0x2f74e4){_0x5be7af[_0x8229('0x48')]=_[_0x8229('0x4b')](db[_0x8229('0x92')][_0x8229('0x45')]);_0x5be7af[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x33edaa['query']);_0x5be7af[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x5be7af['model'],_0x5be7af[_0x8229('0x4a')]);_0x3f7360[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x5be7af[_0x8229('0x48')],qs[_0x8229('0x4f')](_0x33edaa[_0x8229('0x4a')][_0x8229('0x4f')]));_0x3f7360[_0x8229('0x4e')]=_0x3f7360['attributes'][_0x8229('0x50')]?_0x3f7360['attributes']:_0x5be7af['model'];if(!_0x33edaa[_0x8229('0x4a')][_0x8229('0x51')]('nolimit')){_0x3f7360[_0x8229('0x36')]=qs[_0x8229('0x36')](_0x33edaa[_0x8229('0x4a')][_0x8229('0x36')]);_0x3f7360[_0x8229('0x35')]=qs[_0x8229('0x35')](_0x33edaa[_0x8229('0x4a')][_0x8229('0x35')]);}_0x3f7360[_0x8229('0x52')]=qs[_0x8229('0x6a')](_0x33edaa[_0x8229('0x4a')]['sort']);_0x3f7360[_0x8229('0x55')]=qs[_0x8229('0x4c')](_[_0x8229('0x53')](_0x33edaa['query'],_0x5be7af[_0x8229('0x4c')]));_0x3f7360['where'][_0x8229('0x6b')]=_0x2f74e4['id'];if(_0x33edaa[_0x8229('0x4a')]['filter']){_0x3f7360['where']=_[_0x8229('0x58')](_0x3f7360[_0x8229('0x55')],{'$or':_[_0x8229('0x43')](_0x3f7360[_0x8229('0x4e')],function(_0x1c738e){var _0x942c22={};_0x942c22[_0x1c738e]={'$like':'%'+_0x33edaa[_0x8229('0x4a')][_0x8229('0x54')]+'%'};return _0x942c22;})});}_0x3f7360=_['merge']({},_0x3f7360,_0x33edaa[_0x8229('0x59')]);return db[_0x8229('0x92')]['count']({'where':_0x3f7360['where']})[_0x8229('0x26')](function(_0xdcddc2){_0x85f4cf[_0x8229('0x34')]=_0xdcddc2;if(_0x33edaa[_0x8229('0x4a')][_0x8229('0x5e')]){_0x3f7360[_0x8229('0x5a')]=[{'model':db['CmContact'],'as':_0x8229('0x93'),'required':![]},{'model':db['User'],'as':_0x8229('0x94'),'attributes':['name','fullname',_0x8229('0x95')],'required':![]},{'model':db[_0x8229('0x96')],'as':_0x8229('0x97'),'attributes':['id',_0x8229('0x49'),'color'],'where':_0x33edaa[_0x8229('0x4a')][_0x8229('0x98')]?{'id':_0x33edaa[_0x8229('0x4a')][_0x8229('0x98')]}:undefined,'required':_0x33edaa['query'][_0x8229('0x98')]?!![]:![]}];}return db['MailInteraction'][_0x8229('0x5b')](_0x3f7360);})['then'](function(_0x2cb1ca){_0x85f4cf[_0x8229('0x6c')]=_0x2cb1ca;return _0x85f4cf;});}})[_0x8229('0x26')](respondWithFilteredResult(_0x250eb6,_0x3f7360))[_0x8229('0x2f')](handleError(_0x250eb6,null));};exports['addApplications']=function(_0x34a0e6,_0x28b5b7,_0x1bab76){return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x34a0e6[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x28b5b7,null))[_0x8229('0x26')](function(_0x247f50){if(_0x247f50){return db[_0x8229('0x99')]['transaction'](function(_0x57e11b){return db[_0x8229('0x9a')][_0x8229('0x9b')]({'where':{'MailAccountId':_0x34a0e6['params']['id']},'transaction':_0x57e11b})[_0x8229('0x26')](function(_0x89e0d9){var _0x2784f9=_['map'](_0x34a0e6[_0x8229('0x61')],function(_0x43771b){_0x43771b[_0x8229('0x6b')]=_0x34a0e6[_0x8229('0x62')]['id'];return _0x43771b;});return db[_0x8229('0x9a')][_0x8229('0x9c')](_0x2784f9,{'transaction':_0x57e11b});});})[_0x8229('0x26')](function(){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0x34a0e6[_0x8229('0x62')]['id']},'order':_0x8229('0x9d')});});}})['then'](respondWithResult(_0x28b5b7,null))[_0x8229('0x2f')](handleError(_0x28b5b7,null));};exports[_0x8229('0x9e')]=function(_0x5e6060,_0x59d0a2,_0x1326df){var _0x5b5f26={};var _0x23a7b4={};var _0x12922d;var _0x480335;return db[_0x8229('0x44')]['findOne']({'where':{'id':_0x5e6060[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x59d0a2,null))[_0x8229('0x26')](function(_0x21ebf1){if(_0x21ebf1){_0x12922d=_0x21ebf1;_0x23a7b4[_0x8229('0x48')]=_[_0x8229('0x4b')](db['MailApplication'][_0x8229('0x45')]);_0x23a7b4[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x5e6060[_0x8229('0x4a')]);_0x23a7b4[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x23a7b4[_0x8229('0x48')],_0x23a7b4[_0x8229('0x4a')]);_0x5b5f26[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x23a7b4['model'],qs['fields'](_0x5e6060[_0x8229('0x4a')][_0x8229('0x4f')]));_0x5b5f26[_0x8229('0x4e')]=_0x5b5f26['attributes']['length']?_0x5b5f26[_0x8229('0x4e')]:_0x23a7b4[_0x8229('0x48')];_0x5b5f26[_0x8229('0x52')]=qs[_0x8229('0x6a')](_0x5e6060[_0x8229('0x4a')][_0x8229('0x6a')]);_0x5b5f26[_0x8229('0x55')]=qs[_0x8229('0x4c')](_[_0x8229('0x53')](_0x5e6060['query'],_0x23a7b4[_0x8229('0x4c')]));if(_0x5e6060[_0x8229('0x4a')][_0x8229('0x54')]){_0x5b5f26[_0x8229('0x55')]=_[_0x8229('0x58')](_0x5b5f26[_0x8229('0x55')],{'$or':_['map'](_0x5b5f26[_0x8229('0x4e')],function(_0x10b706){var _0x238a46={};_0x238a46[_0x10b706]={'$like':'%'+_0x5e6060[_0x8229('0x4a')][_0x8229('0x54')]+'%'};return _0x238a46;})});}_0x5b5f26=_[_0x8229('0x58')]({},_0x5b5f26,_0x5e6060[_0x8229('0x59')]);return _0x12922d[_0x8229('0x9e')](_0x5b5f26);}})[_0x8229('0x26')](function(_0x4ca3cb){if(_0x4ca3cb){_0x480335=_0x4ca3cb[_0x8229('0x50')];if(!_0x5e6060[_0x8229('0x4a')][_0x8229('0x51')](_0x8229('0x69'))){_0x5b5f26[_0x8229('0x36')]=qs[_0x8229('0x36')](_0x5e6060['query'][_0x8229('0x36')]);_0x5b5f26[_0x8229('0x35')]=qs['offset'](_0x5e6060[_0x8229('0x4a')][_0x8229('0x35')]);}return _0x12922d[_0x8229('0x9e')](_0x5b5f26);}})[_0x8229('0x26')](function(_0x13a46c){if(_0x13a46c){return _0x13a46c?{'count':_0x480335,'rows':_0x13a46c}:null;}})[_0x8229('0x26')](respondWithResult(_0x59d0a2,null))['catch'](handleError(_0x59d0a2,null));};exports['getMessages']=function(_0x48bb37,_0x271840,_0x30d47e){var _0x3d6347={'raw':!![],'where':{}};var _0x5b42e6={};var _0x23ffab={'count':0x0,'rows':[]};return db[_0x8229('0x44')][_0x8229('0x68')]({'where':{'id':_0x48bb37['params']['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x271840,null))[_0x8229('0x26')](function(_0x1e1d87){if(_0x1e1d87){_0x5b42e6[_0x8229('0x48')]=_[_0x8229('0x4b')](db['MailMessage']['rawAttributes']);_0x5b42e6[_0x8229('0x4a')]=_[_0x8229('0x4b')](_0x48bb37[_0x8229('0x4a')]);_0x5b42e6[_0x8229('0x4c')]=_[_0x8229('0x4d')](_0x5b42e6[_0x8229('0x48')],_0x5b42e6[_0x8229('0x4a')]);_0x3d6347[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x5b42e6[_0x8229('0x48')],qs[_0x8229('0x4f')](_0x48bb37['query'][_0x8229('0x4f')]));_0x3d6347[_0x8229('0x4e')]=_0x3d6347[_0x8229('0x4e')][_0x8229('0x50')]?_0x3d6347['attributes']:_0x5b42e6[_0x8229('0x48')];if(!_0x48bb37[_0x8229('0x4a')][_0x8229('0x51')]('nolimit')){_0x3d6347[_0x8229('0x36')]=qs[_0x8229('0x36')](_0x48bb37['query'][_0x8229('0x36')]);_0x3d6347[_0x8229('0x35')]=qs[_0x8229('0x35')](_0x48bb37[_0x8229('0x4a')][_0x8229('0x35')]);}_0x3d6347[_0x8229('0x52')]=qs[_0x8229('0x6a')](_0x48bb37[_0x8229('0x4a')][_0x8229('0x6a')]);_0x3d6347[_0x8229('0x55')]=qs[_0x8229('0x4c')](_['pick'](_0x48bb37[_0x8229('0x4a')],_0x5b42e6[_0x8229('0x4c')]));_0x3d6347[_0x8229('0x55')]['MailAccountId']=_0x1e1d87['id'];if(_0x48bb37[_0x8229('0x4a')]['filter']){_0x3d6347[_0x8229('0x55')]=_[_0x8229('0x58')](_0x3d6347[_0x8229('0x55')],{'$or':_[_0x8229('0x43')](_0x3d6347['attributes'],function(_0x50b7a0){var _0x3a1099={};_0x3a1099[_0x50b7a0]={'$like':'%'+_0x48bb37[_0x8229('0x4a')][_0x8229('0x54')]+'%'};return _0x3a1099;})});}if(_0x48bb37[_0x8229('0x4a')][_0x8229('0x9f')]){var _0x4714cf=_0x48bb37[_0x8229('0x4a')][_0x8229('0x9f')]['split'](',');var _0x5341b6={};_0x5341b6[_0x4714cf[0x0]]={'$gte':moment(_0x4714cf[0x1])[_0x8229('0xa0')](_0x8229('0xa1'))};_0x3d6347['where']=_['merge'](_0x3d6347[_0x8229('0x55')],_0x5341b6);}_0x3d6347=_[_0x8229('0x58')]({},_0x3d6347,_0x48bb37[_0x8229('0x59')]);return db['MailMessage']['count']({'where':_0x3d6347['where']})[_0x8229('0x26')](function(_0x40b73e){_0x23ffab[_0x8229('0x34')]=_0x40b73e;if(_0x48bb37[_0x8229('0x4a')][_0x8229('0x5e')]){_0x3d6347[_0x8229('0x5a')]=[{'all':!![]}];}return db[_0x8229('0xa2')][_0x8229('0x5b')](_0x3d6347);})[_0x8229('0x26')](function(_0x265034){if(_0x48bb37[_0x8229('0x4a')][_0x8229('0xa3')]==='true'){for(var _0xe560f8=0x0;_0xe560f8<_0x265034['length'];_0xe560f8++){_0x265034[_0xe560f8]['body']=juice(_0x265034[_0xe560f8][_0x8229('0x61')]);}}_0x23ffab['rows']=_0x265034;return _0x23ffab;});}})[_0x8229('0x26')](respondWithFilteredResult(_0x271840,_0x3d6347))['catch'](handleError(_0x271840,null));};exports['send']=function(_0x45aba6,_0x29c017,_0x34edb6){var _0x32ed11,_0x3bd3d2={},_0x4ea0a3;if(_0x45aba6['body']['to']){_0x4ea0a3=_0x45aba6['body']['to'][_0x8229('0xa4')](',')[0x0];}return db['MailAccount']['find']({'where':{'id':_0x45aba6[_0x8229('0x62')]['id']},'include':[{'model':db[_0x8229('0xa5')],'as':_0x8229('0xa6'),'include':[{'model':db[_0x8229('0xa7')],'as':_0x8229('0xa8'),'where':{'email':_0x4ea0a3},'limit':0x1,'order':[[_0x8229('0xa9'),_0x8229('0xaa')]]}]},{'model':db[_0x8229('0x3f')],'as':_0x8229('0x40'),'raw':!![]}]})[_0x8229('0x26')](handleEntityNotFound(_0x29c017,null))[_0x8229('0x26')](function(_0x132cfc){if(_0x132cfc){_0x32ed11=_0x132cfc;if(_0x132cfc[_0x8229('0x40')]){if(_[_0x8229('0x73')](_0x45aba6[_0x8229('0x61')][_0x8229('0xab')])){_0x45aba6[_0x8229('0x61')]['from']=util[_0x8229('0xa0')](_0x8229('0xac'),_0x132cfc[_0x8229('0x49')],_0x132cfc[_0x8229('0x72')]||_0x132cfc[_0x8229('0x40')]['user']);}if(_0x45aba6[_0x8229('0x61')]['attachments']&&_0x45aba6['body'][_0x8229('0xad')]['length']){for(var _0x2f7d3a=0x0;_0x2f7d3a<_0x45aba6[_0x8229('0x61')][_0x8229('0xad')][_0x8229('0x50')];_0x2f7d3a+=0x1){_0x45aba6[_0x8229('0x61')][_0x8229('0xad')][_0x2f7d3a]={'filename':_0x45aba6[_0x8229('0x61')][_0x8229('0xad')][_0x2f7d3a][_0x8229('0x49')],'path':path[_0x8229('0xae')](config[_0x8229('0xaf')],'server/files/attachments',_0x45aba6[_0x8229('0x61')]['attachments'][_0x2f7d3a][_0x8229('0xb0')])};}}var _0x3f1ef8={'tls':{'rejectUnauthorized':![]}};if(_[_0x8229('0x73')](_0x132cfc['Smtp'][_0x8229('0x7e')])){if(_0x132cfc[_0x8229('0x40')]['authentication']){_0x3f1ef8[_0x8229('0xb1')]={'user':_0x132cfc[_0x8229('0x40')][_0x8229('0x77')],'pass':_0x132cfc[_0x8229('0x40')][_0x8229('0x79')]};}_0x3f1ef8[_0x8229('0x7c')]=_0x132cfc[_0x8229('0x40')][_0x8229('0x7c')];_0x3f1ef8[_0x8229('0x7d')]=_0x132cfc[_0x8229('0x40')][_0x8229('0x7d')];_0x3f1ef8[_0x8229('0xb2')]=_0x132cfc[_0x8229('0x40')]['secure'];}else{_0x3f1ef8[_0x8229('0x7e')]=_0x132cfc['Smtp'][_0x8229('0x7e')];_0x3f1ef8[_0x8229('0xb1')]={'user':_0x132cfc[_0x8229('0x40')]['user'],'pass':_0x132cfc[_0x8229('0x40')][_0x8229('0x79')]};}return respondWithRpcPromise(_0x8229('0xb3'),'sendMail',{'account':_0x3f1ef8,'message':_0x45aba6[_0x8229('0x61')]});}else{throw new Error(_0x8229('0xb4'));}}})['then'](function(_0xec3571){if(_0xec3571){_0x3bd3d2=_0xec3571;if(_0x32ed11[_0x8229('0xa6')]){if(_0x32ed11[_0x8229('0xa6')][_0x8229('0xa8')][_0x8229('0x50')]){return _0x32ed11[_0x8229('0xa6')][_0x8229('0xa8')][0x0];}else{return db[_0x8229('0xa7')][_0x8229('0x66')](_[_0x8229('0x1d')](_0x45aba6[_0x8229('0x61')],{'firstName':_0x45aba6['body']['to'],'email':_0x45aba6[_0x8229('0x61')]['to'],'phone':_0x45aba6[_0x8229('0x61')]['to'],'ListId':_0x32ed11[_0x8229('0xb5')]}));}}else{throw new Error(_0x8229('0xb4'));}}})[_0x8229('0x26')](function(_0xce2c2d){if(_0xce2c2d){var _0x4e2bd3={'UserId':_0x45aba6[_0x8229('0x77')]['id'],'ContactId':_0xce2c2d['id'],'MailAccountId':_0x32ed11['id'],'inReplyTo':_0x3bd3d2['messageId'],'to':_0x45aba6['body'][_0x8229('0xab')],'cc':_0x45aba6[_0x8229('0x61')]['cc'],'subject':_0x45aba6[_0x8229('0x61')]['subject'],'attach':_0x45aba6['body'][_0x8229('0xb6')],'firstMsgDirection':_0x8229('0xb7'),'lastMsgAt':moment()[_0x8229('0xa0')](_0x8229('0xa1')),'lastMsgDirection':_0x8229('0xb7'),'Messages':[_[_0x8229('0x58')](_0x45aba6[_0x8229('0x61')],{'messageId':_0x3bd3d2['messageId'],'sentAt':moment()[_0x8229('0xa0')](_0x8229('0xa1')),'read':!![],'MailAccountId':_0x32ed11['id'],'UserId':_0x45aba6[_0x8229('0x77')]['id'],'ContactId':_0xce2c2d['id']})]};if(_0x45aba6[_0x8229('0x61')][_0x8229('0xb8')]){_0x4e2bd3=_[_0x8229('0x58')](_0x4e2bd3,_0x45aba6['body'][_0x8229('0xb8')]);}return db['MailInteraction'][_0x8229('0x66')](_0x4e2bd3,{'include':[{'model':db[_0x8229('0xa2')],'as':'Messages'}]});}})[_0x8229('0x26')](respondWithResult(_0x29c017,null))[_0x8229('0x2f')](handleError(_0x29c017,null));};exports[_0x8229('0xb9')]=function(_0x4d0d9d,_0x1bd521,_0x49a3c8){return db['MailAccount'][_0x8229('0x5f')]({'where':{'id':_0x4d0d9d[_0x8229('0x62')]['id']},'include':[{'model':db[_0x8229('0x3f')],'as':_0x8229('0x40'),'raw':!![]}]})[_0x8229('0x26')](handleEntityNotFound(_0x1bd521,null))[_0x8229('0x26')](function(_0x264c77){if(_0x264c77&&_0x264c77[_0x8229('0x40')]){var _0x450135={'id':_0x264c77['id'],'tls':{'rejectUnauthorized':![]}};if(_0x264c77['Smtp'][_0x8229('0x7e')]){_0x450135['service']=_0x264c77['Smtp']['service'];}else{_0x450135[_0x8229('0x7c')]=_0x264c77[_0x8229('0x40')]['host'];_0x450135[_0x8229('0x7d')]=_0x264c77['Smtp']['port'];_0x450135['secure']=_0x264c77[_0x8229('0x40')]['secure'];}if(_0x264c77['Smtp']['authentication']){_0x450135['auth']={'user':_0x264c77['Smtp'][_0x8229('0x77')],'pass':_0x264c77[_0x8229('0x40')]['pass']};}return respondWithRpcPromise(_0x8229('0xba'),_0x8229('0xb9'),{'account':_0x450135});}})[_0x8229('0x26')](respondWithResult(_0x1bd521,null))[_0x8229('0x2f')](handleError(_0x1bd521,null));};exports[_0x8229('0x9b')]=function(_0x11e9dd,_0x3e931f){return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x11e9dd[_0x8229('0x62')]['id']}})['then'](handleEntityNotFound(_0x3e931f,null))[_0x8229('0x26')](function(_0x12a860){if(_0x12a860&&_0x12a860[_0x8229('0x7e')]){throw new db[(_0x8229('0xbb'))][(_0x8229('0xbc'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x12a860;})['then'](removeEntity(_0x3e931f,null))[_0x8229('0x2f')](handleError(_0x3e931f,null));};exports[_0x8229('0xbd')]=function(_0x31b82f,_0x2becf6,_0x3cea43){return db['MailAccount']['find']({'where':{'id':_0x31b82f[_0x8229('0x62')]['id']}})[_0x8229('0x26')](handleEntityNotFound(_0x2becf6,null))['then'](function(_0x270bcd){if(_0x270bcd){return _0x270bcd[_0x8229('0xbd')](_0x31b82f['body'][_0x8229('0x71')],_[_0x8229('0x90')](_0x31b82f[_0x8229('0x61')],[_0x8229('0x71'),'id'])||{})['spread'](function(_0x4d4622){for(var _0x3a86e9=0x0;_0x3a86e9<_0x31b82f[_0x8229('0x61')][_0x8229('0x71')][_0x8229('0x50')];_0x3a86e9+=0x1){socket['emit'](_0x8229('0xbe'),{'UserId':_0x31b82f[_0x8229('0x61')][_0x8229('0x71')][_0x3a86e9],'MailAccountId':_0x31b82f[_0x8229('0x62')]['id']});}return _0x4d4622;});}})[_0x8229('0x26')](respondWithResult(_0x2becf6,null))[_0x8229('0x2f')](handleError(_0x2becf6,null));};exports[_0x8229('0xbf')]=function(_0x17f189,_0x2c11d2,_0x57b2c9){return db[_0x8229('0x44')][_0x8229('0x5f')]({'where':{'id':_0x17f189[_0x8229('0x62')]['id']}})['then'](handleEntityNotFound(_0x2c11d2,null))[_0x8229('0x26')](function(_0xded419){if(_0xded419){return _0xded419[_0x8229('0xbf')](_0x17f189['query'][_0x8229('0x71')])[_0x8229('0x26')](function(){if(_[_0x8229('0xc0')](_0x17f189[_0x8229('0x4a')][_0x8229('0x71')])){for(var _0x397992=0x0;_0x397992<_0x17f189[_0x8229('0x4a')][_0x8229('0x71')][_0x8229('0x50')];_0x397992+=0x1){socket[_0x8229('0xc1')](_0x8229('0xc2'),{'UserId':Number(_0x17f189[_0x8229('0x4a')]['ids'][_0x397992]),'MailAccountId':Number(_0x17f189[_0x8229('0x62')]['id'])});}}else{socket[_0x8229('0xc1')]('userMailAccount:remove',{'UserId':Number(_0x17f189['query'][_0x8229('0x71')]),'MailAccountId':Number(_0x17f189['params']['id'])});}});}})['then'](respondWithStatusCode(_0x2c11d2,null))[_0x8229('0x2f')](handleError(_0x2c11d2,null));};exports[_0x8229('0xc3')]=function(_0x5597f4,_0x546d32,_0x1b5ec4){var _0x44eb14={};var _0x18f32a={};var _0x29c319;var _0x416bfa;return db['MailAccount']['findOne']({'where':{'id':_0x5597f4[_0x8229('0x62')]['id']}})['then'](handleEntityNotFound(_0x546d32,null))[_0x8229('0x26')](function(_0x347203){if(_0x347203){_0x29c319=_0x347203;_0x18f32a['model']=_[_0x8229('0x4b')](db['User']['rawAttributes']);_0x18f32a['query']=_['keys'](_0x5597f4[_0x8229('0x4a')]);_0x18f32a['filters']=_[_0x8229('0x4d')](_0x18f32a['model'],_0x18f32a[_0x8229('0x4a')]);_0x44eb14[_0x8229('0x4e')]=_[_0x8229('0x4d')](_0x18f32a[_0x8229('0x48')],qs[_0x8229('0x4f')](_0x5597f4['query']['fields']));_0x44eb14[_0x8229('0x4e')]=_0x44eb14[_0x8229('0x4e')]['length']?_0x44eb14[_0x8229('0x4e')]:_0x18f32a[_0x8229('0x48')];_0x44eb14[_0x8229('0x52')]=qs[_0x8229('0x6a')](_0x5597f4['query'][_0x8229('0x6a')]);_0x44eb14[_0x8229('0x55')]=qs[_0x8229('0x4c')](_[_0x8229('0x53')](_0x5597f4[_0x8229('0x4a')],_0x18f32a['filters']));if(_0x5597f4[_0x8229('0x4a')]['filter']){_0x44eb14[_0x8229('0x55')]=_[_0x8229('0x58')](_0x44eb14[_0x8229('0x55')],{'$or':_['map'](_0x44eb14[_0x8229('0x4e')],function(_0x1f814a){var _0x3e4044={};_0x3e4044[_0x1f814a]={'$like':'%'+_0x5597f4[_0x8229('0x4a')][_0x8229('0x54')]+'%'};return _0x3e4044;})});}_0x44eb14=_[_0x8229('0x58')]({},_0x44eb14,_0x5597f4['options']);return _0x29c319[_0x8229('0xc3')](_0x44eb14);}})[_0x8229('0x26')](function(_0x3d5698){if(_0x3d5698){_0x416bfa=_0x3d5698[_0x8229('0x50')];if(!_0x5597f4[_0x8229('0x4a')][_0x8229('0x51')](_0x8229('0x69'))){_0x44eb14[_0x8229('0x36')]=qs[_0x8229('0x36')](_0x5597f4[_0x8229('0x4a')][_0x8229('0x36')]);_0x44eb14[_0x8229('0x35')]=qs[_0x8229('0x35')](_0x5597f4['query'][_0x8229('0x35')]);}return _0x29c319[_0x8229('0xc3')](_0x44eb14);}})['then'](function(_0x441ea9){if(_0x441ea9){return _0x441ea9?{'count':_0x416bfa,'rows':_0x441ea9}:null;}})[_0x8229('0x26')](respondWithResult(_0x546d32,null))['catch'](handleError(_0x546d32,null));};