Built motion from commit 9d7072cc.|2.5.39
[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 _0x6fd6=['mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','MailServerIn','body','find','describe','addDisposition','getDispositions','Disposition','pick','MailAccountId','filter','ids','addAnswer','CannedAnswer','create','removeAnswers','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','cpassword','authentication','host','port','service','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','findOne','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','fullname','internal','color','tag','addApplications','sequelize','transaction','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','updatedAt','DESC','from','%s\x20<%s>','email','attachments','join','root','server/files/attachments','auth','SendMail','sendMail','List\x20not\x20found','Contacts','ListId','messageId','subject','out','Interaction','Messages','verifySmtp','secure','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','request','then','MailAccount,\x20%s,\x20%s','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','info','result','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','MailAccounts','UserProfileResource','stack','name','send','index','Imap','MailServerOut','Smtp','Pause'];(function(_0x38b100,_0x177901){var _0x2bece2=function(_0x39b7d3){while(--_0x39b7d3){_0x38b100['push'](_0x38b100['shift']());}};_0x2bece2(++_0x177901);}(_0x6fd6,0x86));var _0x66fd=function(_0x555c72,_0x3e060f){_0x555c72=_0x555c72-0x0;var _0xd6b464=_0x6fd6[_0x555c72];return _0xd6b464;};'use strict';var emlformat=require(_0x66fd('0x0'));var rimraf=require(_0x66fd('0x1'));var zipdir=require(_0x66fd('0x2'));var jsonpatch=require(_0x66fd('0x3'));var rp=require(_0x66fd('0x4'));var moment=require(_0x66fd('0x5'));var BPromise=require(_0x66fd('0x6'));var Mustache=require(_0x66fd('0x7'));var util=require('util');var path=require(_0x66fd('0x8'));var sox=require(_0x66fd('0x9'));var csv=require(_0x66fd('0xa'));var ejs=require(_0x66fd('0xb'));var fs=require('fs');var fs_extra=require(_0x66fd('0xc'));var _=require(_0x66fd('0xd'));var squel=require(_0x66fd('0xe'));var crypto=require(_0x66fd('0xf'));var jsforce=require(_0x66fd('0x10'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x66fd('0x11'));var Papa=require('papaparse');var htmlToText=require('html-to-text');var juice=require(_0x66fd('0x12'));var Redis=require(_0x66fd('0x13'));var authService=require(_0x66fd('0x14'));var qs=require(_0x66fd('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x66fd('0x16'));var logger=require(_0x66fd('0x17'))('api');var utils=require(_0x66fd('0x18'));var config=require(_0x66fd('0x19'));var licenseUtil=require(_0x66fd('0x1a'));var db=require(_0x66fd('0x1b'))['db'];config[_0x66fd('0x1c')]=_[_0x66fd('0x1d')](config[_0x66fd('0x1c')],{'host':_0x66fd('0x1e'),'port':0x18eb});var socket=require(_0x66fd('0x1f'))(new Redis(config[_0x66fd('0x1c')]));require(_0x66fd('0x20'))[_0x66fd('0x21')](socket);var jayson=require(_0x66fd('0x22'));var client=jayson[_0x66fd('0x23')]['http']({'port':0x232b});function respondWithRpcPromise(_0x55ad10,_0x4364b1,_0x9c0179,_0x4a8831){return new BPromise(function(_0x5c9e55,_0x3373f1){var _0x374ad6=_0x4a8831||client;return _0x374ad6[_0x66fd('0x24')](_0x55ad10,_0x9c0179)[_0x66fd('0x25')](function(_0x431b94){logger['info'](_0x66fd('0x26'),_0x4364b1,'request\x20sent');logger['debug'](_0x66fd('0x27'),_0x4364b1,_0x66fd('0x28'),JSON[_0x66fd('0x29')](_0x431b94));if(_0x431b94['error']){if(_0x431b94[_0x66fd('0x2a')]['code']===0x1f4){logger['error'](_0x66fd('0x26'),_0x4364b1,_0x431b94[_0x66fd('0x2a')][_0x66fd('0x2b')]);return _0x3373f1(_0x431b94['error'][_0x66fd('0x2b')]);}logger[_0x66fd('0x2a')](_0x66fd('0x26'),_0x4364b1,_0x431b94[_0x66fd('0x2a')]['message']);return _0x5c9e55(_0x431b94[_0x66fd('0x2a')][_0x66fd('0x2b')]);}else{logger[_0x66fd('0x2c')](_0x66fd('0x26'),_0x4364b1,_0x66fd('0x28'));_0x5c9e55(_0x431b94[_0x66fd('0x2d')]['message']);}})['catch'](function(_0x2c4185){logger[_0x66fd('0x2a')](_0x66fd('0x26'),_0x4364b1,_0x2c4185);_0x3373f1(_0x2c4185);});});}function respondWithStatusCode(_0x14479b,_0x421d93){_0x421d93=_0x421d93||0xcc;return function(_0x1d632e){if(_0x1d632e){return _0x14479b[_0x66fd('0x2e')](_0x421d93);}return _0x14479b[_0x66fd('0x2f')](_0x421d93)[_0x66fd('0x30')]();};}function respondWithResult(_0x570869,_0x2a786d){_0x2a786d=_0x2a786d||0xc8;return function(_0x443a1a){if(_0x443a1a){return _0x570869[_0x66fd('0x2f')](_0x2a786d)[_0x66fd('0x31')](_0x443a1a);}};}function respondWithFilteredResult(_0x461fd2,_0x20b983){return function(_0x4012ae){if(_0x4012ae){var _0x3079fe=typeof _0x20b983[_0x66fd('0x32')]===_0x66fd('0x33')&&typeof _0x20b983[_0x66fd('0x34')]===_0x66fd('0x33');var _0x8fc970=_0x4012ae[_0x66fd('0x35')];var _0x5d30f8=_0x3079fe?0x0:_0x20b983[_0x66fd('0x32')];var _0x21b302=_0x3079fe?_0x4012ae[_0x66fd('0x35')]:_0x20b983[_0x66fd('0x32')]+_0x20b983[_0x66fd('0x34')];var _0x1fdbb1;if(_0x21b302>=_0x8fc970){_0x21b302=_0x8fc970;_0x1fdbb1=0xc8;}else{_0x1fdbb1=0xce;}_0x461fd2[_0x66fd('0x2f')](_0x1fdbb1);return _0x461fd2[_0x66fd('0x36')](_0x66fd('0x37'),_0x5d30f8+'-'+_0x21b302+'/'+_0x8fc970)[_0x66fd('0x31')](_0x4012ae);}return null;};}function patchUpdates(_0x3f96df){return function(_0x160103){try{jsonpatch[_0x66fd('0x38')](_0x160103,_0x3f96df,!![]);}catch(_0x579c96){return BPromise[_0x66fd('0x39')](_0x579c96);}return _0x160103[_0x66fd('0x3a')]();};}function saveUpdates(_0x3c2d2b,_0x389baf){return function(_0x562408){if(_0x562408){return _0x562408[_0x66fd('0x3b')](_0x3c2d2b)[_0x66fd('0x25')](function(_0x3e2642){return _0x3e2642;});}return null;};}function removeEntity(_0x2b40b7,_0xe34c1e){return function(_0x2d7666){if(_0x2d7666){return _0x2d7666[_0x66fd('0x3c')]()[_0x66fd('0x25')](function(){var _0x4fe02b=_0x2d7666['get']({'plain':!![]});var _0x5bb585=_0x66fd('0x3d');return db[_0x66fd('0x3e')][_0x66fd('0x3c')]({'where':{'type':_0x5bb585,'resourceId':_0x4fe02b['id']}})[_0x66fd('0x25')](function(){return _0x2d7666;});})[_0x66fd('0x25')](function(){_0x2b40b7[_0x66fd('0x2f')](0xcc)[_0x66fd('0x30')]();});}};}function handleEntityNotFound(_0x195999,_0x224238){return function(_0x5b858e){if(!_0x5b858e){_0x195999['sendStatus'](0x194);}return _0x5b858e;};}function handleError(_0x32b979,_0x11f6e4){_0x11f6e4=_0x11f6e4||0x1f4;return function(_0x41a407){logger[_0x66fd('0x2a')](_0x41a407[_0x66fd('0x3f')]);if(_0x41a407[_0x66fd('0x40')]){delete _0x41a407['name'];}_0x32b979[_0x66fd('0x2f')](_0x11f6e4)[_0x66fd('0x41')](_0x41a407);};}exports[_0x66fd('0x42')]=function(_0x3e393a,_0x39ed8d){var _0x1cc0e1={'include':[{'model':db['MailServerIn'],'as':_0x66fd('0x43')},{'model':db[_0x66fd('0x44')],'as':_0x66fd('0x45')},{'model':db[_0x66fd('0x46')],'as':_0x66fd('0x47')}]},_0x219fd6={},_0x3b9f7a={'count':0x0,'rows':[]};var _0xc5ed57=_[_0x66fd('0x48')](db[_0x66fd('0x49')][_0x66fd('0x4a')],function(_0x68e036){return{'name':_0x68e036[_0x66fd('0x4b')],'type':_0x68e036['type'][_0x66fd('0x4c')]};});_0x219fd6[_0x66fd('0x4d')]=_[_0x66fd('0x48')](_0xc5ed57,_0x66fd('0x40'));_0x219fd6['query']=_[_0x66fd('0x4e')](_0x3e393a[_0x66fd('0x4f')]);_0x219fd6[_0x66fd('0x50')]=_[_0x66fd('0x51')](_0x219fd6[_0x66fd('0x4d')],_0x219fd6[_0x66fd('0x4f')]);_0x1cc0e1['attributes']=_[_0x66fd('0x51')](_0x219fd6[_0x66fd('0x4d')],qs[_0x66fd('0x52')](_0x3e393a[_0x66fd('0x4f')][_0x66fd('0x52')]));_0x1cc0e1[_0x66fd('0x53')]=_0x1cc0e1[_0x66fd('0x53')][_0x66fd('0x54')]?_0x1cc0e1['attributes']:_0x219fd6[_0x66fd('0x4d')];if(!_0x3e393a[_0x66fd('0x4f')][_0x66fd('0x55')](_0x66fd('0x56'))){_0x1cc0e1[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0x3e393a['query'][_0x66fd('0x34')]);_0x1cc0e1['offset']=qs['offset'](_0x3e393a[_0x66fd('0x4f')][_0x66fd('0x32')]);}_0x1cc0e1[_0x66fd('0x57')]=qs[_0x66fd('0x58')](_0x3e393a['query'][_0x66fd('0x58')]);_0x1cc0e1['where']=qs['filters'](_['pick'](_0x3e393a[_0x66fd('0x4f')],_0x219fd6['filters']),_0xc5ed57);if(_0x3e393a[_0x66fd('0x4f')]['filter']){_0x1cc0e1[_0x66fd('0x59')]=_[_0x66fd('0x5a')](_0x1cc0e1['where'],{'$or':_[_0x66fd('0x48')](_0xc5ed57,function(_0x4773d4){if(_0x4773d4[_0x66fd('0x5b')]!==_0x66fd('0x5c')){var _0xd6757f={};_0xd6757f[_0x4773d4[_0x66fd('0x40')]]={'$like':'%'+_0x3e393a['query']['filter']+'%'};return _0xd6757f;}})});}_0x1cc0e1=_[_0x66fd('0x5a')]({},_0x1cc0e1,_0x3e393a[_0x66fd('0x5d')]);var _0xc24c6d={'where':_0x1cc0e1[_0x66fd('0x59')]};return db[_0x66fd('0x49')][_0x66fd('0x35')](_0xc24c6d)[_0x66fd('0x25')](function(_0x3cf1d0){_0x3b9f7a[_0x66fd('0x35')]=_0x3cf1d0;if(_0x3e393a['query'][_0x66fd('0x5e')]){_0x1cc0e1[_0x66fd('0x5f')]=[{'all':!![]}];}return db[_0x66fd('0x49')][_0x66fd('0x60')](_0x1cc0e1);})[_0x66fd('0x25')](function(_0xc33d91){_0x3b9f7a[_0x66fd('0x61')]=_0xc33d91;return _0x3b9f7a;})[_0x66fd('0x25')](respondWithFilteredResult(_0x39ed8d,_0x1cc0e1))[_0x66fd('0x62')](handleError(_0x39ed8d,null));};exports[_0x66fd('0x63')]=function(_0x12793e,_0x47e8b7){var _0x483439={'raw':![],'where':{'id':_0x12793e[_0x66fd('0x64')]['id']},'include':[{'model':db[_0x66fd('0x65')],'as':_0x66fd('0x43')},{'model':db[_0x66fd('0x44')],'as':_0x66fd('0x45')},{'model':db[_0x66fd('0x46')],'as':_0x66fd('0x47')}]},_0x4a8d4e={};_0x4a8d4e['model']=_[_0x66fd('0x4e')](db[_0x66fd('0x49')][_0x66fd('0x4a')]);_0x4a8d4e[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0x12793e[_0x66fd('0x4f')]);_0x4a8d4e['filters']=_[_0x66fd('0x51')](_0x4a8d4e[_0x66fd('0x4d')],_0x4a8d4e[_0x66fd('0x4f')]);_0x483439[_0x66fd('0x53')]=_[_0x66fd('0x51')](_0x4a8d4e[_0x66fd('0x4d')],qs[_0x66fd('0x52')](_0x12793e[_0x66fd('0x4f')][_0x66fd('0x52')]));_0x483439[_0x66fd('0x53')]=_0x483439[_0x66fd('0x53')][_0x66fd('0x54')]?_0x483439[_0x66fd('0x53')]:_0x4a8d4e['model'];if(_0x12793e[_0x66fd('0x4f')][_0x66fd('0x5e')]){_0x483439[_0x66fd('0x5f')]=[{'all':!![]}];}_0x483439=_[_0x66fd('0x5a')]({},_0x483439,_0x12793e[_0x66fd('0x5d')]);return db[_0x66fd('0x49')]['find'](_0x483439)[_0x66fd('0x25')](handleEntityNotFound(_0x47e8b7,null))[_0x66fd('0x25')](respondWithResult(_0x47e8b7,null))[_0x66fd('0x62')](handleError(_0x47e8b7,null));};exports[_0x66fd('0x3b')]=function(_0x35713a,_0x4f6a3d){if(_0x35713a[_0x66fd('0x66')]['id']){delete _0x35713a[_0x66fd('0x66')]['id'];}return db[_0x66fd('0x49')][_0x66fd('0x67')]({'where':{'id':_0x35713a[_0x66fd('0x64')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x66fd('0x43')},{'model':db[_0x66fd('0x44')],'as':_0x66fd('0x45')},{'model':db[_0x66fd('0x46')],'as':'mandatoryDispositionPause'}]})[_0x66fd('0x25')](handleEntityNotFound(_0x4f6a3d,null))[_0x66fd('0x25')](saveUpdates(_0x35713a['body'],null))[_0x66fd('0x25')](function(_0x5f22ff){if(_0x5f22ff&&_0x35713a['body']['Imap']){return db[_0x66fd('0x65')][_0x66fd('0x3b')](_0x35713a[_0x66fd('0x66')][_0x66fd('0x43')],{'where':{'MailAccountId':_0x5f22ff['id']}})[_0x66fd('0x25')](function(){return _0x5f22ff;});}return _0x5f22ff;})[_0x66fd('0x25')](function(_0x1a5bcd){if(_0x1a5bcd&&_0x35713a[_0x66fd('0x66')][_0x66fd('0x45')]){return db['MailServerOut']['update'](_0x35713a[_0x66fd('0x66')]['Smtp'],{'where':{'MailAccountId':_0x1a5bcd['id']}})['then'](function(){return _0x1a5bcd;});}return _0x1a5bcd;})[_0x66fd('0x25')](respondWithResult(_0x4f6a3d,null))[_0x66fd('0x62')](handleError(_0x4f6a3d,null));};exports[_0x66fd('0x68')]=function(_0x26f192,_0x5e6211){return db['MailAccount'][_0x66fd('0x68')]()[_0x66fd('0x25')](respondWithResult(_0x5e6211,null))['catch'](handleError(_0x5e6211,null));};exports[_0x66fd('0x69')]=function(_0x18fbb5,_0x4471b7,_0x325f3f){if(_0x18fbb5[_0x66fd('0x66')]['id']){delete _0x18fbb5[_0x66fd('0x66')]['id'];}return db[_0x66fd('0x49')][_0x66fd('0x67')]({'where':{'id':_0x18fbb5[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x4471b7,null))[_0x66fd('0x25')](function(_0x4395be){if(_0x4395be){_0x18fbb5[_0x66fd('0x66')]['MailAccountId']=_0x4395be['id'];return db['Disposition']['create'](_0x18fbb5[_0x66fd('0x66')]);}})[_0x66fd('0x25')](respondWithResult(_0x4471b7,null))['catch'](handleError(_0x4471b7,null));};exports[_0x66fd('0x6a')]=function(_0x183e57,_0x4f8d00,_0x42e757){var _0x5816da={'raw':![],'where':{}};var _0x4cc7f6={};var _0x5619a7={'count':0x0,'rows':[]};return db[_0x66fd('0x49')]['findOne']({'where':{'id':_0x183e57['params']['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x4f8d00,null))[_0x66fd('0x25')](function(_0x5bb1f7){if(_0x5bb1f7){_0x4cc7f6['model']=_[_0x66fd('0x4e')](db[_0x66fd('0x6b')][_0x66fd('0x4a')]);_0x4cc7f6[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0x183e57[_0x66fd('0x4f')]);_0x4cc7f6[_0x66fd('0x50')]=_[_0x66fd('0x51')](_0x4cc7f6[_0x66fd('0x4d')],_0x4cc7f6[_0x66fd('0x4f')]);_0x5816da[_0x66fd('0x53')]=_['intersection'](_0x4cc7f6[_0x66fd('0x4d')],qs[_0x66fd('0x52')](_0x183e57['query'][_0x66fd('0x52')]));_0x5816da[_0x66fd('0x53')]=_0x5816da[_0x66fd('0x53')][_0x66fd('0x54')]?_0x5816da[_0x66fd('0x53')]:_0x4cc7f6['model'];if(!_0x183e57[_0x66fd('0x4f')][_0x66fd('0x55')](_0x66fd('0x56'))){_0x5816da[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0x183e57['query'][_0x66fd('0x34')]);_0x5816da[_0x66fd('0x32')]=qs[_0x66fd('0x32')](_0x183e57[_0x66fd('0x4f')][_0x66fd('0x32')]);}_0x5816da[_0x66fd('0x57')]=qs[_0x66fd('0x58')](_0x183e57['query']['sort']);_0x5816da[_0x66fd('0x59')]=qs[_0x66fd('0x50')](_[_0x66fd('0x6c')](_0x183e57['query'],_0x4cc7f6['filters']));_0x5816da['where'][_0x66fd('0x6d')]=_0x5bb1f7['id'];if(_0x183e57['query']['filter']){_0x5816da[_0x66fd('0x59')]=_[_0x66fd('0x5a')](_0x5816da[_0x66fd('0x59')],{'$or':_[_0x66fd('0x48')](_0x5816da[_0x66fd('0x53')],function(_0x1d7c71){var _0x148fd9={};_0x148fd9[_0x1d7c71]={'$like':'%'+_0x183e57[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x148fd9;})});}_0x5816da=_['merge']({},_0x5816da,_0x183e57[_0x66fd('0x5d')]);return db[_0x66fd('0x6b')]['count']({'where':_0x5816da[_0x66fd('0x59')]})[_0x66fd('0x25')](function(_0x460f9b){_0x5619a7[_0x66fd('0x35')]=_0x460f9b;if(_0x183e57[_0x66fd('0x4f')][_0x66fd('0x5e')]){_0x5816da[_0x66fd('0x5f')]=[{'all':!![]}];}return db['Disposition'][_0x66fd('0x60')](_0x5816da);})[_0x66fd('0x25')](function(_0x5dfa29){_0x5619a7[_0x66fd('0x61')]=_0x5dfa29;return _0x5619a7;});}})[_0x66fd('0x25')](respondWithFilteredResult(_0x4f8d00,_0x5816da))['catch'](handleError(_0x4f8d00,null));};exports['removeDispositions']=function(_0xe38206,_0x471bf1,_0x99bab2){return db[_0x66fd('0x49')]['find']({'where':{'id':_0xe38206['params']['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x471bf1,null))[_0x66fd('0x25')](function(_0x5e34f0){if(_0x5e34f0){return _0x5e34f0['removeDispositions'](_0xe38206[_0x66fd('0x4f')][_0x66fd('0x6f')]);}})[_0x66fd('0x25')](respondWithStatusCode(_0x471bf1,null))[_0x66fd('0x62')](handleError(_0x471bf1,null));};exports[_0x66fd('0x70')]=function(_0xc8d206,_0x555575,_0x4d8838){if(_0xc8d206['body']['id']){delete _0xc8d206[_0x66fd('0x66')]['id'];}return db['MailAccount']['find']({'where':{'id':_0xc8d206[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x555575,null))['then'](function(_0x16e77a){if(_0x16e77a){_0xc8d206[_0x66fd('0x66')][_0x66fd('0x6d')]=_0x16e77a['id'];return db[_0x66fd('0x71')][_0x66fd('0x72')](_0xc8d206[_0x66fd('0x66')]);}})[_0x66fd('0x25')](respondWithResult(_0x555575,null))[_0x66fd('0x62')](handleError(_0x555575,null));};exports['getAnswers']=function(_0x14b6b1,_0x1766c4,_0x3b7b2c){var _0x133bb0={'raw':![],'where':{}};var _0x36184f={};var _0x479be9={'count':0x0,'rows':[]};return db[_0x66fd('0x49')]['findOne']({'where':{'id':_0x14b6b1[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x1766c4,null))[_0x66fd('0x25')](function(_0x1ec2ac){if(_0x1ec2ac){_0x36184f['model']=_[_0x66fd('0x4e')](db['CannedAnswer'][_0x66fd('0x4a')]);_0x36184f[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0x14b6b1['query']);_0x36184f['filters']=_['intersection'](_0x36184f[_0x66fd('0x4d')],_0x36184f[_0x66fd('0x4f')]);_0x133bb0['attributes']=_['intersection'](_0x36184f['model'],qs['fields'](_0x14b6b1['query'][_0x66fd('0x52')]));_0x133bb0[_0x66fd('0x53')]=_0x133bb0['attributes'][_0x66fd('0x54')]?_0x133bb0['attributes']:_0x36184f[_0x66fd('0x4d')];if(!_0x14b6b1[_0x66fd('0x4f')][_0x66fd('0x55')](_0x66fd('0x56'))){_0x133bb0[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0x14b6b1['query'][_0x66fd('0x34')]);_0x133bb0[_0x66fd('0x32')]=qs['offset'](_0x14b6b1[_0x66fd('0x4f')][_0x66fd('0x32')]);}_0x133bb0[_0x66fd('0x57')]=qs['sort'](_0x14b6b1[_0x66fd('0x4f')][_0x66fd('0x58')]);_0x133bb0[_0x66fd('0x59')]=qs[_0x66fd('0x50')](_[_0x66fd('0x6c')](_0x14b6b1['query'],_0x36184f['filters']));_0x133bb0[_0x66fd('0x59')][_0x66fd('0x6d')]=_0x1ec2ac['id'];if(_0x14b6b1['query'][_0x66fd('0x6e')]){_0x133bb0['where']=_[_0x66fd('0x5a')](_0x133bb0[_0x66fd('0x59')],{'$or':_[_0x66fd('0x48')](_0x133bb0['attributes'],function(_0x15f302){var _0x1bae03={};_0x1bae03[_0x15f302]={'$like':'%'+_0x14b6b1[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x1bae03;})});}_0x133bb0=_['merge']({},_0x133bb0,_0x14b6b1['options']);return db[_0x66fd('0x71')][_0x66fd('0x35')]({'where':_0x133bb0[_0x66fd('0x59')]})[_0x66fd('0x25')](function(_0x3d83ef){_0x479be9[_0x66fd('0x35')]=_0x3d83ef;if(_0x14b6b1['query'][_0x66fd('0x5e')]){_0x133bb0[_0x66fd('0x5f')]=[{'all':!![]}];}return db[_0x66fd('0x71')]['findAll'](_0x133bb0);})[_0x66fd('0x25')](function(_0x32a962){_0x479be9[_0x66fd('0x61')]=_0x32a962;return _0x479be9;});}})['then'](respondWithFilteredResult(_0x1766c4,_0x133bb0))['catch'](handleError(_0x1766c4,null));};exports[_0x66fd('0x73')]=function(_0x16f5bf,_0x37dce3,_0x2ed6a9){return db[_0x66fd('0x49')]['find']({'where':{'id':_0x16f5bf[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x37dce3,null))['then'](function(_0x3b8cd8){if(_0x3b8cd8){return _0x3b8cd8[_0x66fd('0x73')](_0x16f5bf[_0x66fd('0x4f')]['ids']);}})[_0x66fd('0x25')](respondWithStatusCode(_0x37dce3,null))[_0x66fd('0x62')](handleError(_0x37dce3,null));};exports['create']=function(_0x8996f7,_0x1a6079){var _0x11ed78={'name':_0x8996f7[_0x66fd('0x66')][_0x66fd('0x40')],'key':_0x8996f7[_0x66fd('0x66')][_0x66fd('0x4c')],'email':_0x8996f7[_0x66fd('0x66')]['email'],'ListId':_0x8996f7['body']['ListId'],'active':!_[_0x66fd('0x74')](_0x8996f7[_0x66fd('0x66')][_0x66fd('0x75')])?_0x8996f7['body'][_0x66fd('0x75')]:!![],'description':_0x8996f7[_0x66fd('0x66')][_0x66fd('0x76')]||null,'Imap':{},'Smtp':{}};if(_[_0x66fd('0x74')](_0x8996f7[_0x66fd('0x66')][_0x66fd('0x77')])){if(_0x8996f7['body'][_0x66fd('0x78')]){_0x11ed78[_0x66fd('0x43')]['user']=_0x11ed78['Smtp'][_0x66fd('0x79')]=_0x8996f7[_0x66fd('0x66')][_0x66fd('0x7a')];_0x11ed78[_0x66fd('0x43')][_0x66fd('0x7b')]=_0x11ed78[_0x66fd('0x45')][_0x66fd('0x7c')]=_0x8996f7[_0x66fd('0x66')][_0x66fd('0x7d')];}else{_0x11ed78[_0x66fd('0x43')][_0x66fd('0x7e')]=_0x11ed78[_0x66fd('0x45')][_0x66fd('0x7e')]=![];}_0x11ed78[_0x66fd('0x43')]['host']=_0x8996f7['body'][_0x66fd('0x43')][_0x66fd('0x7f')];_0x11ed78[_0x66fd('0x43')][_0x66fd('0x80')]=_0x8996f7[_0x66fd('0x66')][_0x66fd('0x43')]['port'];_0x11ed78['Smtp'][_0x66fd('0x7f')]=_0x8996f7[_0x66fd('0x66')]['Smtp'][_0x66fd('0x7f')];_0x11ed78[_0x66fd('0x45')]['port']=_0x8996f7[_0x66fd('0x66')][_0x66fd('0x45')]['port'];}else{_0x11ed78['Imap'][_0x66fd('0x81')]=_0x11ed78[_0x66fd('0x45')][_0x66fd('0x81')]=_0x8996f7[_0x66fd('0x66')]['cservice'];_0x11ed78[_0x66fd('0x43')]['user']=_0x11ed78[_0x66fd('0x45')]['user']=_0x8996f7[_0x66fd('0x66')][_0x66fd('0x7a')];_0x11ed78[_0x66fd('0x43')][_0x66fd('0x7b')]=_0x11ed78[_0x66fd('0x45')][_0x66fd('0x7c')]=_0x8996f7[_0x66fd('0x66')]['cpassword'];}return db['MailAccount'][_0x66fd('0x72')](_0x11ed78,{'include':[{'model':db[_0x66fd('0x44')],'as':_0x66fd('0x45')},{'model':db[_0x66fd('0x65')],'as':_0x66fd('0x43')}]})['then'](function(_0x1593da){var _0x50ea5b=_0x8996f7[_0x66fd('0x79')][_0x66fd('0x82')]({'plain':!![]});if(!_0x50ea5b)throw new Error(_0x66fd('0x83'));if(_0x50ea5b['role']===_0x66fd('0x79')){var _0x4ab359=_0x1593da['get']({'plain':!![]});return db[_0x66fd('0x84')][_0x66fd('0x67')]({'where':{'name':_0x66fd('0x3d'),'userProfileId':_0x50ea5b[_0x66fd('0x85')]},'raw':!![]})[_0x66fd('0x25')](function(_0xf7b033){if(_0xf7b033&&_0xf7b033[_0x66fd('0x86')]===0x0){return db['UserProfileResource'][_0x66fd('0x72')]({'name':_0x4ab359[_0x66fd('0x40')],'resourceId':_0x4ab359['id'],'type':_0xf7b033[_0x66fd('0x40')],'sectionId':_0xf7b033['id']},{})['then'](function(){return _0x1593da;});}else{return _0x1593da;}})[_0x66fd('0x62')](function(_0x40283a){logger['error'](_0x66fd('0x87'),_0x40283a);throw _0x40283a;});}return _0x1593da;})[_0x66fd('0x25')](respondWithResult(_0x1a6079,0xc9))[_0x66fd('0x62')](handleError(_0x1a6079,null));};exports['getImap']=function(_0x396c24,_0x58ce0b,_0x31835c){return db['MailAccount'][_0x66fd('0x88')]({'where':{'id':_0x396c24[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x58ce0b,null))[_0x66fd('0x25')](function(_0x1f10ab){if(_0x1f10ab){return _0x1f10ab['getImap']();}return null;})[_0x66fd('0x25')](respondWithResult(_0x58ce0b,null))[_0x66fd('0x62')](handleError(_0x58ce0b,null));};exports[_0x66fd('0x89')]=function(_0x87e4cf,_0x222b3c,_0x40035b){if(_0x87e4cf['body']['id']){delete _0x87e4cf[_0x66fd('0x66')]['id'];}return db['MailAccount'][_0x66fd('0x67')]({'where':{'id':_0x87e4cf[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x222b3c,null))[_0x66fd('0x25')](function(_0x50d082){if(_0x50d082){_0x87e4cf['body'][_0x66fd('0x6d')]=_0x50d082['id'];return db[_0x66fd('0x65')][_0x66fd('0x72')](_0x87e4cf[_0x66fd('0x66')]);}})[_0x66fd('0x25')](respondWithResult(_0x222b3c,null))[_0x66fd('0x62')](handleError(_0x222b3c,null));};exports[_0x66fd('0x8a')]=function(_0x332ea4,_0x595b1b,_0x1b0fd){return db['MailAccount'][_0x66fd('0x88')]({'where':{'id':_0x332ea4[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x595b1b,null))['then'](function(_0x86f0cc){if(_0x86f0cc){return _0x86f0cc[_0x66fd('0x8b')](null);}return null;})[_0x66fd('0x25')](respondWithStatusCode(_0x595b1b,null))[_0x66fd('0x62')](handleError(_0x595b1b,null));};exports[_0x66fd('0x8c')]=function(_0x9ecd15,_0x556efd,_0x23dbe5){return db[_0x66fd('0x49')][_0x66fd('0x88')]({'where':{'id':_0x9ecd15[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x556efd,null))[_0x66fd('0x25')](function(_0x729afc){if(_0x729afc){return _0x729afc[_0x66fd('0x8c')]();}return null;})[_0x66fd('0x25')](respondWithResult(_0x556efd,null))[_0x66fd('0x62')](handleError(_0x556efd,null));};exports[_0x66fd('0x8d')]=function(_0x2d22a0,_0x195aba,_0x39c046){if(_0x2d22a0[_0x66fd('0x66')]['id']){delete _0x2d22a0[_0x66fd('0x66')]['id'];}return db[_0x66fd('0x49')][_0x66fd('0x67')]({'where':{'id':_0x2d22a0[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x195aba,null))[_0x66fd('0x25')](function(_0x12e1f4){if(_0x12e1f4){_0x2d22a0['body'][_0x66fd('0x6d')]=_0x12e1f4['id'];return db[_0x66fd('0x44')][_0x66fd('0x72')](_0x2d22a0[_0x66fd('0x66')]);}})[_0x66fd('0x25')](respondWithResult(_0x195aba,null))['catch'](handleError(_0x195aba,null));};exports[_0x66fd('0x8e')]=function(_0x1f703b,_0x33028e,_0x1f2e50){return db[_0x66fd('0x49')]['findOne']({'where':{'id':_0x1f703b['params']['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x33028e,null))['then'](function(_0xe2620b){if(_0xe2620b){return _0xe2620b['setSmtp'](null);}return null;})[_0x66fd('0x25')](respondWithStatusCode(_0x33028e,null))[_0x66fd('0x62')](handleError(_0x33028e,null));};exports[_0x66fd('0x8f')]=function(_0x41286d,_0x5a1eb3,_0x1530b4){return db[_0x66fd('0x90')][_0x66fd('0x67')]({'where':{'id':_0x41286d[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x5a1eb3,null))[_0x66fd('0x25')](function(_0x2ae00b){if(_0x2ae00b){return _0x2ae00b[_0x66fd('0x8f')](_0x41286d[_0x66fd('0x66')][_0x66fd('0x6f')],_[_0x66fd('0x91')](_0x41286d[_0x66fd('0x66')],[_0x66fd('0x6f'),'id'])||{});}})['then'](respondWithResult(_0x5a1eb3,null))[_0x66fd('0x62')](handleError(_0x5a1eb3,null));};exports[_0x66fd('0x92')]=function(_0x376b23,_0x46a545,_0x1fbc5e){var _0x4e1ede={'raw':![],'where':{}};var _0x7bbe26={};var _0x3fe7c5={'count':0x0,'rows':[]};return db[_0x66fd('0x49')]['findOne']({'where':{'id':_0x376b23[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x46a545,null))[_0x66fd('0x25')](function(_0x21106a){if(_0x21106a){_0x7bbe26[_0x66fd('0x4d')]=_[_0x66fd('0x4e')](db['MailInteraction'][_0x66fd('0x4a')]);_0x7bbe26[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0x376b23[_0x66fd('0x4f')]);_0x7bbe26['filters']=_[_0x66fd('0x51')](_0x7bbe26[_0x66fd('0x4d')],_0x7bbe26[_0x66fd('0x4f')]);_0x4e1ede[_0x66fd('0x53')]=_['intersection'](_0x7bbe26['model'],qs[_0x66fd('0x52')](_0x376b23[_0x66fd('0x4f')]['fields']));_0x4e1ede[_0x66fd('0x53')]=_0x4e1ede['attributes'][_0x66fd('0x54')]?_0x4e1ede[_0x66fd('0x53')]:_0x7bbe26[_0x66fd('0x4d')];if(!_0x376b23[_0x66fd('0x4f')][_0x66fd('0x55')](_0x66fd('0x56'))){_0x4e1ede['limit']=qs[_0x66fd('0x34')](_0x376b23[_0x66fd('0x4f')][_0x66fd('0x34')]);_0x4e1ede[_0x66fd('0x32')]=qs[_0x66fd('0x32')](_0x376b23[_0x66fd('0x4f')][_0x66fd('0x32')]);}_0x4e1ede[_0x66fd('0x57')]=qs[_0x66fd('0x58')](_0x376b23[_0x66fd('0x4f')]['sort']);_0x4e1ede[_0x66fd('0x59')]=qs[_0x66fd('0x50')](_[_0x66fd('0x6c')](_0x376b23[_0x66fd('0x4f')],_0x7bbe26[_0x66fd('0x50')]));_0x4e1ede[_0x66fd('0x59')][_0x66fd('0x6d')]=_0x21106a['id'];if(_0x376b23['query'][_0x66fd('0x6e')]){_0x4e1ede[_0x66fd('0x59')]=_[_0x66fd('0x5a')](_0x4e1ede[_0x66fd('0x59')],{'$or':_['map'](_0x4e1ede[_0x66fd('0x53')],function(_0x3cead7){var _0x1a35d5={};_0x1a35d5[_0x3cead7]={'$like':'%'+_0x376b23[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x1a35d5;})});}_0x4e1ede=_[_0x66fd('0x5a')]({},_0x4e1ede,_0x376b23[_0x66fd('0x5d')]);return db['MailInteraction']['count']({'where':_0x4e1ede[_0x66fd('0x59')]})[_0x66fd('0x25')](function(_0x45f6d5){_0x3fe7c5[_0x66fd('0x35')]=_0x45f6d5;if(_0x376b23['query'][_0x66fd('0x5e')]){_0x4e1ede[_0x66fd('0x5f')]=[{'model':db[_0x66fd('0x93')],'as':_0x66fd('0x94'),'required':![]},{'model':db[_0x66fd('0x95')],'as':'Owner','attributes':['name',_0x66fd('0x96'),_0x66fd('0x97')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id',_0x66fd('0x40'),_0x66fd('0x98')],'where':_0x376b23[_0x66fd('0x4f')]['tag']?{'id':_0x376b23['query'][_0x66fd('0x99')]}:undefined,'required':_0x376b23['query'][_0x66fd('0x99')]?!![]:![]}];}return db[_0x66fd('0x90')][_0x66fd('0x60')](_0x4e1ede);})['then'](function(_0xb5e711){_0x3fe7c5['rows']=_0xb5e711;return _0x3fe7c5;});}})[_0x66fd('0x25')](respondWithFilteredResult(_0x46a545,_0x4e1ede))['catch'](handleError(_0x46a545,null));};exports[_0x66fd('0x9a')]=function addApplications(_0x359443,_0x38d065){var _0x1b2bac=_0x359443[_0x66fd('0x64')]['id'];var _0x476488=_0x359443[_0x66fd('0x66')];var _0x1dffd8=0xc8;var _0x269bb0=null;return db[_0x66fd('0x9b')][_0x66fd('0x9c')]({'isolationLevel':db[_0x66fd('0x9b')]['Transaction']['ISOLATION_LEVELS'][_0x66fd('0x9d')]},function(_0x520317){return db['MailAccount']['findOne']({'where':{'id':_0x1b2bac},'transaction':_0x520317})[_0x66fd('0x25')](function(_0xef574c){if(_0xef574c){return db[_0x66fd('0x9e')][_0x66fd('0x3c')]({'where':{'MailAccountId':_0x1b2bac},'transaction':_0x520317})[_0x66fd('0x25')](function(){var _0x4723b7=_[_0x66fd('0x48')](_0x476488,function(_0x440eba){_0x440eba[_0x66fd('0x6d')]=_0x1b2bac;return _0x440eba;});return db[_0x66fd('0x9e')][_0x66fd('0x9f')](_0x4723b7,{'transaction':_0x520317});});}else{_0x1dffd8=0x194;_0x269bb0=[];}});})[_0x66fd('0x25')](function(){if(_0x1dffd8!==0x194){return db[_0x66fd('0x9e')][_0x66fd('0xa0')]({'where':{'MailAccountId':_0x1b2bac},'order':'priority'})[_0x66fd('0x25')](function(_0x1499d9){_0x269bb0=_0x1499d9;});}})[_0x66fd('0x62')](function(_0xf1b78f){_0x1dffd8=0x1f4;logger[_0x66fd('0x2a')](_0xf1b78f['stack']);if(_0xf1b78f['name']){delete _0xf1b78f[_0x66fd('0x40')];}_0x269bb0=_0xf1b78f;})[_0x66fd('0xa1')](function(){if(_0x269bb0===null){_0x38d065['sendStatus'](_0x1dffd8);}else{if(_0x1dffd8===0x1f4){_0x38d065[_0x66fd('0x2f')](_0x1dffd8)[_0x66fd('0x41')](_0x269bb0);}else{_0x38d065[_0x66fd('0x2f')](_0x1dffd8)[_0x66fd('0x31')](_0x269bb0);}}});};exports[_0x66fd('0xa2')]=function(_0xc2f3e8,_0x55d1f3,_0x26f89a){var _0x2d1d94={};var _0x24b72a={};var _0x585451;var _0x13be46;return db[_0x66fd('0x49')][_0x66fd('0x88')]({'where':{'id':_0xc2f3e8[_0x66fd('0x64')]['id']}})['then'](handleEntityNotFound(_0x55d1f3,null))[_0x66fd('0x25')](function(_0x570634){if(_0x570634){_0x585451=_0x570634;_0x24b72a[_0x66fd('0x4d')]=_[_0x66fd('0x4e')](db[_0x66fd('0x9e')][_0x66fd('0x4a')]);_0x24b72a[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0xc2f3e8['query']);_0x24b72a[_0x66fd('0x50')]=_[_0x66fd('0x51')](_0x24b72a[_0x66fd('0x4d')],_0x24b72a['query']);_0x2d1d94[_0x66fd('0x53')]=_[_0x66fd('0x51')](_0x24b72a['model'],qs[_0x66fd('0x52')](_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x52')]));_0x2d1d94['attributes']=_0x2d1d94[_0x66fd('0x53')][_0x66fd('0x54')]?_0x2d1d94[_0x66fd('0x53')]:_0x24b72a[_0x66fd('0x4d')];_0x2d1d94['order']=qs[_0x66fd('0x58')](_0xc2f3e8['query'][_0x66fd('0x58')]);_0x2d1d94[_0x66fd('0x59')]=qs['filters'](_[_0x66fd('0x6c')](_0xc2f3e8[_0x66fd('0x4f')],_0x24b72a[_0x66fd('0x50')]));if(_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x6e')]){_0x2d1d94[_0x66fd('0x59')]=_[_0x66fd('0x5a')](_0x2d1d94[_0x66fd('0x59')],{'$or':_['map'](_0x2d1d94[_0x66fd('0x53')],function(_0xc18faa){var _0x151035={};_0x151035[_0xc18faa]={'$like':'%'+_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x151035;})});}_0x2d1d94=_[_0x66fd('0x5a')]({},_0x2d1d94,_0xc2f3e8[_0x66fd('0x5d')]);return _0x585451[_0x66fd('0xa2')](_0x2d1d94);}})[_0x66fd('0x25')](function(_0x586de1){if(_0x586de1){_0x13be46=_0x586de1[_0x66fd('0x54')];if(!_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x55')](_0x66fd('0x56'))){_0x2d1d94[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x34')]);_0x2d1d94[_0x66fd('0x32')]=qs[_0x66fd('0x32')](_0xc2f3e8[_0x66fd('0x4f')][_0x66fd('0x32')]);}return _0x585451[_0x66fd('0xa2')](_0x2d1d94);}})[_0x66fd('0x25')](function(_0x289160){if(_0x289160){return _0x289160?{'count':_0x13be46,'rows':_0x289160}:null;}})[_0x66fd('0x25')](respondWithResult(_0x55d1f3,null))[_0x66fd('0x62')](handleError(_0x55d1f3,null));};exports[_0x66fd('0xa3')]=function(_0x161640,_0x5048aa,_0x57cda9){var _0x99a58a={'raw':!![],'where':{}};var _0x161d94={};var _0x2f8520={'count':0x0,'rows':[]};return db['MailAccount'][_0x66fd('0x88')]({'where':{'id':_0x161640['params']['id']}})['then'](handleEntityNotFound(_0x5048aa,null))[_0x66fd('0x25')](function(_0x32f043){if(_0x32f043){_0x161d94[_0x66fd('0x4d')]=_[_0x66fd('0x4e')](db[_0x66fd('0xa4')]['rawAttributes']);_0x161d94[_0x66fd('0x4f')]=_[_0x66fd('0x4e')](_0x161640[_0x66fd('0x4f')]);_0x161d94[_0x66fd('0x50')]=_[_0x66fd('0x51')](_0x161d94[_0x66fd('0x4d')],_0x161d94[_0x66fd('0x4f')]);_0x99a58a[_0x66fd('0x53')]=_['intersection'](_0x161d94[_0x66fd('0x4d')],qs[_0x66fd('0x52')](_0x161640[_0x66fd('0x4f')]['fields']));_0x99a58a[_0x66fd('0x53')]=_0x99a58a[_0x66fd('0x53')][_0x66fd('0x54')]?_0x99a58a[_0x66fd('0x53')]:_0x161d94[_0x66fd('0x4d')];if(!_0x161640['query'][_0x66fd('0x55')](_0x66fd('0x56'))){_0x99a58a[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0x161640[_0x66fd('0x4f')][_0x66fd('0x34')]);_0x99a58a[_0x66fd('0x32')]=qs[_0x66fd('0x32')](_0x161640['query'][_0x66fd('0x32')]);}_0x99a58a[_0x66fd('0x57')]=qs[_0x66fd('0x58')](_0x161640[_0x66fd('0x4f')][_0x66fd('0x58')]);_0x99a58a['where']=qs[_0x66fd('0x50')](_[_0x66fd('0x6c')](_0x161640[_0x66fd('0x4f')],_0x161d94[_0x66fd('0x50')]));_0x99a58a[_0x66fd('0x59')][_0x66fd('0x6d')]=_0x32f043['id'];if(_0x161640['query'][_0x66fd('0x6e')]){_0x99a58a['where']=_['merge'](_0x99a58a[_0x66fd('0x59')],{'$or':_[_0x66fd('0x48')](_0x99a58a[_0x66fd('0x53')],function(_0x2e4807){var _0x4f81e7={};_0x4f81e7[_0x2e4807]={'$like':'%'+_0x161640[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x4f81e7;})});}if(_0x161640['query'][_0x66fd('0xa5')]){var _0x1aecb8=_0x161640['query'][_0x66fd('0xa5')][_0x66fd('0xa6')](',');var _0x532595={};_0x532595[_0x1aecb8[0x0]]={'$gte':moment(_0x1aecb8[0x1])[_0x66fd('0xa7')](_0x66fd('0xa8'))};_0x99a58a['where']=_['merge'](_0x99a58a[_0x66fd('0x59')],_0x532595);}_0x99a58a=_[_0x66fd('0x5a')]({},_0x99a58a,_0x161640[_0x66fd('0x5d')]);return db[_0x66fd('0xa4')][_0x66fd('0x35')]({'where':_0x99a58a['where']})[_0x66fd('0x25')](function(_0x5f2040){_0x2f8520[_0x66fd('0x35')]=_0x5f2040;if(_0x161640[_0x66fd('0x4f')][_0x66fd('0x5e')]){_0x99a58a[_0x66fd('0x5f')]=[{'all':!![]}];}return db[_0x66fd('0xa4')][_0x66fd('0x60')](_0x99a58a);})[_0x66fd('0x25')](function(_0x521abe){if(_0x161640[_0x66fd('0x4f')][_0x66fd('0xa9')]===_0x66fd('0xaa')){for(var _0x32e551=0x0;_0x32e551<_0x521abe[_0x66fd('0x54')];_0x32e551++){_0x521abe[_0x32e551][_0x66fd('0x66')]=juice(_0x521abe[_0x32e551][_0x66fd('0x66')]);}}_0x2f8520[_0x66fd('0x61')]=_0x521abe;return _0x2f8520;});}})[_0x66fd('0x25')](respondWithFilteredResult(_0x5048aa,_0x99a58a))[_0x66fd('0x62')](handleError(_0x5048aa,null));};exports[_0x66fd('0x41')]=function(_0x1024f6,_0x336477,_0x1b6f54){var _0x4faf50,_0xb138db={},_0x3e033b;if(_0x1024f6[_0x66fd('0x66')]['to']){_0x3e033b=_0x1024f6[_0x66fd('0x66')]['to'][_0x66fd('0xa6')](',')[0x0];}return db['MailAccount'][_0x66fd('0x67')]({'where':{'id':_0x1024f6[_0x66fd('0x64')]['id']},'include':[{'model':db[_0x66fd('0xab')],'as':_0x66fd('0xac'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x3e033b},'limit':0x1,'order':[[_0x66fd('0xad'),_0x66fd('0xae')]]}]},{'model':db[_0x66fd('0x44')],'as':'Smtp','raw':!![]}]})[_0x66fd('0x25')](handleEntityNotFound(_0x336477,null))[_0x66fd('0x25')](function(_0x13036c){if(_0x13036c){_0x4faf50=_0x13036c;if(_0x13036c[_0x66fd('0x45')]){if(_[_0x66fd('0x74')](_0x1024f6[_0x66fd('0x66')][_0x66fd('0xaf')])){_0x1024f6[_0x66fd('0x66')][_0x66fd('0xaf')]=util[_0x66fd('0xa7')](_0x66fd('0xb0'),_0x13036c[_0x66fd('0x40')],_0x13036c[_0x66fd('0xb1')]||_0x13036c[_0x66fd('0x45')][_0x66fd('0x79')]);}if(_0x1024f6[_0x66fd('0x66')][_0x66fd('0xb2')]&&_0x1024f6['body'][_0x66fd('0xb2')][_0x66fd('0x54')]){for(var _0x304edd=0x0;_0x304edd<_0x1024f6[_0x66fd('0x66')][_0x66fd('0xb2')][_0x66fd('0x54')];_0x304edd+=0x1){_0x1024f6[_0x66fd('0x66')][_0x66fd('0xb2')][_0x304edd]={'filename':_0x1024f6[_0x66fd('0x66')][_0x66fd('0xb2')][_0x304edd]['name'],'path':path[_0x66fd('0xb3')](config[_0x66fd('0xb4')],_0x66fd('0xb5'),_0x1024f6['body'][_0x66fd('0xb2')][_0x304edd]['basename'])};}}var _0x1ad77a={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x13036c[_0x66fd('0x45')][_0x66fd('0x81')])){if(_0x13036c[_0x66fd('0x45')]['authentication']){_0x1ad77a['auth']={'user':_0x13036c['Smtp'][_0x66fd('0x79')],'pass':_0x13036c[_0x66fd('0x45')][_0x66fd('0x7c')]};}_0x1ad77a[_0x66fd('0x7f')]=_0x13036c['Smtp']['host'];_0x1ad77a[_0x66fd('0x80')]=_0x13036c['Smtp'][_0x66fd('0x80')];_0x1ad77a['secure']=_0x13036c[_0x66fd('0x45')]['secure'];}else{_0x1ad77a[_0x66fd('0x81')]=_0x13036c['Smtp'][_0x66fd('0x81')];_0x1ad77a[_0x66fd('0xb6')]={'user':_0x13036c[_0x66fd('0x45')][_0x66fd('0x79')],'pass':_0x13036c[_0x66fd('0x45')][_0x66fd('0x7c')]};}return respondWithRpcPromise(_0x66fd('0xb7'),_0x66fd('0xb8'),{'account':_0x1ad77a,'message':_0x1024f6[_0x66fd('0x66')]});}else{throw new Error(_0x66fd('0xb9'));}}})[_0x66fd('0x25')](function(_0x5708d9){if(_0x5708d9){_0xb138db=_0x5708d9;if(_0x4faf50['List']){if(_0x4faf50[_0x66fd('0xac')]['Contacts'][_0x66fd('0x54')]){return _0x4faf50[_0x66fd('0xac')][_0x66fd('0xba')][0x0];}else{return db[_0x66fd('0x93')][_0x66fd('0x72')](_[_0x66fd('0x1d')](_0x1024f6[_0x66fd('0x66')],{'firstName':_0x1024f6[_0x66fd('0x66')]['to'],'email':_0x1024f6[_0x66fd('0x66')]['to'],'phone':_0x1024f6['body']['to'],'ListId':_0x4faf50[_0x66fd('0xbb')]}));}}else{throw new Error(_0x66fd('0xb9'));}}})[_0x66fd('0x25')](function(_0x1c4414){if(_0x1c4414){var _0x28e0a6={'UserId':_0x1024f6[_0x66fd('0x79')]['id'],'ContactId':_0x1c4414['id'],'MailAccountId':_0x4faf50['id'],'inReplyTo':_0xb138db[_0x66fd('0xbc')],'to':_0x1024f6[_0x66fd('0x66')][_0x66fd('0xaf')],'cc':_0x1024f6['body']['cc'],'subject':_0x1024f6['body'][_0x66fd('0xbd')],'attach':_0x1024f6['body']['attach'],'firstMsgDirection':_0x66fd('0xbe'),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x66fd('0xbe'),'Messages':[_['merge'](_0x1024f6[_0x66fd('0x66')],{'messageId':_0xb138db[_0x66fd('0xbc')],'sentAt':moment()['format'](_0x66fd('0xa8')),'read':!![],'MailAccountId':_0x4faf50['id'],'UserId':_0x1024f6['user']['id'],'ContactId':_0x1c4414['id']})]};if(_0x1024f6['body'][_0x66fd('0xbf')]){_0x28e0a6=_[_0x66fd('0x5a')](_0x28e0a6,_0x1024f6[_0x66fd('0x66')][_0x66fd('0xbf')]);}return db[_0x66fd('0x90')]['create'](_0x28e0a6,{'include':[{'model':db[_0x66fd('0xa4')],'as':_0x66fd('0xc0')}]});}})[_0x66fd('0x25')](respondWithResult(_0x336477,null))[_0x66fd('0x62')](handleError(_0x336477,null));};exports[_0x66fd('0xc1')]=function(_0x48e8c4,_0x1dcee8,_0x388a18){return db[_0x66fd('0x49')][_0x66fd('0x67')]({'where':{'id':_0x48e8c4[_0x66fd('0x64')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x66fd('0x45'),'raw':!![]}]})[_0x66fd('0x25')](handleEntityNotFound(_0x1dcee8,null))[_0x66fd('0x25')](function(_0x3ba2a4){if(_0x3ba2a4&&_0x3ba2a4['Smtp']){var _0x32f87f={'id':_0x3ba2a4['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3ba2a4['Smtp'][_0x66fd('0x81')]){_0x32f87f['service']=_0x3ba2a4[_0x66fd('0x45')][_0x66fd('0x81')];}else{_0x32f87f[_0x66fd('0x7f')]=_0x3ba2a4[_0x66fd('0x45')]['host'];_0x32f87f[_0x66fd('0x80')]=_0x3ba2a4[_0x66fd('0x45')]['port'];_0x32f87f['secure']=_0x3ba2a4[_0x66fd('0x45')][_0x66fd('0xc2')];}if(_0x3ba2a4[_0x66fd('0x45')][_0x66fd('0x7e')]){_0x32f87f['auth']={'user':_0x3ba2a4['Smtp']['user'],'pass':_0x3ba2a4['Smtp'][_0x66fd('0x7c')]};}return respondWithRpcPromise(_0x66fd('0xc3'),_0x66fd('0xc1'),{'account':_0x32f87f});}})[_0x66fd('0x25')](respondWithResult(_0x1dcee8,null))[_0x66fd('0x62')](handleError(_0x1dcee8,null));};exports['destroy']=function(_0x3d332e,_0xc5b56a){return db['MailAccount'][_0x66fd('0x67')]({'where':{'id':_0x3d332e['params']['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0xc5b56a,null))['then'](function(_0x465a2a){if(_0x465a2a&&_0x465a2a[_0x66fd('0x81')]){throw new db[(_0x66fd('0xc4'))]['ValidationError'](_0x66fd('0xc5'));}return _0x465a2a;})[_0x66fd('0x25')](removeEntity(_0xc5b56a,null))[_0x66fd('0x62')](handleError(_0xc5b56a,null));};exports[_0x66fd('0xc6')]=function(_0xdf3353,_0x8ab919,_0x505074){return db['MailAccount'][_0x66fd('0x67')]({'where':{'id':_0xdf3353[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x8ab919,null))[_0x66fd('0x25')](function(_0x462544){if(_0x462544){return _0x462544[_0x66fd('0xc6')](_0xdf3353['body'][_0x66fd('0x6f')],_['omit'](_0xdf3353[_0x66fd('0x66')],[_0x66fd('0x6f'),'id'])||{})[_0x66fd('0xc7')](function(_0x46b631){for(var _0x3607b1=0x0;_0x3607b1<_0xdf3353[_0x66fd('0x66')][_0x66fd('0x6f')][_0x66fd('0x54')];_0x3607b1+=0x1){socket[_0x66fd('0xc8')]('userMailAccount:save',{'UserId':Number(_0xdf3353['body'][_0x66fd('0x6f')][_0x3607b1]),'MailAccountId':Number(_0xdf3353[_0x66fd('0x64')]['id'])});}return _0x46b631;});}})[_0x66fd('0x25')](respondWithResult(_0x8ab919,null))[_0x66fd('0x62')](handleError(_0x8ab919,null));};exports[_0x66fd('0xc9')]=function(_0x2e9d68,_0x4754dd,_0x566c70){return db[_0x66fd('0x49')][_0x66fd('0x67')]({'where':{'id':_0x2e9d68[_0x66fd('0x64')]['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x4754dd,null))['then'](function(_0x5865a1){if(_0x5865a1){return _0x5865a1[_0x66fd('0xc9')](_0x2e9d68[_0x66fd('0x4f')][_0x66fd('0x6f')])[_0x66fd('0x25')](function(){if(_[_0x66fd('0xca')](_0x2e9d68[_0x66fd('0x4f')][_0x66fd('0x6f')])){for(var _0x47620e=0x0;_0x47620e<_0x2e9d68[_0x66fd('0x4f')][_0x66fd('0x6f')]['length'];_0x47620e+=0x1){socket[_0x66fd('0xc8')](_0x66fd('0xcb'),{'UserId':Number(_0x2e9d68['query']['ids'][_0x47620e]),'MailAccountId':Number(_0x2e9d68[_0x66fd('0x64')]['id'])});}}else{socket[_0x66fd('0xc8')]('userMailAccount:remove',{'UserId':Number(_0x2e9d68[_0x66fd('0x4f')][_0x66fd('0x6f')]),'MailAccountId':Number(_0x2e9d68[_0x66fd('0x64')]['id'])});}});}})[_0x66fd('0x25')](respondWithStatusCode(_0x4754dd,null))[_0x66fd('0x62')](handleError(_0x4754dd,null));};exports[_0x66fd('0xcc')]=function(_0x5c5d69,_0x54d000,_0x25f39d){var _0x2db7e5={};var _0x20a76a={};var _0x573b7e;var _0x4e7ebc;return db['MailAccount'][_0x66fd('0x88')]({'where':{'id':_0x5c5d69['params']['id']}})[_0x66fd('0x25')](handleEntityNotFound(_0x54d000,null))['then'](function(_0x19d3d3){if(_0x19d3d3){_0x573b7e=_0x19d3d3;_0x20a76a[_0x66fd('0x4d')]=_['keys'](db[_0x66fd('0x95')][_0x66fd('0x4a')]);_0x20a76a[_0x66fd('0x4f')]=_['keys'](_0x5c5d69['query']);_0x20a76a['filters']=_[_0x66fd('0x51')](_0x20a76a[_0x66fd('0x4d')],_0x20a76a[_0x66fd('0x4f')]);_0x2db7e5[_0x66fd('0x53')]=_[_0x66fd('0x51')](_0x20a76a[_0x66fd('0x4d')],qs[_0x66fd('0x52')](_0x5c5d69[_0x66fd('0x4f')]['fields']));_0x2db7e5[_0x66fd('0x53')]=_0x2db7e5[_0x66fd('0x53')][_0x66fd('0x54')]?_0x2db7e5['attributes']:_0x20a76a[_0x66fd('0x4d')];_0x2db7e5[_0x66fd('0x57')]=qs[_0x66fd('0x58')](_0x5c5d69[_0x66fd('0x4f')][_0x66fd('0x58')]);_0x2db7e5[_0x66fd('0x59')]=qs[_0x66fd('0x50')](_[_0x66fd('0x6c')](_0x5c5d69['query'],_0x20a76a[_0x66fd('0x50')]));if(_0x5c5d69[_0x66fd('0x4f')][_0x66fd('0x6e')]){_0x2db7e5[_0x66fd('0x59')]=_[_0x66fd('0x5a')](_0x2db7e5['where'],{'$or':_[_0x66fd('0x48')](_0x2db7e5[_0x66fd('0x53')],function(_0x5993d2){var _0x5494c3={};_0x5494c3[_0x5993d2]={'$like':'%'+_0x5c5d69[_0x66fd('0x4f')][_0x66fd('0x6e')]+'%'};return _0x5494c3;})});}_0x2db7e5=_['merge']({},_0x2db7e5,_0x5c5d69['options']);return _0x573b7e['getAgents'](_0x2db7e5);}})[_0x66fd('0x25')](function(_0x54badb){if(_0x54badb){_0x4e7ebc=_0x54badb[_0x66fd('0x54')];if(!_0x5c5d69[_0x66fd('0x4f')][_0x66fd('0x55')]('nolimit')){_0x2db7e5[_0x66fd('0x34')]=qs[_0x66fd('0x34')](_0x5c5d69[_0x66fd('0x4f')]['limit']);_0x2db7e5['offset']=qs[_0x66fd('0x32')](_0x5c5d69['query']['offset']);}return _0x573b7e[_0x66fd('0xcc')](_0x2db7e5);}})[_0x66fd('0x25')](function(_0x2ebde9){if(_0x2ebde9){return _0x2ebde9?{'count':_0x4e7ebc,'rows':_0x2ebde9}:null;}})['then'](respondWithResult(_0x54d000,null))[_0x66fd('0x62')](handleError(_0x54d000,null));};