Built motion from commit 5ba5b610.|2.5.33
[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 _0xe8fc=['ListId','active','description','isNil','cauthentication','password','cpassword','authentication','host','port','service','cservice','user','cuser','pass','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','getInteractions','CmContact','Contact','User','Owner','fullname','Tag','Tags','tag','addApplications','sequelize','MailApplication','priority','getApplications','getMessages','MailMessage','$gte','split','format','inlineCss','true','List','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','sendMail','List\x20not\x20found','Contacts','subject','out','YYYY-MM-DD\x20HH:mm:ss','messageId','Interaction','Messages','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','html-to-text','juice','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','register','client','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','get','MailAccounts','UserProfileResource','sendStatus','stack','name','send','index','MailServerIn','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','includeAll','include','findAll','show','params','Imap','options','find','catch','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','order','merge','rows','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','key','email'];(function(_0x17efee,_0x1bd6f8){var _0x7a44d8=function(_0x2ef18e){while(--_0x2ef18e){_0x17efee['push'](_0x17efee['shift']());}};_0x7a44d8(++_0x1bd6f8);}(_0xe8fc,0x1e1));var _0xce8f=function(_0x2d33d5,_0x373405){_0x2d33d5=_0x2d33d5-0x0;var _0x2bb1ed=_0xe8fc[_0x2d33d5];return _0x2bb1ed;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xce8f('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xce8f('0x1'));var moment=require(_0xce8f('0x2'));var BPromise=require(_0xce8f('0x3'));var Mustache=require(_0xce8f('0x4'));var util=require('util');var path=require(_0xce8f('0x5'));var sox=require(_0xce8f('0x6'));var csv=require(_0xce8f('0x7'));var ejs=require(_0xce8f('0x8'));var fs=require('fs');var fs_extra=require(_0xce8f('0x9'));var _=require(_0xce8f('0xa'));var squel=require(_0xce8f('0xb'));var crypto=require(_0xce8f('0xc'));var jsforce=require(_0xce8f('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xce8f('0x7'));var querystring=require(_0xce8f('0xe'));var Papa=require(_0xce8f('0xf'));var htmlToText=require(_0xce8f('0x10'));var juice=require(_0xce8f('0x11'));var Redis=require('ioredis');var authService=require(_0xce8f('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xce8f('0x13'));var hardwareService=require(_0xce8f('0x14'));var logger=require(_0xce8f('0x15'))(_0xce8f('0x16'));var utils=require(_0xce8f('0x17'));var config=require(_0xce8f('0x18'));var licenseUtil=require(_0xce8f('0x19'));var db=require(_0xce8f('0x1a'))['db'];config['redis']=_[_0xce8f('0x1b')](config[_0xce8f('0x1c')],{'host':_0xce8f('0x1d'),'port':0x18eb});var socket=require(_0xce8f('0x1e'))(new Redis(config[_0xce8f('0x1c')]));require(_0xce8f('0x1f'))[_0xce8f('0x20')](socket);var jayson=require('jayson/promise');var client=jayson[_0xce8f('0x21')][_0xce8f('0x22')]({'port':0x232b});function respondWithRpcPromise(_0x288bee,_0x380fd6,_0x1d690c,_0x441c15){return new BPromise(function(_0x50aefe,_0x1730ab){var _0x5b51ed=_0x441c15||client;return _0x5b51ed['request'](_0x288bee,_0x1d690c)[_0xce8f('0x23')](function(_0x1099b5){logger[_0xce8f('0x24')](_0xce8f('0x25'),_0x380fd6,_0xce8f('0x26'));logger[_0xce8f('0x27')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x380fd6,_0xce8f('0x26'),JSON[_0xce8f('0x28')](_0x1099b5));if(_0x1099b5[_0xce8f('0x29')]){if(_0x1099b5[_0xce8f('0x29')][_0xce8f('0x2a')]===0x1f4){logger[_0xce8f('0x29')]('MailAccount,\x20%s,\x20%s',_0x380fd6,_0x1099b5[_0xce8f('0x29')][_0xce8f('0x2b')]);return _0x1730ab(_0x1099b5[_0xce8f('0x29')][_0xce8f('0x2b')]);}logger['error'](_0xce8f('0x25'),_0x380fd6,_0x1099b5['error'][_0xce8f('0x2b')]);return _0x50aefe(_0x1099b5['error'][_0xce8f('0x2b')]);}else{logger['info'](_0xce8f('0x25'),_0x380fd6,_0xce8f('0x26'));_0x50aefe(_0x1099b5[_0xce8f('0x2c')]['message']);}})['catch'](function(_0xfd708b){logger[_0xce8f('0x29')]('MailAccount,\x20%s,\x20%s',_0x380fd6,_0xfd708b);_0x1730ab(_0xfd708b);});});}function respondWithStatusCode(_0x288ad5,_0x5c6041){_0x5c6041=_0x5c6041||0xcc;return function(_0x28ac55){if(_0x28ac55){return _0x288ad5['sendStatus'](_0x5c6041);}return _0x288ad5[_0xce8f('0x2d')](_0x5c6041)[_0xce8f('0x2e')]();};}function respondWithResult(_0x1ea533,_0x2a14aa){_0x2a14aa=_0x2a14aa||0xc8;return function(_0x218079){if(_0x218079){return _0x1ea533[_0xce8f('0x2d')](_0x2a14aa)[_0xce8f('0x2f')](_0x218079);}};}function respondWithFilteredResult(_0x56925d,_0x1c5969){return function(_0x3c2af6){if(_0x3c2af6){var _0x378b16=typeof _0x1c5969[_0xce8f('0x30')]===_0xce8f('0x31')&&typeof _0x1c5969['limit']===_0xce8f('0x31');var _0x592ca7=_0x3c2af6['count'];var _0x383e85=_0x378b16?0x0:_0x1c5969[_0xce8f('0x30')];var _0x1478cb=_0x378b16?_0x3c2af6[_0xce8f('0x32')]:_0x1c5969[_0xce8f('0x30')]+_0x1c5969[_0xce8f('0x33')];var _0x4d3f9f;if(_0x1478cb>=_0x592ca7){_0x1478cb=_0x592ca7;_0x4d3f9f=0xc8;}else{_0x4d3f9f=0xce;}_0x56925d[_0xce8f('0x2d')](_0x4d3f9f);return _0x56925d[_0xce8f('0x34')](_0xce8f('0x35'),_0x383e85+'-'+_0x1478cb+'/'+_0x592ca7)[_0xce8f('0x2f')](_0x3c2af6);}return null;};}function patchUpdates(_0x35ade1){return function(_0x5a04aa){try{jsonpatch[_0xce8f('0x36')](_0x5a04aa,_0x35ade1,!![]);}catch(_0x5bf7ba){return BPromise[_0xce8f('0x37')](_0x5bf7ba);}return _0x5a04aa[_0xce8f('0x38')]();};}function saveUpdates(_0xeb9a3b,_0x29607f){return function(_0x18e101){if(_0x18e101){return _0x18e101[_0xce8f('0x39')](_0xeb9a3b)[_0xce8f('0x23')](function(_0x5b19d7){return _0x5b19d7;});}return null;};}function removeEntity(_0x8ca03e,_0xbfb5c4){return function(_0x2d290b){if(_0x2d290b){return _0x2d290b[_0xce8f('0x3a')]()[_0xce8f('0x23')](function(){var _0x189e21=_0x2d290b[_0xce8f('0x3b')]({'plain':!![]});var _0x3f38d2=_0xce8f('0x3c');return db[_0xce8f('0x3d')]['destroy']({'where':{'type':_0x3f38d2,'resourceId':_0x189e21['id']}})[_0xce8f('0x23')](function(){return _0x2d290b;});})[_0xce8f('0x23')](function(){_0x8ca03e[_0xce8f('0x2d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x582259,_0x5550f8){return function(_0x5363f9){if(!_0x5363f9){_0x582259[_0xce8f('0x3e')](0x194);}return _0x5363f9;};}function handleError(_0x37b4f9,_0xccb7ae){_0xccb7ae=_0xccb7ae||0x1f4;return function(_0x4e9fb2){logger[_0xce8f('0x29')](_0x4e9fb2[_0xce8f('0x3f')]);if(_0x4e9fb2[_0xce8f('0x40')]){delete _0x4e9fb2['name'];}_0x37b4f9[_0xce8f('0x2d')](_0xccb7ae)[_0xce8f('0x41')](_0x4e9fb2);};}exports[_0xce8f('0x42')]=function(_0x8a34a7,_0x4b02f8){var _0x1ea824={'include':[{'model':db[_0xce8f('0x43')],'as':'Imap'},{'model':db[_0xce8f('0x44')],'as':_0xce8f('0x45')},{'model':db[_0xce8f('0x46')],'as':_0xce8f('0x47')}]},_0x3aaa14={},_0x365091={'count':0x0,'rows':[]};var _0x449f98=_[_0xce8f('0x48')](db[_0xce8f('0x49')][_0xce8f('0x4a')],function(_0x37ec86){return{'name':_0x37ec86[_0xce8f('0x4b')],'type':_0x37ec86[_0xce8f('0x4c')]['key']};});_0x3aaa14['model']=_[_0xce8f('0x48')](_0x449f98,_0xce8f('0x40'));_0x3aaa14[_0xce8f('0x4d')]=_[_0xce8f('0x4e')](_0x8a34a7['query']);_0x3aaa14[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0x3aaa14['model'],_0x3aaa14[_0xce8f('0x4d')]);_0x1ea824['attributes']=_[_0xce8f('0x50')](_0x3aaa14[_0xce8f('0x51')],qs[_0xce8f('0x52')](_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x1ea824[_0xce8f('0x53')]=_0x1ea824['attributes'][_0xce8f('0x54')]?_0x1ea824[_0xce8f('0x53')]:_0x3aaa14['model'];if(!_0x8a34a7['query'][_0xce8f('0x55')](_0xce8f('0x56'))){_0x1ea824[_0xce8f('0x33')]=qs['limit'](_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x33')]);_0x1ea824[_0xce8f('0x30')]=qs[_0xce8f('0x30')](_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x30')]);}_0x1ea824['order']=qs[_0xce8f('0x57')](_0x8a34a7['query'][_0xce8f('0x57')]);_0x1ea824[_0xce8f('0x58')]=qs[_0xce8f('0x4f')](_[_0xce8f('0x59')](_0x8a34a7['query'],_0x3aaa14[_0xce8f('0x4f')]),_0x449f98);if(_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x1ea824[_0xce8f('0x58')]=_['merge'](_0x1ea824[_0xce8f('0x58')],{'$or':_[_0xce8f('0x48')](_0x449f98,function(_0x140161){if(_0x140161[_0xce8f('0x4c')]!=='VIRTUAL'){var _0x2aaf0f={};_0x2aaf0f[_0x140161['name']]={'$like':'%'+_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x2aaf0f;}})});}_0x1ea824=_['merge']({},_0x1ea824,_0x8a34a7['options']);var _0x3b14f0={'where':_0x1ea824[_0xce8f('0x58')]};return db['MailAccount']['count'](_0x3b14f0)[_0xce8f('0x23')](function(_0x395283){_0x365091[_0xce8f('0x32')]=_0x395283;if(_0x8a34a7[_0xce8f('0x4d')][_0xce8f('0x5b')]){_0x1ea824[_0xce8f('0x5c')]=[{'all':!![]}];}return db[_0xce8f('0x49')][_0xce8f('0x5d')](_0x1ea824);})[_0xce8f('0x23')](function(_0x1b2885){_0x365091['rows']=_0x1b2885;return _0x365091;})[_0xce8f('0x23')](respondWithFilteredResult(_0x4b02f8,_0x1ea824))['catch'](handleError(_0x4b02f8,null));};exports[_0xce8f('0x5e')]=function(_0x28fee3,_0x1e4b58){var _0x2a843a={'raw':![],'where':{'id':_0x28fee3[_0xce8f('0x5f')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xce8f('0x60')},{'model':db[_0xce8f('0x44')],'as':_0xce8f('0x45')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x35c8c9={};_0x35c8c9[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0x49')][_0xce8f('0x4a')]);_0x35c8c9['query']=_['keys'](_0x28fee3['query']);_0x35c8c9['filters']=_[_0xce8f('0x50')](_0x35c8c9[_0xce8f('0x51')],_0x35c8c9[_0xce8f('0x4d')]);_0x2a843a['attributes']=_[_0xce8f('0x50')](_0x35c8c9[_0xce8f('0x51')],qs['fields'](_0x28fee3[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x2a843a[_0xce8f('0x53')]=_0x2a843a[_0xce8f('0x53')][_0xce8f('0x54')]?_0x2a843a[_0xce8f('0x53')]:_0x35c8c9[_0xce8f('0x51')];if(_0x28fee3['query']['includeAll']){_0x2a843a[_0xce8f('0x5c')]=[{'all':!![]}];}_0x2a843a=_['merge']({},_0x2a843a,_0x28fee3[_0xce8f('0x61')]);return db[_0xce8f('0x49')][_0xce8f('0x62')](_0x2a843a)[_0xce8f('0x23')](handleEntityNotFound(_0x1e4b58,null))['then'](respondWithResult(_0x1e4b58,null))[_0xce8f('0x63')](handleError(_0x1e4b58,null));};exports['update']=function(_0x14e6c0,_0x4c136a){if(_0x14e6c0['body']['id']){delete _0x14e6c0[_0xce8f('0x64')]['id'];}return db[_0xce8f('0x49')]['find']({'where':{'id':_0x14e6c0['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0xce8f('0x60')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xce8f('0x46')],'as':_0xce8f('0x47')}]})[_0xce8f('0x23')](handleEntityNotFound(_0x4c136a,null))[_0xce8f('0x23')](saveUpdates(_0x14e6c0[_0xce8f('0x64')],null))[_0xce8f('0x23')](function(_0x5144f5){if(_0x5144f5&&_0x14e6c0[_0xce8f('0x64')][_0xce8f('0x60')]){return db['MailServerIn'][_0xce8f('0x39')](_0x14e6c0[_0xce8f('0x64')][_0xce8f('0x60')],{'where':{'MailAccountId':_0x5144f5['id']}})[_0xce8f('0x23')](function(){return _0x5144f5;});}return _0x5144f5;})[_0xce8f('0x23')](function(_0x103a1e){if(_0x103a1e&&_0x14e6c0[_0xce8f('0x64')]['Smtp']){return db[_0xce8f('0x44')][_0xce8f('0x39')](_0x14e6c0['body'][_0xce8f('0x45')],{'where':{'MailAccountId':_0x103a1e['id']}})[_0xce8f('0x23')](function(){return _0x103a1e;});}return _0x103a1e;})[_0xce8f('0x23')](respondWithResult(_0x4c136a,null))[_0xce8f('0x63')](handleError(_0x4c136a,null));};exports[_0xce8f('0x65')]=function(_0x3f8666,_0xb71cc8){return db[_0xce8f('0x49')][_0xce8f('0x65')]()[_0xce8f('0x23')](respondWithResult(_0xb71cc8,null))[_0xce8f('0x63')](handleError(_0xb71cc8,null));};exports[_0xce8f('0x66')]=function(_0x74ebb6,_0x19ac90,_0xcc1191){if(_0x74ebb6[_0xce8f('0x64')]['id']){delete _0x74ebb6[_0xce8f('0x64')]['id'];}return db[_0xce8f('0x49')][_0xce8f('0x62')]({'where':{'id':_0x74ebb6[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x19ac90,null))[_0xce8f('0x23')](function(_0x58ae16){if(_0x58ae16){_0x74ebb6[_0xce8f('0x64')][_0xce8f('0x67')]=_0x58ae16['id'];return db[_0xce8f('0x68')][_0xce8f('0x69')](_0x74ebb6[_0xce8f('0x64')]);}})[_0xce8f('0x23')](respondWithResult(_0x19ac90,null))[_0xce8f('0x63')](handleError(_0x19ac90,null));};exports[_0xce8f('0x6a')]=function(_0x25211a,_0x4ece12,_0x318f91){var _0x43a444={'raw':![],'where':{}};var _0x4caef1={};var _0x22dce3={'count':0x0,'rows':[]};return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x25211a['params']['id']}})['then'](handleEntityNotFound(_0x4ece12,null))[_0xce8f('0x23')](function(_0x378642){if(_0x378642){_0x4caef1[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0x68')]['rawAttributes']);_0x4caef1[_0xce8f('0x4d')]=_[_0xce8f('0x4e')](_0x25211a[_0xce8f('0x4d')]);_0x4caef1[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0x4caef1['model'],_0x4caef1[_0xce8f('0x4d')]);_0x43a444[_0xce8f('0x53')]=_[_0xce8f('0x50')](_0x4caef1['model'],qs['fields'](_0x25211a[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x43a444[_0xce8f('0x53')]=_0x43a444[_0xce8f('0x53')][_0xce8f('0x54')]?_0x43a444[_0xce8f('0x53')]:_0x4caef1['model'];if(!_0x25211a[_0xce8f('0x4d')]['hasOwnProperty']('nolimit')){_0x43a444[_0xce8f('0x33')]=qs[_0xce8f('0x33')](_0x25211a[_0xce8f('0x4d')][_0xce8f('0x33')]);_0x43a444[_0xce8f('0x30')]=qs[_0xce8f('0x30')](_0x25211a['query']['offset']);}_0x43a444[_0xce8f('0x6c')]=qs[_0xce8f('0x57')](_0x25211a[_0xce8f('0x4d')]['sort']);_0x43a444[_0xce8f('0x58')]=qs['filters'](_[_0xce8f('0x59')](_0x25211a[_0xce8f('0x4d')],_0x4caef1[_0xce8f('0x4f')]));_0x43a444[_0xce8f('0x58')][_0xce8f('0x67')]=_0x378642['id'];if(_0x25211a[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x43a444[_0xce8f('0x58')]=_[_0xce8f('0x6d')](_0x43a444[_0xce8f('0x58')],{'$or':_[_0xce8f('0x48')](_0x43a444[_0xce8f('0x53')],function(_0x324d26){var _0x2c2dc7={};_0x2c2dc7[_0x324d26]={'$like':'%'+_0x25211a[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x2c2dc7;})});}_0x43a444=_[_0xce8f('0x6d')]({},_0x43a444,_0x25211a[_0xce8f('0x61')]);return db[_0xce8f('0x68')][_0xce8f('0x32')]({'where':_0x43a444[_0xce8f('0x58')]})[_0xce8f('0x23')](function(_0x12b7c1){_0x22dce3['count']=_0x12b7c1;if(_0x25211a[_0xce8f('0x4d')][_0xce8f('0x5b')]){_0x43a444[_0xce8f('0x5c')]=[{'all':!![]}];}return db[_0xce8f('0x68')][_0xce8f('0x5d')](_0x43a444);})['then'](function(_0x42013d){_0x22dce3[_0xce8f('0x6e')]=_0x42013d;return _0x22dce3;});}})[_0xce8f('0x23')](respondWithFilteredResult(_0x4ece12,_0x43a444))[_0xce8f('0x63')](handleError(_0x4ece12,null));};exports[_0xce8f('0x6f')]=function(_0x1e8131,_0x188fcf,_0x3c8258){return db['MailAccount']['find']({'where':{'id':_0x1e8131[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x188fcf,null))[_0xce8f('0x23')](function(_0x542d71){if(_0x542d71){return _0x542d71[_0xce8f('0x6f')](_0x1e8131[_0xce8f('0x4d')][_0xce8f('0x70')]);}})[_0xce8f('0x23')](respondWithStatusCode(_0x188fcf,null))[_0xce8f('0x63')](handleError(_0x188fcf,null));};exports[_0xce8f('0x71')]=function(_0x46f39f,_0x3dd93e,_0xd73655){if(_0x46f39f['body']['id']){delete _0x46f39f[_0xce8f('0x64')]['id'];}return db[_0xce8f('0x49')]['find']({'where':{'id':_0x46f39f[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x3dd93e,null))[_0xce8f('0x23')](function(_0x16d15e){if(_0x16d15e){_0x46f39f[_0xce8f('0x64')][_0xce8f('0x67')]=_0x16d15e['id'];return db[_0xce8f('0x72')]['create'](_0x46f39f['body']);}})[_0xce8f('0x23')](respondWithResult(_0x3dd93e,null))[_0xce8f('0x63')](handleError(_0x3dd93e,null));};exports[_0xce8f('0x73')]=function(_0x1e0306,_0x357e9e,_0x131b0c){var _0x143598={'raw':![],'where':{}};var _0x8ac706={};var _0x586297={'count':0x0,'rows':[]};return db['MailAccount'][_0xce8f('0x6b')]({'where':{'id':_0x1e0306[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x357e9e,null))[_0xce8f('0x23')](function(_0x2e71ea){if(_0x2e71ea){_0x8ac706[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0x72')][_0xce8f('0x4a')]);_0x8ac706['query']=_[_0xce8f('0x4e')](_0x1e0306[_0xce8f('0x4d')]);_0x8ac706[_0xce8f('0x4f')]=_['intersection'](_0x8ac706[_0xce8f('0x51')],_0x8ac706[_0xce8f('0x4d')]);_0x143598[_0xce8f('0x53')]=_[_0xce8f('0x50')](_0x8ac706[_0xce8f('0x51')],qs['fields'](_0x1e0306['query'][_0xce8f('0x52')]));_0x143598[_0xce8f('0x53')]=_0x143598[_0xce8f('0x53')][_0xce8f('0x54')]?_0x143598[_0xce8f('0x53')]:_0x8ac706[_0xce8f('0x51')];if(!_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x55')](_0xce8f('0x56'))){_0x143598[_0xce8f('0x33')]=qs[_0xce8f('0x33')](_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x33')]);_0x143598[_0xce8f('0x30')]=qs[_0xce8f('0x30')](_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x30')]);}_0x143598['order']=qs[_0xce8f('0x57')](_0x1e0306['query'][_0xce8f('0x57')]);_0x143598[_0xce8f('0x58')]=qs[_0xce8f('0x4f')](_[_0xce8f('0x59')](_0x1e0306['query'],_0x8ac706[_0xce8f('0x4f')]));_0x143598[_0xce8f('0x58')]['MailAccountId']=_0x2e71ea['id'];if(_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x143598[_0xce8f('0x58')]=_[_0xce8f('0x6d')](_0x143598[_0xce8f('0x58')],{'$or':_[_0xce8f('0x48')](_0x143598[_0xce8f('0x53')],function(_0xf2646a){var _0x2f936a={};_0x2f936a[_0xf2646a]={'$like':'%'+_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x2f936a;})});}_0x143598=_['merge']({},_0x143598,_0x1e0306[_0xce8f('0x61')]);return db[_0xce8f('0x72')][_0xce8f('0x32')]({'where':_0x143598[_0xce8f('0x58')]})[_0xce8f('0x23')](function(_0x5d436a){_0x586297[_0xce8f('0x32')]=_0x5d436a;if(_0x1e0306[_0xce8f('0x4d')][_0xce8f('0x5b')]){_0x143598[_0xce8f('0x5c')]=[{'all':!![]}];}return db[_0xce8f('0x72')]['findAll'](_0x143598);})[_0xce8f('0x23')](function(_0x5dfa1c){_0x586297[_0xce8f('0x6e')]=_0x5dfa1c;return _0x586297;});}})['then'](respondWithFilteredResult(_0x357e9e,_0x143598))[_0xce8f('0x63')](handleError(_0x357e9e,null));};exports[_0xce8f('0x74')]=function(_0x4fc7f3,_0x447a0b,_0x16c19d){return db[_0xce8f('0x49')]['find']({'where':{'id':_0x4fc7f3[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x447a0b,null))[_0xce8f('0x23')](function(_0x4d5631){if(_0x4d5631){return _0x4d5631[_0xce8f('0x74')](_0x4fc7f3[_0xce8f('0x4d')][_0xce8f('0x70')]);}})['then'](respondWithStatusCode(_0x447a0b,null))[_0xce8f('0x63')](handleError(_0x447a0b,null));};exports[_0xce8f('0x69')]=function(_0x216867,_0x3bb2f9){var _0x4d7865={'name':_0x216867[_0xce8f('0x64')][_0xce8f('0x40')],'key':_0x216867['body'][_0xce8f('0x75')],'email':_0x216867[_0xce8f('0x64')][_0xce8f('0x76')],'ListId':_0x216867['body'][_0xce8f('0x77')],'active':!_['isNil'](_0x216867['body']['active'])?_0x216867[_0xce8f('0x64')][_0xce8f('0x78')]:!![],'description':_0x216867['body'][_0xce8f('0x79')]||null,'Imap':{},'Smtp':{}};if(_[_0xce8f('0x7a')](_0x216867[_0xce8f('0x64')]['cservice'])){if(_0x216867['body'][_0xce8f('0x7b')]){_0x4d7865[_0xce8f('0x60')]['user']=_0x4d7865[_0xce8f('0x45')]['user']=_0x216867[_0xce8f('0x64')]['cuser'];_0x4d7865[_0xce8f('0x60')][_0xce8f('0x7c')]=_0x4d7865[_0xce8f('0x45')]['pass']=_0x216867[_0xce8f('0x64')][_0xce8f('0x7d')];}else{_0x4d7865['Imap'][_0xce8f('0x7e')]=_0x4d7865[_0xce8f('0x45')][_0xce8f('0x7e')]=![];}_0x4d7865['Imap']['host']=_0x216867['body'][_0xce8f('0x60')][_0xce8f('0x7f')];_0x4d7865['Imap'][_0xce8f('0x80')]=_0x216867[_0xce8f('0x64')]['Imap'][_0xce8f('0x80')];_0x4d7865['Smtp']['host']=_0x216867['body'][_0xce8f('0x45')]['host'];_0x4d7865[_0xce8f('0x45')][_0xce8f('0x80')]=_0x216867[_0xce8f('0x64')][_0xce8f('0x45')]['port'];}else{_0x4d7865['Imap'][_0xce8f('0x81')]=_0x4d7865['Smtp'][_0xce8f('0x81')]=_0x216867['body'][_0xce8f('0x82')];_0x4d7865[_0xce8f('0x60')][_0xce8f('0x83')]=_0x4d7865['Smtp'][_0xce8f('0x83')]=_0x216867[_0xce8f('0x64')][_0xce8f('0x84')];_0x4d7865[_0xce8f('0x60')][_0xce8f('0x7c')]=_0x4d7865[_0xce8f('0x45')][_0xce8f('0x85')]=_0x216867[_0xce8f('0x64')]['cpassword'];}return db[_0xce8f('0x49')][_0xce8f('0x69')](_0x4d7865,{'include':[{'model':db['MailServerOut'],'as':_0xce8f('0x45')},{'model':db[_0xce8f('0x43')],'as':_0xce8f('0x60')}]})[_0xce8f('0x23')](function(_0x3c4d1f){var _0x15ad28=_0x216867[_0xce8f('0x83')][_0xce8f('0x3b')]({'plain':!![]});if(!_0x15ad28)throw new Error(_0xce8f('0x86'));if(_0x15ad28['role']==='user'){var _0x2b7f74=_0x3c4d1f[_0xce8f('0x3b')]({'plain':!![]});return db[_0xce8f('0x87')]['find']({'where':{'name':_0xce8f('0x3c'),'userProfileId':_0x15ad28['userProfileId']},'raw':!![]})[_0xce8f('0x23')](function(_0x80addf){if(_0x80addf&&_0x80addf[_0xce8f('0x88')]===0x0){return db[_0xce8f('0x3d')][_0xce8f('0x69')]({'name':_0x2b7f74[_0xce8f('0x40')],'resourceId':_0x2b7f74['id'],'type':_0x80addf[_0xce8f('0x40')],'sectionId':_0x80addf['id']},{})['then'](function(){return _0x3c4d1f;});}else{return _0x3c4d1f;}})[_0xce8f('0x63')](function(_0x15cd80){logger[_0xce8f('0x29')](_0xce8f('0x89'),_0x15cd80);throw _0x15cd80;});}return _0x3c4d1f;})[_0xce8f('0x23')](respondWithResult(_0x3bb2f9,0xc9))[_0xce8f('0x63')](handleError(_0x3bb2f9,null));};exports[_0xce8f('0x8a')]=function(_0x4bcb63,_0x1458fc,_0x171328){return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x4bcb63['params']['id']}})['then'](handleEntityNotFound(_0x1458fc,null))['then'](function(_0x2f4798){if(_0x2f4798){return _0x2f4798[_0xce8f('0x8a')]();}return null;})[_0xce8f('0x23')](respondWithResult(_0x1458fc,null))[_0xce8f('0x63')](handleError(_0x1458fc,null));};exports[_0xce8f('0x8b')]=function(_0x2f6788,_0x36a586,_0x106c80){if(_0x2f6788[_0xce8f('0x64')]['id']){delete _0x2f6788[_0xce8f('0x64')]['id'];}return db[_0xce8f('0x49')][_0xce8f('0x62')]({'where':{'id':_0x2f6788['params']['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x36a586,null))[_0xce8f('0x23')](function(_0x13ffa8){if(_0x13ffa8){_0x2f6788['body'][_0xce8f('0x67')]=_0x13ffa8['id'];return db[_0xce8f('0x43')][_0xce8f('0x69')](_0x2f6788[_0xce8f('0x64')]);}})[_0xce8f('0x23')](respondWithResult(_0x36a586,null))[_0xce8f('0x63')](handleError(_0x36a586,null));};exports['removeImap']=function(_0xcda8b4,_0x4ebaa7,_0xd30b26){return db['MailAccount'][_0xce8f('0x6b')]({'where':{'id':_0xcda8b4[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x4ebaa7,null))[_0xce8f('0x23')](function(_0x542ffe){if(_0x542ffe){return _0x542ffe[_0xce8f('0x8c')](null);}return null;})['then'](respondWithStatusCode(_0x4ebaa7,null))[_0xce8f('0x63')](handleError(_0x4ebaa7,null));};exports[_0xce8f('0x8d')]=function(_0x7f54d9,_0x14e699,_0x12242a){return db['MailAccount']['findOne']({'where':{'id':_0x7f54d9[_0xce8f('0x5f')]['id']}})['then'](handleEntityNotFound(_0x14e699,null))[_0xce8f('0x23')](function(_0x2ac7d3){if(_0x2ac7d3){return _0x2ac7d3['getSmtp']();}return null;})['then'](respondWithResult(_0x14e699,null))[_0xce8f('0x63')](handleError(_0x14e699,null));};exports[_0xce8f('0x8e')]=function(_0xb21b02,_0x456362,_0x156a8a){if(_0xb21b02['body']['id']){delete _0xb21b02[_0xce8f('0x64')]['id'];}return db['MailAccount']['find']({'where':{'id':_0xb21b02[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x456362,null))[_0xce8f('0x23')](function(_0x1b0cf4){if(_0x1b0cf4){_0xb21b02[_0xce8f('0x64')][_0xce8f('0x67')]=_0x1b0cf4['id'];return db[_0xce8f('0x44')][_0xce8f('0x69')](_0xb21b02[_0xce8f('0x64')]);}})['then'](respondWithResult(_0x456362,null))[_0xce8f('0x63')](handleError(_0x456362,null));};exports[_0xce8f('0x8f')]=function(_0x8dd468,_0x1f1ecb,_0x5ba2c7){return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x8dd468[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x1f1ecb,null))['then'](function(_0x48a9d2){if(_0x48a9d2){return _0x48a9d2[_0xce8f('0x90')](null);}return null;})[_0xce8f('0x23')](respondWithStatusCode(_0x1f1ecb,null))[_0xce8f('0x63')](handleError(_0x1f1ecb,null));};exports['addInteraction']=function(_0x4f9b91,_0x8a1c4a,_0x56f7ea){return db[_0xce8f('0x91')]['find']({'where':{'id':_0x4f9b91[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x8a1c4a,null))[_0xce8f('0x23')](function(_0x253e2f){if(_0x253e2f){return _0x253e2f[_0xce8f('0x92')](_0x4f9b91[_0xce8f('0x64')][_0xce8f('0x70')],_['omit'](_0x4f9b91[_0xce8f('0x64')],[_0xce8f('0x70'),'id'])||{});}})[_0xce8f('0x23')](respondWithResult(_0x8a1c4a,null))['catch'](handleError(_0x8a1c4a,null));};exports[_0xce8f('0x93')]=function(_0x17851e,_0x5d3a4d,_0x297db6){var _0x5d11ad={'raw':![],'where':{}};var _0x538492={};var _0x522919={'count':0x0,'rows':[]};return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x17851e[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x5d3a4d,null))[_0xce8f('0x23')](function(_0x180759){if(_0x180759){_0x538492[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0x91')][_0xce8f('0x4a')]);_0x538492[_0xce8f('0x4d')]=_['keys'](_0x17851e['query']);_0x538492[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0x538492[_0xce8f('0x51')],_0x538492[_0xce8f('0x4d')]);_0x5d11ad['attributes']=_[_0xce8f('0x50')](_0x538492['model'],qs[_0xce8f('0x52')](_0x17851e[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x5d11ad[_0xce8f('0x53')]=_0x5d11ad[_0xce8f('0x53')][_0xce8f('0x54')]?_0x5d11ad[_0xce8f('0x53')]:_0x538492['model'];if(!_0x17851e[_0xce8f('0x4d')]['hasOwnProperty'](_0xce8f('0x56'))){_0x5d11ad['limit']=qs[_0xce8f('0x33')](_0x17851e['query'][_0xce8f('0x33')]);_0x5d11ad[_0xce8f('0x30')]=qs[_0xce8f('0x30')](_0x17851e['query']['offset']);}_0x5d11ad[_0xce8f('0x6c')]=qs['sort'](_0x17851e[_0xce8f('0x4d')][_0xce8f('0x57')]);_0x5d11ad[_0xce8f('0x58')]=qs[_0xce8f('0x4f')](_['pick'](_0x17851e[_0xce8f('0x4d')],_0x538492[_0xce8f('0x4f')]));_0x5d11ad[_0xce8f('0x58')][_0xce8f('0x67')]=_0x180759['id'];if(_0x17851e[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x5d11ad[_0xce8f('0x58')]=_[_0xce8f('0x6d')](_0x5d11ad[_0xce8f('0x58')],{'$or':_['map'](_0x5d11ad[_0xce8f('0x53')],function(_0x49550f){var _0x2bcfbe={};_0x2bcfbe[_0x49550f]={'$like':'%'+_0x17851e['query'][_0xce8f('0x5a')]+'%'};return _0x2bcfbe;})});}_0x5d11ad=_[_0xce8f('0x6d')]({},_0x5d11ad,_0x17851e[_0xce8f('0x61')]);return db[_0xce8f('0x91')][_0xce8f('0x32')]({'where':_0x5d11ad[_0xce8f('0x58')]})['then'](function(_0x1bc6b3){_0x522919[_0xce8f('0x32')]=_0x1bc6b3;if(_0x17851e[_0xce8f('0x4d')][_0xce8f('0x5b')]){_0x5d11ad[_0xce8f('0x5c')]=[{'model':db[_0xce8f('0x94')],'as':_0xce8f('0x95'),'required':![]},{'model':db[_0xce8f('0x96')],'as':_0xce8f('0x97'),'attributes':[_0xce8f('0x40'),_0xce8f('0x98'),'internal'],'required':![]},{'model':db[_0xce8f('0x99')],'as':_0xce8f('0x9a'),'attributes':['id',_0xce8f('0x40'),'color'],'where':_0x17851e[_0xce8f('0x4d')][_0xce8f('0x9b')]?{'id':_0x17851e[_0xce8f('0x4d')][_0xce8f('0x9b')]}:undefined,'required':_0x17851e[_0xce8f('0x4d')][_0xce8f('0x9b')]?!![]:![]}];}return db['MailInteraction'][_0xce8f('0x5d')](_0x5d11ad);})[_0xce8f('0x23')](function(_0x4240e2){_0x522919[_0xce8f('0x6e')]=_0x4240e2;return _0x522919;});}})['then'](respondWithFilteredResult(_0x5d3a4d,_0x5d11ad))[_0xce8f('0x63')](handleError(_0x5d3a4d,null));};exports[_0xce8f('0x9c')]=function(_0xbc14e3,_0x42bc63,_0x8dd7f9){return db['MailAccount']['findOne']({'where':{'id':_0xbc14e3[_0xce8f('0x5f')]['id']}})['then'](handleEntityNotFound(_0x42bc63,null))[_0xce8f('0x23')](function(_0x3910b1){if(_0x3910b1){return db[_0xce8f('0x9d')]['transaction'](function(_0x3bee9c){return db[_0xce8f('0x9e')][_0xce8f('0x3a')]({'where':{'MailAccountId':_0xbc14e3['params']['id']},'transaction':_0x3bee9c})[_0xce8f('0x23')](function(_0x2f4522){var _0xf24ca8=_[_0xce8f('0x48')](_0xbc14e3['body'],function(_0x5755ca){_0x5755ca[_0xce8f('0x67')]=_0xbc14e3[_0xce8f('0x5f')]['id'];return _0x5755ca;});return db[_0xce8f('0x9e')]['bulkCreate'](_0xf24ca8,{'transaction':_0x3bee9c});});})[_0xce8f('0x23')](function(){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0xbc14e3[_0xce8f('0x5f')]['id']},'order':_0xce8f('0x9f')});});}})[_0xce8f('0x23')](respondWithResult(_0x42bc63,null))['catch'](handleError(_0x42bc63,null));};exports[_0xce8f('0xa0')]=function(_0x307eba,_0x17becb,_0xe15b5d){var _0x22c9ea={};var _0xa5c2de={};var _0x22115d;var _0x4c4c0c;return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x307eba[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x17becb,null))[_0xce8f('0x23')](function(_0x520446){if(_0x520446){_0x22115d=_0x520446;_0xa5c2de[_0xce8f('0x51')]=_['keys'](db[_0xce8f('0x9e')][_0xce8f('0x4a')]);_0xa5c2de[_0xce8f('0x4d')]=_[_0xce8f('0x4e')](_0x307eba['query']);_0xa5c2de[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0xa5c2de['model'],_0xa5c2de['query']);_0x22c9ea[_0xce8f('0x53')]=_[_0xce8f('0x50')](_0xa5c2de[_0xce8f('0x51')],qs['fields'](_0x307eba[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x22c9ea['attributes']=_0x22c9ea['attributes'][_0xce8f('0x54')]?_0x22c9ea[_0xce8f('0x53')]:_0xa5c2de[_0xce8f('0x51')];_0x22c9ea[_0xce8f('0x6c')]=qs['sort'](_0x307eba[_0xce8f('0x4d')][_0xce8f('0x57')]);_0x22c9ea[_0xce8f('0x58')]=qs[_0xce8f('0x4f')](_['pick'](_0x307eba[_0xce8f('0x4d')],_0xa5c2de[_0xce8f('0x4f')]));if(_0x307eba[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x22c9ea[_0xce8f('0x58')]=_[_0xce8f('0x6d')](_0x22c9ea['where'],{'$or':_[_0xce8f('0x48')](_0x22c9ea['attributes'],function(_0x490efc){var _0x565f92={};_0x565f92[_0x490efc]={'$like':'%'+_0x307eba[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x565f92;})});}_0x22c9ea=_[_0xce8f('0x6d')]({},_0x22c9ea,_0x307eba[_0xce8f('0x61')]);return _0x22115d[_0xce8f('0xa0')](_0x22c9ea);}})['then'](function(_0x2d6814){if(_0x2d6814){_0x4c4c0c=_0x2d6814[_0xce8f('0x54')];if(!_0x307eba[_0xce8f('0x4d')][_0xce8f('0x55')](_0xce8f('0x56'))){_0x22c9ea['limit']=qs[_0xce8f('0x33')](_0x307eba[_0xce8f('0x4d')]['limit']);_0x22c9ea['offset']=qs[_0xce8f('0x30')](_0x307eba[_0xce8f('0x4d')][_0xce8f('0x30')]);}return _0x22115d[_0xce8f('0xa0')](_0x22c9ea);}})['then'](function(_0x38afd8){if(_0x38afd8){return _0x38afd8?{'count':_0x4c4c0c,'rows':_0x38afd8}:null;}})[_0xce8f('0x23')](respondWithResult(_0x17becb,null))[_0xce8f('0x63')](handleError(_0x17becb,null));};exports[_0xce8f('0xa1')]=function(_0x528c78,_0x360a2a,_0x4b5784){var _0x3d8a8e={'raw':!![],'where':{}};var _0x133e11={};var _0x3d9abb={'count':0x0,'rows':[]};return db[_0xce8f('0x49')]['findOne']({'where':{'id':_0x528c78[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x360a2a,null))[_0xce8f('0x23')](function(_0x411516){if(_0x411516){_0x133e11[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0xa2')][_0xce8f('0x4a')]);_0x133e11[_0xce8f('0x4d')]=_['keys'](_0x528c78[_0xce8f('0x4d')]);_0x133e11[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0x133e11['model'],_0x133e11[_0xce8f('0x4d')]);_0x3d8a8e[_0xce8f('0x53')]=_[_0xce8f('0x50')](_0x133e11[_0xce8f('0x51')],qs[_0xce8f('0x52')](_0x528c78[_0xce8f('0x4d')][_0xce8f('0x52')]));_0x3d8a8e[_0xce8f('0x53')]=_0x3d8a8e[_0xce8f('0x53')][_0xce8f('0x54')]?_0x3d8a8e['attributes']:_0x133e11[_0xce8f('0x51')];if(!_0x528c78[_0xce8f('0x4d')][_0xce8f('0x55')]('nolimit')){_0x3d8a8e['limit']=qs[_0xce8f('0x33')](_0x528c78[_0xce8f('0x4d')]['limit']);_0x3d8a8e['offset']=qs[_0xce8f('0x30')](_0x528c78[_0xce8f('0x4d')][_0xce8f('0x30')]);}_0x3d8a8e[_0xce8f('0x6c')]=qs[_0xce8f('0x57')](_0x528c78[_0xce8f('0x4d')][_0xce8f('0x57')]);_0x3d8a8e['where']=qs[_0xce8f('0x4f')](_[_0xce8f('0x59')](_0x528c78[_0xce8f('0x4d')],_0x133e11[_0xce8f('0x4f')]));_0x3d8a8e[_0xce8f('0x58')][_0xce8f('0x67')]=_0x411516['id'];if(_0x528c78[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x3d8a8e['where']=_[_0xce8f('0x6d')](_0x3d8a8e['where'],{'$or':_[_0xce8f('0x48')](_0x3d8a8e[_0xce8f('0x53')],function(_0x4eeba2){var _0x1f3bc9={};_0x1f3bc9[_0x4eeba2]={'$like':'%'+_0x528c78[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x1f3bc9;})});}if(_0x528c78['query'][_0xce8f('0xa3')]){var _0x3411cf=_0x528c78[_0xce8f('0x4d')][_0xce8f('0xa3')][_0xce8f('0xa4')](',');var _0x4b4a38={};_0x4b4a38[_0x3411cf[0x0]]={'$gte':moment(_0x3411cf[0x1])[_0xce8f('0xa5')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3d8a8e[_0xce8f('0x58')]=_['merge'](_0x3d8a8e[_0xce8f('0x58')],_0x4b4a38);}_0x3d8a8e=_[_0xce8f('0x6d')]({},_0x3d8a8e,_0x528c78[_0xce8f('0x61')]);return db[_0xce8f('0xa2')][_0xce8f('0x32')]({'where':_0x3d8a8e[_0xce8f('0x58')]})[_0xce8f('0x23')](function(_0x274e68){_0x3d9abb[_0xce8f('0x32')]=_0x274e68;if(_0x528c78[_0xce8f('0x4d')][_0xce8f('0x5b')]){_0x3d8a8e[_0xce8f('0x5c')]=[{'all':!![]}];}return db[_0xce8f('0xa2')][_0xce8f('0x5d')](_0x3d8a8e);})[_0xce8f('0x23')](function(_0x156b94){if(_0x528c78['query'][_0xce8f('0xa6')]===_0xce8f('0xa7')){for(var _0x116b51=0x0;_0x116b51<_0x156b94[_0xce8f('0x54')];_0x116b51++){_0x156b94[_0x116b51][_0xce8f('0x64')]=juice(_0x156b94[_0x116b51]['body']);}}_0x3d9abb[_0xce8f('0x6e')]=_0x156b94;return _0x3d9abb;});}})[_0xce8f('0x23')](respondWithFilteredResult(_0x360a2a,_0x3d8a8e))['catch'](handleError(_0x360a2a,null));};exports[_0xce8f('0x41')]=function(_0x5e2a0a,_0x105333,_0x20a32a){var _0x4971fd,_0x4517a0={},_0x16d910;if(_0x5e2a0a['body']['to']){_0x16d910=_0x5e2a0a[_0xce8f('0x64')]['to'][_0xce8f('0xa4')](',')[0x0];}return db['MailAccount'][_0xce8f('0x62')]({'where':{'id':_0x5e2a0a['params']['id']},'include':[{'model':db['CmList'],'as':_0xce8f('0xa8'),'include':[{'model':db[_0xce8f('0x94')],'as':'Contacts','where':{'email':_0x16d910},'limit':0x1,'order':[['updatedAt',_0xce8f('0xa9')]]}]},{'model':db[_0xce8f('0x44')],'as':_0xce8f('0x45'),'raw':!![]}]})[_0xce8f('0x23')](handleEntityNotFound(_0x105333,null))[_0xce8f('0x23')](function(_0x59dea5){if(_0x59dea5){_0x4971fd=_0x59dea5;if(_0x59dea5[_0xce8f('0x45')]){if(_['isNil'](_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xaa')])){_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xaa')]=util[_0xce8f('0xa5')](_0xce8f('0xab'),_0x59dea5[_0xce8f('0x40')],_0x59dea5[_0xce8f('0x76')]||_0x59dea5[_0xce8f('0x45')]['user']);}if(_0x5e2a0a[_0xce8f('0x64')]['attachments']&&_0x5e2a0a['body'][_0xce8f('0xac')][_0xce8f('0x54')]){for(var _0x324b1b=0x0;_0x324b1b<_0x5e2a0a['body'][_0xce8f('0xac')]['length'];_0x324b1b+=0x1){_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xac')][_0x324b1b]={'filename':_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xac')][_0x324b1b]['name'],'path':path[_0xce8f('0xad')](config[_0xce8f('0xae')],_0xce8f('0xaf'),_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xac')][_0x324b1b][_0xce8f('0xb0')])};}}var _0x27423c={'tls':{'rejectUnauthorized':![]}};if(_[_0xce8f('0x7a')](_0x59dea5[_0xce8f('0x45')][_0xce8f('0x81')])){if(_0x59dea5[_0xce8f('0x45')][_0xce8f('0x7e')]){_0x27423c[_0xce8f('0xb1')]={'user':_0x59dea5['Smtp'][_0xce8f('0x83')],'pass':_0x59dea5[_0xce8f('0x45')][_0xce8f('0x85')]};}_0x27423c[_0xce8f('0x7f')]=_0x59dea5['Smtp']['host'];_0x27423c[_0xce8f('0x80')]=_0x59dea5['Smtp'][_0xce8f('0x80')];_0x27423c[_0xce8f('0xb2')]=_0x59dea5[_0xce8f('0x45')]['secure'];}else{_0x27423c[_0xce8f('0x81')]=_0x59dea5[_0xce8f('0x45')]['service'];_0x27423c['auth']={'user':_0x59dea5[_0xce8f('0x45')][_0xce8f('0x83')],'pass':_0x59dea5[_0xce8f('0x45')]['pass']};}return respondWithRpcPromise('SendMail',_0xce8f('0xb3'),{'account':_0x27423c,'message':_0x5e2a0a[_0xce8f('0x64')]});}else{throw new Error(_0xce8f('0xb4'));}}})[_0xce8f('0x23')](function(_0x6f491a){if(_0x6f491a){_0x4517a0=_0x6f491a;if(_0x4971fd[_0xce8f('0xa8')]){if(_0x4971fd['List'][_0xce8f('0xb5')]['length']){return _0x4971fd[_0xce8f('0xa8')]['Contacts'][0x0];}else{return db[_0xce8f('0x94')]['create'](_[_0xce8f('0x1b')](_0x5e2a0a['body'],{'firstName':_0x5e2a0a['body']['to'],'email':_0x5e2a0a['body']['to'],'phone':_0x5e2a0a['body']['to'],'ListId':_0x4971fd[_0xce8f('0x77')]}));}}else{throw new Error(_0xce8f('0xb4'));}}})[_0xce8f('0x23')](function(_0x58ec86){if(_0x58ec86){var _0x45db6b={'UserId':_0x5e2a0a[_0xce8f('0x83')]['id'],'ContactId':_0x58ec86['id'],'MailAccountId':_0x4971fd['id'],'inReplyTo':_0x4517a0['messageId'],'to':_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xaa')],'cc':_0x5e2a0a[_0xce8f('0x64')]['cc'],'subject':_0x5e2a0a['body'][_0xce8f('0xb6')],'attach':_0x5e2a0a[_0xce8f('0x64')]['attach'],'firstMsgDirection':_0xce8f('0xb7'),'lastMsgAt':moment()[_0xce8f('0xa5')](_0xce8f('0xb8')),'lastMsgDirection':_0xce8f('0xb7'),'Messages':[_[_0xce8f('0x6d')](_0x5e2a0a['body'],{'messageId':_0x4517a0[_0xce8f('0xb9')],'sentAt':moment()['format'](_0xce8f('0xb8')),'read':!![],'MailAccountId':_0x4971fd['id'],'UserId':_0x5e2a0a[_0xce8f('0x83')]['id'],'ContactId':_0x58ec86['id']})]};if(_0x5e2a0a['body'][_0xce8f('0xba')]){_0x45db6b=_[_0xce8f('0x6d')](_0x45db6b,_0x5e2a0a[_0xce8f('0x64')][_0xce8f('0xba')]);}return db[_0xce8f('0x91')][_0xce8f('0x69')](_0x45db6b,{'include':[{'model':db[_0xce8f('0xa2')],'as':_0xce8f('0xbb')}]});}})[_0xce8f('0x23')](respondWithResult(_0x105333,null))[_0xce8f('0x63')](handleError(_0x105333,null));};exports[_0xce8f('0xbc')]=function(_0x43d8f3,_0x359956,_0x1c4eb6){return db[_0xce8f('0x49')]['find']({'where':{'id':_0x43d8f3[_0xce8f('0x5f')]['id']},'include':[{'model':db[_0xce8f('0x44')],'as':_0xce8f('0x45'),'raw':!![]}]})[_0xce8f('0x23')](handleEntityNotFound(_0x359956,null))['then'](function(_0x1d437f){if(_0x1d437f&&_0x1d437f[_0xce8f('0x45')]){var _0x2e7c45={'id':_0x1d437f['id'],'tls':{'rejectUnauthorized':![]}};if(_0x1d437f['Smtp']['service']){_0x2e7c45[_0xce8f('0x81')]=_0x1d437f[_0xce8f('0x45')][_0xce8f('0x81')];}else{_0x2e7c45[_0xce8f('0x7f')]=_0x1d437f[_0xce8f('0x45')][_0xce8f('0x7f')];_0x2e7c45[_0xce8f('0x80')]=_0x1d437f[_0xce8f('0x45')][_0xce8f('0x80')];_0x2e7c45[_0xce8f('0xb2')]=_0x1d437f[_0xce8f('0x45')][_0xce8f('0xb2')];}if(_0x1d437f[_0xce8f('0x45')][_0xce8f('0x7e')]){_0x2e7c45['auth']={'user':_0x1d437f[_0xce8f('0x45')]['user'],'pass':_0x1d437f[_0xce8f('0x45')]['pass']};}return respondWithRpcPromise('VerifySmtp',_0xce8f('0xbc'),{'account':_0x2e7c45});}})[_0xce8f('0x23')](respondWithResult(_0x359956,null))['catch'](handleError(_0x359956,null));};exports[_0xce8f('0x3a')]=function(_0x44ec19,_0x32d859){return db[_0xce8f('0x49')][_0xce8f('0x62')]({'where':{'id':_0x44ec19[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x32d859,null))[_0xce8f('0x23')](function(_0x57f205){if(_0x57f205&&_0x57f205[_0xce8f('0x81')]){throw new db['Sequelize'][(_0xce8f('0xbd'))](_0xce8f('0xbe'));}return _0x57f205;})[_0xce8f('0x23')](removeEntity(_0x32d859,null))['catch'](handleError(_0x32d859,null));};exports['addAgents']=function(_0x4da021,_0x9a5c9f,_0x3d02e6){return db[_0xce8f('0x49')][_0xce8f('0x62')]({'where':{'id':_0x4da021[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x9a5c9f,null))[_0xce8f('0x23')](function(_0x377f2e){if(_0x377f2e){return _0x377f2e[_0xce8f('0xbf')](_0x4da021[_0xce8f('0x64')][_0xce8f('0x70')],_[_0xce8f('0xc0')](_0x4da021[_0xce8f('0x64')],['ids','id'])||{})[_0xce8f('0xc1')](function(_0x5e6ae3){for(var _0x326d26=0x0;_0x326d26<_0x4da021[_0xce8f('0x64')]['ids']['length'];_0x326d26+=0x1){socket[_0xce8f('0xc2')](_0xce8f('0xc3'),{'UserId':Number(_0x4da021[_0xce8f('0x64')][_0xce8f('0x70')][_0x326d26]),'MailAccountId':Number(_0x4da021[_0xce8f('0x5f')]['id'])});}return _0x5e6ae3;});}})['then'](respondWithResult(_0x9a5c9f,null))[_0xce8f('0x63')](handleError(_0x9a5c9f,null));};exports[_0xce8f('0xc4')]=function(_0x3dd780,_0x59e66e,_0x4668a6){return db[_0xce8f('0x49')][_0xce8f('0x62')]({'where':{'id':_0x3dd780[_0xce8f('0x5f')]['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x59e66e,null))['then'](function(_0x3bccc9){if(_0x3bccc9){return _0x3bccc9[_0xce8f('0xc4')](_0x3dd780[_0xce8f('0x4d')][_0xce8f('0x70')])[_0xce8f('0x23')](function(){if(_[_0xce8f('0xc5')](_0x3dd780[_0xce8f('0x4d')]['ids'])){for(var _0x298b26=0x0;_0x298b26<_0x3dd780[_0xce8f('0x4d')][_0xce8f('0x70')]['length'];_0x298b26+=0x1){socket[_0xce8f('0xc2')](_0xce8f('0xc6'),{'UserId':Number(_0x3dd780['query'][_0xce8f('0x70')][_0x298b26]),'MailAccountId':Number(_0x3dd780[_0xce8f('0x5f')]['id'])});}}else{socket[_0xce8f('0xc2')](_0xce8f('0xc6'),{'UserId':Number(_0x3dd780['query'][_0xce8f('0x70')]),'MailAccountId':Number(_0x3dd780[_0xce8f('0x5f')]['id'])});}});}})[_0xce8f('0x23')](respondWithStatusCode(_0x59e66e,null))[_0xce8f('0x63')](handleError(_0x59e66e,null));};exports['getAgents']=function(_0x3b99de,_0x50491,_0x44db0c){var _0x3ae454={};var _0x1dffb1={};var _0x54f84d;var _0x4b0224;return db[_0xce8f('0x49')][_0xce8f('0x6b')]({'where':{'id':_0x3b99de['params']['id']}})[_0xce8f('0x23')](handleEntityNotFound(_0x50491,null))['then'](function(_0x5e9604){if(_0x5e9604){_0x54f84d=_0x5e9604;_0x1dffb1[_0xce8f('0x51')]=_[_0xce8f('0x4e')](db[_0xce8f('0x96')][_0xce8f('0x4a')]);_0x1dffb1[_0xce8f('0x4d')]=_[_0xce8f('0x4e')](_0x3b99de[_0xce8f('0x4d')]);_0x1dffb1[_0xce8f('0x4f')]=_[_0xce8f('0x50')](_0x1dffb1[_0xce8f('0x51')],_0x1dffb1[_0xce8f('0x4d')]);_0x3ae454[_0xce8f('0x53')]=_['intersection'](_0x1dffb1['model'],qs[_0xce8f('0x52')](_0x3b99de['query'][_0xce8f('0x52')]));_0x3ae454['attributes']=_0x3ae454[_0xce8f('0x53')][_0xce8f('0x54')]?_0x3ae454[_0xce8f('0x53')]:_0x1dffb1['model'];_0x3ae454[_0xce8f('0x6c')]=qs[_0xce8f('0x57')](_0x3b99de[_0xce8f('0x4d')][_0xce8f('0x57')]);_0x3ae454[_0xce8f('0x58')]=qs['filters'](_['pick'](_0x3b99de[_0xce8f('0x4d')],_0x1dffb1[_0xce8f('0x4f')]));if(_0x3b99de[_0xce8f('0x4d')][_0xce8f('0x5a')]){_0x3ae454[_0xce8f('0x58')]=_[_0xce8f('0x6d')](_0x3ae454['where'],{'$or':_[_0xce8f('0x48')](_0x3ae454[_0xce8f('0x53')],function(_0x3eb1f0){var _0x307b39={};_0x307b39[_0x3eb1f0]={'$like':'%'+_0x3b99de[_0xce8f('0x4d')][_0xce8f('0x5a')]+'%'};return _0x307b39;})});}_0x3ae454=_[_0xce8f('0x6d')]({},_0x3ae454,_0x3b99de[_0xce8f('0x61')]);return _0x54f84d[_0xce8f('0xc7')](_0x3ae454);}})[_0xce8f('0x23')](function(_0x4344f7){if(_0x4344f7){_0x4b0224=_0x4344f7[_0xce8f('0x54')];if(!_0x3b99de[_0xce8f('0x4d')]['hasOwnProperty'](_0xce8f('0x56'))){_0x3ae454['limit']=qs[_0xce8f('0x33')](_0x3b99de[_0xce8f('0x4d')][_0xce8f('0x33')]);_0x3ae454['offset']=qs[_0xce8f('0x30')](_0x3b99de[_0xce8f('0x4d')][_0xce8f('0x30')]);}return _0x54f84d[_0xce8f('0xc7')](_0x3ae454);}})[_0xce8f('0x23')](function(_0xcc0c9f){if(_0xcc0c9f){return _0xcc0c9f?{'count':_0x4b0224,'rows':_0xcc0c9f}:null;}})[_0xce8f('0x23')](respondWithResult(_0x50491,null))[_0xce8f('0x63')](handleError(_0x50491,null));};