62e13a05b459f7c9e3cc836d8ebf55429565b606
[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 _0x7331=['userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','client','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','info','result','catch','status','json','limit','Content-Range','save','update','destroy','MailAccounts','UserProfileResource','end','sendStatus','stack','name','send','index','Imap','MailServerOut','Smtp','Pause','MailAccount','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','offset','order','sort','pick','filter','merge','where','options','count','includeAll','include','findAll','params','MailServerIn','mandatoryDispositionPause','find','body','describe','Disposition','create','findOne','hasOwnProperty','MailAccountId','rows','removeDispositions','ids','CannedAnswer','removeAnswers','key','email','ListId','active','description','cservice','cauthentication','user','cuser','password','pass','authentication','host','port','service','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','getImap','removeImap','getSmtp','removeSmtp','addInteraction','MailInteraction','getInteractions','Contact','User','Owner','fullname','internal','Tag','Tags','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','$gte','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','split','CmContact','Contacts','updatedAt','DESC','isNil','from','%s\x20<%s>','attachments','root','auth','secure','SendMail','sendMail','List\x20not\x20found','List','subject','attach','out','messageId','Interaction','Messages','verifySmtp','VerifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','emit'];(function(_0x1b0cfa,_0xb2f450){var _0x1e45db=function(_0x19aa1d){while(--_0x19aa1d){_0x1b0cfa['push'](_0x1b0cfa['shift']());}};_0x1e45db(++_0xb2f450);}(_0x7331,0x179));var _0x1733=function(_0x3a07fe,_0xd1a24e){_0x3a07fe=_0x3a07fe-0x0;var _0xdd8def=_0x7331[_0x3a07fe];return _0xdd8def;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1733('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1733('0x1'));var jsonpatch=require(_0x1733('0x2'));var rp=require(_0x1733('0x3'));var moment=require('moment');var BPromise=require(_0x1733('0x4'));var Mustache=require(_0x1733('0x5'));var util=require(_0x1733('0x6'));var path=require(_0x1733('0x7'));var sox=require('sox');var csv=require(_0x1733('0x8'));var ejs=require(_0x1733('0x9'));var fs=require('fs');var _=require(_0x1733('0xa'));var squel=require(_0x1733('0xb'));var crypto=require(_0x1733('0xc'));var jsforce=require(_0x1733('0xd'));var deskjs=require(_0x1733('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1733('0xf'));var authService=require(_0x1733('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x1733('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1733('0x12'));var utils=require('../../config/utils');var config=require(_0x1733('0x13'));var db=require(_0x1733('0x14'))['db'];config[_0x1733('0x15')]=_[_0x1733('0x16')](config[_0x1733('0x15')],{'host':_0x1733('0x17'),'port':0x18eb});var socket=require(_0x1733('0x18'))(new Redis(config['redis']));require(_0x1733('0x19'))[_0x1733('0x1a')](socket);var jayson=require('jayson/promise');var client=jayson[_0x1733('0x1b')]['http']({'port':0x232b});function checkPasswordPattern(_0x28dd6b,_0x535463,_0x3cd814){if(_0x3cd814){var _0x59f660=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x59f660[_0x1733('0x1c')](_0x535463)){return _0x28dd6b;}else{throw new db[(_0x1733('0x1d'))]['ValidationError'](_0x1733('0x1e'));}}else{return _0x28dd6b;}}function respondWithRpcPromise(_0x4ceaa3,_0x4f9f00,_0x2ad71e,_0x493257){return new BPromise(function(_0xec3d81,_0x1ddb25){var _0x1f98ae=_0x493257||client;return _0x1f98ae[_0x1733('0x1f')](_0x4ceaa3,_0x2ad71e)[_0x1733('0x20')](function(_0xd86f11){logger['info'](_0x1733('0x21'),_0x4f9f00,_0x1733('0x22'));logger[_0x1733('0x23')](_0x1733('0x24'),_0x4f9f00,'request\x20sent',JSON['stringify'](_0xd86f11));if(_0xd86f11[_0x1733('0x25')]){if(_0xd86f11[_0x1733('0x25')][_0x1733('0x26')]===0x1f4){logger[_0x1733('0x25')]('MailAccount,\x20%s,\x20%s',_0x4f9f00,_0xd86f11[_0x1733('0x25')]['message']);return _0x1ddb25(_0xd86f11[_0x1733('0x25')][_0x1733('0x27')]);}logger[_0x1733('0x25')](_0x1733('0x21'),_0x4f9f00,_0xd86f11[_0x1733('0x25')]['message']);return _0xec3d81(_0xd86f11[_0x1733('0x25')][_0x1733('0x27')]);}else{logger[_0x1733('0x28')]('MailAccount,\x20%s,\x20%s',_0x4f9f00,'request\x20sent');_0xec3d81(_0xd86f11[_0x1733('0x29')][_0x1733('0x27')]);}})[_0x1733('0x2a')](function(_0x14ccdb){logger[_0x1733('0x25')]('MailAccount,\x20%s,\x20%s',_0x4f9f00,_0x14ccdb);_0x1ddb25(_0x14ccdb);});});}function respondWithStatusCode(_0x2e151c,_0x1059c1){_0x1059c1=_0x1059c1||0xcc;return function(_0x2a3887){if(_0x2a3887){return _0x2e151c['sendStatus'](_0x1059c1);}return _0x2e151c['status'](_0x1059c1)['end']();};}function respondWithResult(_0x5c4cd0,_0x235567){_0x235567=_0x235567||0xc8;return function(_0x4fb500){if(_0x4fb500){return _0x5c4cd0[_0x1733('0x2b')](_0x235567)[_0x1733('0x2c')](_0x4fb500);}};}function respondWithFilteredResult(_0x670181,_0x14ff0f){return function(_0x152565){if(_0x152565){var _0x245983=_0x152565['count'],_0x5c544c=_0x14ff0f['offset'],_0x3ebba8=_0x14ff0f['offset']+_0x14ff0f[_0x1733('0x2d')],_0x576129;if(_0x3ebba8>=_0x245983){_0x3ebba8=_0x245983;_0x576129=0xc8;}else{_0x576129=0xce;}_0x670181[_0x1733('0x2b')](_0x576129);return _0x670181['set'](_0x1733('0x2e'),_0x5c544c+'-'+_0x3ebba8+'/'+_0x245983)[_0x1733('0x2c')](_0x152565);}return null;};}function patchUpdates(_0x237db7){return function(_0x36d166){try{jsonpatch['apply'](_0x36d166,_0x237db7,!![]);}catch(_0x3275c8){return BPromise['reject'](_0x3275c8);}return _0x36d166[_0x1733('0x2f')]();};}function saveUpdates(_0x2bfc31,_0xd107bf){return function(_0x2fe017){if(_0x2fe017){return _0x2fe017[_0x1733('0x30')](_0x2bfc31)[_0x1733('0x20')](function(_0x4f12bb){return _0x4f12bb;});}return null;};}function removeEntity(_0x2aca92,_0x263be8){return function(_0x3db387){if(_0x3db387){return _0x3db387[_0x1733('0x31')]()[_0x1733('0x20')](function(){var _0x268036=_0x3db387['get']({'plain':!![]});var _0x170f78=_0x1733('0x32');return db[_0x1733('0x33')]['destroy']({'where':{'type':_0x170f78,'resourceId':_0x268036['id']}})[_0x1733('0x20')](function(){return _0x3db387;});})[_0x1733('0x20')](function(){_0x2aca92[_0x1733('0x2b')](0xcc)[_0x1733('0x34')]();});}};}function handleEntityNotFound(_0xedcf0b,_0x2e8ff2){return function(_0x3cd058){if(!_0x3cd058){_0xedcf0b[_0x1733('0x35')](0x194);}return _0x3cd058;};}function handleError(_0x43aa30,_0x146c4c){_0x146c4c=_0x146c4c||0x1f4;return function(_0x175ed2){logger[_0x1733('0x25')](_0x175ed2[_0x1733('0x36')]);if(_0x175ed2[_0x1733('0x37')]){delete _0x175ed2[_0x1733('0x37')];}_0x43aa30[_0x1733('0x2b')](_0x146c4c)[_0x1733('0x38')](_0x175ed2);};}exports[_0x1733('0x39')]=function(_0x45388,_0x530037){var _0x2dcd98={'include':[{'model':db['MailServerIn'],'as':_0x1733('0x3a')},{'model':db[_0x1733('0x3b')],'as':_0x1733('0x3c')},{'model':db[_0x1733('0x3d')],'as':'mandatoryDispositionPause'}]},_0x426f93={},_0x52b61c={'count':0x0,'rows':[]};var _0x39a0f8=_['map'](db[_0x1733('0x3e')][_0x1733('0x3f')],function(_0x2303d2){return{'name':_0x2303d2[_0x1733('0x40')],'type':_0x2303d2[_0x1733('0x41')]['key']};});_0x426f93[_0x1733('0x42')]=_[_0x1733('0x43')](_0x39a0f8,_0x1733('0x37'));_0x426f93[_0x1733('0x44')]=_[_0x1733('0x45')](_0x45388[_0x1733('0x44')]);_0x426f93[_0x1733('0x46')]=_[_0x1733('0x47')](_0x426f93[_0x1733('0x42')],_0x426f93[_0x1733('0x44')]);_0x2dcd98[_0x1733('0x48')]=_[_0x1733('0x47')](_0x426f93[_0x1733('0x42')],qs[_0x1733('0x49')](_0x45388[_0x1733('0x44')][_0x1733('0x49')]));_0x2dcd98['attributes']=_0x2dcd98[_0x1733('0x48')][_0x1733('0x4a')]?_0x2dcd98['attributes']:_0x426f93[_0x1733('0x42')];if(!_0x45388[_0x1733('0x44')]['hasOwnProperty'](_0x1733('0x4b'))){_0x2dcd98[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x45388[_0x1733('0x44')][_0x1733('0x2d')]);_0x2dcd98['offset']=qs[_0x1733('0x4c')](_0x45388[_0x1733('0x44')][_0x1733('0x4c')]);}_0x2dcd98[_0x1733('0x4d')]=qs[_0x1733('0x4e')](_0x45388['query'][_0x1733('0x4e')]);_0x2dcd98['where']=qs[_0x1733('0x46')](_[_0x1733('0x4f')](_0x45388[_0x1733('0x44')],_0x426f93[_0x1733('0x46')]));if(_0x45388[_0x1733('0x44')][_0x1733('0x50')]){_0x2dcd98['where']=_[_0x1733('0x51')](_0x2dcd98[_0x1733('0x52')],{'$or':_[_0x1733('0x43')](_0x39a0f8,function(_0x1c48d5){if(_0x1c48d5[_0x1733('0x41')]!=='VIRTUAL'){var _0x3e5928={};_0x3e5928[_0x1c48d5[_0x1733('0x37')]]={'$like':'%'+_0x45388['query'][_0x1733('0x50')]+'%'};return _0x3e5928;}})});}_0x2dcd98=_[_0x1733('0x51')]({},_0x2dcd98,_0x45388[_0x1733('0x53')]);var _0x24f780={'where':_0x2dcd98[_0x1733('0x52')]};return db[_0x1733('0x3e')][_0x1733('0x54')](_0x24f780)[_0x1733('0x20')](function(_0x28c9fa){_0x52b61c[_0x1733('0x54')]=_0x28c9fa;if(_0x45388[_0x1733('0x44')][_0x1733('0x55')]){_0x2dcd98[_0x1733('0x56')]=[{'all':!![]}];}return db['MailAccount'][_0x1733('0x57')](_0x2dcd98);})['then'](function(_0x466845){_0x52b61c['rows']=_0x466845;return _0x52b61c;})[_0x1733('0x20')](respondWithFilteredResult(_0x530037,_0x2dcd98))['catch'](handleError(_0x530037,null));};exports['show']=function(_0x5529c1,_0x1d72a5){var _0x3a0199={'raw':![],'where':{'id':_0x5529c1[_0x1733('0x58')]['id']},'include':[{'model':db[_0x1733('0x59')],'as':_0x1733('0x3a')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x1733('0x3d')],'as':_0x1733('0x5a')}]},_0x46adb4={};_0x46adb4[_0x1733('0x42')]=_[_0x1733('0x45')](db[_0x1733('0x3e')][_0x1733('0x3f')]);_0x46adb4[_0x1733('0x44')]=_[_0x1733('0x45')](_0x5529c1[_0x1733('0x44')]);_0x46adb4[_0x1733('0x46')]=_[_0x1733('0x47')](_0x46adb4[_0x1733('0x42')],_0x46adb4[_0x1733('0x44')]);_0x3a0199[_0x1733('0x48')]=_[_0x1733('0x47')](_0x46adb4['model'],qs['fields'](_0x5529c1[_0x1733('0x44')][_0x1733('0x49')]));_0x3a0199[_0x1733('0x48')]=_0x3a0199['attributes'][_0x1733('0x4a')]?_0x3a0199[_0x1733('0x48')]:_0x46adb4[_0x1733('0x42')];if(_0x5529c1['query'][_0x1733('0x55')]){_0x3a0199[_0x1733('0x56')]=[{'all':!![]}];}_0x3a0199=_[_0x1733('0x51')]({},_0x3a0199,_0x5529c1[_0x1733('0x53')]);return db[_0x1733('0x3e')][_0x1733('0x5b')](_0x3a0199)['then'](handleEntityNotFound(_0x1d72a5,null))[_0x1733('0x20')](respondWithResult(_0x1d72a5,null))[_0x1733('0x2a')](handleError(_0x1d72a5,null));};exports[_0x1733('0x30')]=function(_0x42a80b,_0x494022){if(_0x42a80b[_0x1733('0x5c')]['id']){delete _0x42a80b[_0x1733('0x5c')]['id'];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x42a80b['params']['id']},'include':[{'model':db[_0x1733('0x59')],'as':_0x1733('0x3a')},{'model':db[_0x1733('0x3b')],'as':'Smtp'},{'model':db[_0x1733('0x3d')],'as':'mandatoryDispositionPause'}]})[_0x1733('0x20')](handleEntityNotFound(_0x494022,null))[_0x1733('0x20')](saveUpdates(_0x42a80b['body'],null))['then'](function(_0x2824cd){if(_0x2824cd&&_0x42a80b['body'][_0x1733('0x3a')]){return db['MailServerIn']['update'](_0x42a80b['body'][_0x1733('0x3a')],{'where':{'MailAccountId':_0x2824cd['id']}})['then'](function(){return _0x2824cd;});}return _0x2824cd;})[_0x1733('0x20')](function(_0x449f21){if(_0x449f21&&_0x42a80b[_0x1733('0x5c')]['Smtp']){return db['MailServerOut'][_0x1733('0x30')](_0x42a80b[_0x1733('0x5c')][_0x1733('0x3c')],{'where':{'MailAccountId':_0x449f21['id']}})[_0x1733('0x20')](function(){return _0x449f21;});}return _0x449f21;})[_0x1733('0x20')](respondWithResult(_0x494022,null))['catch'](handleError(_0x494022,null));};exports[_0x1733('0x5d')]=function(_0x4a38c9,_0x4a8871){return db[_0x1733('0x3e')][_0x1733('0x5d')]()[_0x1733('0x20')](respondWithResult(_0x4a8871,null))['catch'](handleError(_0x4a8871,null));};exports['addDisposition']=function(_0x3cdc41,_0x2542e8,_0x4914ec){if(_0x3cdc41[_0x1733('0x5c')]['id']){delete _0x3cdc41['body']['id'];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x3cdc41[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x2542e8,null))['then'](function(_0x482a72){if(_0x482a72){_0x3cdc41[_0x1733('0x5c')]['MailAccountId']=_0x482a72['id'];return db[_0x1733('0x5e')][_0x1733('0x5f')](_0x3cdc41[_0x1733('0x5c')]);}})[_0x1733('0x20')](respondWithResult(_0x2542e8,null))[_0x1733('0x2a')](handleError(_0x2542e8,null));};exports['getDispositions']=function(_0x4f83b6,_0x54bf18,_0x263154){var _0x3b50e3={'raw':![],'where':{}};var _0x1c41be={};var _0x1cd376={'count':0x0,'rows':[]};return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0x4f83b6['params']['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x54bf18,null))[_0x1733('0x20')](function(_0x45328e){if(_0x45328e){_0x1c41be['model']=_[_0x1733('0x45')](db[_0x1733('0x5e')][_0x1733('0x3f')]);_0x1c41be[_0x1733('0x44')]=_[_0x1733('0x45')](_0x4f83b6[_0x1733('0x44')]);_0x1c41be[_0x1733('0x46')]=_[_0x1733('0x47')](_0x1c41be['model'],_0x1c41be['query']);_0x3b50e3[_0x1733('0x48')]=_['intersection'](_0x1c41be[_0x1733('0x42')],qs[_0x1733('0x49')](_0x4f83b6[_0x1733('0x44')][_0x1733('0x49')]));_0x3b50e3[_0x1733('0x48')]=_0x3b50e3[_0x1733('0x48')][_0x1733('0x4a')]?_0x3b50e3[_0x1733('0x48')]:_0x1c41be['model'];if(!_0x4f83b6['query'][_0x1733('0x61')]('nolimit')){_0x3b50e3[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x4f83b6[_0x1733('0x44')][_0x1733('0x2d')]);_0x3b50e3[_0x1733('0x4c')]=qs[_0x1733('0x4c')](_0x4f83b6[_0x1733('0x44')]['offset']);}_0x3b50e3[_0x1733('0x4d')]=qs['sort'](_0x4f83b6[_0x1733('0x44')][_0x1733('0x4e')]);_0x3b50e3[_0x1733('0x52')]=qs['filters'](_[_0x1733('0x4f')](_0x4f83b6[_0x1733('0x44')],_0x1c41be[_0x1733('0x46')]));_0x3b50e3['where'][_0x1733('0x62')]=_0x45328e['id'];if(_0x4f83b6[_0x1733('0x44')][_0x1733('0x50')]){_0x3b50e3[_0x1733('0x52')]=_[_0x1733('0x51')](_0x3b50e3[_0x1733('0x52')],{'$or':_[_0x1733('0x43')](_0x3b50e3['attributes'],function(_0x105a47){var _0x2fd2e2={};_0x2fd2e2[_0x105a47]={'$like':'%'+_0x4f83b6[_0x1733('0x44')]['filter']+'%'};return _0x2fd2e2;})});}_0x3b50e3=_[_0x1733('0x51')]({},_0x3b50e3,_0x4f83b6[_0x1733('0x53')]);return db['Disposition']['count']({'where':_0x3b50e3[_0x1733('0x52')]})[_0x1733('0x20')](function(_0x4696e4){_0x1cd376[_0x1733('0x54')]=_0x4696e4;if(_0x4f83b6[_0x1733('0x44')][_0x1733('0x55')]){_0x3b50e3[_0x1733('0x56')]=[{'all':!![]}];}return db[_0x1733('0x5e')][_0x1733('0x57')](_0x3b50e3);})['then'](function(_0x2dd1b9){_0x1cd376[_0x1733('0x63')]=_0x2dd1b9;return _0x1cd376;});}})['then'](respondWithFilteredResult(_0x54bf18,_0x3b50e3))[_0x1733('0x2a')](handleError(_0x54bf18,null));};exports[_0x1733('0x64')]=function(_0x592233,_0x48beb0,_0x304c87){return db[_0x1733('0x3e')]['find']({'where':{'id':_0x592233['params']['id']}})['then'](handleEntityNotFound(_0x48beb0,null))[_0x1733('0x20')](function(_0x1fbe61){if(_0x1fbe61){return _0x1fbe61['removeDispositions'](_0x592233['query'][_0x1733('0x65')]);}})['then'](respondWithStatusCode(_0x48beb0,null))[_0x1733('0x2a')](handleError(_0x48beb0,null));};exports['addAnswer']=function(_0x5c4733,_0x43e079,_0x14cee7){if(_0x5c4733['body']['id']){delete _0x5c4733[_0x1733('0x5c')]['id'];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x5c4733[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x43e079,null))[_0x1733('0x20')](function(_0x467c5a){if(_0x467c5a){_0x5c4733['body'][_0x1733('0x62')]=_0x467c5a['id'];return db['CannedAnswer']['create'](_0x5c4733['body']);}})[_0x1733('0x20')](respondWithResult(_0x43e079,null))['catch'](handleError(_0x43e079,null));};exports['getAnswers']=function(_0x41819b,_0x1d1048,_0x18f6ea){var _0x54d913={'raw':![],'where':{}};var _0x254c11={};var _0xf860ea={'count':0x0,'rows':[]};return db[_0x1733('0x3e')]['findOne']({'where':{'id':_0x41819b[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x1d1048,null))[_0x1733('0x20')](function(_0x2c473d){if(_0x2c473d){_0x254c11[_0x1733('0x42')]=_[_0x1733('0x45')](db['CannedAnswer'][_0x1733('0x3f')]);_0x254c11[_0x1733('0x44')]=_[_0x1733('0x45')](_0x41819b[_0x1733('0x44')]);_0x254c11['filters']=_['intersection'](_0x254c11[_0x1733('0x42')],_0x254c11[_0x1733('0x44')]);_0x54d913[_0x1733('0x48')]=_[_0x1733('0x47')](_0x254c11['model'],qs['fields'](_0x41819b['query'][_0x1733('0x49')]));_0x54d913[_0x1733('0x48')]=_0x54d913[_0x1733('0x48')][_0x1733('0x4a')]?_0x54d913[_0x1733('0x48')]:_0x254c11[_0x1733('0x42')];if(!_0x41819b[_0x1733('0x44')][_0x1733('0x61')]('nolimit')){_0x54d913[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x41819b['query'][_0x1733('0x2d')]);_0x54d913['offset']=qs[_0x1733('0x4c')](_0x41819b[_0x1733('0x44')][_0x1733('0x4c')]);}_0x54d913[_0x1733('0x4d')]=qs[_0x1733('0x4e')](_0x41819b[_0x1733('0x44')][_0x1733('0x4e')]);_0x54d913[_0x1733('0x52')]=qs[_0x1733('0x46')](_[_0x1733('0x4f')](_0x41819b[_0x1733('0x44')],_0x254c11['filters']));_0x54d913[_0x1733('0x52')][_0x1733('0x62')]=_0x2c473d['id'];if(_0x41819b[_0x1733('0x44')][_0x1733('0x50')]){_0x54d913[_0x1733('0x52')]=_[_0x1733('0x51')](_0x54d913[_0x1733('0x52')],{'$or':_['map'](_0x54d913[_0x1733('0x48')],function(_0x11db3d){var _0x495ff1={};_0x495ff1[_0x11db3d]={'$like':'%'+_0x41819b[_0x1733('0x44')][_0x1733('0x50')]+'%'};return _0x495ff1;})});}_0x54d913=_['merge']({},_0x54d913,_0x41819b['options']);return db[_0x1733('0x66')][_0x1733('0x54')]({'where':_0x54d913[_0x1733('0x52')]})[_0x1733('0x20')](function(_0x4d772c){_0xf860ea['count']=_0x4d772c;if(_0x41819b[_0x1733('0x44')]['includeAll']){_0x54d913[_0x1733('0x56')]=[{'all':!![]}];}return db['CannedAnswer'][_0x1733('0x57')](_0x54d913);})[_0x1733('0x20')](function(_0x2253d7){_0xf860ea['rows']=_0x2253d7;return _0xf860ea;});}})[_0x1733('0x20')](respondWithFilteredResult(_0x1d1048,_0x54d913))['catch'](handleError(_0x1d1048,null));};exports[_0x1733('0x67')]=function(_0x4466b1,_0x2e6015,_0x517415){return db['MailAccount'][_0x1733('0x5b')]({'where':{'id':_0x4466b1[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x2e6015,null))[_0x1733('0x20')](function(_0x2dff39){if(_0x2dff39){return _0x2dff39[_0x1733('0x67')](_0x4466b1[_0x1733('0x44')]['ids']);}})[_0x1733('0x20')](respondWithStatusCode(_0x2e6015,null))[_0x1733('0x2a')](handleError(_0x2e6015,null));};exports[_0x1733('0x5f')]=function(_0x7b3f99,_0x3e10c5){var _0x6767bc={'name':_0x7b3f99[_0x1733('0x5c')][_0x1733('0x37')],'key':_0x7b3f99[_0x1733('0x5c')][_0x1733('0x68')],'email':_0x7b3f99[_0x1733('0x5c')][_0x1733('0x69')],'ListId':_0x7b3f99[_0x1733('0x5c')][_0x1733('0x6a')],'active':!_['isNil'](_0x7b3f99['body']['active'])?_0x7b3f99[_0x1733('0x5c')][_0x1733('0x6b')]:!![],'description':_0x7b3f99[_0x1733('0x5c')][_0x1733('0x6c')]||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x7b3f99['body'][_0x1733('0x6d')])){if(_0x7b3f99[_0x1733('0x5c')][_0x1733('0x6e')]){_0x6767bc['Imap'][_0x1733('0x6f')]=_0x6767bc[_0x1733('0x3c')][_0x1733('0x6f')]=_0x7b3f99[_0x1733('0x5c')][_0x1733('0x70')];_0x6767bc[_0x1733('0x3a')][_0x1733('0x71')]=_0x6767bc[_0x1733('0x3c')][_0x1733('0x72')]=_0x7b3f99[_0x1733('0x5c')]['cpassword'];}else{_0x6767bc[_0x1733('0x3a')][_0x1733('0x73')]=_0x6767bc[_0x1733('0x3c')][_0x1733('0x73')]=![];}_0x6767bc[_0x1733('0x3a')][_0x1733('0x74')]=_0x7b3f99[_0x1733('0x5c')]['Imap'][_0x1733('0x74')];_0x6767bc[_0x1733('0x3a')][_0x1733('0x75')]=_0x7b3f99[_0x1733('0x5c')][_0x1733('0x3a')]['port'];_0x6767bc[_0x1733('0x3c')][_0x1733('0x74')]=_0x7b3f99[_0x1733('0x5c')][_0x1733('0x3c')][_0x1733('0x74')];_0x6767bc[_0x1733('0x3c')]['port']=_0x7b3f99['body'][_0x1733('0x3c')][_0x1733('0x75')];}else{_0x6767bc[_0x1733('0x3a')][_0x1733('0x76')]=_0x6767bc[_0x1733('0x3c')]['service']=_0x7b3f99[_0x1733('0x5c')]['cservice'];_0x6767bc[_0x1733('0x3a')][_0x1733('0x6f')]=_0x6767bc[_0x1733('0x3c')][_0x1733('0x6f')]=_0x7b3f99[_0x1733('0x5c')][_0x1733('0x70')];_0x6767bc[_0x1733('0x3a')][_0x1733('0x71')]=_0x6767bc[_0x1733('0x3c')][_0x1733('0x72')]=_0x7b3f99[_0x1733('0x5c')]['cpassword'];}return db[_0x1733('0x3e')]['create'](_0x6767bc,{'include':[{'model':db['MailServerOut'],'as':_0x1733('0x3c')},{'model':db[_0x1733('0x59')],'as':_0x1733('0x3a')}]})[_0x1733('0x20')](function(_0x1fee7e){var _0x17dc7d=_0x7b3f99[_0x1733('0x6f')][_0x1733('0x77')]({'plain':!![]});if(!_0x17dc7d)throw new Error(_0x1733('0x78'));if(_0x17dc7d[_0x1733('0x79')]===_0x1733('0x6f')){var _0x318c17=_0x1fee7e[_0x1733('0x77')]({'plain':!![]});return db['UserProfileSection'][_0x1733('0x5b')]({'where':{'name':_0x1733('0x32'),'userProfileId':_0x17dc7d['userProfileId']},'raw':!![]})[_0x1733('0x20')](function(_0x23e02f){if(_0x23e02f&&_0x23e02f[_0x1733('0x7a')]===0x0){return db[_0x1733('0x33')]['create']({'name':_0x318c17[_0x1733('0x37')],'resourceId':_0x318c17['id'],'type':_0x23e02f[_0x1733('0x37')],'sectionId':_0x23e02f['id']},{})[_0x1733('0x20')](function(){return _0x1fee7e;});}else{return _0x1fee7e;}})[_0x1733('0x2a')](function(_0x15aad3){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x15aad3);throw _0x15aad3;});}return _0x1fee7e;})[_0x1733('0x20')](respondWithResult(_0x3e10c5,0xc9))[_0x1733('0x2a')](handleError(_0x3e10c5,null));};exports['getImap']=function(_0x3ea6fc,_0xe55d0a,_0x508b45){return db['MailAccount'][_0x1733('0x60')]({'where':{'id':_0x3ea6fc[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0xe55d0a,null))['then'](function(_0x4a4fee){if(_0x4a4fee){return _0x4a4fee[_0x1733('0x7b')]();}return null;})[_0x1733('0x20')](respondWithResult(_0xe55d0a,null))[_0x1733('0x2a')](handleError(_0xe55d0a,null));};exports['addImap']=function(_0x30da61,_0x223357,_0x1d5fc2){if(_0x30da61[_0x1733('0x5c')]['id']){delete _0x30da61[_0x1733('0x5c')]['id'];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x30da61[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x223357,null))[_0x1733('0x20')](function(_0x54d8c8){if(_0x54d8c8){_0x30da61[_0x1733('0x5c')][_0x1733('0x62')]=_0x54d8c8['id'];return db['MailServerIn'][_0x1733('0x5f')](_0x30da61[_0x1733('0x5c')]);}})[_0x1733('0x20')](respondWithResult(_0x223357,null))[_0x1733('0x2a')](handleError(_0x223357,null));};exports[_0x1733('0x7c')]=function(_0x5e91db,_0x33f2f9,_0x5334a2){return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0x5e91db['params']['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x33f2f9,null))[_0x1733('0x20')](function(_0x5d666a){if(_0x5d666a){return _0x5d666a['setImap'](null);}return null;})['then'](respondWithStatusCode(_0x33f2f9,null))[_0x1733('0x2a')](handleError(_0x33f2f9,null));};exports[_0x1733('0x7d')]=function(_0x70b187,_0x3335f7,_0x1772e2){return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0x70b187[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x3335f7,null))[_0x1733('0x20')](function(_0xc0878f){if(_0xc0878f){return _0xc0878f[_0x1733('0x7d')]();}return null;})[_0x1733('0x20')](respondWithResult(_0x3335f7,null))[_0x1733('0x2a')](handleError(_0x3335f7,null));};exports['addSmtp']=function(_0x43867b,_0x24f69a,_0x4964cc){if(_0x43867b[_0x1733('0x5c')]['id']){delete _0x43867b[_0x1733('0x5c')]['id'];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x43867b['params']['id']}})['then'](handleEntityNotFound(_0x24f69a,null))[_0x1733('0x20')](function(_0x13c9c7){if(_0x13c9c7){_0x43867b[_0x1733('0x5c')][_0x1733('0x62')]=_0x13c9c7['id'];return db[_0x1733('0x3b')][_0x1733('0x5f')](_0x43867b[_0x1733('0x5c')]);}})['then'](respondWithResult(_0x24f69a,null))[_0x1733('0x2a')](handleError(_0x24f69a,null));};exports[_0x1733('0x7e')]=function(_0xae7212,_0x5c46c8,_0x8b6219){return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0xae7212[_0x1733('0x58')]['id']}})['then'](handleEntityNotFound(_0x5c46c8,null))['then'](function(_0x26fde4){if(_0x26fde4){return _0x26fde4['setSmtp'](null);}return null;})[_0x1733('0x20')](respondWithStatusCode(_0x5c46c8,null))[_0x1733('0x2a')](handleError(_0x5c46c8,null));};exports[_0x1733('0x7f')]=function(_0x313b81,_0x2e11d7,_0xc567f3){return db[_0x1733('0x80')][_0x1733('0x5b')]({'where':{'id':_0x313b81[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x2e11d7,null))[_0x1733('0x20')](function(_0x3f35da){if(_0x3f35da){return _0x3f35da[_0x1733('0x7f')](_0x313b81['body']['ids'],_['omit'](_0x313b81[_0x1733('0x5c')],[_0x1733('0x65'),'id'])||{});}})[_0x1733('0x20')](respondWithResult(_0x2e11d7,null))[_0x1733('0x2a')](handleError(_0x2e11d7,null));};exports[_0x1733('0x81')]=function(_0x2fbb76,_0x29b107,_0x4cc0c9){var _0x4bdd0c={'raw':![],'where':{}};var _0xe74801={};var _0x1108e2={'count':0x0,'rows':[]};return db['MailAccount'][_0x1733('0x60')]({'where':{'id':_0x2fbb76[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x29b107,null))[_0x1733('0x20')](function(_0xe79ad5){if(_0xe79ad5){_0xe74801[_0x1733('0x42')]=_[_0x1733('0x45')](db[_0x1733('0x80')][_0x1733('0x3f')]);_0xe74801[_0x1733('0x44')]=_[_0x1733('0x45')](_0x2fbb76[_0x1733('0x44')]);_0xe74801[_0x1733('0x46')]=_[_0x1733('0x47')](_0xe74801[_0x1733('0x42')],_0xe74801[_0x1733('0x44')]);_0x4bdd0c['attributes']=_[_0x1733('0x47')](_0xe74801[_0x1733('0x42')],qs[_0x1733('0x49')](_0x2fbb76[_0x1733('0x44')][_0x1733('0x49')]));_0x4bdd0c[_0x1733('0x48')]=_0x4bdd0c[_0x1733('0x48')][_0x1733('0x4a')]?_0x4bdd0c[_0x1733('0x48')]:_0xe74801[_0x1733('0x42')];if(!_0x2fbb76[_0x1733('0x44')]['hasOwnProperty'](_0x1733('0x4b'))){_0x4bdd0c[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x2fbb76[_0x1733('0x44')][_0x1733('0x2d')]);_0x4bdd0c[_0x1733('0x4c')]=qs[_0x1733('0x4c')](_0x2fbb76[_0x1733('0x44')][_0x1733('0x4c')]);}_0x4bdd0c[_0x1733('0x4d')]=qs[_0x1733('0x4e')](_0x2fbb76[_0x1733('0x44')][_0x1733('0x4e')]);_0x4bdd0c[_0x1733('0x52')]=qs['filters'](_[_0x1733('0x4f')](_0x2fbb76[_0x1733('0x44')],_0xe74801[_0x1733('0x46')]));_0x4bdd0c[_0x1733('0x52')][_0x1733('0x62')]=_0xe79ad5['id'];if(_0x2fbb76[_0x1733('0x44')][_0x1733('0x50')]){_0x4bdd0c[_0x1733('0x52')]=_[_0x1733('0x51')](_0x4bdd0c[_0x1733('0x52')],{'$or':_[_0x1733('0x43')](_0x4bdd0c['attributes'],function(_0x4f8056){var _0x1a9b08={};_0x1a9b08[_0x4f8056]={'$like':'%'+_0x2fbb76['query']['filter']+'%'};return _0x1a9b08;})});}_0x4bdd0c=_[_0x1733('0x51')]({},_0x4bdd0c,_0x2fbb76[_0x1733('0x53')]);return db[_0x1733('0x80')][_0x1733('0x54')]({'where':_0x4bdd0c['where']})['then'](function(_0xc3d564){_0x1108e2[_0x1733('0x54')]=_0xc3d564;if(_0x2fbb76[_0x1733('0x44')][_0x1733('0x55')]){_0x4bdd0c[_0x1733('0x56')]=[{'model':db['CmContact'],'as':_0x1733('0x82'),'required':![]},{'model':db[_0x1733('0x83')],'as':_0x1733('0x84'),'attributes':[_0x1733('0x37'),_0x1733('0x85'),_0x1733('0x86')],'required':![]},{'model':db[_0x1733('0x87')],'as':_0x1733('0x88'),'attributes':['id',_0x1733('0x37'),'color'],'where':_0x2fbb76[_0x1733('0x44')][_0x1733('0x89')]?{'id':_0x2fbb76[_0x1733('0x44')]['tag']}:undefined,'required':_0x2fbb76[_0x1733('0x44')][_0x1733('0x89')]?!![]:![]}];}return db['MailInteraction'][_0x1733('0x57')](_0x4bdd0c);})[_0x1733('0x20')](function(_0x28f1f5){_0x1108e2[_0x1733('0x63')]=_0x28f1f5;return _0x1108e2;});}})[_0x1733('0x20')](respondWithFilteredResult(_0x29b107,_0x4bdd0c))[_0x1733('0x2a')](handleError(_0x29b107,null));};exports[_0x1733('0x8a')]=function(_0x4f8a71,_0x3f7fa9,_0x1a336a){return db[_0x1733('0x3e')]['findOne']({'where':{'id':_0x4f8a71['params']['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x3f7fa9,null))['then'](function(_0x20d87d){if(_0x20d87d){return db[_0x1733('0x8b')][_0x1733('0x8c')](function(_0x3a78f9){return db[_0x1733('0x8d')][_0x1733('0x31')]({'where':{'MailAccountId':_0x4f8a71[_0x1733('0x58')]['id']},'transaction':_0x3a78f9})[_0x1733('0x20')](function(_0x12e49e){var _0xde9d84=_[_0x1733('0x43')](_0x4f8a71['body'],function(_0x25a216){_0x25a216[_0x1733('0x62')]=_0x4f8a71[_0x1733('0x58')]['id'];return _0x25a216;});return db['MailApplication'][_0x1733('0x8e')](_0xde9d84,{'transaction':_0x3a78f9});});})[_0x1733('0x20')](function(){return db[_0x1733('0x8d')][_0x1733('0x8f')]({'where':{'MailAccountId':_0x4f8a71[_0x1733('0x58')]['id']},'order':_0x1733('0x90')});});}})['then'](respondWithResult(_0x3f7fa9,null))['catch'](handleError(_0x3f7fa9,null));};exports[_0x1733('0x91')]=function(_0x2375f1,_0x5bb9de,_0x355721){var _0x5a7624={};var _0x1bf324={};var _0x1cdd0a;var _0x233de0;return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0x2375f1[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x5bb9de,null))['then'](function(_0x3f28b1){if(_0x3f28b1){_0x1cdd0a=_0x3f28b1;_0x1bf324[_0x1733('0x42')]=_[_0x1733('0x45')](db['MailApplication'][_0x1733('0x3f')]);_0x1bf324[_0x1733('0x44')]=_[_0x1733('0x45')](_0x2375f1[_0x1733('0x44')]);_0x1bf324[_0x1733('0x46')]=_[_0x1733('0x47')](_0x1bf324[_0x1733('0x42')],_0x1bf324[_0x1733('0x44')]);_0x5a7624['attributes']=_[_0x1733('0x47')](_0x1bf324['model'],qs[_0x1733('0x49')](_0x2375f1[_0x1733('0x44')][_0x1733('0x49')]));_0x5a7624[_0x1733('0x48')]=_0x5a7624[_0x1733('0x48')][_0x1733('0x4a')]?_0x5a7624[_0x1733('0x48')]:_0x1bf324[_0x1733('0x42')];_0x5a7624['order']=qs['sort'](_0x2375f1['query']['sort']);_0x5a7624['where']=qs[_0x1733('0x46')](_[_0x1733('0x4f')](_0x2375f1[_0x1733('0x44')],_0x1bf324['filters']));if(_0x2375f1['query'][_0x1733('0x50')]){_0x5a7624[_0x1733('0x52')]=_[_0x1733('0x51')](_0x5a7624['where'],{'$or':_[_0x1733('0x43')](_0x5a7624[_0x1733('0x48')],function(_0x338e49){var _0x12c749={};_0x12c749[_0x338e49]={'$like':'%'+_0x2375f1[_0x1733('0x44')][_0x1733('0x50')]+'%'};return _0x12c749;})});}_0x5a7624=_['merge']({},_0x5a7624,_0x2375f1[_0x1733('0x53')]);return _0x1cdd0a[_0x1733('0x91')](_0x5a7624);}})[_0x1733('0x20')](function(_0x36ff29){if(_0x36ff29){_0x233de0=_0x36ff29[_0x1733('0x4a')];if(!_0x2375f1[_0x1733('0x44')]['hasOwnProperty']('nolimit')){_0x5a7624[_0x1733('0x2d')]=qs['limit'](_0x2375f1['query'][_0x1733('0x2d')]);_0x5a7624[_0x1733('0x4c')]=qs['offset'](_0x2375f1[_0x1733('0x44')][_0x1733('0x4c')]);}return _0x1cdd0a[_0x1733('0x91')](_0x5a7624);}})[_0x1733('0x20')](function(_0x5996cd){if(_0x5996cd){return _0x5996cd?{'count':_0x233de0,'rows':_0x5996cd}:null;}})[_0x1733('0x20')](respondWithResult(_0x5bb9de,null))[_0x1733('0x2a')](handleError(_0x5bb9de,null));};exports[_0x1733('0x92')]=function(_0x332634,_0x568953,_0x22d9f3){var _0x5e884c={'raw':!![],'where':{}};var _0x33d7ac={};var _0x487aaf={'count':0x0,'rows':[]};return db[_0x1733('0x3e')][_0x1733('0x60')]({'where':{'id':_0x332634[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x568953,null))[_0x1733('0x20')](function(_0x8d969d){if(_0x8d969d){_0x33d7ac['model']=_[_0x1733('0x45')](db['MailMessage'][_0x1733('0x3f')]);_0x33d7ac['query']=_['keys'](_0x332634[_0x1733('0x44')]);_0x33d7ac['filters']=_[_0x1733('0x47')](_0x33d7ac['model'],_0x33d7ac[_0x1733('0x44')]);_0x5e884c[_0x1733('0x48')]=_[_0x1733('0x47')](_0x33d7ac['model'],qs['fields'](_0x332634[_0x1733('0x44')][_0x1733('0x49')]));_0x5e884c[_0x1733('0x48')]=_0x5e884c[_0x1733('0x48')][_0x1733('0x4a')]?_0x5e884c[_0x1733('0x48')]:_0x33d7ac['model'];if(!_0x332634[_0x1733('0x44')][_0x1733('0x61')](_0x1733('0x4b'))){_0x5e884c[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x332634[_0x1733('0x44')][_0x1733('0x2d')]);_0x5e884c[_0x1733('0x4c')]=qs[_0x1733('0x4c')](_0x332634['query']['offset']);}_0x5e884c[_0x1733('0x4d')]=qs['sort'](_0x332634[_0x1733('0x44')][_0x1733('0x4e')]);_0x5e884c[_0x1733('0x52')]=qs['filters'](_['pick'](_0x332634['query'],_0x33d7ac[_0x1733('0x46')]));_0x5e884c[_0x1733('0x52')]['MailAccountId']=_0x8d969d['id'];if(_0x332634[_0x1733('0x44')][_0x1733('0x50')]){_0x5e884c[_0x1733('0x52')]=_['merge'](_0x5e884c[_0x1733('0x52')],{'$or':_[_0x1733('0x43')](_0x5e884c['attributes'],function(_0x298eb9){var _0x42d917={};_0x42d917[_0x298eb9]={'$like':'%'+_0x332634[_0x1733('0x44')][_0x1733('0x50')]+'%'};return _0x42d917;})});}if(_0x332634[_0x1733('0x44')]['$gte']){var _0x85dc91=_0x332634[_0x1733('0x44')][_0x1733('0x93')]['split'](',');var _0x5899bd={};_0x5899bd[_0x85dc91[0x0]]={'$gte':moment(_0x85dc91[0x1])[_0x1733('0x94')](_0x1733('0x95'))};_0x5e884c[_0x1733('0x52')]=_[_0x1733('0x51')](_0x5e884c['where'],_0x5899bd);}_0x5e884c=_[_0x1733('0x51')]({},_0x5e884c,_0x332634[_0x1733('0x53')]);return db[_0x1733('0x96')]['count']({'where':_0x5e884c[_0x1733('0x52')]})['then'](function(_0x8079db){_0x487aaf[_0x1733('0x54')]=_0x8079db;if(_0x332634['query'][_0x1733('0x55')]){_0x5e884c[_0x1733('0x56')]=[{'all':!![]}];}return db[_0x1733('0x96')][_0x1733('0x57')](_0x5e884c);})[_0x1733('0x20')](function(_0xea4800){_0x487aaf[_0x1733('0x63')]=_0xea4800;return _0x487aaf;});}})['then'](respondWithFilteredResult(_0x568953,_0x5e884c))[_0x1733('0x2a')](handleError(_0x568953,null));};exports[_0x1733('0x38')]=function(_0x326e39,_0x2f23f8,_0x56049d){var _0x1f7bc1,_0x24137d={},_0x2fe517;if(_0x326e39[_0x1733('0x5c')]['to']){_0x2fe517=_0x326e39[_0x1733('0x5c')]['to'][_0x1733('0x97')](',')[0x0];}return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x326e39[_0x1733('0x58')]['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0x1733('0x98')],'as':_0x1733('0x99'),'where':{'email':_0x2fe517},'limit':0x1,'order':[[_0x1733('0x9a'),_0x1733('0x9b')]]}]},{'model':db['MailServerOut'],'as':_0x1733('0x3c'),'raw':!![]}]})[_0x1733('0x20')](handleEntityNotFound(_0x2f23f8,null))[_0x1733('0x20')](function(_0x270446){if(_0x270446){_0x1f7bc1=_0x270446;if(_0x270446[_0x1733('0x3c')]){if(_[_0x1733('0x9c')](_0x326e39[_0x1733('0x5c')][_0x1733('0x9d')])){_0x326e39[_0x1733('0x5c')]['from']=util[_0x1733('0x94')](_0x1733('0x9e'),_0x270446[_0x1733('0x37')],_0x270446[_0x1733('0x69')]||_0x270446[_0x1733('0x3c')][_0x1733('0x6f')]);}if(_0x326e39['body']['attachments']&&_0x326e39[_0x1733('0x5c')][_0x1733('0x9f')]['length']){for(var _0x5d060b=0x0;_0x5d060b<_0x326e39[_0x1733('0x5c')]['attachments'][_0x1733('0x4a')];_0x5d060b+=0x1){_0x326e39[_0x1733('0x5c')]['attachments'][_0x5d060b]={'filename':_0x326e39['body']['attachments'][_0x5d060b][_0x1733('0x37')],'path':path['join'](config[_0x1733('0xa0')],'server/files/attachments',_0x326e39[_0x1733('0x5c')][_0x1733('0x9f')][_0x5d060b]['basename'])};}}var _0x3d707f={'tls':{'rejectUnauthorized':![]}};if(_[_0x1733('0x9c')](_0x270446[_0x1733('0x3c')]['service'])){if(_0x270446[_0x1733('0x3c')][_0x1733('0x73')]){_0x3d707f[_0x1733('0xa1')]={'user':_0x270446[_0x1733('0x3c')][_0x1733('0x6f')],'pass':_0x270446[_0x1733('0x3c')][_0x1733('0x72')]};}_0x3d707f[_0x1733('0x74')]=_0x270446['Smtp'][_0x1733('0x74')];_0x3d707f[_0x1733('0x75')]=_0x270446[_0x1733('0x3c')][_0x1733('0x75')];_0x3d707f[_0x1733('0xa2')]=_0x270446[_0x1733('0x3c')][_0x1733('0xa2')];}else{_0x3d707f[_0x1733('0x76')]=_0x270446[_0x1733('0x3c')]['service'];_0x3d707f['auth']={'user':_0x270446['Smtp'][_0x1733('0x6f')],'pass':_0x270446[_0x1733('0x3c')][_0x1733('0x72')]};}return respondWithRpcPromise(_0x1733('0xa3'),_0x1733('0xa4'),{'account':_0x3d707f,'message':_0x326e39['body']});}else{throw new Error(_0x1733('0xa5'));}}})['then'](function(_0x740beb){if(_0x740beb){_0x24137d=_0x740beb;if(_0x1f7bc1[_0x1733('0xa6')]){if(_0x1f7bc1['List'][_0x1733('0x99')]['length']){return _0x1f7bc1[_0x1733('0xa6')][_0x1733('0x99')][0x0];}else{return db[_0x1733('0x98')][_0x1733('0x5f')](_[_0x1733('0x16')](_0x326e39['body'],{'firstName':_0x326e39[_0x1733('0x5c')]['to'],'email':_0x326e39['body']['to'],'phone':_0x326e39['body']['to'],'ListId':_0x1f7bc1[_0x1733('0x6a')]}));}}else{throw new Error(_0x1733('0xa5'));}}})[_0x1733('0x20')](function(_0x35ccd3){if(_0x35ccd3){var _0x2ec8c4={'UserId':_0x326e39[_0x1733('0x6f')]['id'],'ContactId':_0x35ccd3['id'],'MailAccountId':_0x1f7bc1['id'],'inReplyTo':_0x24137d['messageId'],'to':_0x326e39[_0x1733('0x5c')][_0x1733('0x9d')],'cc':_0x326e39['body']['cc'],'subject':_0x326e39[_0x1733('0x5c')][_0x1733('0xa7')],'attach':_0x326e39[_0x1733('0x5c')][_0x1733('0xa8')],'firstMsgDirection':_0x1733('0xa9'),'lastMsgAt':moment()[_0x1733('0x94')](_0x1733('0x95')),'lastMsgDirection':_0x1733('0xa9'),'lastMsgBody':_0x326e39[_0x1733('0x5c')]['body'],'Messages':[_['merge'](_0x326e39['body'],{'messageId':_0x24137d[_0x1733('0xaa')],'sentAt':moment()['format'](_0x1733('0x95')),'read':!![],'MailAccountId':_0x1f7bc1['id'],'UserId':_0x326e39[_0x1733('0x6f')]['id'],'ContactId':_0x35ccd3['id']})]};if(_0x326e39[_0x1733('0x5c')][_0x1733('0xab')]){_0x2ec8c4=_[_0x1733('0x51')](_0x2ec8c4,_0x326e39[_0x1733('0x5c')][_0x1733('0xab')]);}return db['MailInteraction'][_0x1733('0x5f')](_0x2ec8c4,{'include':[{'model':db[_0x1733('0x96')],'as':_0x1733('0xac')}]});}})[_0x1733('0x20')](respondWithResult(_0x2f23f8,null))[_0x1733('0x2a')](handleError(_0x2f23f8,null));};exports[_0x1733('0xad')]=function(_0x39e12d,_0x563c65,_0x288e46){return db[_0x1733('0x3e')]['find']({'where':{'id':_0x39e12d[_0x1733('0x58')]['id']},'include':[{'model':db[_0x1733('0x3b')],'as':'Smtp','raw':!![]}]})[_0x1733('0x20')](handleEntityNotFound(_0x563c65,null))['then'](function(_0xa02193){if(_0xa02193&&_0xa02193[_0x1733('0x3c')]){var _0xae1a82={'id':_0xa02193['id'],'tls':{'rejectUnauthorized':![]}};if(_0xa02193[_0x1733('0x3c')][_0x1733('0x76')]){_0xae1a82[_0x1733('0x76')]=_0xa02193[_0x1733('0x3c')][_0x1733('0x76')];}else{_0xae1a82['host']=_0xa02193[_0x1733('0x3c')][_0x1733('0x74')];_0xae1a82[_0x1733('0x75')]=_0xa02193[_0x1733('0x3c')]['port'];_0xae1a82[_0x1733('0xa2')]=_0xa02193[_0x1733('0x3c')]['secure'];}if(_0xa02193[_0x1733('0x3c')][_0x1733('0x73')]){_0xae1a82[_0x1733('0xa1')]={'user':_0xa02193[_0x1733('0x3c')]['user'],'pass':_0xa02193['Smtp'][_0x1733('0x72')]};}return respondWithRpcPromise(_0x1733('0xae'),_0x1733('0xad'),{'account':_0xae1a82});}})[_0x1733('0x20')](respondWithResult(_0x563c65,null))[_0x1733('0x2a')](handleError(_0x563c65,null));};exports[_0x1733('0x31')]=function(_0x653616,_0x45b759){return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x653616['params']['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x45b759,null))[_0x1733('0x20')](function(_0x469c21){if(_0x469c21&&_0x469c21['service']){throw new db[(_0x1733('0x1d'))][(_0x1733('0xaf'))](_0x1733('0xb0'));}return _0x469c21;})['then'](removeEntity(_0x45b759,null))[_0x1733('0x2a')](handleError(_0x45b759,null));};exports[_0x1733('0xb1')]=function(_0x15711,_0x43d6cb,_0x59bab8){return db[_0x1733('0x3e')][_0x1733('0x5b')]({'where':{'id':_0x15711[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x43d6cb,null))['then'](function(_0x469b64){if(_0x469b64){return _0x469b64['addAgents'](_0x15711[_0x1733('0x5c')][_0x1733('0x65')],_[_0x1733('0xb2')](_0x15711[_0x1733('0x5c')],[_0x1733('0x65'),'id'])||{})[_0x1733('0xb3')](function(_0x4682cb){for(var _0x92320f=0x0;_0x92320f<_0x15711[_0x1733('0x5c')]['ids'][_0x1733('0x4a')];_0x92320f+=0x1){socket[_0x1733('0xb4')](_0x1733('0xb5'),{'UserId':_0x15711[_0x1733('0x5c')][_0x1733('0x65')][_0x92320f],'MailAccountId':_0x15711['params']['id']});}return _0x4682cb;});}})['then'](respondWithResult(_0x43d6cb,null))[_0x1733('0x2a')](handleError(_0x43d6cb,null));};exports[_0x1733('0xb6')]=function(_0x417092,_0x1b7100,_0x4fb4dc){return db['MailAccount'][_0x1733('0x5b')]({'where':{'id':_0x417092['params']['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x1b7100,null))['then'](function(_0x421c5e){if(_0x421c5e){return _0x421c5e[_0x1733('0xb6')](_0x417092[_0x1733('0x44')]['ids'])[_0x1733('0x20')](function(){if(_[_0x1733('0xb7')](_0x417092['query'][_0x1733('0x65')])){for(var _0x4e3918=0x0;_0x4e3918<_0x417092['query'][_0x1733('0x65')][_0x1733('0x4a')];_0x4e3918+=0x1){socket[_0x1733('0xb4')](_0x1733('0xb8'),{'UserId':Number(_0x417092[_0x1733('0x44')]['ids'][_0x4e3918]),'MailAccountId':Number(_0x417092[_0x1733('0x58')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x417092[_0x1733('0x44')][_0x1733('0x65')]),'MailAccountId':Number(_0x417092['params']['id'])});}});}})['then'](respondWithStatusCode(_0x1b7100,null))[_0x1733('0x2a')](handleError(_0x1b7100,null));};exports[_0x1733('0xb9')]=function(_0x30505d,_0x164cb3,_0x418808){var _0xa50fc8={};var _0x3dc616={};var _0x3ccda6;var _0x29838f;return db['MailAccount']['findOne']({'where':{'id':_0x30505d[_0x1733('0x58')]['id']}})[_0x1733('0x20')](handleEntityNotFound(_0x164cb3,null))[_0x1733('0x20')](function(_0x5d12ee){if(_0x5d12ee){_0x3ccda6=_0x5d12ee;_0x3dc616[_0x1733('0x42')]=_['keys'](db[_0x1733('0x83')]['rawAttributes']);_0x3dc616[_0x1733('0x44')]=_['keys'](_0x30505d['query']);_0x3dc616['filters']=_[_0x1733('0x47')](_0x3dc616['model'],_0x3dc616[_0x1733('0x44')]);_0xa50fc8[_0x1733('0x48')]=_[_0x1733('0x47')](_0x3dc616[_0x1733('0x42')],qs[_0x1733('0x49')](_0x30505d[_0x1733('0x44')][_0x1733('0x49')]));_0xa50fc8['attributes']=_0xa50fc8[_0x1733('0x48')][_0x1733('0x4a')]?_0xa50fc8[_0x1733('0x48')]:_0x3dc616['model'];_0xa50fc8[_0x1733('0x4d')]=qs[_0x1733('0x4e')](_0x30505d[_0x1733('0x44')][_0x1733('0x4e')]);_0xa50fc8[_0x1733('0x52')]=qs[_0x1733('0x46')](_['pick'](_0x30505d[_0x1733('0x44')],_0x3dc616['filters']));if(_0x30505d['query'][_0x1733('0x50')]){_0xa50fc8[_0x1733('0x52')]=_['merge'](_0xa50fc8['where'],{'$or':_[_0x1733('0x43')](_0xa50fc8['attributes'],function(_0x8047d6){var _0x3db92e={};_0x3db92e[_0x8047d6]={'$like':'%'+_0x30505d[_0x1733('0x44')]['filter']+'%'};return _0x3db92e;})});}_0xa50fc8=_[_0x1733('0x51')]({},_0xa50fc8,_0x30505d[_0x1733('0x53')]);return _0x3ccda6[_0x1733('0xb9')](_0xa50fc8);}})['then'](function(_0x21f58d){if(_0x21f58d){_0x29838f=_0x21f58d[_0x1733('0x4a')];if(!_0x30505d['query']['hasOwnProperty'](_0x1733('0x4b'))){_0xa50fc8[_0x1733('0x2d')]=qs[_0x1733('0x2d')](_0x30505d[_0x1733('0x44')][_0x1733('0x2d')]);_0xa50fc8[_0x1733('0x4c')]=qs['offset'](_0x30505d['query']['offset']);}return _0x3ccda6[_0x1733('0xb9')](_0xa50fc8);}})['then'](function(_0x1febb1){if(_0x1febb1){return _0x1febb1?{'count':_0x29838f,'rows':_0x1febb1}:null;}})[_0x1733('0x20')](respondWithResult(_0x164cb3,null))['catch'](handleError(_0x164cb3,null));};