558f4fbc8184acb1136807dc55a202e6d1848950
[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 _0xd3e7=['intersection','model','fields','length','sort','filter','where','merge','options','includeAll','include','findAll','rows','show','find','body','describe','params','Disposition','getDispositions','findOne','hasOwnProperty','nolimit','order','pick','MailAccountId','removeDispositions','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','key','isNil','active','description','cauthentication','user','cuser','password','cpassword','authentication','host','port','service','cservice','pass','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','omit','getInteractions','MailInteraction','CmContact','Contact','User','internal','Tag','Tags','tag','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','CmList','List','Contacts','DESC','from','%s\x20<%s>','attachments','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','out','Interaction','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','register','jayson/promise','then','info','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','MailAccount,\x20%s,\x20%s','message','catch','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','index','MailServerIn','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','type','map','query','keys','filters','attributes'];(function(_0x24a591,_0x55c6a0){var _0x35cc83=function(_0x35ed52){while(--_0x35ed52){_0x24a591['push'](_0x24a591['shift']());}};_0x35cc83(++_0x55c6a0);}(_0xd3e7,0x130));var _0x7d3e=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xd3e7[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0x7d3e('0x0'));var emlformat=require(_0x7d3e('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7d3e('0x2'));var jsonpatch=require(_0x7d3e('0x3'));var rp=require('request-promise');var moment=require(_0x7d3e('0x4'));var BPromise=require(_0x7d3e('0x5'));var Mustache=require(_0x7d3e('0x6'));var util=require(_0x7d3e('0x7'));var path=require('path');var sox=require(_0x7d3e('0x8'));var csv=require(_0x7d3e('0x9'));var ejs=require(_0x7d3e('0xa'));var fs=require('fs');var _=require(_0x7d3e('0xb'));var squel=require(_0x7d3e('0xc'));var crypto=require(_0x7d3e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x7d3e('0xe'));var toCsv=require(_0x7d3e('0x9'));var querystring=require(_0x7d3e('0xf'));var Papa=require(_0x7d3e('0x10'));var Redis=require(_0x7d3e('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x7d3e('0x12'));var as=require(_0x7d3e('0x13'));var hardwareService=require(_0x7d3e('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x7d3e('0x15'));var config=require(_0x7d3e('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x7d3e('0x17'))['db'];config[_0x7d3e('0x18')]=_[_0x7d3e('0x19')](config[_0x7d3e('0x18')],{'host':_0x7d3e('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7d3e('0x18')]));require(_0x7d3e('0x1b'))[_0x7d3e('0x1c')](socket);var jayson=require(_0x7d3e('0x1d'));var client=jayson['client']['http']({'port':0x232b});function respondWithRpcPromise(_0x153c44,_0x3dc62f,_0x23fee2,_0x1a0bab){return new BPromise(function(_0xff9e58,_0x12d7a9){var _0xebe8cb=_0x1a0bab||client;return _0xebe8cb['request'](_0x153c44,_0x23fee2)[_0x7d3e('0x1e')](function(_0x25ebb0){logger[_0x7d3e('0x1f')]('MailAccount,\x20%s,\x20%s',_0x3dc62f,'request\x20sent');logger[_0x7d3e('0x20')](_0x7d3e('0x21'),_0x3dc62f,_0x7d3e('0x22'),JSON[_0x7d3e('0x23')](_0x25ebb0));if(_0x25ebb0[_0x7d3e('0x24')]){if(_0x25ebb0[_0x7d3e('0x24')][_0x7d3e('0x25')]===0x1f4){logger[_0x7d3e('0x24')](_0x7d3e('0x26'),_0x3dc62f,_0x25ebb0['error'][_0x7d3e('0x27')]);return _0x12d7a9(_0x25ebb0['error'][_0x7d3e('0x27')]);}logger[_0x7d3e('0x24')](_0x7d3e('0x26'),_0x3dc62f,_0x25ebb0['error'][_0x7d3e('0x27')]);return _0xff9e58(_0x25ebb0[_0x7d3e('0x24')][_0x7d3e('0x27')]);}else{logger[_0x7d3e('0x1f')](_0x7d3e('0x26'),_0x3dc62f,'request\x20sent');_0xff9e58(_0x25ebb0['result']['message']);}})[_0x7d3e('0x28')](function(_0x2716f0){logger[_0x7d3e('0x24')](_0x7d3e('0x26'),_0x3dc62f,_0x2716f0);_0x12d7a9(_0x2716f0);});});}function respondWithStatusCode(_0x325888,_0x338540){_0x338540=_0x338540||0xcc;return function(_0x578658){if(_0x578658){return _0x325888[_0x7d3e('0x29')](_0x338540);}return _0x325888[_0x7d3e('0x2a')](_0x338540)['end']();};}function respondWithResult(_0x961fba,_0x302d2c){_0x302d2c=_0x302d2c||0xc8;return function(_0x11c45){if(_0x11c45){return _0x961fba[_0x7d3e('0x2a')](_0x302d2c)[_0x7d3e('0x2b')](_0x11c45);}};}function respondWithFilteredResult(_0x49cd21,_0x46a5b1){return function(_0x2d6a88){if(_0x2d6a88){var _0xcad8f1=_0x2d6a88[_0x7d3e('0x2c')],_0x5aab09=_0x46a5b1[_0x7d3e('0x2d')],_0x5cd627=_0x46a5b1[_0x7d3e('0x2d')]+_0x46a5b1[_0x7d3e('0x2e')],_0x1ace49;if(_0x5cd627>=_0xcad8f1){_0x5cd627=_0xcad8f1;_0x1ace49=0xc8;}else{_0x1ace49=0xce;}_0x49cd21[_0x7d3e('0x2a')](_0x1ace49);return _0x49cd21['set'](_0x7d3e('0x2f'),_0x5aab09+'-'+_0x5cd627+'/'+_0xcad8f1)[_0x7d3e('0x2b')](_0x2d6a88);}return null;};}function patchUpdates(_0x2cd61e){return function(_0x1631d0){try{jsonpatch[_0x7d3e('0x30')](_0x1631d0,_0x2cd61e,!![]);}catch(_0x25a1a0){return BPromise[_0x7d3e('0x31')](_0x25a1a0);}return _0x1631d0[_0x7d3e('0x32')]();};}function saveUpdates(_0x3f95ef,_0x17201e){return function(_0x4060cb){if(_0x4060cb){return _0x4060cb[_0x7d3e('0x33')](_0x3f95ef)[_0x7d3e('0x1e')](function(_0x320a36){return _0x320a36;});}return null;};}function removeEntity(_0x13f778,_0x3c3c30){return function(_0x10948d){if(_0x10948d){return _0x10948d[_0x7d3e('0x34')]()['then'](function(){var _0x1ebdde=_0x10948d[_0x7d3e('0x35')]({'plain':!![]});var _0x174c6d=_0x7d3e('0x36');return db[_0x7d3e('0x37')][_0x7d3e('0x34')]({'where':{'type':_0x174c6d,'resourceId':_0x1ebdde['id']}})['then'](function(){return _0x10948d;});})['then'](function(){_0x13f778[_0x7d3e('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x49312f,_0x2d9f9e){return function(_0x4db5c4){if(!_0x4db5c4){_0x49312f[_0x7d3e('0x29')](0x194);}return _0x4db5c4;};}function handleError(_0x56123a,_0x2a694f){_0x2a694f=_0x2a694f||0x1f4;return function(_0xc896be){logger['error'](_0xc896be[_0x7d3e('0x38')]);if(_0xc896be[_0x7d3e('0x39')]){delete _0xc896be[_0x7d3e('0x39')];}_0x56123a['status'](_0x2a694f)[_0x7d3e('0x3a')](_0xc896be);};}exports[_0x7d3e('0x3b')]=function(_0x935c60,_0x5764d3){var _0x2e55f2={'include':[{'model':db[_0x7d3e('0x3c')],'as':_0x7d3e('0x3d')},{'model':db[_0x7d3e('0x3e')],'as':_0x7d3e('0x3f')},{'model':db[_0x7d3e('0x40')],'as':_0x7d3e('0x41')}]},_0x258c2a={},_0x346797={'count':0x0,'rows':[]};var _0x6d52b4=_['map'](db[_0x7d3e('0x42')][_0x7d3e('0x43')],function(_0x541f1f){return{'name':_0x541f1f['fieldName'],'type':_0x541f1f[_0x7d3e('0x44')]['key']};});_0x258c2a['model']=_[_0x7d3e('0x45')](_0x6d52b4,_0x7d3e('0x39'));_0x258c2a[_0x7d3e('0x46')]=_[_0x7d3e('0x47')](_0x935c60[_0x7d3e('0x46')]);_0x258c2a[_0x7d3e('0x48')]=_['intersection'](_0x258c2a['model'],_0x258c2a['query']);_0x2e55f2[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x258c2a[_0x7d3e('0x4b')],qs['fields'](_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x4c')]));_0x2e55f2['attributes']=_0x2e55f2[_0x7d3e('0x49')][_0x7d3e('0x4d')]?_0x2e55f2[_0x7d3e('0x49')]:_0x258c2a[_0x7d3e('0x4b')];if(!_0x935c60['query']['hasOwnProperty']('nolimit')){_0x2e55f2['limit']=qs['limit'](_0x935c60[_0x7d3e('0x46')]['limit']);_0x2e55f2[_0x7d3e('0x2d')]=qs[_0x7d3e('0x2d')](_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}_0x2e55f2['order']=qs[_0x7d3e('0x4e')](_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x4e')]);_0x2e55f2['where']=qs[_0x7d3e('0x48')](_['pick'](_0x935c60[_0x7d3e('0x46')],_0x258c2a['filters']),_0x6d52b4);if(_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x4f')]){_0x2e55f2[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x2e55f2['where'],{'$or':_['map'](_0x6d52b4,function(_0x2fb332){if(_0x2fb332[_0x7d3e('0x44')]!=='VIRTUAL'){var _0x71bc27={};_0x71bc27[_0x2fb332['name']]={'$like':'%'+_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x4f')]+'%'};return _0x71bc27;}})});}_0x2e55f2=_['merge']({},_0x2e55f2,_0x935c60[_0x7d3e('0x52')]);var _0x1588f6={'where':_0x2e55f2[_0x7d3e('0x50')]};return db[_0x7d3e('0x42')][_0x7d3e('0x2c')](_0x1588f6)[_0x7d3e('0x1e')](function(_0x13a093){_0x346797[_0x7d3e('0x2c')]=_0x13a093;if(_0x935c60[_0x7d3e('0x46')][_0x7d3e('0x53')]){_0x2e55f2[_0x7d3e('0x54')]=[{'all':!![]}];}return db[_0x7d3e('0x42')][_0x7d3e('0x55')](_0x2e55f2);})[_0x7d3e('0x1e')](function(_0x37d5e9){_0x346797[_0x7d3e('0x56')]=_0x37d5e9;return _0x346797;})[_0x7d3e('0x1e')](respondWithFilteredResult(_0x5764d3,_0x2e55f2))['catch'](handleError(_0x5764d3,null));};exports[_0x7d3e('0x57')]=function(_0x36b5a7,_0x341ca9){var _0x15b36b={'raw':![],'where':{'id':_0x36b5a7['params']['id']},'include':[{'model':db[_0x7d3e('0x3c')],'as':_0x7d3e('0x3d')},{'model':db[_0x7d3e('0x3e')],'as':_0x7d3e('0x3f')},{'model':db[_0x7d3e('0x40')],'as':'mandatoryDispositionPause'}]},_0x3e1675={};_0x3e1675[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db['MailAccount'][_0x7d3e('0x43')]);_0x3e1675[_0x7d3e('0x46')]=_['keys'](_0x36b5a7['query']);_0x3e1675[_0x7d3e('0x48')]=_[_0x7d3e('0x4a')](_0x3e1675[_0x7d3e('0x4b')],_0x3e1675['query']);_0x15b36b[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x3e1675[_0x7d3e('0x4b')],qs['fields'](_0x36b5a7['query'][_0x7d3e('0x4c')]));_0x15b36b['attributes']=_0x15b36b['attributes'][_0x7d3e('0x4d')]?_0x15b36b[_0x7d3e('0x49')]:_0x3e1675[_0x7d3e('0x4b')];if(_0x36b5a7[_0x7d3e('0x46')][_0x7d3e('0x53')]){_0x15b36b['include']=[{'all':!![]}];}_0x15b36b=_[_0x7d3e('0x51')]({},_0x15b36b,_0x36b5a7[_0x7d3e('0x52')]);return db[_0x7d3e('0x42')][_0x7d3e('0x58')](_0x15b36b)[_0x7d3e('0x1e')](handleEntityNotFound(_0x341ca9,null))[_0x7d3e('0x1e')](respondWithResult(_0x341ca9,null))['catch'](handleError(_0x341ca9,null));};exports[_0x7d3e('0x33')]=function(_0x2761,_0x4c931b){if(_0x2761[_0x7d3e('0x59')]['id']){delete _0x2761['body']['id'];}return db[_0x7d3e('0x42')]['find']({'where':{'id':_0x2761['params']['id']},'include':[{'model':db[_0x7d3e('0x3c')],'as':'Imap'},{'model':db[_0x7d3e('0x3e')],'as':_0x7d3e('0x3f')},{'model':db[_0x7d3e('0x40')],'as':_0x7d3e('0x41')}]})[_0x7d3e('0x1e')](handleEntityNotFound(_0x4c931b,null))[_0x7d3e('0x1e')](saveUpdates(_0x2761[_0x7d3e('0x59')],null))[_0x7d3e('0x1e')](function(_0x10d52d){if(_0x10d52d&&_0x2761[_0x7d3e('0x59')][_0x7d3e('0x3d')]){return db[_0x7d3e('0x3c')][_0x7d3e('0x33')](_0x2761[_0x7d3e('0x59')]['Imap'],{'where':{'MailAccountId':_0x10d52d['id']}})[_0x7d3e('0x1e')](function(){return _0x10d52d;});}return _0x10d52d;})[_0x7d3e('0x1e')](function(_0x2dca1f){if(_0x2dca1f&&_0x2761['body'][_0x7d3e('0x3f')]){return db['MailServerOut']['update'](_0x2761['body'][_0x7d3e('0x3f')],{'where':{'MailAccountId':_0x2dca1f['id']}})[_0x7d3e('0x1e')](function(){return _0x2dca1f;});}return _0x2dca1f;})['then'](respondWithResult(_0x4c931b,null))[_0x7d3e('0x28')](handleError(_0x4c931b,null));};exports[_0x7d3e('0x5a')]=function(_0x3d3513,_0x113446){return db[_0x7d3e('0x42')][_0x7d3e('0x5a')]()[_0x7d3e('0x1e')](respondWithResult(_0x113446,null))[_0x7d3e('0x28')](handleError(_0x113446,null));};exports['addDisposition']=function(_0x1db431,_0x3849f7,_0x10f1ac){if(_0x1db431[_0x7d3e('0x59')]['id']){delete _0x1db431[_0x7d3e('0x59')]['id'];}return db[_0x7d3e('0x42')][_0x7d3e('0x58')]({'where':{'id':_0x1db431[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x3849f7,null))['then'](function(_0x162d53){if(_0x162d53){_0x1db431['body']['MailAccountId']=_0x162d53['id'];return db[_0x7d3e('0x5c')]['create'](_0x1db431[_0x7d3e('0x59')]);}})[_0x7d3e('0x1e')](respondWithResult(_0x3849f7,null))['catch'](handleError(_0x3849f7,null));};exports[_0x7d3e('0x5d')]=function(_0x44dcf6,_0x5287c9,_0x287bfd){var _0x2d72e1={'raw':![],'where':{}};var _0x3b3c85={};var _0x296bbd={'count':0x0,'rows':[]};return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x44dcf6[_0x7d3e('0x5b')]['id']}})['then'](handleEntityNotFound(_0x5287c9,null))[_0x7d3e('0x1e')](function(_0xfd4f0a){if(_0xfd4f0a){_0x3b3c85['model']=_[_0x7d3e('0x47')](db[_0x7d3e('0x5c')]['rawAttributes']);_0x3b3c85[_0x7d3e('0x46')]=_['keys'](_0x44dcf6[_0x7d3e('0x46')]);_0x3b3c85['filters']=_[_0x7d3e('0x4a')](_0x3b3c85[_0x7d3e('0x4b')],_0x3b3c85[_0x7d3e('0x46')]);_0x2d72e1['attributes']=_[_0x7d3e('0x4a')](_0x3b3c85['model'],qs[_0x7d3e('0x4c')](_0x44dcf6[_0x7d3e('0x46')][_0x7d3e('0x4c')]));_0x2d72e1[_0x7d3e('0x49')]=_0x2d72e1[_0x7d3e('0x49')][_0x7d3e('0x4d')]?_0x2d72e1['attributes']:_0x3b3c85[_0x7d3e('0x4b')];if(!_0x44dcf6[_0x7d3e('0x46')][_0x7d3e('0x5f')](_0x7d3e('0x60'))){_0x2d72e1[_0x7d3e('0x2e')]=qs['limit'](_0x44dcf6['query'][_0x7d3e('0x2e')]);_0x2d72e1[_0x7d3e('0x2d')]=qs[_0x7d3e('0x2d')](_0x44dcf6[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}_0x2d72e1[_0x7d3e('0x61')]=qs[_0x7d3e('0x4e')](_0x44dcf6[_0x7d3e('0x46')]['sort']);_0x2d72e1[_0x7d3e('0x50')]=qs[_0x7d3e('0x48')](_[_0x7d3e('0x62')](_0x44dcf6['query'],_0x3b3c85[_0x7d3e('0x48')]));_0x2d72e1['where'][_0x7d3e('0x63')]=_0xfd4f0a['id'];if(_0x44dcf6[_0x7d3e('0x46')][_0x7d3e('0x4f')]){_0x2d72e1['where']=_[_0x7d3e('0x51')](_0x2d72e1[_0x7d3e('0x50')],{'$or':_['map'](_0x2d72e1['attributes'],function(_0x12f5ac){var _0x22c5c4={};_0x22c5c4[_0x12f5ac]={'$like':'%'+_0x44dcf6['query'][_0x7d3e('0x4f')]+'%'};return _0x22c5c4;})});}_0x2d72e1=_[_0x7d3e('0x51')]({},_0x2d72e1,_0x44dcf6['options']);return db[_0x7d3e('0x5c')][_0x7d3e('0x2c')]({'where':_0x2d72e1[_0x7d3e('0x50')]})[_0x7d3e('0x1e')](function(_0x16abd9){_0x296bbd['count']=_0x16abd9;if(_0x44dcf6[_0x7d3e('0x46')][_0x7d3e('0x53')]){_0x2d72e1[_0x7d3e('0x54')]=[{'all':!![]}];}return db[_0x7d3e('0x5c')][_0x7d3e('0x55')](_0x2d72e1);})[_0x7d3e('0x1e')](function(_0x80bd10){_0x296bbd[_0x7d3e('0x56')]=_0x80bd10;return _0x296bbd;});}})[_0x7d3e('0x1e')](respondWithFilteredResult(_0x5287c9,_0x2d72e1))[_0x7d3e('0x28')](handleError(_0x5287c9,null));};exports[_0x7d3e('0x64')]=function(_0x182979,_0x634c8b,_0x1788a7){return db['MailAccount'][_0x7d3e('0x58')]({'where':{'id':_0x182979[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x634c8b,null))['then'](function(_0x2a4661){if(_0x2a4661){return _0x2a4661[_0x7d3e('0x64')](_0x182979['query'][_0x7d3e('0x65')]);}})[_0x7d3e('0x1e')](respondWithStatusCode(_0x634c8b,null))[_0x7d3e('0x28')](handleError(_0x634c8b,null));};exports[_0x7d3e('0x66')]=function(_0x444205,_0x9c0330,_0x148f4d){if(_0x444205['body']['id']){delete _0x444205[_0x7d3e('0x59')]['id'];}return db[_0x7d3e('0x42')][_0x7d3e('0x58')]({'where':{'id':_0x444205['params']['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x9c0330,null))[_0x7d3e('0x1e')](function(_0x24f3c6){if(_0x24f3c6){_0x444205[_0x7d3e('0x59')][_0x7d3e('0x63')]=_0x24f3c6['id'];return db[_0x7d3e('0x67')][_0x7d3e('0x68')](_0x444205[_0x7d3e('0x59')]);}})[_0x7d3e('0x1e')](respondWithResult(_0x9c0330,null))[_0x7d3e('0x28')](handleError(_0x9c0330,null));};exports[_0x7d3e('0x69')]=function(_0x537f5b,_0x4b867f,_0x288141){var _0x5f1a45={'raw':![],'where':{}};var _0x481108={};var _0xd89cb0={'count':0x0,'rows':[]};return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x537f5b[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x4b867f,null))[_0x7d3e('0x1e')](function(_0x412034){if(_0x412034){_0x481108[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db[_0x7d3e('0x67')]['rawAttributes']);_0x481108[_0x7d3e('0x46')]=_[_0x7d3e('0x47')](_0x537f5b['query']);_0x481108[_0x7d3e('0x48')]=_[_0x7d3e('0x4a')](_0x481108[_0x7d3e('0x4b')],_0x481108['query']);_0x5f1a45[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x481108[_0x7d3e('0x4b')],qs[_0x7d3e('0x4c')](_0x537f5b['query'][_0x7d3e('0x4c')]));_0x5f1a45[_0x7d3e('0x49')]=_0x5f1a45[_0x7d3e('0x49')]['length']?_0x5f1a45[_0x7d3e('0x49')]:_0x481108[_0x7d3e('0x4b')];if(!_0x537f5b[_0x7d3e('0x46')][_0x7d3e('0x5f')](_0x7d3e('0x60'))){_0x5f1a45[_0x7d3e('0x2e')]=qs[_0x7d3e('0x2e')](_0x537f5b[_0x7d3e('0x46')][_0x7d3e('0x2e')]);_0x5f1a45['offset']=qs[_0x7d3e('0x2d')](_0x537f5b[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}_0x5f1a45[_0x7d3e('0x61')]=qs[_0x7d3e('0x4e')](_0x537f5b['query']['sort']);_0x5f1a45['where']=qs[_0x7d3e('0x48')](_['pick'](_0x537f5b['query'],_0x481108[_0x7d3e('0x48')]));_0x5f1a45[_0x7d3e('0x50')][_0x7d3e('0x63')]=_0x412034['id'];if(_0x537f5b[_0x7d3e('0x46')][_0x7d3e('0x4f')]){_0x5f1a45[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x5f1a45[_0x7d3e('0x50')],{'$or':_[_0x7d3e('0x45')](_0x5f1a45[_0x7d3e('0x49')],function(_0x221e34){var _0x962583={};_0x962583[_0x221e34]={'$like':'%'+_0x537f5b[_0x7d3e('0x46')]['filter']+'%'};return _0x962583;})});}_0x5f1a45=_[_0x7d3e('0x51')]({},_0x5f1a45,_0x537f5b['options']);return db[_0x7d3e('0x67')]['count']({'where':_0x5f1a45[_0x7d3e('0x50')]})[_0x7d3e('0x1e')](function(_0x4a7920){_0xd89cb0[_0x7d3e('0x2c')]=_0x4a7920;if(_0x537f5b['query']['includeAll']){_0x5f1a45[_0x7d3e('0x54')]=[{'all':!![]}];}return db[_0x7d3e('0x67')][_0x7d3e('0x55')](_0x5f1a45);})[_0x7d3e('0x1e')](function(_0x244f1b){_0xd89cb0['rows']=_0x244f1b;return _0xd89cb0;});}})['then'](respondWithFilteredResult(_0x4b867f,_0x5f1a45))[_0x7d3e('0x28')](handleError(_0x4b867f,null));};exports[_0x7d3e('0x6a')]=function(_0x12ebbc,_0x41f19b,_0x4a73c0){return db[_0x7d3e('0x42')]['find']({'where':{'id':_0x12ebbc[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x41f19b,null))[_0x7d3e('0x1e')](function(_0x26a754){if(_0x26a754){return _0x26a754[_0x7d3e('0x6a')](_0x12ebbc['query'][_0x7d3e('0x65')]);}})[_0x7d3e('0x1e')](respondWithStatusCode(_0x41f19b,null))[_0x7d3e('0x28')](handleError(_0x41f19b,null));};exports['create']=function(_0x2853a4,_0x5a4c54){var _0x4790bb={'name':_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x39')],'key':_0x2853a4['body'][_0x7d3e('0x6b')],'email':_0x2853a4[_0x7d3e('0x59')]['email'],'ListId':_0x2853a4[_0x7d3e('0x59')]['ListId'],'active':!_[_0x7d3e('0x6c')](_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x6d')])?_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x6d')]:!![],'description':_0x2853a4['body'][_0x7d3e('0x6e')]||null,'Imap':{},'Smtp':{}};if(_[_0x7d3e('0x6c')](_0x2853a4[_0x7d3e('0x59')]['cservice'])){if(_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x6f')]){_0x4790bb[_0x7d3e('0x3d')][_0x7d3e('0x70')]=_0x4790bb[_0x7d3e('0x3f')][_0x7d3e('0x70')]=_0x2853a4['body'][_0x7d3e('0x71')];_0x4790bb[_0x7d3e('0x3d')][_0x7d3e('0x72')]=_0x4790bb['Smtp']['pass']=_0x2853a4['body'][_0x7d3e('0x73')];}else{_0x4790bb[_0x7d3e('0x3d')][_0x7d3e('0x74')]=_0x4790bb[_0x7d3e('0x3f')]['authentication']=![];}_0x4790bb[_0x7d3e('0x3d')]['host']=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x3d')][_0x7d3e('0x75')];_0x4790bb['Imap'][_0x7d3e('0x76')]=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x3d')][_0x7d3e('0x76')];_0x4790bb[_0x7d3e('0x3f')][_0x7d3e('0x75')]=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x3f')]['host'];_0x4790bb[_0x7d3e('0x3f')]['port']=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x3f')][_0x7d3e('0x76')];}else{_0x4790bb[_0x7d3e('0x3d')][_0x7d3e('0x77')]=_0x4790bb['Smtp'][_0x7d3e('0x77')]=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x78')];_0x4790bb['Imap'][_0x7d3e('0x70')]=_0x4790bb[_0x7d3e('0x3f')]['user']=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x71')];_0x4790bb[_0x7d3e('0x3d')]['password']=_0x4790bb[_0x7d3e('0x3f')][_0x7d3e('0x79')]=_0x2853a4[_0x7d3e('0x59')][_0x7d3e('0x73')];}return db[_0x7d3e('0x42')][_0x7d3e('0x68')](_0x4790bb,{'include':[{'model':db[_0x7d3e('0x3e')],'as':_0x7d3e('0x3f')},{'model':db[_0x7d3e('0x3c')],'as':_0x7d3e('0x3d')}]})['then'](function(_0x112294){var _0x444982=_0x2853a4[_0x7d3e('0x70')]['get']({'plain':!![]});if(!_0x444982)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x444982[_0x7d3e('0x7a')]===_0x7d3e('0x70')){var _0x2367c9=_0x112294[_0x7d3e('0x35')]({'plain':!![]});return db[_0x7d3e('0x7b')]['find']({'where':{'name':_0x7d3e('0x36'),'userProfileId':_0x444982[_0x7d3e('0x7c')]},'raw':!![]})[_0x7d3e('0x1e')](function(_0x504520){if(_0x504520&&_0x504520[_0x7d3e('0x7d')]===0x0){return db[_0x7d3e('0x37')][_0x7d3e('0x68')]({'name':_0x2367c9[_0x7d3e('0x39')],'resourceId':_0x2367c9['id'],'type':_0x504520[_0x7d3e('0x39')],'sectionId':_0x504520['id']},{})[_0x7d3e('0x1e')](function(){return _0x112294;});}else{return _0x112294;}})[_0x7d3e('0x28')](function(_0x3831db){logger[_0x7d3e('0x24')](_0x7d3e('0x7e'),_0x3831db);throw _0x3831db;});}return _0x112294;})[_0x7d3e('0x1e')](respondWithResult(_0x5a4c54,0xc9))[_0x7d3e('0x28')](handleError(_0x5a4c54,null));};exports[_0x7d3e('0x7f')]=function(_0xfbc719,_0x573d05,_0x15cfe1){return db['MailAccount'][_0x7d3e('0x5e')]({'where':{'id':_0xfbc719[_0x7d3e('0x5b')]['id']}})['then'](handleEntityNotFound(_0x573d05,null))[_0x7d3e('0x1e')](function(_0x4cf9fe){if(_0x4cf9fe){return _0x4cf9fe[_0x7d3e('0x7f')]();}return null;})[_0x7d3e('0x1e')](respondWithResult(_0x573d05,null))[_0x7d3e('0x28')](handleError(_0x573d05,null));};exports[_0x7d3e('0x80')]=function(_0xc3fce2,_0x404362,_0x10e0f3){if(_0xc3fce2[_0x7d3e('0x59')]['id']){delete _0xc3fce2[_0x7d3e('0x59')]['id'];}return db['MailAccount']['find']({'where':{'id':_0xc3fce2['params']['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x404362,null))['then'](function(_0x2434bc){if(_0x2434bc){_0xc3fce2[_0x7d3e('0x59')]['MailAccountId']=_0x2434bc['id'];return db[_0x7d3e('0x3c')][_0x7d3e('0x68')](_0xc3fce2['body']);}})[_0x7d3e('0x1e')](respondWithResult(_0x404362,null))[_0x7d3e('0x28')](handleError(_0x404362,null));};exports[_0x7d3e('0x81')]=function(_0x25eb63,_0x39ed14,_0x595866){return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x25eb63[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x39ed14,null))['then'](function(_0x1e6420){if(_0x1e6420){return _0x1e6420[_0x7d3e('0x82')](null);}return null;})[_0x7d3e('0x1e')](respondWithStatusCode(_0x39ed14,null))['catch'](handleError(_0x39ed14,null));};exports[_0x7d3e('0x83')]=function(_0x3c672a,_0x4c782a,_0x2b4732){return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x3c672a['params']['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x4c782a,null))[_0x7d3e('0x1e')](function(_0x1479a0){if(_0x1479a0){return _0x1479a0[_0x7d3e('0x83')]();}return null;})[_0x7d3e('0x1e')](respondWithResult(_0x4c782a,null))[_0x7d3e('0x28')](handleError(_0x4c782a,null));};exports[_0x7d3e('0x84')]=function(_0x53a5d4,_0x5d69dc,_0x592d87){if(_0x53a5d4[_0x7d3e('0x59')]['id']){delete _0x53a5d4[_0x7d3e('0x59')]['id'];}return db[_0x7d3e('0x42')]['find']({'where':{'id':_0x53a5d4[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x5d69dc,null))[_0x7d3e('0x1e')](function(_0x25dc95){if(_0x25dc95){_0x53a5d4[_0x7d3e('0x59')][_0x7d3e('0x63')]=_0x25dc95['id'];return db[_0x7d3e('0x3e')][_0x7d3e('0x68')](_0x53a5d4[_0x7d3e('0x59')]);}})[_0x7d3e('0x1e')](respondWithResult(_0x5d69dc,null))['catch'](handleError(_0x5d69dc,null));};exports[_0x7d3e('0x85')]=function(_0x4cd118,_0x5d018b,_0x4f3d90){return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x4cd118[_0x7d3e('0x5b')]['id']}})['then'](handleEntityNotFound(_0x5d018b,null))['then'](function(_0x544290){if(_0x544290){return _0x544290[_0x7d3e('0x86')](null);}return null;})[_0x7d3e('0x1e')](respondWithStatusCode(_0x5d018b,null))[_0x7d3e('0x28')](handleError(_0x5d018b,null));};exports['addInteraction']=function(_0x5aae95,_0xb9d821,_0xefe3e9){return db['MailInteraction']['find']({'where':{'id':_0x5aae95['params']['id']}})['then'](handleEntityNotFound(_0xb9d821,null))[_0x7d3e('0x1e')](function(_0x3675bd){if(_0x3675bd){return _0x3675bd['addInteraction'](_0x5aae95['body']['ids'],_[_0x7d3e('0x87')](_0x5aae95[_0x7d3e('0x59')],['ids','id'])||{});}})[_0x7d3e('0x1e')](respondWithResult(_0xb9d821,null))[_0x7d3e('0x28')](handleError(_0xb9d821,null));};exports[_0x7d3e('0x88')]=function(_0x5cf3b7,_0x1d5930,_0x5690d9){var _0x4ab126={'raw':![],'where':{}};var _0x4dc5f3={};var _0x268781={'count':0x0,'rows':[]};return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x5cf3b7[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x1d5930,null))['then'](function(_0x18fdd0){if(_0x18fdd0){_0x4dc5f3[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db[_0x7d3e('0x89')][_0x7d3e('0x43')]);_0x4dc5f3[_0x7d3e('0x46')]=_[_0x7d3e('0x47')](_0x5cf3b7[_0x7d3e('0x46')]);_0x4dc5f3['filters']=_[_0x7d3e('0x4a')](_0x4dc5f3[_0x7d3e('0x4b')],_0x4dc5f3['query']);_0x4ab126[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x4dc5f3[_0x7d3e('0x4b')],qs[_0x7d3e('0x4c')](_0x5cf3b7['query'][_0x7d3e('0x4c')]));_0x4ab126[_0x7d3e('0x49')]=_0x4ab126[_0x7d3e('0x49')]['length']?_0x4ab126[_0x7d3e('0x49')]:_0x4dc5f3[_0x7d3e('0x4b')];if(!_0x5cf3b7[_0x7d3e('0x46')][_0x7d3e('0x5f')](_0x7d3e('0x60'))){_0x4ab126[_0x7d3e('0x2e')]=qs[_0x7d3e('0x2e')](_0x5cf3b7[_0x7d3e('0x46')]['limit']);_0x4ab126[_0x7d3e('0x2d')]=qs[_0x7d3e('0x2d')](_0x5cf3b7[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}_0x4ab126[_0x7d3e('0x61')]=qs[_0x7d3e('0x4e')](_0x5cf3b7[_0x7d3e('0x46')][_0x7d3e('0x4e')]);_0x4ab126[_0x7d3e('0x50')]=qs[_0x7d3e('0x48')](_[_0x7d3e('0x62')](_0x5cf3b7[_0x7d3e('0x46')],_0x4dc5f3[_0x7d3e('0x48')]));_0x4ab126[_0x7d3e('0x50')][_0x7d3e('0x63')]=_0x18fdd0['id'];if(_0x5cf3b7[_0x7d3e('0x46')][_0x7d3e('0x4f')]){_0x4ab126[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x4ab126[_0x7d3e('0x50')],{'$or':_[_0x7d3e('0x45')](_0x4ab126[_0x7d3e('0x49')],function(_0x4acc68){var _0x4f11d1={};_0x4f11d1[_0x4acc68]={'$like':'%'+_0x5cf3b7['query'][_0x7d3e('0x4f')]+'%'};return _0x4f11d1;})});}_0x4ab126=_[_0x7d3e('0x51')]({},_0x4ab126,_0x5cf3b7[_0x7d3e('0x52')]);return db[_0x7d3e('0x89')]['count']({'where':_0x4ab126[_0x7d3e('0x50')]})[_0x7d3e('0x1e')](function(_0x4fb6bd){_0x268781['count']=_0x4fb6bd;if(_0x5cf3b7[_0x7d3e('0x46')]['includeAll']){_0x4ab126[_0x7d3e('0x54')]=[{'model':db[_0x7d3e('0x8a')],'as':_0x7d3e('0x8b'),'required':![]},{'model':db[_0x7d3e('0x8c')],'as':'Owner','attributes':[_0x7d3e('0x39'),'fullname',_0x7d3e('0x8d')],'required':![]},{'model':db[_0x7d3e('0x8e')],'as':_0x7d3e('0x8f'),'attributes':['id',_0x7d3e('0x39'),'color'],'where':_0x5cf3b7['query'][_0x7d3e('0x90')]?{'id':_0x5cf3b7['query'][_0x7d3e('0x90')]}:undefined,'required':_0x5cf3b7[_0x7d3e('0x46')]['tag']?!![]:![]}];}return db['MailInteraction'][_0x7d3e('0x55')](_0x4ab126);})[_0x7d3e('0x1e')](function(_0x20882b){_0x268781[_0x7d3e('0x56')]=_0x20882b;return _0x268781;});}})[_0x7d3e('0x1e')](respondWithFilteredResult(_0x1d5930,_0x4ab126))[_0x7d3e('0x28')](handleError(_0x1d5930,null));};exports['addApplications']=function(_0x2766e1,_0x2f7ee6,_0x32b119){return db['MailAccount'][_0x7d3e('0x5e')]({'where':{'id':_0x2766e1[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x2f7ee6,null))['then'](function(_0x3d877e){if(_0x3d877e){return db[_0x7d3e('0x91')][_0x7d3e('0x92')](function(_0x517bc8){return db[_0x7d3e('0x93')][_0x7d3e('0x34')]({'where':{'MailAccountId':_0x2766e1['params']['id']},'transaction':_0x517bc8})['then'](function(_0x3c8eec){var _0x57ba1b=_['map'](_0x2766e1[_0x7d3e('0x59')],function(_0x3a5417){_0x3a5417[_0x7d3e('0x63')]=_0x2766e1[_0x7d3e('0x5b')]['id'];return _0x3a5417;});return db[_0x7d3e('0x93')][_0x7d3e('0x94')](_0x57ba1b,{'transaction':_0x517bc8});});})[_0x7d3e('0x1e')](function(){return db[_0x7d3e('0x93')][_0x7d3e('0x95')]({'where':{'MailAccountId':_0x2766e1[_0x7d3e('0x5b')]['id']},'order':'priority'});});}})[_0x7d3e('0x1e')](respondWithResult(_0x2f7ee6,null))[_0x7d3e('0x28')](handleError(_0x2f7ee6,null));};exports[_0x7d3e('0x96')]=function(_0xb5c642,_0x3c3102,_0x300513){var _0x3714d8={};var _0x49bd4a={};var _0x35c830;var _0xf0693d;return db[_0x7d3e('0x42')]['findOne']({'where':{'id':_0xb5c642[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x3c3102,null))[_0x7d3e('0x1e')](function(_0xf02406){if(_0xf02406){_0x35c830=_0xf02406;_0x49bd4a[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db[_0x7d3e('0x93')][_0x7d3e('0x43')]);_0x49bd4a['query']=_[_0x7d3e('0x47')](_0xb5c642[_0x7d3e('0x46')]);_0x49bd4a['filters']=_['intersection'](_0x49bd4a['model'],_0x49bd4a[_0x7d3e('0x46')]);_0x3714d8[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x49bd4a['model'],qs[_0x7d3e('0x4c')](_0xb5c642[_0x7d3e('0x46')][_0x7d3e('0x4c')]));_0x3714d8[_0x7d3e('0x49')]=_0x3714d8[_0x7d3e('0x49')][_0x7d3e('0x4d')]?_0x3714d8[_0x7d3e('0x49')]:_0x49bd4a['model'];_0x3714d8[_0x7d3e('0x61')]=qs[_0x7d3e('0x4e')](_0xb5c642[_0x7d3e('0x46')]['sort']);_0x3714d8[_0x7d3e('0x50')]=qs[_0x7d3e('0x48')](_[_0x7d3e('0x62')](_0xb5c642['query'],_0x49bd4a[_0x7d3e('0x48')]));if(_0xb5c642[_0x7d3e('0x46')][_0x7d3e('0x4f')]){_0x3714d8[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x3714d8[_0x7d3e('0x50')],{'$or':_[_0x7d3e('0x45')](_0x3714d8[_0x7d3e('0x49')],function(_0x743116){var _0x388c8d={};_0x388c8d[_0x743116]={'$like':'%'+_0xb5c642[_0x7d3e('0x46')][_0x7d3e('0x4f')]+'%'};return _0x388c8d;})});}_0x3714d8=_['merge']({},_0x3714d8,_0xb5c642[_0x7d3e('0x52')]);return _0x35c830[_0x7d3e('0x96')](_0x3714d8);}})[_0x7d3e('0x1e')](function(_0x204313){if(_0x204313){_0xf0693d=_0x204313[_0x7d3e('0x4d')];if(!_0xb5c642[_0x7d3e('0x46')]['hasOwnProperty'](_0x7d3e('0x60'))){_0x3714d8[_0x7d3e('0x2e')]=qs[_0x7d3e('0x2e')](_0xb5c642['query'][_0x7d3e('0x2e')]);_0x3714d8[_0x7d3e('0x2d')]=qs[_0x7d3e('0x2d')](_0xb5c642[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}return _0x35c830[_0x7d3e('0x96')](_0x3714d8);}})[_0x7d3e('0x1e')](function(_0x3dea90){if(_0x3dea90){return _0x3dea90?{'count':_0xf0693d,'rows':_0x3dea90}:null;}})[_0x7d3e('0x1e')](respondWithResult(_0x3c3102,null))[_0x7d3e('0x28')](handleError(_0x3c3102,null));};exports[_0x7d3e('0x97')]=function(_0x2e9d94,_0x208767,_0x51225e){var _0x292f3f={'raw':!![],'where':{}};var _0x390b50={};var _0x58ebf5={'count':0x0,'rows':[]};return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x2e9d94[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x208767,null))['then'](function(_0x2464e8){if(_0x2464e8){_0x390b50[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db['MailMessage']['rawAttributes']);_0x390b50['query']=_[_0x7d3e('0x47')](_0x2e9d94['query']);_0x390b50[_0x7d3e('0x48')]=_[_0x7d3e('0x4a')](_0x390b50[_0x7d3e('0x4b')],_0x390b50[_0x7d3e('0x46')]);_0x292f3f[_0x7d3e('0x49')]=_[_0x7d3e('0x4a')](_0x390b50['model'],qs[_0x7d3e('0x4c')](_0x2e9d94['query']['fields']));_0x292f3f['attributes']=_0x292f3f['attributes'][_0x7d3e('0x4d')]?_0x292f3f[_0x7d3e('0x49')]:_0x390b50[_0x7d3e('0x4b')];if(!_0x2e9d94['query'][_0x7d3e('0x5f')]('nolimit')){_0x292f3f[_0x7d3e('0x2e')]=qs[_0x7d3e('0x2e')](_0x2e9d94[_0x7d3e('0x46')][_0x7d3e('0x2e')]);_0x292f3f[_0x7d3e('0x2d')]=qs[_0x7d3e('0x2d')](_0x2e9d94[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}_0x292f3f[_0x7d3e('0x61')]=qs[_0x7d3e('0x4e')](_0x2e9d94[_0x7d3e('0x46')]['sort']);_0x292f3f['where']=qs[_0x7d3e('0x48')](_['pick'](_0x2e9d94[_0x7d3e('0x46')],_0x390b50['filters']));_0x292f3f[_0x7d3e('0x50')]['MailAccountId']=_0x2464e8['id'];if(_0x2e9d94[_0x7d3e('0x46')]['filter']){_0x292f3f[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x292f3f[_0x7d3e('0x50')],{'$or':_[_0x7d3e('0x45')](_0x292f3f['attributes'],function(_0x229722){var _0x49c173={};_0x49c173[_0x229722]={'$like':'%'+_0x2e9d94['query'][_0x7d3e('0x4f')]+'%'};return _0x49c173;})});}if(_0x2e9d94['query']['$gte']){var _0x52bc54=_0x2e9d94[_0x7d3e('0x46')][_0x7d3e('0x98')][_0x7d3e('0x99')](',');var _0x2d0a4e={};_0x2d0a4e[_0x52bc54[0x0]]={'$gte':moment(_0x52bc54[0x1])[_0x7d3e('0x9a')](_0x7d3e('0x9b'))};_0x292f3f[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x292f3f[_0x7d3e('0x50')],_0x2d0a4e);}_0x292f3f=_[_0x7d3e('0x51')]({},_0x292f3f,_0x2e9d94[_0x7d3e('0x52')]);return db[_0x7d3e('0x9c')][_0x7d3e('0x2c')]({'where':_0x292f3f[_0x7d3e('0x50')]})['then'](function(_0x27509a){_0x58ebf5[_0x7d3e('0x2c')]=_0x27509a;if(_0x2e9d94[_0x7d3e('0x46')]['includeAll']){_0x292f3f['include']=[{'all':!![]}];}return db[_0x7d3e('0x9c')]['findAll'](_0x292f3f);})['then'](function(_0x4f231a){if(_0x2e9d94['query'][_0x7d3e('0x9d')]==='true'){for(var _0x41b927=0x0;_0x41b927<_0x4f231a[_0x7d3e('0x4d')];_0x41b927++){_0x4f231a[_0x41b927]['body']=juice(_0x4f231a[_0x41b927][_0x7d3e('0x59')]);}}_0x58ebf5[_0x7d3e('0x56')]=_0x4f231a;return _0x58ebf5;});}})[_0x7d3e('0x1e')](respondWithFilteredResult(_0x208767,_0x292f3f))[_0x7d3e('0x28')](handleError(_0x208767,null));};exports[_0x7d3e('0x3a')]=function(_0x1f0d01,_0x131a45,_0x249207){var _0x4f0d74,_0xcf83cb={},_0x45ac3f;if(_0x1f0d01[_0x7d3e('0x59')]['to']){_0x45ac3f=_0x1f0d01['body']['to'][_0x7d3e('0x99')](',')[0x0];}return db[_0x7d3e('0x42')][_0x7d3e('0x58')]({'where':{'id':_0x1f0d01['params']['id']},'include':[{'model':db[_0x7d3e('0x9e')],'as':_0x7d3e('0x9f'),'include':[{'model':db['CmContact'],'as':_0x7d3e('0xa0'),'where':{'email':_0x45ac3f},'limit':0x1,'order':[['updatedAt',_0x7d3e('0xa1')]]}]},{'model':db['MailServerOut'],'as':_0x7d3e('0x3f'),'raw':!![]}]})[_0x7d3e('0x1e')](handleEntityNotFound(_0x131a45,null))[_0x7d3e('0x1e')](function(_0x30cdce){if(_0x30cdce){_0x4f0d74=_0x30cdce;if(_0x30cdce[_0x7d3e('0x3f')]){if(_['isNil'](_0x1f0d01[_0x7d3e('0x59')][_0x7d3e('0xa2')])){_0x1f0d01[_0x7d3e('0x59')]['from']=util[_0x7d3e('0x9a')](_0x7d3e('0xa3'),_0x30cdce[_0x7d3e('0x39')],_0x30cdce['email']||_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x70')]);}if(_0x1f0d01['body'][_0x7d3e('0xa4')]&&_0x1f0d01[_0x7d3e('0x59')][_0x7d3e('0xa4')][_0x7d3e('0x4d')]){for(var _0x48d4f7=0x0;_0x48d4f7<_0x1f0d01[_0x7d3e('0x59')][_0x7d3e('0xa4')][_0x7d3e('0x4d')];_0x48d4f7+=0x1){_0x1f0d01['body'][_0x7d3e('0xa4')][_0x48d4f7]={'filename':_0x1f0d01[_0x7d3e('0x59')][_0x7d3e('0xa4')][_0x48d4f7][_0x7d3e('0x39')],'path':path['join'](config['root'],_0x7d3e('0xa5'),_0x1f0d01[_0x7d3e('0x59')][_0x7d3e('0xa4')][_0x48d4f7][_0x7d3e('0xa6')])};}}var _0x57ceee={'tls':{'rejectUnauthorized':![]}};if(_[_0x7d3e('0x6c')](_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x77')])){if(_0x30cdce['Smtp'][_0x7d3e('0x74')]){_0x57ceee[_0x7d3e('0xa7')]={'user':_0x30cdce[_0x7d3e('0x3f')]['user'],'pass':_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x79')]};}_0x57ceee[_0x7d3e('0x75')]=_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x75')];_0x57ceee[_0x7d3e('0x76')]=_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x76')];_0x57ceee[_0x7d3e('0xa8')]=_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0xa8')];}else{_0x57ceee[_0x7d3e('0x77')]=_0x30cdce[_0x7d3e('0x3f')]['service'];_0x57ceee[_0x7d3e('0xa7')]={'user':_0x30cdce['Smtp'][_0x7d3e('0x70')],'pass':_0x30cdce[_0x7d3e('0x3f')][_0x7d3e('0x79')]};}return respondWithRpcPromise(_0x7d3e('0xa9'),_0x7d3e('0xaa'),{'account':_0x57ceee,'message':_0x1f0d01[_0x7d3e('0x59')]});}else{throw new Error(_0x7d3e('0xab'));}}})[_0x7d3e('0x1e')](function(_0x5f4099){if(_0x5f4099){_0xcf83cb=_0x5f4099;if(_0x4f0d74['List']){if(_0x4f0d74[_0x7d3e('0x9f')]['Contacts'][_0x7d3e('0x4d')]){return _0x4f0d74[_0x7d3e('0x9f')]['Contacts'][0x0];}else{return db['CmContact'][_0x7d3e('0x68')](_[_0x7d3e('0x19')](_0x1f0d01[_0x7d3e('0x59')],{'firstName':_0x1f0d01[_0x7d3e('0x59')]['to'],'email':_0x1f0d01[_0x7d3e('0x59')]['to'],'phone':_0x1f0d01[_0x7d3e('0x59')]['to'],'ListId':_0x4f0d74['ListId']}));}}else{throw new Error('List\x20not\x20found');}}})[_0x7d3e('0x1e')](function(_0x443b5d){if(_0x443b5d){var _0x5aca48={'UserId':_0x1f0d01[_0x7d3e('0x70')]['id'],'ContactId':_0x443b5d['id'],'MailAccountId':_0x4f0d74['id'],'inReplyTo':_0xcf83cb[_0x7d3e('0xac')],'to':_0x1f0d01[_0x7d3e('0x59')]['from'],'cc':_0x1f0d01[_0x7d3e('0x59')]['cc'],'subject':_0x1f0d01['body'][_0x7d3e('0xad')],'attach':_0x1f0d01[_0x7d3e('0x59')]['attach'],'firstMsgDirection':_0x7d3e('0xae'),'lastMsgAt':moment()['format'](_0x7d3e('0x9b')),'lastMsgDirection':_0x7d3e('0xae'),'lastMsgBody':_0x1f0d01[_0x7d3e('0x59')]['body'],'Messages':[_[_0x7d3e('0x51')](_0x1f0d01[_0x7d3e('0x59')],{'messageId':_0xcf83cb[_0x7d3e('0xac')],'sentAt':moment()['format'](_0x7d3e('0x9b')),'read':!![],'MailAccountId':_0x4f0d74['id'],'UserId':_0x1f0d01[_0x7d3e('0x70')]['id'],'ContactId':_0x443b5d['id']})]};if(_0x1f0d01['body'][_0x7d3e('0xaf')]){_0x5aca48=_[_0x7d3e('0x51')](_0x5aca48,_0x1f0d01['body'][_0x7d3e('0xaf')]);}return db[_0x7d3e('0x89')][_0x7d3e('0x68')](_0x5aca48,{'include':[{'model':db[_0x7d3e('0x9c')],'as':'Messages'}]});}})[_0x7d3e('0x1e')](respondWithResult(_0x131a45,null))[_0x7d3e('0x28')](handleError(_0x131a45,null));};exports['verifySmtp']=function(_0x55e155,_0x4825cb,_0x25189e){return db[_0x7d3e('0x42')]['find']({'where':{'id':_0x55e155[_0x7d3e('0x5b')]['id']},'include':[{'model':db[_0x7d3e('0x3e')],'as':_0x7d3e('0x3f'),'raw':!![]}]})[_0x7d3e('0x1e')](handleEntityNotFound(_0x4825cb,null))[_0x7d3e('0x1e')](function(_0x23a872){if(_0x23a872&&_0x23a872['Smtp']){var _0x576694={'id':_0x23a872['id'],'tls':{'rejectUnauthorized':![]}};if(_0x23a872[_0x7d3e('0x3f')][_0x7d3e('0x77')]){_0x576694['service']=_0x23a872['Smtp'][_0x7d3e('0x77')];}else{_0x576694['host']=_0x23a872[_0x7d3e('0x3f')][_0x7d3e('0x75')];_0x576694[_0x7d3e('0x76')]=_0x23a872['Smtp'][_0x7d3e('0x76')];_0x576694[_0x7d3e('0xa8')]=_0x23a872['Smtp'][_0x7d3e('0xa8')];}if(_0x23a872['Smtp'][_0x7d3e('0x74')]){_0x576694[_0x7d3e('0xa7')]={'user':_0x23a872[_0x7d3e('0x3f')][_0x7d3e('0x70')],'pass':_0x23a872['Smtp'][_0x7d3e('0x79')]};}return respondWithRpcPromise(_0x7d3e('0xb0'),_0x7d3e('0xb1'),{'account':_0x576694});}})[_0x7d3e('0x1e')](respondWithResult(_0x4825cb,null))[_0x7d3e('0x28')](handleError(_0x4825cb,null));};exports[_0x7d3e('0x34')]=function(_0x539eed,_0x16900c){return db[_0x7d3e('0x42')][_0x7d3e('0x58')]({'where':{'id':_0x539eed[_0x7d3e('0x5b')]['id']}})['then'](handleEntityNotFound(_0x16900c,null))[_0x7d3e('0x1e')](function(_0x28109b){if(_0x28109b&&_0x28109b[_0x7d3e('0x77')]){throw new db[(_0x7d3e('0xb2'))][(_0x7d3e('0xb3'))](_0x7d3e('0xb4'));}return _0x28109b;})[_0x7d3e('0x1e')](removeEntity(_0x16900c,null))[_0x7d3e('0x28')](handleError(_0x16900c,null));};exports[_0x7d3e('0xb5')]=function(_0x15110f,_0x2abf88,_0x175afd){return db[_0x7d3e('0x42')][_0x7d3e('0x58')]({'where':{'id':_0x15110f[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x2abf88,null))[_0x7d3e('0x1e')](function(_0x59ed8c){if(_0x59ed8c){return _0x59ed8c[_0x7d3e('0xb5')](_0x15110f[_0x7d3e('0x59')][_0x7d3e('0x65')],_[_0x7d3e('0x87')](_0x15110f[_0x7d3e('0x59')],[_0x7d3e('0x65'),'id'])||{})[_0x7d3e('0xb6')](function(_0x5a74da){for(var _0x166652=0x0;_0x166652<_0x15110f[_0x7d3e('0x59')][_0x7d3e('0x65')][_0x7d3e('0x4d')];_0x166652+=0x1){socket[_0x7d3e('0xb7')](_0x7d3e('0xb8'),{'UserId':_0x15110f[_0x7d3e('0x59')][_0x7d3e('0x65')][_0x166652],'MailAccountId':_0x15110f['params']['id']});}return _0x5a74da;});}})[_0x7d3e('0x1e')](respondWithResult(_0x2abf88,null))['catch'](handleError(_0x2abf88,null));};exports[_0x7d3e('0xb9')]=function(_0x52dd22,_0x381ad9,_0x52d648){return db[_0x7d3e('0x42')]['find']({'where':{'id':_0x52dd22[_0x7d3e('0x5b')]['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x381ad9,null))[_0x7d3e('0x1e')](function(_0x2cf7d3){if(_0x2cf7d3){return _0x2cf7d3[_0x7d3e('0xb9')](_0x52dd22['query'][_0x7d3e('0x65')])[_0x7d3e('0x1e')](function(){if(_[_0x7d3e('0xba')](_0x52dd22[_0x7d3e('0x46')][_0x7d3e('0x65')])){for(var _0xfddc1c=0x0;_0xfddc1c<_0x52dd22[_0x7d3e('0x46')][_0x7d3e('0x65')]['length'];_0xfddc1c+=0x1){socket[_0x7d3e('0xb7')](_0x7d3e('0xbb'),{'UserId':Number(_0x52dd22[_0x7d3e('0x46')][_0x7d3e('0x65')][_0xfddc1c]),'MailAccountId':Number(_0x52dd22[_0x7d3e('0x5b')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x52dd22[_0x7d3e('0x46')]['ids']),'MailAccountId':Number(_0x52dd22['params']['id'])});}});}})[_0x7d3e('0x1e')](respondWithStatusCode(_0x381ad9,null))[_0x7d3e('0x28')](handleError(_0x381ad9,null));};exports['getAgents']=function(_0x3fa776,_0x2a88ed,_0x2dea37){var _0x3a7c42={};var _0x3ee6ae={};var _0x27a9d0;var _0x11aa7b;return db[_0x7d3e('0x42')][_0x7d3e('0x5e')]({'where':{'id':_0x3fa776['params']['id']}})[_0x7d3e('0x1e')](handleEntityNotFound(_0x2a88ed,null))[_0x7d3e('0x1e')](function(_0x58bdbb){if(_0x58bdbb){_0x27a9d0=_0x58bdbb;_0x3ee6ae[_0x7d3e('0x4b')]=_[_0x7d3e('0x47')](db['User']['rawAttributes']);_0x3ee6ae[_0x7d3e('0x46')]=_[_0x7d3e('0x47')](_0x3fa776[_0x7d3e('0x46')]);_0x3ee6ae['filters']=_[_0x7d3e('0x4a')](_0x3ee6ae[_0x7d3e('0x4b')],_0x3ee6ae[_0x7d3e('0x46')]);_0x3a7c42['attributes']=_[_0x7d3e('0x4a')](_0x3ee6ae[_0x7d3e('0x4b')],qs['fields'](_0x3fa776['query'][_0x7d3e('0x4c')]));_0x3a7c42[_0x7d3e('0x49')]=_0x3a7c42[_0x7d3e('0x49')][_0x7d3e('0x4d')]?_0x3a7c42[_0x7d3e('0x49')]:_0x3ee6ae['model'];_0x3a7c42['order']=qs['sort'](_0x3fa776[_0x7d3e('0x46')][_0x7d3e('0x4e')]);_0x3a7c42[_0x7d3e('0x50')]=qs[_0x7d3e('0x48')](_['pick'](_0x3fa776[_0x7d3e('0x46')],_0x3ee6ae[_0x7d3e('0x48')]));if(_0x3fa776[_0x7d3e('0x46')]['filter']){_0x3a7c42[_0x7d3e('0x50')]=_[_0x7d3e('0x51')](_0x3a7c42[_0x7d3e('0x50')],{'$or':_['map'](_0x3a7c42[_0x7d3e('0x49')],function(_0x6e86f9){var _0x44c006={};_0x44c006[_0x6e86f9]={'$like':'%'+_0x3fa776['query'][_0x7d3e('0x4f')]+'%'};return _0x44c006;})});}_0x3a7c42=_[_0x7d3e('0x51')]({},_0x3a7c42,_0x3fa776[_0x7d3e('0x52')]);return _0x27a9d0[_0x7d3e('0xbc')](_0x3a7c42);}})[_0x7d3e('0x1e')](function(_0x328812){if(_0x328812){_0x11aa7b=_0x328812[_0x7d3e('0x4d')];if(!_0x3fa776[_0x7d3e('0x46')]['hasOwnProperty'](_0x7d3e('0x60'))){_0x3a7c42[_0x7d3e('0x2e')]=qs[_0x7d3e('0x2e')](_0x3fa776[_0x7d3e('0x46')]['limit']);_0x3a7c42['offset']=qs[_0x7d3e('0x2d')](_0x3fa776[_0x7d3e('0x46')][_0x7d3e('0x2d')]);}return _0x27a9d0[_0x7d3e('0xbc')](_0x3a7c42);}})[_0x7d3e('0x1e')](function(_0x1ff6ab){if(_0x1ff6ab){return _0x1ff6ab?{'count':_0x11aa7b,'rows':_0x1ff6ab}:null;}})[_0x7d3e('0x1e')](respondWithResult(_0x2a88ed,null))[_0x7d3e('0x28')](handleError(_0x2a88ed,null));};