7aa63676ded55ed4bfc32f0c5317a2ab6199d886
[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 _0x426c=['update','destroy','then','get','MailAccounts','UserProfileResource','stack','name','send','index','MailServerIn','Imap','MailServerOut','Pause','mandatoryDispositionPause','type','model','query','keys','filters','intersection','fields','length','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','merge','map','VIRTUAL','MailAccount','includeAll','include','findAll','show','params','Smtp','body','describe','addDisposition','find','MailAccountId','Disposition','create','getDispositions','rawAttributes','order','options','rows','removeDispositions','addAnswer','CannedAnswer','getAnswers','findOne','removeAnswers','ids','key','ListId','isNil','active','description','cservice','cauthentication','user','cuser','password','pass','authentication','host','port','service','cpassword','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','bulkCreate','MailApplication','findAndCountAll','priority','getApplications','MailMessage','split','format','YYYY-MM-DD\x20HH:mm:ss','List','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','subject','attach','Interaction','Messages','verifySmtp','addAgents','spread','emit','removeAgents','userMailAccount:remove','getAgents','html-pdf','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save'];(function(_0x3a2f04,_0x1eaf1a){var _0x40a36b=function(_0x590f9d){while(--_0x590f9d){_0x3a2f04['push'](_0x3a2f04['shift']());}};_0x40a36b(++_0x1eaf1a);}(_0x426c,0x8c));var _0xc426=function(_0x9e05d1,_0x3cef4a){_0x9e05d1=_0x9e05d1-0x0;var _0x4f7e97=_0x426c[_0x9e05d1];return _0x4f7e97;};'use strict';var pdf=require(_0xc426('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc426('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc426('0x2'));var rp=require(_0xc426('0x3'));var moment=require('moment');var BPromise=require(_0xc426('0x4'));var Mustache=require(_0xc426('0x5'));var util=require(_0xc426('0x6'));var path=require('path');var sox=require(_0xc426('0x7'));var csv=require(_0xc426('0x8'));var ejs=require(_0xc426('0x9'));var fs=require('fs');var _=require(_0xc426('0xa'));var squel=require(_0xc426('0xb'));var crypto=require(_0xc426('0xc'));var jsforce=require(_0xc426('0xd'));var deskjs=require(_0xc426('0xe'));var toCsv=require(_0xc426('0x8'));var querystring=require(_0xc426('0xf'));var Papa=require(_0xc426('0x10'));var Redis=require(_0xc426('0x11'));var authService=require(_0xc426('0x12'));var qs=require(_0xc426('0x13'));var as=require(_0xc426('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc426('0x15'))(_0xc426('0x16'));var utils=require(_0xc426('0x17'));var config=require(_0xc426('0x18'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xc426('0x19')](config[_0xc426('0x1a')],{'host':_0xc426('0x1b'),'port':0x18eb});var socket=require(_0xc426('0x1c'))(new Redis(config[_0xc426('0x1a')]));require(_0xc426('0x1d'))[_0xc426('0x1e')](socket);var jayson=require(_0xc426('0x1f'));var client=jayson['client'][_0xc426('0x20')]({'port':0x232b});function checkPasswordPattern(_0x57c5db,_0x3432e4,_0x400fb8){if(_0x400fb8){var _0x37cf0f=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x37cf0f['test'](_0x3432e4)){return _0x57c5db;}else{throw new db[(_0xc426('0x21'))][(_0xc426('0x22'))](_0xc426('0x23'));}}else{return _0x57c5db;}}function respondWithRpcPromise(_0x1e9b8f,_0x33c4f1,_0x4a3b2f,_0x576907){return new BPromise(function(_0x90f156,_0x2eabda){var _0x3b4c9d=_0x576907||client;return _0x3b4c9d['request'](_0x1e9b8f,_0x4a3b2f)['then'](function(_0x295e42){logger[_0xc426('0x24')](_0xc426('0x25'),_0x33c4f1,'request\x20sent');logger[_0xc426('0x26')](_0xc426('0x27'),_0x33c4f1,_0xc426('0x28'),JSON[_0xc426('0x29')](_0x295e42));if(_0x295e42[_0xc426('0x2a')]){if(_0x295e42[_0xc426('0x2a')]['code']===0x1f4){logger['error'](_0xc426('0x25'),_0x33c4f1,_0x295e42[_0xc426('0x2a')][_0xc426('0x2b')]);return _0x2eabda(_0x295e42[_0xc426('0x2a')][_0xc426('0x2b')]);}logger[_0xc426('0x2a')](_0xc426('0x25'),_0x33c4f1,_0x295e42[_0xc426('0x2a')][_0xc426('0x2b')]);return _0x90f156(_0x295e42['error'][_0xc426('0x2b')]);}else{logger[_0xc426('0x24')](_0xc426('0x25'),_0x33c4f1,_0xc426('0x28'));_0x90f156(_0x295e42[_0xc426('0x2c')][_0xc426('0x2b')]);}})[_0xc426('0x2d')](function(_0x402dd6){logger[_0xc426('0x2a')]('MailAccount,\x20%s,\x20%s',_0x33c4f1,_0x402dd6);_0x2eabda(_0x402dd6);});});}function respondWithStatusCode(_0x14088d,_0xac8a82){_0xac8a82=_0xac8a82||0xcc;return function(_0xa5f750){if(_0xa5f750){return _0x14088d[_0xc426('0x2e')](_0xac8a82);}return _0x14088d[_0xc426('0x2f')](_0xac8a82)[_0xc426('0x30')]();};}function respondWithResult(_0x41c141,_0x293901){_0x293901=_0x293901||0xc8;return function(_0x5b6cd4){if(_0x5b6cd4){return _0x41c141[_0xc426('0x2f')](_0x293901)[_0xc426('0x31')](_0x5b6cd4);}};}function respondWithFilteredResult(_0x527277,_0x1a027){return function(_0x1b23cd){if(_0x1b23cd){var _0x19f885=_0x1b23cd[_0xc426('0x32')],_0x17237e=_0x1a027[_0xc426('0x33')],_0x31eb81=_0x1a027[_0xc426('0x33')]+_0x1a027[_0xc426('0x34')],_0x23bf9f;if(_0x31eb81>=_0x19f885){_0x31eb81=_0x19f885;_0x23bf9f=0xc8;}else{_0x23bf9f=0xce;}_0x527277[_0xc426('0x2f')](_0x23bf9f);return _0x527277[_0xc426('0x35')](_0xc426('0x36'),_0x17237e+'-'+_0x31eb81+'/'+_0x19f885)[_0xc426('0x31')](_0x1b23cd);}return null;};}function patchUpdates(_0x48055a){return function(_0x38950d){try{jsonpatch[_0xc426('0x37')](_0x38950d,_0x48055a,!![]);}catch(_0x37fda2){return BPromise[_0xc426('0x38')](_0x37fda2);}return _0x38950d[_0xc426('0x39')]();};}function saveUpdates(_0x4cd415,_0x229442){return function(_0x4716c7){if(_0x4716c7){return _0x4716c7[_0xc426('0x3a')](_0x4cd415)['then'](function(_0x49e09a){return _0x49e09a;});}return null;};}function removeEntity(_0x10c785,_0x65b459){return function(_0x17274a){if(_0x17274a){return _0x17274a[_0xc426('0x3b')]()[_0xc426('0x3c')](function(){var _0x35a4d4=_0x17274a[_0xc426('0x3d')]({'plain':!![]});var _0x287e42=_0xc426('0x3e');return db[_0xc426('0x3f')][_0xc426('0x3b')]({'where':{'type':_0x287e42,'resourceId':_0x35a4d4['id']}})[_0xc426('0x3c')](function(){return _0x17274a;});})[_0xc426('0x3c')](function(){_0x10c785[_0xc426('0x2f')](0xcc)[_0xc426('0x30')]();});}};}function handleEntityNotFound(_0x2925cf,_0x23e40c){return function(_0x19c03d){if(!_0x19c03d){_0x2925cf[_0xc426('0x2e')](0x194);}return _0x19c03d;};}function handleError(_0x50d7d0,_0x2b3c52){_0x2b3c52=_0x2b3c52||0x1f4;return function(_0x6e89ee){logger['error'](_0x6e89ee[_0xc426('0x40')]);if(_0x6e89ee['name']){delete _0x6e89ee[_0xc426('0x41')];}_0x50d7d0['status'](_0x2b3c52)[_0xc426('0x42')](_0x6e89ee);};}exports[_0xc426('0x43')]=function(_0x45e8e3,_0x2d962b){var _0x33260b={'include':[{'model':db[_0xc426('0x44')],'as':_0xc426('0x45')},{'model':db[_0xc426('0x46')],'as':'Smtp'},{'model':db[_0xc426('0x47')],'as':_0xc426('0x48')}]},_0x4172f2={},_0x373cff={'count':0x0,'rows':[]};var _0x5a2859=_['map'](db['MailAccount']['rawAttributes'],function(_0xcb17ae){return{'name':_0xcb17ae['fieldName'],'type':_0xcb17ae[_0xc426('0x49')]['key']};});_0x4172f2[_0xc426('0x4a')]=_['map'](_0x5a2859,_0xc426('0x41'));_0x4172f2[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x45e8e3[_0xc426('0x4b')]);_0x4172f2[_0xc426('0x4d')]=_[_0xc426('0x4e')](_0x4172f2[_0xc426('0x4a')],_0x4172f2[_0xc426('0x4b')]);_0x33260b['attributes']=_['intersection'](_0x4172f2[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x45e8e3[_0xc426('0x4b')]['fields']));_0x33260b['attributes']=_0x33260b['attributes'][_0xc426('0x50')]?_0x33260b[_0xc426('0x51')]:_0x4172f2['model'];if(!_0x45e8e3[_0xc426('0x4b')][_0xc426('0x52')](_0xc426('0x53'))){_0x33260b[_0xc426('0x34')]=qs[_0xc426('0x34')](_0x45e8e3[_0xc426('0x4b')][_0xc426('0x34')]);_0x33260b[_0xc426('0x33')]=qs[_0xc426('0x33')](_0x45e8e3['query'][_0xc426('0x33')]);}_0x33260b['order']=qs['sort'](_0x45e8e3[_0xc426('0x4b')][_0xc426('0x54')]);_0x33260b[_0xc426('0x55')]=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x45e8e3[_0xc426('0x4b')],_0x4172f2['filters']),_0x5a2859);if(_0x45e8e3['query'][_0xc426('0x57')]){_0x33260b['where']=_[_0xc426('0x58')](_0x33260b[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0x5a2859,function(_0x5a402d){if(_0x5a402d[_0xc426('0x49')]!==_0xc426('0x5a')){var _0x2f7272={};_0x2f7272[_0x5a402d['name']]={'$like':'%'+_0x45e8e3[_0xc426('0x4b')][_0xc426('0x57')]+'%'};return _0x2f7272;}})});}_0x33260b=_[_0xc426('0x58')]({},_0x33260b,_0x45e8e3['options']);var _0xa62cbc={'where':_0x33260b['where']};return db[_0xc426('0x5b')][_0xc426('0x32')](_0xa62cbc)['then'](function(_0x10fd15){_0x373cff[_0xc426('0x32')]=_0x10fd15;if(_0x45e8e3[_0xc426('0x4b')][_0xc426('0x5c')]){_0x33260b[_0xc426('0x5d')]=[{'all':!![]}];}return db['MailAccount'][_0xc426('0x5e')](_0x33260b);})[_0xc426('0x3c')](function(_0x56c0ff){_0x373cff['rows']=_0x56c0ff;return _0x373cff;})[_0xc426('0x3c')](respondWithFilteredResult(_0x2d962b,_0x33260b))[_0xc426('0x2d')](handleError(_0x2d962b,null));};exports[_0xc426('0x5f')]=function(_0x2935c9,_0x10b08f){var _0x44e654={'raw':![],'where':{'id':_0x2935c9[_0xc426('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xc426('0x45')},{'model':db[_0xc426('0x46')],'as':_0xc426('0x61')},{'model':db[_0xc426('0x47')],'as':'mandatoryDispositionPause'}]},_0x3304e6={};_0x3304e6[_0xc426('0x4a')]=_['keys'](db['MailAccount']['rawAttributes']);_0x3304e6['query']=_['keys'](_0x2935c9[_0xc426('0x4b')]);_0x3304e6[_0xc426('0x4d')]=_[_0xc426('0x4e')](_0x3304e6[_0xc426('0x4a')],_0x3304e6[_0xc426('0x4b')]);_0x44e654[_0xc426('0x51')]=_[_0xc426('0x4e')](_0x3304e6[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x2935c9[_0xc426('0x4b')][_0xc426('0x4f')]));_0x44e654['attributes']=_0x44e654[_0xc426('0x51')][_0xc426('0x50')]?_0x44e654['attributes']:_0x3304e6[_0xc426('0x4a')];if(_0x2935c9[_0xc426('0x4b')]['includeAll']){_0x44e654[_0xc426('0x5d')]=[{'all':!![]}];}_0x44e654=_[_0xc426('0x58')]({},_0x44e654,_0x2935c9['options']);return db[_0xc426('0x5b')]['find'](_0x44e654)[_0xc426('0x3c')](handleEntityNotFound(_0x10b08f,null))['then'](respondWithResult(_0x10b08f,null))['catch'](handleError(_0x10b08f,null));};exports['update']=function(_0xa2d40,_0x19e0d9){if(_0xa2d40[_0xc426('0x62')]['id']){delete _0xa2d40['body']['id'];}return db[_0xc426('0x5b')]['find']({'where':{'id':_0xa2d40['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0xc426('0x45')},{'model':db['MailServerOut'],'as':_0xc426('0x61')},{'model':db[_0xc426('0x47')],'as':'mandatoryDispositionPause'}]})[_0xc426('0x3c')](handleEntityNotFound(_0x19e0d9,null))['then'](saveUpdates(_0xa2d40[_0xc426('0x62')],null))['then'](function(_0x5280b9){if(_0x5280b9&&_0xa2d40[_0xc426('0x62')][_0xc426('0x45')]){return db['MailServerIn']['update'](_0xa2d40[_0xc426('0x62')]['Imap'],{'where':{'MailAccountId':_0x5280b9['id']}})[_0xc426('0x3c')](function(){return _0x5280b9;});}return _0x5280b9;})[_0xc426('0x3c')](function(_0x760cc9){if(_0x760cc9&&_0xa2d40[_0xc426('0x62')][_0xc426('0x61')]){return db['MailServerOut'][_0xc426('0x3a')](_0xa2d40['body']['Smtp'],{'where':{'MailAccountId':_0x760cc9['id']}})['then'](function(){return _0x760cc9;});}return _0x760cc9;})['then'](respondWithResult(_0x19e0d9,null))[_0xc426('0x2d')](handleError(_0x19e0d9,null));};exports[_0xc426('0x63')]=function(_0x140f36,_0x160173){return db[_0xc426('0x5b')][_0xc426('0x63')]()[_0xc426('0x3c')](respondWithResult(_0x160173,null))['catch'](handleError(_0x160173,null));};exports[_0xc426('0x64')]=function(_0x42b06f,_0x5d8f2a,_0x36c8e1){if(_0x42b06f[_0xc426('0x62')]['id']){delete _0x42b06f['body']['id'];}return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x42b06f['params']['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x5d8f2a,null))[_0xc426('0x3c')](function(_0x3a841a){if(_0x3a841a){_0x42b06f['body'][_0xc426('0x66')]=_0x3a841a['id'];return db[_0xc426('0x67')][_0xc426('0x68')](_0x42b06f[_0xc426('0x62')]);}})['then'](respondWithResult(_0x5d8f2a,null))[_0xc426('0x2d')](handleError(_0x5d8f2a,null));};exports[_0xc426('0x69')]=function(_0x10333f,_0x3f29c8,_0x39b648){var _0x18ffd8={'raw':![],'where':{}};var _0x5d69c2={};var _0x28cc12={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x10333f[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x3f29c8,null))[_0xc426('0x3c')](function(_0x3e79aa){if(_0x3e79aa){_0x5d69c2['model']=_[_0xc426('0x4c')](db[_0xc426('0x67')][_0xc426('0x6a')]);_0x5d69c2[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x10333f[_0xc426('0x4b')]);_0x5d69c2[_0xc426('0x4d')]=_[_0xc426('0x4e')](_0x5d69c2[_0xc426('0x4a')],_0x5d69c2['query']);_0x18ffd8[_0xc426('0x51')]=_[_0xc426('0x4e')](_0x5d69c2[_0xc426('0x4a')],qs['fields'](_0x10333f[_0xc426('0x4b')][_0xc426('0x4f')]));_0x18ffd8[_0xc426('0x51')]=_0x18ffd8[_0xc426('0x51')]['length']?_0x18ffd8[_0xc426('0x51')]:_0x5d69c2[_0xc426('0x4a')];if(!_0x10333f[_0xc426('0x4b')][_0xc426('0x52')](_0xc426('0x53'))){_0x18ffd8[_0xc426('0x34')]=qs[_0xc426('0x34')](_0x10333f[_0xc426('0x4b')][_0xc426('0x34')]);_0x18ffd8[_0xc426('0x33')]=qs['offset'](_0x10333f[_0xc426('0x4b')][_0xc426('0x33')]);}_0x18ffd8[_0xc426('0x6b')]=qs[_0xc426('0x54')](_0x10333f['query'][_0xc426('0x54')]);_0x18ffd8['where']=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x10333f[_0xc426('0x4b')],_0x5d69c2[_0xc426('0x4d')]));_0x18ffd8[_0xc426('0x55')]['MailAccountId']=_0x3e79aa['id'];if(_0x10333f[_0xc426('0x4b')][_0xc426('0x57')]){_0x18ffd8['where']=_['merge'](_0x18ffd8['where'],{'$or':_[_0xc426('0x59')](_0x18ffd8[_0xc426('0x51')],function(_0x5529c1){var _0x259157={};_0x259157[_0x5529c1]={'$like':'%'+_0x10333f[_0xc426('0x4b')][_0xc426('0x57')]+'%'};return _0x259157;})});}_0x18ffd8=_[_0xc426('0x58')]({},_0x18ffd8,_0x10333f[_0xc426('0x6c')]);return db[_0xc426('0x67')][_0xc426('0x32')]({'where':_0x18ffd8[_0xc426('0x55')]})['then'](function(_0x3bf4e3){_0x28cc12[_0xc426('0x32')]=_0x3bf4e3;if(_0x10333f[_0xc426('0x4b')][_0xc426('0x5c')]){_0x18ffd8['include']=[{'all':!![]}];}return db[_0xc426('0x67')][_0xc426('0x5e')](_0x18ffd8);})['then'](function(_0x42737d){_0x28cc12[_0xc426('0x6d')]=_0x42737d;return _0x28cc12;});}})[_0xc426('0x3c')](respondWithFilteredResult(_0x3f29c8,_0x18ffd8))['catch'](handleError(_0x3f29c8,null));};exports[_0xc426('0x6e')]=function(_0x156509,_0x118ece,_0x2596a9){return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x156509[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x118ece,null))[_0xc426('0x3c')](function(_0x1d542c){if(_0x1d542c){return _0x1d542c[_0xc426('0x6e')](_0x156509[_0xc426('0x4b')]['ids']);}})['then'](respondWithStatusCode(_0x118ece,null))[_0xc426('0x2d')](handleError(_0x118ece,null));};exports[_0xc426('0x6f')]=function(_0x382c5e,_0x5116a0,_0x1b2690){if(_0x382c5e[_0xc426('0x62')]['id']){delete _0x382c5e[_0xc426('0x62')]['id'];}return db['MailAccount'][_0xc426('0x65')]({'where':{'id':_0x382c5e[_0xc426('0x60')]['id']}})['then'](handleEntityNotFound(_0x5116a0,null))[_0xc426('0x3c')](function(_0x5ff301){if(_0x5ff301){_0x382c5e[_0xc426('0x62')][_0xc426('0x66')]=_0x5ff301['id'];return db[_0xc426('0x70')]['create'](_0x382c5e[_0xc426('0x62')]);}})['then'](respondWithResult(_0x5116a0,null))[_0xc426('0x2d')](handleError(_0x5116a0,null));};exports[_0xc426('0x71')]=function(_0x3262fd,_0x4b49fb,_0x1752f2){var _0x4eb839={'raw':![],'where':{}};var _0xc28662={};var _0x30b573={'count':0x0,'rows':[]};return db['MailAccount'][_0xc426('0x72')]({'where':{'id':_0x3262fd[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x4b49fb,null))[_0xc426('0x3c')](function(_0x353a0d){if(_0x353a0d){_0xc28662[_0xc426('0x4a')]=_[_0xc426('0x4c')](db[_0xc426('0x70')][_0xc426('0x6a')]);_0xc28662[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x3262fd[_0xc426('0x4b')]);_0xc28662[_0xc426('0x4d')]=_[_0xc426('0x4e')](_0xc28662['model'],_0xc28662['query']);_0x4eb839['attributes']=_[_0xc426('0x4e')](_0xc28662[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x3262fd[_0xc426('0x4b')][_0xc426('0x4f')]));_0x4eb839['attributes']=_0x4eb839['attributes'][_0xc426('0x50')]?_0x4eb839[_0xc426('0x51')]:_0xc28662['model'];if(!_0x3262fd[_0xc426('0x4b')]['hasOwnProperty']('nolimit')){_0x4eb839[_0xc426('0x34')]=qs[_0xc426('0x34')](_0x3262fd['query'][_0xc426('0x34')]);_0x4eb839['offset']=qs['offset'](_0x3262fd['query'][_0xc426('0x33')]);}_0x4eb839[_0xc426('0x6b')]=qs[_0xc426('0x54')](_0x3262fd[_0xc426('0x4b')][_0xc426('0x54')]);_0x4eb839['where']=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x3262fd['query'],_0xc28662[_0xc426('0x4d')]));_0x4eb839['where'][_0xc426('0x66')]=_0x353a0d['id'];if(_0x3262fd[_0xc426('0x4b')][_0xc426('0x57')]){_0x4eb839[_0xc426('0x55')]=_['merge'](_0x4eb839[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0x4eb839[_0xc426('0x51')],function(_0x506714){var _0x588719={};_0x588719[_0x506714]={'$like':'%'+_0x3262fd[_0xc426('0x4b')][_0xc426('0x57')]+'%'};return _0x588719;})});}_0x4eb839=_[_0xc426('0x58')]({},_0x4eb839,_0x3262fd[_0xc426('0x6c')]);return db[_0xc426('0x70')][_0xc426('0x32')]({'where':_0x4eb839[_0xc426('0x55')]})['then'](function(_0x2619a1){_0x30b573[_0xc426('0x32')]=_0x2619a1;if(_0x3262fd[_0xc426('0x4b')][_0xc426('0x5c')]){_0x4eb839[_0xc426('0x5d')]=[{'all':!![]}];}return db['CannedAnswer'][_0xc426('0x5e')](_0x4eb839);})[_0xc426('0x3c')](function(_0x2d4cbe){_0x30b573['rows']=_0x2d4cbe;return _0x30b573;});}})['then'](respondWithFilteredResult(_0x4b49fb,_0x4eb839))[_0xc426('0x2d')](handleError(_0x4b49fb,null));};exports['removeAnswers']=function(_0x15cf39,_0x57de3e,_0x27dc1f){return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x15cf39[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x57de3e,null))['then'](function(_0x2c6185){if(_0x2c6185){return _0x2c6185[_0xc426('0x73')](_0x15cf39[_0xc426('0x4b')][_0xc426('0x74')]);}})['then'](respondWithStatusCode(_0x57de3e,null))[_0xc426('0x2d')](handleError(_0x57de3e,null));};exports[_0xc426('0x68')]=function(_0x581a86,_0x159b11){var _0x5867bc={'name':_0x581a86[_0xc426('0x62')][_0xc426('0x41')],'key':_0x581a86[_0xc426('0x62')][_0xc426('0x75')],'email':_0x581a86[_0xc426('0x62')]['email'],'ListId':_0x581a86[_0xc426('0x62')][_0xc426('0x76')],'active':!_[_0xc426('0x77')](_0x581a86[_0xc426('0x62')][_0xc426('0x78')])?_0x581a86[_0xc426('0x62')][_0xc426('0x78')]:!![],'description':_0x581a86[_0xc426('0x62')][_0xc426('0x79')]||null,'Imap':{},'Smtp':{}};if(_[_0xc426('0x77')](_0x581a86[_0xc426('0x62')][_0xc426('0x7a')])){if(_0x581a86[_0xc426('0x62')][_0xc426('0x7b')]){_0x5867bc[_0xc426('0x45')][_0xc426('0x7c')]=_0x5867bc[_0xc426('0x61')]['user']=_0x581a86[_0xc426('0x62')][_0xc426('0x7d')];_0x5867bc[_0xc426('0x45')][_0xc426('0x7e')]=_0x5867bc[_0xc426('0x61')][_0xc426('0x7f')]=_0x581a86[_0xc426('0x62')]['cpassword'];}else{_0x5867bc[_0xc426('0x45')][_0xc426('0x80')]=_0x5867bc[_0xc426('0x61')]['authentication']=![];}_0x5867bc[_0xc426('0x45')]['host']=_0x581a86[_0xc426('0x62')][_0xc426('0x45')][_0xc426('0x81')];_0x5867bc[_0xc426('0x45')][_0xc426('0x82')]=_0x581a86['body'][_0xc426('0x45')][_0xc426('0x82')];_0x5867bc['Smtp'][_0xc426('0x81')]=_0x581a86[_0xc426('0x62')]['Smtp']['host'];_0x5867bc[_0xc426('0x61')][_0xc426('0x82')]=_0x581a86[_0xc426('0x62')]['Smtp'][_0xc426('0x82')];}else{_0x5867bc[_0xc426('0x45')][_0xc426('0x83')]=_0x5867bc['Smtp'][_0xc426('0x83')]=_0x581a86[_0xc426('0x62')][_0xc426('0x7a')];_0x5867bc['Imap'][_0xc426('0x7c')]=_0x5867bc['Smtp'][_0xc426('0x7c')]=_0x581a86[_0xc426('0x62')][_0xc426('0x7d')];_0x5867bc[_0xc426('0x45')][_0xc426('0x7e')]=_0x5867bc[_0xc426('0x61')][_0xc426('0x7f')]=_0x581a86[_0xc426('0x62')][_0xc426('0x84')];}return db[_0xc426('0x5b')][_0xc426('0x68')](_0x5867bc,{'include':[{'model':db[_0xc426('0x46')],'as':_0xc426('0x61')},{'model':db[_0xc426('0x44')],'as':'Imap'}]})[_0xc426('0x3c')](function(_0x33c5a0){var _0x70e305=_0x581a86[_0xc426('0x7c')]['get']({'plain':!![]});if(!_0x70e305)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x70e305[_0xc426('0x85')]==='user'){var _0x3fb0bb=_0x33c5a0[_0xc426('0x3d')]({'plain':!![]});return db[_0xc426('0x86')][_0xc426('0x65')]({'where':{'name':_0xc426('0x3e'),'userProfileId':_0x70e305['userProfileId']},'raw':!![]})[_0xc426('0x3c')](function(_0x54db34){if(_0x54db34&&_0x54db34[_0xc426('0x87')]===0x0){return db[_0xc426('0x3f')][_0xc426('0x68')]({'name':_0x3fb0bb[_0xc426('0x41')],'resourceId':_0x3fb0bb['id'],'type':_0x54db34[_0xc426('0x41')],'sectionId':_0x54db34['id']},{})[_0xc426('0x3c')](function(){return _0x33c5a0;});}else{return _0x33c5a0;}})[_0xc426('0x2d')](function(_0x32e5a1){logger[_0xc426('0x2a')](_0xc426('0x88'),_0x32e5a1);throw _0x32e5a1;});}return _0x33c5a0;})['then'](respondWithResult(_0x159b11,0xc9))[_0xc426('0x2d')](handleError(_0x159b11,null));};exports[_0xc426('0x89')]=function(_0x258da6,_0x1bc0f2,_0xee0f12){return db[_0xc426('0x5b')]['findOne']({'where':{'id':_0x258da6[_0xc426('0x60')]['id']}})['then'](handleEntityNotFound(_0x1bc0f2,null))[_0xc426('0x3c')](function(_0x41795c){if(_0x41795c){return _0x41795c[_0xc426('0x89')]();}return null;})[_0xc426('0x3c')](respondWithResult(_0x1bc0f2,null))[_0xc426('0x2d')](handleError(_0x1bc0f2,null));};exports[_0xc426('0x8a')]=function(_0x1e6da4,_0x1d2bac,_0x46825c){if(_0x1e6da4['body']['id']){delete _0x1e6da4[_0xc426('0x62')]['id'];}return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x1e6da4[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x1d2bac,null))[_0xc426('0x3c')](function(_0x4ada7b){if(_0x4ada7b){_0x1e6da4['body'][_0xc426('0x66')]=_0x4ada7b['id'];return db[_0xc426('0x44')][_0xc426('0x68')](_0x1e6da4[_0xc426('0x62')]);}})[_0xc426('0x3c')](respondWithResult(_0x1d2bac,null))[_0xc426('0x2d')](handleError(_0x1d2bac,null));};exports[_0xc426('0x8b')]=function(_0x5e0e0b,_0x3e3b0a,_0x385fe8){return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0x5e0e0b['params']['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x3e3b0a,null))['then'](function(_0x245b1f){if(_0x245b1f){return _0x245b1f[_0xc426('0x8c')](null);}return null;})[_0xc426('0x3c')](respondWithStatusCode(_0x3e3b0a,null))[_0xc426('0x2d')](handleError(_0x3e3b0a,null));};exports[_0xc426('0x8d')]=function(_0x59606d,_0x414506,_0x9b98a0){return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0x59606d['params']['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x414506,null))['then'](function(_0x3b4a2b){if(_0x3b4a2b){return _0x3b4a2b[_0xc426('0x8d')]();}return null;})[_0xc426('0x3c')](respondWithResult(_0x414506,null))[_0xc426('0x2d')](handleError(_0x414506,null));};exports[_0xc426('0x8e')]=function(_0x1a4bd6,_0x1e7ea6,_0x431c00){if(_0x1a4bd6[_0xc426('0x62')]['id']){delete _0x1a4bd6['body']['id'];}return db['MailAccount']['find']({'where':{'id':_0x1a4bd6[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x1e7ea6,null))[_0xc426('0x3c')](function(_0x47bf37){if(_0x47bf37){_0x1a4bd6['body']['MailAccountId']=_0x47bf37['id'];return db['MailServerOut'][_0xc426('0x68')](_0x1a4bd6[_0xc426('0x62')]);}})[_0xc426('0x3c')](respondWithResult(_0x1e7ea6,null))[_0xc426('0x2d')](handleError(_0x1e7ea6,null));};exports[_0xc426('0x8f')]=function(_0xaf8b4c,_0x379159,_0x552e1d){return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0xaf8b4c[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x379159,null))[_0xc426('0x3c')](function(_0x198f6a){if(_0x198f6a){return _0x198f6a[_0xc426('0x90')](null);}return null;})[_0xc426('0x3c')](respondWithStatusCode(_0x379159,null))[_0xc426('0x2d')](handleError(_0x379159,null));};exports[_0xc426('0x91')]=function(_0x65c127,_0x52b71,_0x236d41){return db[_0xc426('0x92')][_0xc426('0x65')]({'where':{'id':_0x65c127[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x52b71,null))['then'](function(_0x410908){if(_0x410908){return _0x410908[_0xc426('0x91')](_0x65c127[_0xc426('0x62')]['ids'],_[_0xc426('0x93')](_0x65c127[_0xc426('0x62')],[_0xc426('0x74'),'id'])||{});}})[_0xc426('0x3c')](respondWithResult(_0x52b71,null))['catch'](handleError(_0x52b71,null));};exports[_0xc426('0x94')]=function(_0x3595da,_0xdec049,_0x3c3804){var _0x49ad3e={'raw':![],'where':{}};var _0x27c0fe={};var _0x5acdc1={'count':0x0,'rows':[]};return db[_0xc426('0x5b')]['findOne']({'where':{'id':_0x3595da[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0xdec049,null))[_0xc426('0x3c')](function(_0x12eb95){if(_0x12eb95){_0x27c0fe[_0xc426('0x4a')]=_['keys'](db[_0xc426('0x92')][_0xc426('0x6a')]);_0x27c0fe[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x3595da['query']);_0x27c0fe['filters']=_[_0xc426('0x4e')](_0x27c0fe[_0xc426('0x4a')],_0x27c0fe['query']);_0x49ad3e['attributes']=_[_0xc426('0x4e')](_0x27c0fe[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x3595da[_0xc426('0x4b')]['fields']));_0x49ad3e['attributes']=_0x49ad3e[_0xc426('0x51')]['length']?_0x49ad3e[_0xc426('0x51')]:_0x27c0fe[_0xc426('0x4a')];if(!_0x3595da[_0xc426('0x4b')]['hasOwnProperty']('nolimit')){_0x49ad3e[_0xc426('0x34')]=qs[_0xc426('0x34')](_0x3595da[_0xc426('0x4b')][_0xc426('0x34')]);_0x49ad3e[_0xc426('0x33')]=qs[_0xc426('0x33')](_0x3595da['query'][_0xc426('0x33')]);}_0x49ad3e[_0xc426('0x6b')]=qs[_0xc426('0x54')](_0x3595da['query']['sort']);_0x49ad3e[_0xc426('0x55')]=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x3595da[_0xc426('0x4b')],_0x27c0fe[_0xc426('0x4d')]));_0x49ad3e[_0xc426('0x55')]['MailAccountId']=_0x12eb95['id'];if(_0x3595da[_0xc426('0x4b')]['filter']){_0x49ad3e[_0xc426('0x55')]=_[_0xc426('0x58')](_0x49ad3e[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0x49ad3e[_0xc426('0x51')],function(_0xf92995){var _0x4b0121={};_0x4b0121[_0xf92995]={'$like':'%'+_0x3595da[_0xc426('0x4b')]['filter']+'%'};return _0x4b0121;})});}_0x49ad3e=_[_0xc426('0x58')]({},_0x49ad3e,_0x3595da[_0xc426('0x6c')]);return db[_0xc426('0x92')]['count']({'where':_0x49ad3e[_0xc426('0x55')]})['then'](function(_0x55fea4){_0x5acdc1[_0xc426('0x32')]=_0x55fea4;if(_0x3595da[_0xc426('0x4b')][_0xc426('0x5c')]){_0x49ad3e['include']=[{'model':db[_0xc426('0x95')],'as':_0xc426('0x96'),'required':![]},{'model':db[_0xc426('0x97')],'as':_0xc426('0x98'),'attributes':[_0xc426('0x41'),_0xc426('0x99'),_0xc426('0x9a')],'required':![]},{'model':db[_0xc426('0x9b')],'as':_0xc426('0x9c'),'attributes':['id',_0xc426('0x41'),_0xc426('0x9d')],'where':_0x3595da[_0xc426('0x4b')][_0xc426('0x9e')]?{'id':_0x3595da[_0xc426('0x4b')][_0xc426('0x9e')]}:undefined,'required':_0x3595da[_0xc426('0x4b')]['tag']?!![]:![]}];}return db[_0xc426('0x92')][_0xc426('0x5e')](_0x49ad3e);})[_0xc426('0x3c')](function(_0x55055b){_0x5acdc1[_0xc426('0x6d')]=_0x55055b;return _0x5acdc1;});}})[_0xc426('0x3c')](respondWithFilteredResult(_0xdec049,_0x49ad3e))[_0xc426('0x2d')](handleError(_0xdec049,null));};exports[_0xc426('0x9f')]=function(_0x2562f7,_0x1b972c,_0x5dce87){return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0x2562f7[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x1b972c,null))[_0xc426('0x3c')](function(_0x203fa4){if(_0x203fa4){return db[_0xc426('0xa0')][_0xc426('0xa1')](function(_0x3419d5){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x2562f7[_0xc426('0x60')]['id']},'transaction':_0x3419d5})[_0xc426('0x3c')](function(_0x40128b){var _0x2174f9=_[_0xc426('0x59')](_0x2562f7[_0xc426('0x62')],function(_0x261852){_0x261852[_0xc426('0x66')]=_0x2562f7['params']['id'];return _0x261852;});return db['MailApplication'][_0xc426('0xa2')](_0x2174f9,{'transaction':_0x3419d5});});})['then'](function(){return db[_0xc426('0xa3')][_0xc426('0xa4')]({'where':{'MailAccountId':_0x2562f7[_0xc426('0x60')]['id']},'order':_0xc426('0xa5')});});}})['then'](respondWithResult(_0x1b972c,null))[_0xc426('0x2d')](handleError(_0x1b972c,null));};exports['getApplications']=function(_0x573bbf,_0x165c2a,_0x15e4b6){var _0x1b2ff6={};var _0x582ab3={};var _0x55e087;var _0x25ec97;return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0x573bbf[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x165c2a,null))[_0xc426('0x3c')](function(_0x33df7e){if(_0x33df7e){_0x55e087=_0x33df7e;_0x582ab3['model']=_[_0xc426('0x4c')](db[_0xc426('0xa3')]['rawAttributes']);_0x582ab3['query']=_[_0xc426('0x4c')](_0x573bbf['query']);_0x582ab3['filters']=_['intersection'](_0x582ab3['model'],_0x582ab3['query']);_0x1b2ff6[_0xc426('0x51')]=_[_0xc426('0x4e')](_0x582ab3[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x573bbf[_0xc426('0x4b')][_0xc426('0x4f')]));_0x1b2ff6[_0xc426('0x51')]=_0x1b2ff6[_0xc426('0x51')][_0xc426('0x50')]?_0x1b2ff6[_0xc426('0x51')]:_0x582ab3['model'];_0x1b2ff6[_0xc426('0x6b')]=qs['sort'](_0x573bbf[_0xc426('0x4b')][_0xc426('0x54')]);_0x1b2ff6[_0xc426('0x55')]=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x573bbf[_0xc426('0x4b')],_0x582ab3['filters']));if(_0x573bbf['query'][_0xc426('0x57')]){_0x1b2ff6[_0xc426('0x55')]=_[_0xc426('0x58')](_0x1b2ff6[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0x1b2ff6[_0xc426('0x51')],function(_0x22b8dc){var _0x45e6f2={};_0x45e6f2[_0x22b8dc]={'$like':'%'+_0x573bbf[_0xc426('0x4b')]['filter']+'%'};return _0x45e6f2;})});}_0x1b2ff6=_['merge']({},_0x1b2ff6,_0x573bbf[_0xc426('0x6c')]);return _0x55e087[_0xc426('0xa6')](_0x1b2ff6);}})['then'](function(_0x32b9dd){if(_0x32b9dd){_0x25ec97=_0x32b9dd['length'];if(!_0x573bbf[_0xc426('0x4b')][_0xc426('0x52')](_0xc426('0x53'))){_0x1b2ff6[_0xc426('0x34')]=qs['limit'](_0x573bbf[_0xc426('0x4b')][_0xc426('0x34')]);_0x1b2ff6['offset']=qs['offset'](_0x573bbf['query'][_0xc426('0x33')]);}return _0x55e087[_0xc426('0xa6')](_0x1b2ff6);}})[_0xc426('0x3c')](function(_0x3b4237){if(_0x3b4237){return _0x3b4237?{'count':_0x25ec97,'rows':_0x3b4237}:null;}})[_0xc426('0x3c')](respondWithResult(_0x165c2a,null))[_0xc426('0x2d')](handleError(_0x165c2a,null));};exports['getMessages']=function(_0x45f8c9,_0x50d580,_0x263174){var _0x314e1f={'raw':!![],'where':{}};var _0x4fd545={};var _0x492248={'count':0x0,'rows':[]};return db[_0xc426('0x5b')][_0xc426('0x72')]({'where':{'id':_0x45f8c9[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x50d580,null))['then'](function(_0x2b1091){if(_0x2b1091){_0x4fd545['model']=_[_0xc426('0x4c')](db[_0xc426('0xa7')][_0xc426('0x6a')]);_0x4fd545[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x45f8c9[_0xc426('0x4b')]);_0x4fd545[_0xc426('0x4d')]=_[_0xc426('0x4e')](_0x4fd545[_0xc426('0x4a')],_0x4fd545[_0xc426('0x4b')]);_0x314e1f[_0xc426('0x51')]=_[_0xc426('0x4e')](_0x4fd545[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x45f8c9['query'][_0xc426('0x4f')]));_0x314e1f[_0xc426('0x51')]=_0x314e1f[_0xc426('0x51')]['length']?_0x314e1f[_0xc426('0x51')]:_0x4fd545[_0xc426('0x4a')];if(!_0x45f8c9[_0xc426('0x4b')][_0xc426('0x52')](_0xc426('0x53'))){_0x314e1f[_0xc426('0x34')]=qs['limit'](_0x45f8c9[_0xc426('0x4b')][_0xc426('0x34')]);_0x314e1f['offset']=qs[_0xc426('0x33')](_0x45f8c9[_0xc426('0x4b')][_0xc426('0x33')]);}_0x314e1f[_0xc426('0x6b')]=qs[_0xc426('0x54')](_0x45f8c9['query'][_0xc426('0x54')]);_0x314e1f[_0xc426('0x55')]=qs[_0xc426('0x4d')](_['pick'](_0x45f8c9[_0xc426('0x4b')],_0x4fd545[_0xc426('0x4d')]));_0x314e1f[_0xc426('0x55')][_0xc426('0x66')]=_0x2b1091['id'];if(_0x45f8c9[_0xc426('0x4b')]['filter']){_0x314e1f[_0xc426('0x55')]=_[_0xc426('0x58')](_0x314e1f[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0x314e1f['attributes'],function(_0x4c8fa1){var _0x39409c={};_0x39409c[_0x4c8fa1]={'$like':'%'+_0x45f8c9[_0xc426('0x4b')][_0xc426('0x57')]+'%'};return _0x39409c;})});}if(_0x45f8c9[_0xc426('0x4b')]['$gte']){var _0x182c02=_0x45f8c9[_0xc426('0x4b')]['$gte'][_0xc426('0xa8')](',');var _0x19db72={};_0x19db72[_0x182c02[0x0]]={'$gte':moment(_0x182c02[0x1])[_0xc426('0xa9')](_0xc426('0xaa'))};_0x314e1f[_0xc426('0x55')]=_[_0xc426('0x58')](_0x314e1f[_0xc426('0x55')],_0x19db72);}_0x314e1f=_[_0xc426('0x58')]({},_0x314e1f,_0x45f8c9[_0xc426('0x6c')]);return db['MailMessage'][_0xc426('0x32')]({'where':_0x314e1f[_0xc426('0x55')]})[_0xc426('0x3c')](function(_0xfbd54d){_0x492248['count']=_0xfbd54d;if(_0x45f8c9['query'][_0xc426('0x5c')]){_0x314e1f[_0xc426('0x5d')]=[{'all':!![]}];}return db[_0xc426('0xa7')]['findAll'](_0x314e1f);})[_0xc426('0x3c')](function(_0x2234cc){_0x492248[_0xc426('0x6d')]=_0x2234cc;return _0x492248;});}})[_0xc426('0x3c')](respondWithFilteredResult(_0x50d580,_0x314e1f))[_0xc426('0x2d')](handleError(_0x50d580,null));};exports[_0xc426('0x42')]=function(_0x3f1ab5,_0x306b92,_0x2d65b3){var _0x13236d,_0x4b6c86={},_0x5cb4ed;if(_0x3f1ab5['body']['to']){_0x5cb4ed=_0x3f1ab5[_0xc426('0x62')]['to'][_0xc426('0xa8')](',')[0x0];}return db['MailAccount']['find']({'where':{'id':_0x3f1ab5[_0xc426('0x60')]['id']},'include':[{'model':db['CmList'],'as':_0xc426('0xab'),'include':[{'model':db[_0xc426('0x95')],'as':_0xc426('0xac'),'where':{'email':_0x5cb4ed},'limit':0x1,'order':[[_0xc426('0xad'),_0xc426('0xae')]]}]},{'model':db[_0xc426('0x46')],'as':'Smtp','raw':!![]}]})[_0xc426('0x3c')](handleEntityNotFound(_0x306b92,null))[_0xc426('0x3c')](function(_0x29ea24){if(_0x29ea24){_0x13236d=_0x29ea24;if(_0x29ea24[_0xc426('0x61')]){if(_[_0xc426('0x77')](_0x3f1ab5['body'][_0xc426('0xaf')])){_0x3f1ab5[_0xc426('0x62')][_0xc426('0xaf')]=util[_0xc426('0xa9')](_0xc426('0xb0'),_0x29ea24['name'],_0x29ea24['email']||_0x29ea24[_0xc426('0x61')]['user']);}if(_0x3f1ab5['body'][_0xc426('0xb1')]&&_0x3f1ab5[_0xc426('0x62')]['attachments']['length']){for(var _0x382739=0x0;_0x382739<_0x3f1ab5['body']['attachments'][_0xc426('0x50')];_0x382739+=0x1){_0x3f1ab5['body'][_0xc426('0xb1')][_0x382739]={'filename':_0x3f1ab5['body'][_0xc426('0xb1')][_0x382739]['name'],'path':path['join'](config[_0xc426('0xb2')],_0xc426('0xb3'),_0x3f1ab5['body'][_0xc426('0xb1')][_0x382739][_0xc426('0xb4')])};}}var _0x55506e={'tls':{'rejectUnauthorized':![]}};if(_[_0xc426('0x77')](_0x29ea24[_0xc426('0x61')][_0xc426('0x83')])){if(_0x29ea24[_0xc426('0x61')]['authentication']){_0x55506e[_0xc426('0xb5')]={'user':_0x29ea24[_0xc426('0x61')][_0xc426('0x7c')],'pass':_0x29ea24[_0xc426('0x61')][_0xc426('0x7f')]};}_0x55506e[_0xc426('0x81')]=_0x29ea24['Smtp'][_0xc426('0x81')];_0x55506e[_0xc426('0x82')]=_0x29ea24['Smtp'][_0xc426('0x82')];_0x55506e[_0xc426('0xb6')]=_0x29ea24[_0xc426('0x61')][_0xc426('0xb6')];}else{_0x55506e[_0xc426('0x83')]=_0x29ea24[_0xc426('0x61')][_0xc426('0x83')];_0x55506e['auth']={'user':_0x29ea24[_0xc426('0x61')][_0xc426('0x7c')],'pass':_0x29ea24[_0xc426('0x61')][_0xc426('0x7f')]};}return respondWithRpcPromise(_0xc426('0xb7'),_0xc426('0xb8'),{'account':_0x55506e,'message':_0x3f1ab5[_0xc426('0x62')]});}else{throw new Error(_0xc426('0xb9'));}}})[_0xc426('0x3c')](function(_0x308696){if(_0x308696){_0x4b6c86=_0x308696;if(_0x13236d[_0xc426('0xab')]){if(_0x13236d[_0xc426('0xab')][_0xc426('0xac')][_0xc426('0x50')]){return _0x13236d[_0xc426('0xab')][_0xc426('0xac')][0x0];}else{return db['CmContact'][_0xc426('0x68')](_[_0xc426('0x19')](_0x3f1ab5[_0xc426('0x62')],{'firstName':_0x3f1ab5['body']['to'],'email':_0x3f1ab5[_0xc426('0x62')]['to'],'phone':_0x3f1ab5['body']['to'],'ListId':_0x13236d[_0xc426('0x76')]}));}}else{throw new Error(_0xc426('0xb9'));}}})[_0xc426('0x3c')](function(_0x50ce6c){if(_0x50ce6c){var _0x2edec4={'UserId':_0x3f1ab5[_0xc426('0x7c')]['id'],'ContactId':_0x50ce6c['id'],'MailAccountId':_0x13236d['id'],'inReplyTo':_0x4b6c86[_0xc426('0xba')],'to':_0x3f1ab5[_0xc426('0x62')]['from'],'cc':_0x3f1ab5[_0xc426('0x62')]['cc'],'subject':_0x3f1ab5[_0xc426('0x62')][_0xc426('0xbb')],'attach':_0x3f1ab5[_0xc426('0x62')][_0xc426('0xbc')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xc426('0xa9')](_0xc426('0xaa')),'lastMsgDirection':'out','lastMsgBody':_0x3f1ab5[_0xc426('0x62')]['body'],'Messages':[_[_0xc426('0x58')](_0x3f1ab5[_0xc426('0x62')],{'messageId':_0x4b6c86[_0xc426('0xba')],'sentAt':moment()[_0xc426('0xa9')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x13236d['id'],'UserId':_0x3f1ab5[_0xc426('0x7c')]['id'],'ContactId':_0x50ce6c['id']})]};if(_0x3f1ab5[_0xc426('0x62')]['Interaction']){_0x2edec4=_[_0xc426('0x58')](_0x2edec4,_0x3f1ab5[_0xc426('0x62')][_0xc426('0xbd')]);}return db[_0xc426('0x92')][_0xc426('0x68')](_0x2edec4,{'include':[{'model':db[_0xc426('0xa7')],'as':_0xc426('0xbe')}]});}})[_0xc426('0x3c')](respondWithResult(_0x306b92,null))[_0xc426('0x2d')](handleError(_0x306b92,null));};exports[_0xc426('0xbf')]=function(_0x542480,_0x14079a,_0x58a3a8){return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x542480[_0xc426('0x60')]['id']},'include':[{'model':db[_0xc426('0x46')],'as':'Smtp','raw':!![]}]})[_0xc426('0x3c')](handleEntityNotFound(_0x14079a,null))[_0xc426('0x3c')](function(_0x2b5c52){if(_0x2b5c52&&_0x2b5c52[_0xc426('0x61')]){var _0x5b9a01={'id':_0x2b5c52['id'],'tls':{'rejectUnauthorized':![]}};if(_0x2b5c52[_0xc426('0x61')][_0xc426('0x83')]){_0x5b9a01[_0xc426('0x83')]=_0x2b5c52['Smtp'][_0xc426('0x83')];}else{_0x5b9a01['host']=_0x2b5c52['Smtp'][_0xc426('0x81')];_0x5b9a01[_0xc426('0x82')]=_0x2b5c52[_0xc426('0x61')][_0xc426('0x82')];_0x5b9a01[_0xc426('0xb6')]=_0x2b5c52[_0xc426('0x61')][_0xc426('0xb6')];}if(_0x2b5c52['Smtp']['authentication']){_0x5b9a01['auth']={'user':_0x2b5c52['Smtp']['user'],'pass':_0x2b5c52[_0xc426('0x61')]['pass']};}return respondWithRpcPromise('VerifySmtp',_0xc426('0xbf'),{'account':_0x5b9a01});}})['then'](respondWithResult(_0x14079a,null))['catch'](handleError(_0x14079a,null));};exports['destroy']=function(_0x35effc,_0x4c927c){return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x35effc[_0xc426('0x60')]['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x4c927c,null))[_0xc426('0x3c')](function(_0x52ea5d){if(_0x52ea5d&&_0x52ea5d[_0xc426('0x83')]){throw new db[(_0xc426('0x21'))][(_0xc426('0x22'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x52ea5d;})[_0xc426('0x3c')](removeEntity(_0x4c927c,null))[_0xc426('0x2d')](handleError(_0x4c927c,null));};exports[_0xc426('0xc0')]=function(_0x301840,_0x2204ec,_0x1f584b){return db[_0xc426('0x5b')][_0xc426('0x65')]({'where':{'id':_0x301840['params']['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x2204ec,null))[_0xc426('0x3c')](function(_0x11cac8){if(_0x11cac8){return _0x11cac8[_0xc426('0xc0')](_0x301840[_0xc426('0x62')]['ids'],_[_0xc426('0x93')](_0x301840[_0xc426('0x62')],[_0xc426('0x74'),'id'])||{})[_0xc426('0xc1')](function(_0x17cbac){for(var _0x327054=0x0;_0x327054<_0x301840['body']['ids'][_0xc426('0x50')];_0x327054+=0x1){socket[_0xc426('0xc2')]('userMailAccount:save',{'UserId':_0x301840['body'][_0xc426('0x74')][_0x327054],'MailAccountId':_0x301840[_0xc426('0x60')]['id']});}return _0x17cbac;});}})[_0xc426('0x3c')](respondWithResult(_0x2204ec,null))[_0xc426('0x2d')](handleError(_0x2204ec,null));};exports[_0xc426('0xc3')]=function(_0x1be3e9,_0x43a1e1,_0x2e9983){return db[_0xc426('0x5b')]['find']({'where':{'id':_0x1be3e9[_0xc426('0x60')]['id']}})['then'](handleEntityNotFound(_0x43a1e1,null))['then'](function(_0x2435cf){if(_0x2435cf){return _0x2435cf[_0xc426('0xc3')](_0x1be3e9[_0xc426('0x4b')][_0xc426('0x74')])[_0xc426('0x3c')](function(){if(_['isArray'](_0x1be3e9['query'][_0xc426('0x74')])){for(var _0x12236d=0x0;_0x12236d<_0x1be3e9[_0xc426('0x4b')][_0xc426('0x74')][_0xc426('0x50')];_0x12236d+=0x1){socket[_0xc426('0xc2')](_0xc426('0xc4'),{'UserId':Number(_0x1be3e9[_0xc426('0x4b')][_0xc426('0x74')][_0x12236d]),'MailAccountId':Number(_0x1be3e9[_0xc426('0x60')]['id'])});}}else{socket[_0xc426('0xc2')](_0xc426('0xc4'),{'UserId':Number(_0x1be3e9[_0xc426('0x4b')]['ids']),'MailAccountId':Number(_0x1be3e9[_0xc426('0x60')]['id'])});}});}})['then'](respondWithStatusCode(_0x43a1e1,null))[_0xc426('0x2d')](handleError(_0x43a1e1,null));};exports[_0xc426('0xc5')]=function(_0x1d05bd,_0x1fd9bb,_0x410ed4){var _0xfee7a5={};var _0x44521b={};var _0x165985;var _0x3806f5;return db[_0xc426('0x5b')]['findOne']({'where':{'id':_0x1d05bd['params']['id']}})[_0xc426('0x3c')](handleEntityNotFound(_0x1fd9bb,null))['then'](function(_0x297a8c){if(_0x297a8c){_0x165985=_0x297a8c;_0x44521b[_0xc426('0x4a')]=_['keys'](db[_0xc426('0x97')][_0xc426('0x6a')]);_0x44521b[_0xc426('0x4b')]=_[_0xc426('0x4c')](_0x1d05bd[_0xc426('0x4b')]);_0x44521b[_0xc426('0x4d')]=_['intersection'](_0x44521b[_0xc426('0x4a')],_0x44521b[_0xc426('0x4b')]);_0xfee7a5[_0xc426('0x51')]=_[_0xc426('0x4e')](_0x44521b[_0xc426('0x4a')],qs[_0xc426('0x4f')](_0x1d05bd['query']['fields']));_0xfee7a5[_0xc426('0x51')]=_0xfee7a5[_0xc426('0x51')][_0xc426('0x50')]?_0xfee7a5[_0xc426('0x51')]:_0x44521b[_0xc426('0x4a')];_0xfee7a5[_0xc426('0x6b')]=qs[_0xc426('0x54')](_0x1d05bd[_0xc426('0x4b')][_0xc426('0x54')]);_0xfee7a5[_0xc426('0x55')]=qs[_0xc426('0x4d')](_[_0xc426('0x56')](_0x1d05bd[_0xc426('0x4b')],_0x44521b[_0xc426('0x4d')]));if(_0x1d05bd[_0xc426('0x4b')][_0xc426('0x57')]){_0xfee7a5[_0xc426('0x55')]=_[_0xc426('0x58')](_0xfee7a5[_0xc426('0x55')],{'$or':_[_0xc426('0x59')](_0xfee7a5['attributes'],function(_0x3c4a56){var _0x453030={};_0x453030[_0x3c4a56]={'$like':'%'+_0x1d05bd['query'][_0xc426('0x57')]+'%'};return _0x453030;})});}_0xfee7a5=_[_0xc426('0x58')]({},_0xfee7a5,_0x1d05bd[_0xc426('0x6c')]);return _0x165985[_0xc426('0xc5')](_0xfee7a5);}})[_0xc426('0x3c')](function(_0x335585){if(_0x335585){_0x3806f5=_0x335585[_0xc426('0x50')];if(!_0x1d05bd['query'][_0xc426('0x52')](_0xc426('0x53'))){_0xfee7a5['limit']=qs[_0xc426('0x34')](_0x1d05bd['query'][_0xc426('0x34')]);_0xfee7a5[_0xc426('0x33')]=qs[_0xc426('0x33')](_0x1d05bd['query'][_0xc426('0x33')]);}return _0x165985['getAgents'](_0xfee7a5);}})['then'](function(_0x421571){if(_0x421571){return _0x421571?{'count':_0x3806f5,'rows':_0x421571}:null;}})[_0xc426('0x3c')](respondWithResult(_0x1fd9bb,null))[_0xc426('0x2d')](handleError(_0x1fd9bb,null));};