Built motion from commit (unavailable).|2.5.4
[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 _0xf028=['server/files/attachments','basename','auth','secure','sendMail','List\x20not\x20found','List','Contacts','ListId','messageId','subject','out','Interaction','Messages','verifySmtp','VerifySmtp','addAgents','spread','userMailAccount:save','removeAgents','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','./mailAccount.socket','http','test','Sequelize','ValidationError','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','get','end','name','send','MailServerIn','map','MailAccount','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','show','Imap','MailServerOut','Pause','mandatoryDispositionPause','rawAttributes','length','include','options','find','body','params','Smtp','addDisposition','MailAccountId','Disposition','create','pick','removeDispositions','CannedAnswer','getAnswers','findOne','removeAnswers','ids','isNil','active','description','cservice','cauthentication','user','password','pass','cpassword','authentication','port','host','service','cuser','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','CmList','from','%s\x20<%s>','email','attachments','root'];(function(_0x269fae,_0x1e837a){var _0x42ce36=function(_0x527ec5){while(--_0x527ec5){_0x269fae['push'](_0x269fae['shift']());}};_0x42ce36(++_0x1e837a);}(_0xf028,0x191));var _0x8f02=function(_0x3d5689,_0x49b074){_0x3d5689=_0x3d5689-0x0;var _0x4a82d3=_0xf028[_0x3d5689];return _0x4a82d3;};'use strict';var pdf=require(_0x8f02('0x0'));var emlformat=require(_0x8f02('0x1'));var rimraf=require(_0x8f02('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8f02('0x3'));var rp=require(_0x8f02('0x4'));var moment=require('moment');var BPromise=require(_0x8f02('0x5'));var Mustache=require('mustache');var util=require(_0x8f02('0x6'));var path=require(_0x8f02('0x7'));var sox=require(_0x8f02('0x8'));var csv=require(_0x8f02('0x9'));var ejs=require(_0x8f02('0xa'));var fs=require('fs');var _=require(_0x8f02('0xb'));var squel=require(_0x8f02('0xc'));var crypto=require(_0x8f02('0xd'));var jsforce=require(_0x8f02('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x8f02('0x9'));var querystring=require(_0x8f02('0xf'));var Papa=require(_0x8f02('0x10'));var Redis=require(_0x8f02('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x8f02('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x8f02('0x13'))(_0x8f02('0x14'));var utils=require('../../config/utils');var config=require(_0x8f02('0x15'));var db=require(_0x8f02('0x16'))['db'];config['redis']=_[_0x8f02('0x17')](config[_0x8f02('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x8f02('0x19'))(new Redis(config[_0x8f02('0x18')]));require(_0x8f02('0x1a'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x8f02('0x1b')]({'port':0x232b});function checkPasswordPattern(_0x5e8ad5,_0x3eea3d,_0x11ec07){if(_0x11ec07){var _0x199eba=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x199eba[_0x8f02('0x1c')](_0x3eea3d)){return _0x5e8ad5;}else{throw new db[(_0x8f02('0x1d'))][(_0x8f02('0x1e'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x5e8ad5;}}function respondWithRpcPromise(_0x1b46f7,_0x30828a,_0x342aec,_0x1c072b){return new BPromise(function(_0x57e8bc,_0x4cdbd4){var _0x505398=_0x1c072b||client;return _0x505398[_0x8f02('0x1f')](_0x1b46f7,_0x342aec)[_0x8f02('0x20')](function(_0x15dc3c){logger['info'](_0x8f02('0x21'),_0x30828a,_0x8f02('0x22'));logger[_0x8f02('0x23')](_0x8f02('0x24'),_0x30828a,'request\x20sent',JSON[_0x8f02('0x25')](_0x15dc3c));if(_0x15dc3c[_0x8f02('0x26')]){if(_0x15dc3c[_0x8f02('0x26')]['code']===0x1f4){logger[_0x8f02('0x26')]('MailAccount,\x20%s,\x20%s',_0x30828a,_0x15dc3c[_0x8f02('0x26')][_0x8f02('0x27')]);return _0x4cdbd4(_0x15dc3c[_0x8f02('0x26')]['message']);}logger[_0x8f02('0x26')](_0x8f02('0x21'),_0x30828a,_0x15dc3c[_0x8f02('0x26')][_0x8f02('0x27')]);return _0x57e8bc(_0x15dc3c[_0x8f02('0x26')]['message']);}else{logger['info'](_0x8f02('0x21'),_0x30828a,_0x8f02('0x22'));_0x57e8bc(_0x15dc3c[_0x8f02('0x28')][_0x8f02('0x27')]);}})[_0x8f02('0x29')](function(_0x1d44d5){logger['error'](_0x8f02('0x21'),_0x30828a,_0x1d44d5);_0x4cdbd4(_0x1d44d5);});});}function respondWithStatusCode(_0x185ee3,_0x3add4a){_0x3add4a=_0x3add4a||0xcc;return function(_0x5182d0){if(_0x5182d0){return _0x185ee3[_0x8f02('0x2a')](_0x3add4a);}return _0x185ee3[_0x8f02('0x2b')](_0x3add4a)['end']();};}function respondWithResult(_0x248fce,_0x405e42){_0x405e42=_0x405e42||0xc8;return function(_0x4218cd){if(_0x4218cd){return _0x248fce[_0x8f02('0x2b')](_0x405e42)[_0x8f02('0x2c')](_0x4218cd);}};}function respondWithFilteredResult(_0x146530,_0x1a3529){return function(_0x790ec){if(_0x790ec){var _0x210cc0=_0x790ec[_0x8f02('0x2d')],_0x2ab8bb=_0x1a3529['offset'],_0x195800=_0x1a3529[_0x8f02('0x2e')]+_0x1a3529[_0x8f02('0x2f')],_0x1411d9;if(_0x195800>=_0x210cc0){_0x195800=_0x210cc0;_0x1411d9=0xc8;}else{_0x1411d9=0xce;}_0x146530[_0x8f02('0x2b')](_0x1411d9);return _0x146530[_0x8f02('0x30')](_0x8f02('0x31'),_0x2ab8bb+'-'+_0x195800+'/'+_0x210cc0)['json'](_0x790ec);}return null;};}function patchUpdates(_0x43a0be){return function(_0x328b38){try{jsonpatch[_0x8f02('0x32')](_0x328b38,_0x43a0be,!![]);}catch(_0x59c3f6){return BPromise['reject'](_0x59c3f6);}return _0x328b38[_0x8f02('0x33')]();};}function saveUpdates(_0x3b0d5d,_0x5aee21){return function(_0x482f41){if(_0x482f41){return _0x482f41[_0x8f02('0x34')](_0x3b0d5d)[_0x8f02('0x20')](function(_0x16095f){return _0x16095f;});}return null;};}function removeEntity(_0x13d08d,_0x29a942){return function(_0x23908f){if(_0x23908f){return _0x23908f[_0x8f02('0x35')]()[_0x8f02('0x20')](function(){var _0x58e6c7=_0x23908f[_0x8f02('0x36')]({'plain':!![]});var _0x2809ae='MailAccounts';return db['UserProfileResource'][_0x8f02('0x35')]({'where':{'type':_0x2809ae,'resourceId':_0x58e6c7['id']}})[_0x8f02('0x20')](function(){return _0x23908f;});})['then'](function(){_0x13d08d[_0x8f02('0x2b')](0xcc)[_0x8f02('0x37')]();});}};}function handleEntityNotFound(_0x2ca378,_0xd65db3){return function(_0x5ee248){if(!_0x5ee248){_0x2ca378[_0x8f02('0x2a')](0x194);}return _0x5ee248;};}function handleError(_0x39ad13,_0x125272){_0x125272=_0x125272||0x1f4;return function(_0x5e0c4b){logger[_0x8f02('0x26')](_0x5e0c4b['stack']);if(_0x5e0c4b[_0x8f02('0x38')]){delete _0x5e0c4b[_0x8f02('0x38')];}_0x39ad13[_0x8f02('0x2b')](_0x125272)[_0x8f02('0x39')](_0x5e0c4b);};}exports['index']=function(_0xd7f01c,_0xdb8675){var _0x32e85b={'include':[{'model':db[_0x8f02('0x3a')],'as':'Imap'},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x13ef96={},_0x187d52={'count':0x0,'rows':[]};var _0x5b6e81=_[_0x8f02('0x3b')](db[_0x8f02('0x3c')]['rawAttributes'],function(_0x192615){return{'name':_0x192615['fieldName'],'type':_0x192615[_0x8f02('0x3d')][_0x8f02('0x3e')]};});_0x13ef96[_0x8f02('0x3f')]=_[_0x8f02('0x3b')](_0x5b6e81,'name');_0x13ef96[_0x8f02('0x40')]=_[_0x8f02('0x41')](_0xd7f01c[_0x8f02('0x40')]);_0x13ef96[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0x13ef96[_0x8f02('0x3f')],_0x13ef96[_0x8f02('0x40')]);_0x32e85b[_0x8f02('0x44')]=_[_0x8f02('0x43')](_0x13ef96[_0x8f02('0x3f')],qs[_0x8f02('0x45')](_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x45')]));_0x32e85b['attributes']=_0x32e85b['attributes']['length']?_0x32e85b[_0x8f02('0x44')]:_0x13ef96['model'];if(!_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x46')](_0x8f02('0x47'))){_0x32e85b['limit']=qs[_0x8f02('0x2f')](_0xd7f01c['query'][_0x8f02('0x2f')]);_0x32e85b[_0x8f02('0x2e')]=qs[_0x8f02('0x2e')](_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x2e')]);}_0x32e85b[_0x8f02('0x48')]=qs['sort'](_0xd7f01c['query'][_0x8f02('0x49')]);_0x32e85b[_0x8f02('0x4a')]=qs['filters'](_['pick'](_0xd7f01c[_0x8f02('0x40')],_0x13ef96[_0x8f02('0x42')]),_0x5b6e81);if(_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x4b')]){_0x32e85b['where']=_[_0x8f02('0x4c')](_0x32e85b['where'],{'$or':_['map'](_0x5b6e81,function(_0x4eebac){if(_0x4eebac[_0x8f02('0x3d')]!==_0x8f02('0x4d')){var _0x38ebb0={};_0x38ebb0[_0x4eebac[_0x8f02('0x38')]]={'$like':'%'+_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x4b')]+'%'};return _0x38ebb0;}})});}_0x32e85b=_[_0x8f02('0x4c')]({},_0x32e85b,_0xd7f01c['options']);var _0x46dbbc={'where':_0x32e85b[_0x8f02('0x4a')]};return db[_0x8f02('0x3c')]['count'](_0x46dbbc)[_0x8f02('0x20')](function(_0x1d7e31){_0x187d52[_0x8f02('0x2d')]=_0x1d7e31;if(_0xd7f01c[_0x8f02('0x40')][_0x8f02('0x4e')]){_0x32e85b['include']=[{'all':!![]}];}return db[_0x8f02('0x3c')][_0x8f02('0x4f')](_0x32e85b);})[_0x8f02('0x20')](function(_0x2cef9e){_0x187d52[_0x8f02('0x50')]=_0x2cef9e;return _0x187d52;})[_0x8f02('0x20')](respondWithFilteredResult(_0xdb8675,_0x32e85b))['catch'](handleError(_0xdb8675,null));};exports[_0x8f02('0x51')]=function(_0x2e599c,_0x3394e1){var _0xdbd7a8={'raw':![],'where':{'id':_0x2e599c['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0x8f02('0x52')},{'model':db[_0x8f02('0x53')],'as':'Smtp'},{'model':db[_0x8f02('0x54')],'as':_0x8f02('0x55')}]},_0x3cbe1f={};_0x3cbe1f[_0x8f02('0x3f')]=_[_0x8f02('0x41')](db[_0x8f02('0x3c')][_0x8f02('0x56')]);_0x3cbe1f[_0x8f02('0x40')]=_[_0x8f02('0x41')](_0x2e599c[_0x8f02('0x40')]);_0x3cbe1f[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0x3cbe1f[_0x8f02('0x3f')],_0x3cbe1f[_0x8f02('0x40')]);_0xdbd7a8['attributes']=_[_0x8f02('0x43')](_0x3cbe1f['model'],qs['fields'](_0x2e599c[_0x8f02('0x40')][_0x8f02('0x45')]));_0xdbd7a8[_0x8f02('0x44')]=_0xdbd7a8[_0x8f02('0x44')][_0x8f02('0x57')]?_0xdbd7a8[_0x8f02('0x44')]:_0x3cbe1f[_0x8f02('0x3f')];if(_0x2e599c[_0x8f02('0x40')][_0x8f02('0x4e')]){_0xdbd7a8[_0x8f02('0x58')]=[{'all':!![]}];}_0xdbd7a8=_[_0x8f02('0x4c')]({},_0xdbd7a8,_0x2e599c[_0x8f02('0x59')]);return db[_0x8f02('0x3c')][_0x8f02('0x5a')](_0xdbd7a8)[_0x8f02('0x20')](handleEntityNotFound(_0x3394e1,null))[_0x8f02('0x20')](respondWithResult(_0x3394e1,null))[_0x8f02('0x29')](handleError(_0x3394e1,null));};exports[_0x8f02('0x34')]=function(_0x5561f5,_0x4b2d5e){if(_0x5561f5[_0x8f02('0x5b')]['id']){delete _0x5561f5['body']['id'];}return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x5561f5[_0x8f02('0x5c')]['id']},'include':[{'model':db[_0x8f02('0x3a')],'as':_0x8f02('0x52')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x8f02('0x54')],'as':'mandatoryDispositionPause'}]})[_0x8f02('0x20')](handleEntityNotFound(_0x4b2d5e,null))[_0x8f02('0x20')](saveUpdates(_0x5561f5[_0x8f02('0x5b')],null))[_0x8f02('0x20')](function(_0x4f04d2){if(_0x4f04d2&&_0x5561f5['body'][_0x8f02('0x52')]){return db[_0x8f02('0x3a')][_0x8f02('0x34')](_0x5561f5['body'][_0x8f02('0x52')],{'where':{'MailAccountId':_0x4f04d2['id']}})[_0x8f02('0x20')](function(){return _0x4f04d2;});}return _0x4f04d2;})[_0x8f02('0x20')](function(_0x12c020){if(_0x12c020&&_0x5561f5[_0x8f02('0x5b')]['Smtp']){return db[_0x8f02('0x53')]['update'](_0x5561f5[_0x8f02('0x5b')][_0x8f02('0x5d')],{'where':{'MailAccountId':_0x12c020['id']}})[_0x8f02('0x20')](function(){return _0x12c020;});}return _0x12c020;})['then'](respondWithResult(_0x4b2d5e,null))[_0x8f02('0x29')](handleError(_0x4b2d5e,null));};exports['describe']=function(_0x2534f2,_0x4ca779){return db[_0x8f02('0x3c')]['describe']()[_0x8f02('0x20')](respondWithResult(_0x4ca779,null))[_0x8f02('0x29')](handleError(_0x4ca779,null));};exports[_0x8f02('0x5e')]=function(_0x1ee37c,_0x3ef3ce,_0x2bc62e){if(_0x1ee37c[_0x8f02('0x5b')]['id']){delete _0x1ee37c[_0x8f02('0x5b')]['id'];}return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x1ee37c[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x3ef3ce,null))[_0x8f02('0x20')](function(_0x2a06d3){if(_0x2a06d3){_0x1ee37c[_0x8f02('0x5b')][_0x8f02('0x5f')]=_0x2a06d3['id'];return db[_0x8f02('0x60')][_0x8f02('0x61')](_0x1ee37c['body']);}})['then'](respondWithResult(_0x3ef3ce,null))['catch'](handleError(_0x3ef3ce,null));};exports['getDispositions']=function(_0x25e6dd,_0x4e0ce9,_0x27bf80){var _0x3d6841={'raw':![],'where':{}};var _0x2b0118={};var _0x27b0e4={'count':0x0,'rows':[]};return db[_0x8f02('0x3c')]['findOne']({'where':{'id':_0x25e6dd[_0x8f02('0x5c')]['id']}})['then'](handleEntityNotFound(_0x4e0ce9,null))['then'](function(_0x1571c1){if(_0x1571c1){_0x2b0118[_0x8f02('0x3f')]=_['keys'](db[_0x8f02('0x60')]['rawAttributes']);_0x2b0118['query']=_['keys'](_0x25e6dd[_0x8f02('0x40')]);_0x2b0118['filters']=_[_0x8f02('0x43')](_0x2b0118['model'],_0x2b0118[_0x8f02('0x40')]);_0x3d6841[_0x8f02('0x44')]=_[_0x8f02('0x43')](_0x2b0118[_0x8f02('0x3f')],qs[_0x8f02('0x45')](_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x45')]));_0x3d6841[_0x8f02('0x44')]=_0x3d6841[_0x8f02('0x44')][_0x8f02('0x57')]?_0x3d6841[_0x8f02('0x44')]:_0x2b0118['model'];if(!_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x46')](_0x8f02('0x47'))){_0x3d6841[_0x8f02('0x2f')]=qs[_0x8f02('0x2f')](_0x25e6dd[_0x8f02('0x40')]['limit']);_0x3d6841[_0x8f02('0x2e')]=qs[_0x8f02('0x2e')](_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x2e')]);}_0x3d6841[_0x8f02('0x48')]=qs[_0x8f02('0x49')](_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x49')]);_0x3d6841[_0x8f02('0x4a')]=qs[_0x8f02('0x42')](_[_0x8f02('0x62')](_0x25e6dd[_0x8f02('0x40')],_0x2b0118['filters']));_0x3d6841[_0x8f02('0x4a')]['MailAccountId']=_0x1571c1['id'];if(_0x25e6dd['query'][_0x8f02('0x4b')]){_0x3d6841['where']=_['merge'](_0x3d6841['where'],{'$or':_[_0x8f02('0x3b')](_0x3d6841[_0x8f02('0x44')],function(_0x187235){var _0x59f65f={};_0x59f65f[_0x187235]={'$like':'%'+_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x4b')]+'%'};return _0x59f65f;})});}_0x3d6841=_[_0x8f02('0x4c')]({},_0x3d6841,_0x25e6dd['options']);return db[_0x8f02('0x60')][_0x8f02('0x2d')]({'where':_0x3d6841[_0x8f02('0x4a')]})['then'](function(_0x2e3425){_0x27b0e4[_0x8f02('0x2d')]=_0x2e3425;if(_0x25e6dd[_0x8f02('0x40')][_0x8f02('0x4e')]){_0x3d6841[_0x8f02('0x58')]=[{'all':!![]}];}return db[_0x8f02('0x60')][_0x8f02('0x4f')](_0x3d6841);})[_0x8f02('0x20')](function(_0x597c18){_0x27b0e4[_0x8f02('0x50')]=_0x597c18;return _0x27b0e4;});}})['then'](respondWithFilteredResult(_0x4e0ce9,_0x3d6841))[_0x8f02('0x29')](handleError(_0x4e0ce9,null));};exports[_0x8f02('0x63')]=function(_0x590838,_0x209a50,_0x54429c){return db[_0x8f02('0x3c')]['find']({'where':{'id':_0x590838[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x209a50,null))['then'](function(_0x1ef480){if(_0x1ef480){return _0x1ef480[_0x8f02('0x63')](_0x590838[_0x8f02('0x40')]['ids']);}})[_0x8f02('0x20')](respondWithStatusCode(_0x209a50,null))[_0x8f02('0x29')](handleError(_0x209a50,null));};exports['addAnswer']=function(_0x27e2fa,_0x450b8a,_0xcac022){if(_0x27e2fa[_0x8f02('0x5b')]['id']){delete _0x27e2fa[_0x8f02('0x5b')]['id'];}return db[_0x8f02('0x3c')]['find']({'where':{'id':_0x27e2fa[_0x8f02('0x5c')]['id']}})['then'](handleEntityNotFound(_0x450b8a,null))[_0x8f02('0x20')](function(_0x39cb14){if(_0x39cb14){_0x27e2fa[_0x8f02('0x5b')][_0x8f02('0x5f')]=_0x39cb14['id'];return db[_0x8f02('0x64')][_0x8f02('0x61')](_0x27e2fa[_0x8f02('0x5b')]);}})['then'](respondWithResult(_0x450b8a,null))['catch'](handleError(_0x450b8a,null));};exports[_0x8f02('0x65')]=function(_0x3987f6,_0x503d8f,_0x54a5f6){var _0xc7247a={'raw':![],'where':{}};var _0x1da4f2={};var _0x412e52={'count':0x0,'rows':[]};return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x3987f6[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x503d8f,null))[_0x8f02('0x20')](function(_0x136e20){if(_0x136e20){_0x1da4f2[_0x8f02('0x3f')]=_[_0x8f02('0x41')](db[_0x8f02('0x64')][_0x8f02('0x56')]);_0x1da4f2['query']=_[_0x8f02('0x41')](_0x3987f6[_0x8f02('0x40')]);_0x1da4f2[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0x1da4f2[_0x8f02('0x3f')],_0x1da4f2['query']);_0xc7247a[_0x8f02('0x44')]=_[_0x8f02('0x43')](_0x1da4f2[_0x8f02('0x3f')],qs[_0x8f02('0x45')](_0x3987f6[_0x8f02('0x40')][_0x8f02('0x45')]));_0xc7247a[_0x8f02('0x44')]=_0xc7247a[_0x8f02('0x44')][_0x8f02('0x57')]?_0xc7247a['attributes']:_0x1da4f2['model'];if(!_0x3987f6[_0x8f02('0x40')][_0x8f02('0x46')](_0x8f02('0x47'))){_0xc7247a['limit']=qs['limit'](_0x3987f6[_0x8f02('0x40')][_0x8f02('0x2f')]);_0xc7247a['offset']=qs['offset'](_0x3987f6[_0x8f02('0x40')][_0x8f02('0x2e')]);}_0xc7247a[_0x8f02('0x48')]=qs[_0x8f02('0x49')](_0x3987f6[_0x8f02('0x40')][_0x8f02('0x49')]);_0xc7247a[_0x8f02('0x4a')]=qs[_0x8f02('0x42')](_['pick'](_0x3987f6['query'],_0x1da4f2['filters']));_0xc7247a[_0x8f02('0x4a')][_0x8f02('0x5f')]=_0x136e20['id'];if(_0x3987f6[_0x8f02('0x40')][_0x8f02('0x4b')]){_0xc7247a[_0x8f02('0x4a')]=_[_0x8f02('0x4c')](_0xc7247a[_0x8f02('0x4a')],{'$or':_[_0x8f02('0x3b')](_0xc7247a[_0x8f02('0x44')],function(_0x1e085f){var _0x57f8c8={};_0x57f8c8[_0x1e085f]={'$like':'%'+_0x3987f6['query'][_0x8f02('0x4b')]+'%'};return _0x57f8c8;})});}_0xc7247a=_[_0x8f02('0x4c')]({},_0xc7247a,_0x3987f6['options']);return db[_0x8f02('0x64')][_0x8f02('0x2d')]({'where':_0xc7247a[_0x8f02('0x4a')]})['then'](function(_0x5a082c){_0x412e52[_0x8f02('0x2d')]=_0x5a082c;if(_0x3987f6[_0x8f02('0x40')]['includeAll']){_0xc7247a[_0x8f02('0x58')]=[{'all':!![]}];}return db[_0x8f02('0x64')]['findAll'](_0xc7247a);})[_0x8f02('0x20')](function(_0x452951){_0x412e52[_0x8f02('0x50')]=_0x452951;return _0x412e52;});}})[_0x8f02('0x20')](respondWithFilteredResult(_0x503d8f,_0xc7247a))['catch'](handleError(_0x503d8f,null));};exports[_0x8f02('0x67')]=function(_0x2df9ee,_0x31ab02,_0x5beb05){return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x2df9ee['params']['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x31ab02,null))[_0x8f02('0x20')](function(_0x45db83){if(_0x45db83){return _0x45db83['removeAnswers'](_0x2df9ee[_0x8f02('0x40')][_0x8f02('0x68')]);}})[_0x8f02('0x20')](respondWithStatusCode(_0x31ab02,null))[_0x8f02('0x29')](handleError(_0x31ab02,null));};exports['create']=function(_0xe9c0ba,_0x2562e8){var _0xe5ee91={'name':_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x38')],'key':_0xe9c0ba['body'][_0x8f02('0x3e')],'email':_0xe9c0ba[_0x8f02('0x5b')]['email'],'ListId':_0xe9c0ba[_0x8f02('0x5b')]['ListId'],'active':!_[_0x8f02('0x69')](_0xe9c0ba['body'][_0x8f02('0x6a')])?_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x6a')]:!![],'description':_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x6b')]||null,'Imap':{},'Smtp':{}};if(_[_0x8f02('0x69')](_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x6c')])){if(_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x6d')]){_0xe5ee91[_0x8f02('0x52')][_0x8f02('0x6e')]=_0xe5ee91['Smtp'][_0x8f02('0x6e')]=_0xe9c0ba[_0x8f02('0x5b')]['cuser'];_0xe5ee91['Imap'][_0x8f02('0x6f')]=_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x70')]=_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x71')];}else{_0xe5ee91[_0x8f02('0x52')]['authentication']=_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x72')]=![];}_0xe5ee91['Imap']['host']=_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x52')]['host'];_0xe5ee91[_0x8f02('0x52')][_0x8f02('0x73')]=_0xe9c0ba['body'][_0x8f02('0x52')][_0x8f02('0x73')];_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x74')]=_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x5d')]['host'];_0xe5ee91[_0x8f02('0x5d')]['port']=_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x5d')][_0x8f02('0x73')];}else{_0xe5ee91[_0x8f02('0x52')][_0x8f02('0x75')]=_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x75')]=_0xe9c0ba[_0x8f02('0x5b')][_0x8f02('0x6c')];_0xe5ee91[_0x8f02('0x52')][_0x8f02('0x6e')]=_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x6e')]=_0xe9c0ba['body'][_0x8f02('0x76')];_0xe5ee91[_0x8f02('0x52')]['password']=_0xe5ee91[_0x8f02('0x5d')][_0x8f02('0x70')]=_0xe9c0ba[_0x8f02('0x5b')]['cpassword'];}return db['MailAccount'][_0x8f02('0x61')](_0xe5ee91,{'include':[{'model':db[_0x8f02('0x53')],'as':_0x8f02('0x5d')},{'model':db[_0x8f02('0x3a')],'as':_0x8f02('0x52')}]})['then'](function(_0x5bef88){var _0x305946=_0xe9c0ba[_0x8f02('0x6e')]['get']({'plain':!![]});if(!_0x305946)throw new Error(_0x8f02('0x77'));if(_0x305946[_0x8f02('0x78')]===_0x8f02('0x6e')){var _0x51bbce=_0x5bef88[_0x8f02('0x36')]({'plain':!![]});return db[_0x8f02('0x79')]['find']({'where':{'name':_0x8f02('0x7a'),'userProfileId':_0x305946['userProfileId']},'raw':!![]})['then'](function(_0x3ffa98){if(_0x3ffa98&&_0x3ffa98[_0x8f02('0x7b')]===0x0){return db[_0x8f02('0x7c')][_0x8f02('0x61')]({'name':_0x51bbce['name'],'resourceId':_0x51bbce['id'],'type':_0x3ffa98[_0x8f02('0x38')],'sectionId':_0x3ffa98['id']},{})[_0x8f02('0x20')](function(){return _0x5bef88;});}else{return _0x5bef88;}})[_0x8f02('0x29')](function(_0x49467e){logger[_0x8f02('0x26')](_0x8f02('0x7d'),_0x49467e);throw _0x49467e;});}return _0x5bef88;})['then'](respondWithResult(_0x2562e8,0xc9))[_0x8f02('0x29')](handleError(_0x2562e8,null));};exports['getImap']=function(_0x1888ea,_0xc98555,_0x12660d){return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x1888ea[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0xc98555,null))[_0x8f02('0x20')](function(_0x381be0){if(_0x381be0){return _0x381be0[_0x8f02('0x7e')]();}return null;})[_0x8f02('0x20')](respondWithResult(_0xc98555,null))[_0x8f02('0x29')](handleError(_0xc98555,null));};exports[_0x8f02('0x7f')]=function(_0x208c47,_0x22f065,_0x157427){if(_0x208c47[_0x8f02('0x5b')]['id']){delete _0x208c47[_0x8f02('0x5b')]['id'];}return db[_0x8f02('0x3c')]['find']({'where':{'id':_0x208c47[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x22f065,null))['then'](function(_0xa2267a){if(_0xa2267a){_0x208c47[_0x8f02('0x5b')][_0x8f02('0x5f')]=_0xa2267a['id'];return db[_0x8f02('0x3a')]['create'](_0x208c47[_0x8f02('0x5b')]);}})[_0x8f02('0x20')](respondWithResult(_0x22f065,null))[_0x8f02('0x29')](handleError(_0x22f065,null));};exports['removeImap']=function(_0x38ed59,_0x179508,_0x469aae){return db[_0x8f02('0x3c')]['findOne']({'where':{'id':_0x38ed59[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x179508,null))[_0x8f02('0x20')](function(_0x773dde){if(_0x773dde){return _0x773dde[_0x8f02('0x80')](null);}return null;})[_0x8f02('0x20')](respondWithStatusCode(_0x179508,null))[_0x8f02('0x29')](handleError(_0x179508,null));};exports[_0x8f02('0x81')]=function(_0x5da07e,_0x182738,_0x224f32){return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x5da07e[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x182738,null))['then'](function(_0x32fa2b){if(_0x32fa2b){return _0x32fa2b['getSmtp']();}return null;})[_0x8f02('0x20')](respondWithResult(_0x182738,null))[_0x8f02('0x29')](handleError(_0x182738,null));};exports[_0x8f02('0x82')]=function(_0x47b332,_0x20dba7,_0xaa8156){if(_0x47b332['body']['id']){delete _0x47b332[_0x8f02('0x5b')]['id'];}return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x47b332['params']['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x20dba7,null))['then'](function(_0x14ff81){if(_0x14ff81){_0x47b332[_0x8f02('0x5b')][_0x8f02('0x5f')]=_0x14ff81['id'];return db[_0x8f02('0x53')][_0x8f02('0x61')](_0x47b332[_0x8f02('0x5b')]);}})[_0x8f02('0x20')](respondWithResult(_0x20dba7,null))['catch'](handleError(_0x20dba7,null));};exports[_0x8f02('0x83')]=function(_0x5e6362,_0x13a9a0,_0x49b64f){return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x5e6362[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x13a9a0,null))[_0x8f02('0x20')](function(_0x562009){if(_0x562009){return _0x562009[_0x8f02('0x84')](null);}return null;})['then'](respondWithStatusCode(_0x13a9a0,null))[_0x8f02('0x29')](handleError(_0x13a9a0,null));};exports[_0x8f02('0x85')]=function(_0x255ff1,_0x294e74,_0x4abcc7){return db[_0x8f02('0x86')][_0x8f02('0x5a')]({'where':{'id':_0x255ff1[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x294e74,null))[_0x8f02('0x20')](function(_0x25eeea){if(_0x25eeea){return _0x25eeea['addInteraction'](_0x255ff1[_0x8f02('0x5b')][_0x8f02('0x68')],_[_0x8f02('0x87')](_0x255ff1[_0x8f02('0x5b')],[_0x8f02('0x68'),'id'])||{});}})[_0x8f02('0x20')](respondWithResult(_0x294e74,null))[_0x8f02('0x29')](handleError(_0x294e74,null));};exports[_0x8f02('0x88')]=function(_0x40b69e,_0x4e1441,_0x16439d){var _0x32a5a9={'raw':![],'where':{}};var _0xf273ad={};var _0x15d1ac={'count':0x0,'rows':[]};return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x40b69e[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x4e1441,null))[_0x8f02('0x20')](function(_0x3e0d5e){if(_0x3e0d5e){_0xf273ad[_0x8f02('0x3f')]=_[_0x8f02('0x41')](db[_0x8f02('0x86')][_0x8f02('0x56')]);_0xf273ad[_0x8f02('0x40')]=_[_0x8f02('0x41')](_0x40b69e['query']);_0xf273ad['filters']=_['intersection'](_0xf273ad[_0x8f02('0x3f')],_0xf273ad['query']);_0x32a5a9[_0x8f02('0x44')]=_[_0x8f02('0x43')](_0xf273ad['model'],qs[_0x8f02('0x45')](_0x40b69e['query'][_0x8f02('0x45')]));_0x32a5a9[_0x8f02('0x44')]=_0x32a5a9[_0x8f02('0x44')]['length']?_0x32a5a9[_0x8f02('0x44')]:_0xf273ad[_0x8f02('0x3f')];if(!_0x40b69e['query']['hasOwnProperty'](_0x8f02('0x47'))){_0x32a5a9[_0x8f02('0x2f')]=qs[_0x8f02('0x2f')](_0x40b69e[_0x8f02('0x40')][_0x8f02('0x2f')]);_0x32a5a9[_0x8f02('0x2e')]=qs[_0x8f02('0x2e')](_0x40b69e[_0x8f02('0x40')][_0x8f02('0x2e')]);}_0x32a5a9[_0x8f02('0x48')]=qs[_0x8f02('0x49')](_0x40b69e[_0x8f02('0x40')][_0x8f02('0x49')]);_0x32a5a9[_0x8f02('0x4a')]=qs[_0x8f02('0x42')](_[_0x8f02('0x62')](_0x40b69e[_0x8f02('0x40')],_0xf273ad[_0x8f02('0x42')]));_0x32a5a9['where'][_0x8f02('0x5f')]=_0x3e0d5e['id'];if(_0x40b69e[_0x8f02('0x40')][_0x8f02('0x4b')]){_0x32a5a9['where']=_[_0x8f02('0x4c')](_0x32a5a9[_0x8f02('0x4a')],{'$or':_[_0x8f02('0x3b')](_0x32a5a9[_0x8f02('0x44')],function(_0x2ff966){var _0x4d6630={};_0x4d6630[_0x2ff966]={'$like':'%'+_0x40b69e[_0x8f02('0x40')]['filter']+'%'};return _0x4d6630;})});}_0x32a5a9=_['merge']({},_0x32a5a9,_0x40b69e['options']);return db['MailInteraction']['count']({'where':_0x32a5a9[_0x8f02('0x4a')]})[_0x8f02('0x20')](function(_0x457dc6){_0x15d1ac['count']=_0x457dc6;if(_0x40b69e[_0x8f02('0x40')][_0x8f02('0x4e')]){_0x32a5a9['include']=[{'model':db[_0x8f02('0x89')],'as':'Contact','required':![]},{'model':db[_0x8f02('0x8a')],'as':_0x8f02('0x8b'),'attributes':[_0x8f02('0x38'),_0x8f02('0x8c'),_0x8f02('0x8d')],'required':![]},{'model':db[_0x8f02('0x8e')],'as':_0x8f02('0x8f'),'attributes':['id',_0x8f02('0x38'),_0x8f02('0x90')],'where':_0x40b69e[_0x8f02('0x40')][_0x8f02('0x91')]?{'id':_0x40b69e[_0x8f02('0x40')][_0x8f02('0x91')]}:undefined,'required':_0x40b69e[_0x8f02('0x40')]['tag']?!![]:![]}];}return db['MailInteraction']['findAll'](_0x32a5a9);})[_0x8f02('0x20')](function(_0x19d0c4){_0x15d1ac[_0x8f02('0x50')]=_0x19d0c4;return _0x15d1ac;});}})[_0x8f02('0x20')](respondWithFilteredResult(_0x4e1441,_0x32a5a9))[_0x8f02('0x29')](handleError(_0x4e1441,null));};exports[_0x8f02('0x92')]=function(_0x5c51e8,_0x5d3cca,_0x44e30a){return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x5c51e8['params']['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x5d3cca,null))[_0x8f02('0x20')](function(_0x10d1fe){if(_0x10d1fe){return db[_0x8f02('0x93')][_0x8f02('0x94')](function(_0x534d07){return db[_0x8f02('0x95')][_0x8f02('0x35')]({'where':{'MailAccountId':_0x5c51e8[_0x8f02('0x5c')]['id']},'transaction':_0x534d07})[_0x8f02('0x20')](function(_0x5dd5d4){var _0xe4dc71=_[_0x8f02('0x3b')](_0x5c51e8[_0x8f02('0x5b')],function(_0x177358){_0x177358['MailAccountId']=_0x5c51e8[_0x8f02('0x5c')]['id'];return _0x177358;});return db['MailApplication'][_0x8f02('0x96')](_0xe4dc71,{'transaction':_0x534d07});});})[_0x8f02('0x20')](function(){return db[_0x8f02('0x95')][_0x8f02('0x97')]({'where':{'MailAccountId':_0x5c51e8['params']['id']},'order':_0x8f02('0x98')});});}})[_0x8f02('0x20')](respondWithResult(_0x5d3cca,null))[_0x8f02('0x29')](handleError(_0x5d3cca,null));};exports[_0x8f02('0x99')]=function(_0x2f3e86,_0x22c1c2,_0x509597){var _0x58a19c={};var _0x295ff7={};var _0x287cca;var _0x2f6fd0;return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x2f3e86[_0x8f02('0x5c')]['id']}})['then'](handleEntityNotFound(_0x22c1c2,null))[_0x8f02('0x20')](function(_0x1739c8){if(_0x1739c8){_0x287cca=_0x1739c8;_0x295ff7[_0x8f02('0x3f')]=_[_0x8f02('0x41')](db[_0x8f02('0x95')][_0x8f02('0x56')]);_0x295ff7[_0x8f02('0x40')]=_['keys'](_0x2f3e86['query']);_0x295ff7[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0x295ff7[_0x8f02('0x3f')],_0x295ff7[_0x8f02('0x40')]);_0x58a19c[_0x8f02('0x44')]=_['intersection'](_0x295ff7[_0x8f02('0x3f')],qs[_0x8f02('0x45')](_0x2f3e86['query'][_0x8f02('0x45')]));_0x58a19c[_0x8f02('0x44')]=_0x58a19c[_0x8f02('0x44')][_0x8f02('0x57')]?_0x58a19c[_0x8f02('0x44')]:_0x295ff7['model'];_0x58a19c[_0x8f02('0x48')]=qs[_0x8f02('0x49')](_0x2f3e86[_0x8f02('0x40')][_0x8f02('0x49')]);_0x58a19c[_0x8f02('0x4a')]=qs[_0x8f02('0x42')](_[_0x8f02('0x62')](_0x2f3e86['query'],_0x295ff7['filters']));if(_0x2f3e86[_0x8f02('0x40')]['filter']){_0x58a19c[_0x8f02('0x4a')]=_['merge'](_0x58a19c[_0x8f02('0x4a')],{'$or':_[_0x8f02('0x3b')](_0x58a19c[_0x8f02('0x44')],function(_0x1edf24){var _0xbb9396={};_0xbb9396[_0x1edf24]={'$like':'%'+_0x2f3e86[_0x8f02('0x40')][_0x8f02('0x4b')]+'%'};return _0xbb9396;})});}_0x58a19c=_['merge']({},_0x58a19c,_0x2f3e86[_0x8f02('0x59')]);return _0x287cca[_0x8f02('0x99')](_0x58a19c);}})[_0x8f02('0x20')](function(_0x3aabdf){if(_0x3aabdf){_0x2f6fd0=_0x3aabdf[_0x8f02('0x57')];if(!_0x2f3e86['query'][_0x8f02('0x46')]('nolimit')){_0x58a19c[_0x8f02('0x2f')]=qs[_0x8f02('0x2f')](_0x2f3e86[_0x8f02('0x40')][_0x8f02('0x2f')]);_0x58a19c[_0x8f02('0x2e')]=qs[_0x8f02('0x2e')](_0x2f3e86[_0x8f02('0x40')][_0x8f02('0x2e')]);}return _0x287cca[_0x8f02('0x99')](_0x58a19c);}})[_0x8f02('0x20')](function(_0x581bd8){if(_0x581bd8){return _0x581bd8?{'count':_0x2f6fd0,'rows':_0x581bd8}:null;}})[_0x8f02('0x20')](respondWithResult(_0x22c1c2,null))[_0x8f02('0x29')](handleError(_0x22c1c2,null));};exports[_0x8f02('0x9a')]=function(_0x426370,_0xd8474c,_0x22b7c7){var _0x31b3e9={'raw':!![],'where':{}};var _0x418cd1={};var _0x41bb33={'count':0x0,'rows':[]};return db['MailAccount'][_0x8f02('0x66')]({'where':{'id':_0x426370[_0x8f02('0x5c')]['id']}})['then'](handleEntityNotFound(_0xd8474c,null))[_0x8f02('0x20')](function(_0x4a6a8e){if(_0x4a6a8e){_0x418cd1[_0x8f02('0x3f')]=_[_0x8f02('0x41')](db['MailMessage'][_0x8f02('0x56')]);_0x418cd1[_0x8f02('0x40')]=_['keys'](_0x426370['query']);_0x418cd1[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0x418cd1[_0x8f02('0x3f')],_0x418cd1['query']);_0x31b3e9[_0x8f02('0x44')]=_['intersection'](_0x418cd1[_0x8f02('0x3f')],qs['fields'](_0x426370['query'][_0x8f02('0x45')]));_0x31b3e9['attributes']=_0x31b3e9[_0x8f02('0x44')]['length']?_0x31b3e9['attributes']:_0x418cd1[_0x8f02('0x3f')];if(!_0x426370['query']['hasOwnProperty']('nolimit')){_0x31b3e9[_0x8f02('0x2f')]=qs[_0x8f02('0x2f')](_0x426370[_0x8f02('0x40')]['limit']);_0x31b3e9['offset']=qs[_0x8f02('0x2e')](_0x426370[_0x8f02('0x40')][_0x8f02('0x2e')]);}_0x31b3e9['order']=qs[_0x8f02('0x49')](_0x426370['query'][_0x8f02('0x49')]);_0x31b3e9[_0x8f02('0x4a')]=qs['filters'](_[_0x8f02('0x62')](_0x426370[_0x8f02('0x40')],_0x418cd1[_0x8f02('0x42')]));_0x31b3e9[_0x8f02('0x4a')][_0x8f02('0x5f')]=_0x4a6a8e['id'];if(_0x426370[_0x8f02('0x40')][_0x8f02('0x4b')]){_0x31b3e9[_0x8f02('0x4a')]=_[_0x8f02('0x4c')](_0x31b3e9[_0x8f02('0x4a')],{'$or':_[_0x8f02('0x3b')](_0x31b3e9[_0x8f02('0x44')],function(_0x4e3a53){var _0x3944ce={};_0x3944ce[_0x4e3a53]={'$like':'%'+_0x426370[_0x8f02('0x40')][_0x8f02('0x4b')]+'%'};return _0x3944ce;})});}if(_0x426370['query'][_0x8f02('0x9b')]){var _0x2a3ec1=_0x426370[_0x8f02('0x40')][_0x8f02('0x9b')][_0x8f02('0x9c')](',');var _0xff6ca7={};_0xff6ca7[_0x2a3ec1[0x0]]={'$gte':moment(_0x2a3ec1[0x1])[_0x8f02('0x9d')](_0x8f02('0x9e'))};_0x31b3e9[_0x8f02('0x4a')]=_['merge'](_0x31b3e9[_0x8f02('0x4a')],_0xff6ca7);}_0x31b3e9=_[_0x8f02('0x4c')]({},_0x31b3e9,_0x426370[_0x8f02('0x59')]);return db[_0x8f02('0x9f')]['count']({'where':_0x31b3e9[_0x8f02('0x4a')]})[_0x8f02('0x20')](function(_0x1b0f84){_0x41bb33[_0x8f02('0x2d')]=_0x1b0f84;if(_0x426370['query']['includeAll']){_0x31b3e9[_0x8f02('0x58')]=[{'all':!![]}];}return db[_0x8f02('0x9f')][_0x8f02('0x4f')](_0x31b3e9);})['then'](function(_0x38132a){_0x41bb33[_0x8f02('0x50')]=_0x38132a;return _0x41bb33;});}})[_0x8f02('0x20')](respondWithFilteredResult(_0xd8474c,_0x31b3e9))[_0x8f02('0x29')](handleError(_0xd8474c,null));};exports[_0x8f02('0x39')]=function(_0x2d3e2f,_0x2caa2a,_0x31f513){var _0x4e015b,_0x673514={},_0x30cd1b;if(_0x2d3e2f[_0x8f02('0x5b')]['to']){_0x30cd1b=_0x2d3e2f['body']['to']['split'](',')[0x0];}return db['MailAccount'][_0x8f02('0x5a')]({'where':{'id':_0x2d3e2f['params']['id']},'include':[{'model':db[_0x8f02('0xa0')],'as':'List','include':[{'model':db[_0x8f02('0x89')],'as':'Contacts','where':{'email':_0x30cd1b},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db['MailServerOut'],'as':_0x8f02('0x5d'),'raw':!![]}]})[_0x8f02('0x20')](handleEntityNotFound(_0x2caa2a,null))[_0x8f02('0x20')](function(_0x582f9d){if(_0x582f9d){_0x4e015b=_0x582f9d;if(_0x582f9d[_0x8f02('0x5d')]){if(_[_0x8f02('0x69')](_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa1')])){_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa1')]=util['format'](_0x8f02('0xa2'),_0x582f9d[_0x8f02('0x38')],_0x582f9d[_0x8f02('0xa3')]||_0x582f9d['Smtp']['user']);}if(_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa4')]&&_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa4')][_0x8f02('0x57')]){for(var _0x46f242=0x0;_0x46f242<_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa4')]['length'];_0x46f242+=0x1){_0x2d3e2f[_0x8f02('0x5b')]['attachments'][_0x46f242]={'filename':_0x2d3e2f['body'][_0x8f02('0xa4')][_0x46f242][_0x8f02('0x38')],'path':path['join'](config[_0x8f02('0xa5')],_0x8f02('0xa6'),_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa4')][_0x46f242][_0x8f02('0xa7')])};}}var _0x13e960={'tls':{'rejectUnauthorized':![]}};if(_[_0x8f02('0x69')](_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x75')])){if(_0x582f9d['Smtp'][_0x8f02('0x72')]){_0x13e960[_0x8f02('0xa8')]={'user':_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x6e')],'pass':_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x70')]};}_0x13e960[_0x8f02('0x74')]=_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x74')];_0x13e960['port']=_0x582f9d[_0x8f02('0x5d')]['port'];_0x13e960[_0x8f02('0xa9')]=_0x582f9d[_0x8f02('0x5d')][_0x8f02('0xa9')];}else{_0x13e960[_0x8f02('0x75')]=_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x75')];_0x13e960[_0x8f02('0xa8')]={'user':_0x582f9d[_0x8f02('0x5d')]['user'],'pass':_0x582f9d[_0x8f02('0x5d')][_0x8f02('0x70')]};}return respondWithRpcPromise('SendMail',_0x8f02('0xaa'),{'account':_0x13e960,'message':_0x2d3e2f[_0x8f02('0x5b')]});}else{throw new Error(_0x8f02('0xab'));}}})[_0x8f02('0x20')](function(_0x185378){if(_0x185378){_0x673514=_0x185378;if(_0x4e015b[_0x8f02('0xac')]){if(_0x4e015b[_0x8f02('0xac')]['Contacts'][_0x8f02('0x57')]){return _0x4e015b[_0x8f02('0xac')][_0x8f02('0xad')][0x0];}else{return db[_0x8f02('0x89')][_0x8f02('0x61')](_[_0x8f02('0x17')](_0x2d3e2f['body'],{'firstName':_0x2d3e2f[_0x8f02('0x5b')]['to'],'email':_0x2d3e2f[_0x8f02('0x5b')]['to'],'phone':_0x2d3e2f['body']['to'],'ListId':_0x4e015b[_0x8f02('0xae')]}));}}else{throw new Error(_0x8f02('0xab'));}}})[_0x8f02('0x20')](function(_0x5765f7){if(_0x5765f7){var _0x22130a={'UserId':_0x2d3e2f[_0x8f02('0x6e')]['id'],'ContactId':_0x5765f7['id'],'MailAccountId':_0x4e015b['id'],'inReplyTo':_0x673514[_0x8f02('0xaf')],'to':_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0xa1')],'cc':_0x2d3e2f[_0x8f02('0x5b')]['cc'],'subject':_0x2d3e2f['body'][_0x8f02('0xb0')],'attach':_0x2d3e2f[_0x8f02('0x5b')]['attach'],'firstMsgDirection':_0x8f02('0xb1'),'lastMsgAt':moment()['format'](_0x8f02('0x9e')),'lastMsgDirection':_0x8f02('0xb1'),'lastMsgBody':_0x2d3e2f[_0x8f02('0x5b')][_0x8f02('0x5b')],'Messages':[_[_0x8f02('0x4c')](_0x2d3e2f[_0x8f02('0x5b')],{'messageId':_0x673514[_0x8f02('0xaf')],'sentAt':moment()[_0x8f02('0x9d')](_0x8f02('0x9e')),'read':!![],'MailAccountId':_0x4e015b['id'],'UserId':_0x2d3e2f['user']['id'],'ContactId':_0x5765f7['id']})]};if(_0x2d3e2f['body'][_0x8f02('0xb2')]){_0x22130a=_[_0x8f02('0x4c')](_0x22130a,_0x2d3e2f['body'][_0x8f02('0xb2')]);}return db[_0x8f02('0x86')][_0x8f02('0x61')](_0x22130a,{'include':[{'model':db[_0x8f02('0x9f')],'as':_0x8f02('0xb3')}]});}})[_0x8f02('0x20')](respondWithResult(_0x2caa2a,null))['catch'](handleError(_0x2caa2a,null));};exports[_0x8f02('0xb4')]=function(_0x1b688f,_0x34c1fa,_0x2c1ef9){return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x1b688f[_0x8f02('0x5c')]['id']},'include':[{'model':db[_0x8f02('0x53')],'as':_0x8f02('0x5d'),'raw':!![]}]})[_0x8f02('0x20')](handleEntityNotFound(_0x34c1fa,null))[_0x8f02('0x20')](function(_0x27818f){if(_0x27818f&&_0x27818f[_0x8f02('0x5d')]){var _0x1d2882={'id':_0x27818f['id'],'tls':{'rejectUnauthorized':![]}};if(_0x27818f[_0x8f02('0x5d')][_0x8f02('0x75')]){_0x1d2882[_0x8f02('0x75')]=_0x27818f[_0x8f02('0x5d')]['service'];}else{_0x1d2882[_0x8f02('0x74')]=_0x27818f[_0x8f02('0x5d')][_0x8f02('0x74')];_0x1d2882[_0x8f02('0x73')]=_0x27818f[_0x8f02('0x5d')][_0x8f02('0x73')];_0x1d2882[_0x8f02('0xa9')]=_0x27818f[_0x8f02('0x5d')][_0x8f02('0xa9')];}if(_0x27818f[_0x8f02('0x5d')]['authentication']){_0x1d2882[_0x8f02('0xa8')]={'user':_0x27818f[_0x8f02('0x5d')]['user'],'pass':_0x27818f[_0x8f02('0x5d')][_0x8f02('0x70')]};}return respondWithRpcPromise(_0x8f02('0xb5'),_0x8f02('0xb4'),{'account':_0x1d2882});}})[_0x8f02('0x20')](respondWithResult(_0x34c1fa,null))[_0x8f02('0x29')](handleError(_0x34c1fa,null));};exports['destroy']=function(_0x165941,_0x2f4a02){return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x165941[_0x8f02('0x5c')]['id']}})['then'](handleEntityNotFound(_0x2f4a02,null))['then'](function(_0x3289a6){if(_0x3289a6&&_0x3289a6[_0x8f02('0x75')]){throw new db[(_0x8f02('0x1d'))][(_0x8f02('0x1e'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x3289a6;})['then'](removeEntity(_0x2f4a02,null))[_0x8f02('0x29')](handleError(_0x2f4a02,null));};exports['addAgents']=function(_0x41f635,_0x1dc559,_0x4636e8){return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x41f635[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x1dc559,null))[_0x8f02('0x20')](function(_0x140c30){if(_0x140c30){return _0x140c30[_0x8f02('0xb6')](_0x41f635['body'][_0x8f02('0x68')],_[_0x8f02('0x87')](_0x41f635['body'],[_0x8f02('0x68'),'id'])||{})[_0x8f02('0xb7')](function(_0x455314){for(var _0x1fc169=0x0;_0x1fc169<_0x41f635[_0x8f02('0x5b')][_0x8f02('0x68')][_0x8f02('0x57')];_0x1fc169+=0x1){socket['emit'](_0x8f02('0xb8'),{'UserId':_0x41f635[_0x8f02('0x5b')][_0x8f02('0x68')][_0x1fc169],'MailAccountId':_0x41f635['params']['id']});}return _0x455314;});}})[_0x8f02('0x20')](respondWithResult(_0x1dc559,null))['catch'](handleError(_0x1dc559,null));};exports[_0x8f02('0xb9')]=function(_0x19b5db,_0x35dbcf,_0x53a5b2){return db[_0x8f02('0x3c')][_0x8f02('0x5a')]({'where':{'id':_0x19b5db[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x35dbcf,null))[_0x8f02('0x20')](function(_0xa87044){if(_0xa87044){return _0xa87044[_0x8f02('0xb9')](_0x19b5db['query'][_0x8f02('0x68')])[_0x8f02('0x20')](function(){if(_['isArray'](_0x19b5db[_0x8f02('0x40')][_0x8f02('0x68')])){for(var _0x3880c6=0x0;_0x3880c6<_0x19b5db[_0x8f02('0x40')][_0x8f02('0x68')][_0x8f02('0x57')];_0x3880c6+=0x1){socket[_0x8f02('0xba')](_0x8f02('0xbb'),{'UserId':Number(_0x19b5db['query']['ids'][_0x3880c6]),'MailAccountId':Number(_0x19b5db[_0x8f02('0x5c')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x19b5db['query'][_0x8f02('0x68')]),'MailAccountId':Number(_0x19b5db[_0x8f02('0x5c')]['id'])});}});}})[_0x8f02('0x20')](respondWithStatusCode(_0x35dbcf,null))[_0x8f02('0x29')](handleError(_0x35dbcf,null));};exports[_0x8f02('0xbc')]=function(_0x5c9727,_0x3f724e,_0x4a393f){var _0x359164={};var _0xf763b0={};var _0x421d24;var _0x1f0b29;return db[_0x8f02('0x3c')][_0x8f02('0x66')]({'where':{'id':_0x5c9727[_0x8f02('0x5c')]['id']}})[_0x8f02('0x20')](handleEntityNotFound(_0x3f724e,null))[_0x8f02('0x20')](function(_0x489022){if(_0x489022){_0x421d24=_0x489022;_0xf763b0['model']=_['keys'](db['User']['rawAttributes']);_0xf763b0[_0x8f02('0x40')]=_[_0x8f02('0x41')](_0x5c9727['query']);_0xf763b0[_0x8f02('0x42')]=_[_0x8f02('0x43')](_0xf763b0['model'],_0xf763b0[_0x8f02('0x40')]);_0x359164[_0x8f02('0x44')]=_[_0x8f02('0x43')](_0xf763b0[_0x8f02('0x3f')],qs[_0x8f02('0x45')](_0x5c9727[_0x8f02('0x40')][_0x8f02('0x45')]));_0x359164[_0x8f02('0x44')]=_0x359164[_0x8f02('0x44')][_0x8f02('0x57')]?_0x359164[_0x8f02('0x44')]:_0xf763b0[_0x8f02('0x3f')];_0x359164[_0x8f02('0x48')]=qs[_0x8f02('0x49')](_0x5c9727[_0x8f02('0x40')][_0x8f02('0x49')]);_0x359164[_0x8f02('0x4a')]=qs[_0x8f02('0x42')](_[_0x8f02('0x62')](_0x5c9727['query'],_0xf763b0[_0x8f02('0x42')]));if(_0x5c9727[_0x8f02('0x40')][_0x8f02('0x4b')]){_0x359164[_0x8f02('0x4a')]=_[_0x8f02('0x4c')](_0x359164[_0x8f02('0x4a')],{'$or':_[_0x8f02('0x3b')](_0x359164[_0x8f02('0x44')],function(_0x4f8ffc){var _0x28a67b={};_0x28a67b[_0x4f8ffc]={'$like':'%'+_0x5c9727[_0x8f02('0x40')][_0x8f02('0x4b')]+'%'};return _0x28a67b;})});}_0x359164=_['merge']({},_0x359164,_0x5c9727[_0x8f02('0x59')]);return _0x421d24[_0x8f02('0xbc')](_0x359164);}})[_0x8f02('0x20')](function(_0x1a8279){if(_0x1a8279){_0x1f0b29=_0x1a8279[_0x8f02('0x57')];if(!_0x5c9727[_0x8f02('0x40')][_0x8f02('0x46')](_0x8f02('0x47'))){_0x359164[_0x8f02('0x2f')]=qs[_0x8f02('0x2f')](_0x5c9727[_0x8f02('0x40')][_0x8f02('0x2f')]);_0x359164[_0x8f02('0x2e')]=qs['offset'](_0x5c9727[_0x8f02('0x40')][_0x8f02('0x2e')]);}return _0x421d24['getAgents'](_0x359164);}})[_0x8f02('0x20')](function(_0x14c55e){if(_0x14c55e){return _0x14c55e?{'count':_0x1f0b29,'rows':_0x14c55e}:null;}})[_0x8f02('0x20')](respondWithResult(_0x3f724e,null))['catch'](handleError(_0x3f724e,null));};