f79e9496ae2a34e5591d531e4b4ca1684f72b752
[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 _0xfb51=['getInteractions','Contact','Owner','fullname','internal','Tag','Tags','tag','addApplications','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','List','CmContact','Contacts','updatedAt','DESC','from','%s\x20<%s>','email','attachments','join','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','messageId','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','register','client','http','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','info','MailAccount,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','set','Content-Range','save','update','MailAccounts','destroy','name','send','index','MailServerIn','Pause','map','MailAccount','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','options','includeAll','include','rows','show','MailServerOut','Smtp','mandatoryDispositionPause','find','body','params','Imap','describe','addDisposition','MailAccountId','Disposition','getDispositions','rawAttributes','length','filter','ids','CannedAnswer','create','getAnswers','findOne','findAll','removeAnswers','isNil','active','description','cservice','cauthentication','user','password','pass','authentication','host','port','service','cuser','cpassword','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','removeSmtp','addInteraction','MailInteraction','omit'];(function(_0x270457,_0x5f0a64){var _0xea82bc=function(_0xfb7dfc){while(--_0xfb7dfc){_0x270457['push'](_0x270457['shift']());}};_0xea82bc(++_0x5f0a64);}(_0xfb51,0xf5));var _0x1fb5=function(_0xd73239,_0x488346){_0xd73239=_0xd73239-0x0;var _0x41cee6=_0xfb51[_0xd73239];return _0x41cee6;};'use strict';var pdf=require(_0x1fb5('0x0'));var emlformat=require(_0x1fb5('0x1'));var rimraf=require(_0x1fb5('0x2'));var zipdir=require(_0x1fb5('0x3'));var jsonpatch=require(_0x1fb5('0x4'));var rp=require(_0x1fb5('0x5'));var moment=require(_0x1fb5('0x6'));var BPromise=require(_0x1fb5('0x7'));var Mustache=require(_0x1fb5('0x8'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x1fb5('0x9'));var ejs=require(_0x1fb5('0xa'));var fs=require('fs');var _=require(_0x1fb5('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1fb5('0xc'));var deskjs=require(_0x1fb5('0xd'));var toCsv=require(_0x1fb5('0x9'));var querystring=require(_0x1fb5('0xe'));var Papa=require(_0x1fb5('0xf'));var Redis=require('ioredis');var authService=require(_0x1fb5('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x1fb5('0x11'));var hardwareService=require(_0x1fb5('0x12'));var logger=require(_0x1fb5('0x13'))(_0x1fb5('0x14'));var utils=require(_0x1fb5('0x15'));var config=require(_0x1fb5('0x16'));var db=require(_0x1fb5('0x17'))['db'];config[_0x1fb5('0x18')]=_[_0x1fb5('0x19')](config['redis'],{'host':_0x1fb5('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x1fb5('0x18')]));require('./mailAccount.socket')[_0x1fb5('0x1b')](socket);var jayson=require('jayson/promise');var client=jayson[_0x1fb5('0x1c')][_0x1fb5('0x1d')]({'port':0x232b});function checkPasswordPattern(_0x1c9cc8,_0x32f236,_0x46357b){if(_0x46357b){var _0x588f8e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x588f8e[_0x1fb5('0x1e')](_0x32f236)){return _0x1c9cc8;}else{throw new db[(_0x1fb5('0x1f'))]['ValidationError'](_0x1fb5('0x20'));}}else{return _0x1c9cc8;}}function respondWithRpcPromise(_0x261418,_0x5df8e4,_0x349fe1,_0x3d520b){return new BPromise(function(_0x1fea62,_0x4465b7){var _0xf673d1=_0x3d520b||client;return _0xf673d1[_0x1fb5('0x21')](_0x261418,_0x349fe1)[_0x1fb5('0x22')](function(_0x110f49){logger[_0x1fb5('0x23')](_0x1fb5('0x24'),_0x5df8e4,'request\x20sent');logger[_0x1fb5('0x25')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x5df8e4,_0x1fb5('0x26'),JSON[_0x1fb5('0x27')](_0x110f49));if(_0x110f49[_0x1fb5('0x28')]){if(_0x110f49[_0x1fb5('0x28')][_0x1fb5('0x29')]===0x1f4){logger[_0x1fb5('0x28')](_0x1fb5('0x24'),_0x5df8e4,_0x110f49[_0x1fb5('0x28')]['message']);return _0x4465b7(_0x110f49[_0x1fb5('0x28')][_0x1fb5('0x2a')]);}logger[_0x1fb5('0x28')]('MailAccount,\x20%s,\x20%s',_0x5df8e4,_0x110f49['error'][_0x1fb5('0x2a')]);return _0x1fea62(_0x110f49[_0x1fb5('0x28')][_0x1fb5('0x2a')]);}else{logger[_0x1fb5('0x23')](_0x1fb5('0x24'),_0x5df8e4,_0x1fb5('0x26'));_0x1fea62(_0x110f49[_0x1fb5('0x2b')]['message']);}})[_0x1fb5('0x2c')](function(_0x1b8d02){logger[_0x1fb5('0x28')](_0x1fb5('0x24'),_0x5df8e4,_0x1b8d02);_0x4465b7(_0x1b8d02);});});}function respondWithStatusCode(_0x542c06,_0x2fa29e){_0x2fa29e=_0x2fa29e||0xcc;return function(_0x5b1f53){if(_0x5b1f53){return _0x542c06[_0x1fb5('0x2d')](_0x2fa29e);}return _0x542c06[_0x1fb5('0x2e')](_0x2fa29e)[_0x1fb5('0x2f')]();};}function respondWithResult(_0x50f4fe,_0x36ceda){_0x36ceda=_0x36ceda||0xc8;return function(_0x36be0e){if(_0x36be0e){return _0x50f4fe[_0x1fb5('0x2e')](_0x36ceda)[_0x1fb5('0x30')](_0x36be0e);}};}function respondWithFilteredResult(_0x17c7ad,_0x2ba787){return function(_0x1d74d4){if(_0x1d74d4){var _0x362395=_0x1d74d4[_0x1fb5('0x31')],_0x6c9346=_0x2ba787[_0x1fb5('0x32')],_0xfc928f=_0x2ba787[_0x1fb5('0x32')]+_0x2ba787['limit'],_0xdca460;if(_0xfc928f>=_0x362395){_0xfc928f=_0x362395;_0xdca460=0xc8;}else{_0xdca460=0xce;}_0x17c7ad['status'](_0xdca460);return _0x17c7ad[_0x1fb5('0x33')](_0x1fb5('0x34'),_0x6c9346+'-'+_0xfc928f+'/'+_0x362395)[_0x1fb5('0x30')](_0x1d74d4);}return null;};}function patchUpdates(_0x4ca038){return function(_0x381f7b){try{jsonpatch['apply'](_0x381f7b,_0x4ca038,!![]);}catch(_0x2800b7){return BPromise['reject'](_0x2800b7);}return _0x381f7b[_0x1fb5('0x35')]();};}function saveUpdates(_0x307771,_0x4df561){return function(_0x2d09f0){if(_0x2d09f0){return _0x2d09f0[_0x1fb5('0x36')](_0x307771)[_0x1fb5('0x22')](function(_0x53efe7){return _0x53efe7;});}return null;};}function removeEntity(_0x1e067e,_0x34e63d){return function(_0x46636c){if(_0x46636c){return _0x46636c['destroy']()['then'](function(){var _0x16c01e=_0x46636c['get']({'plain':!![]});var _0x37488b=_0x1fb5('0x37');return db['UserProfileResource'][_0x1fb5('0x38')]({'where':{'type':_0x37488b,'resourceId':_0x16c01e['id']}})[_0x1fb5('0x22')](function(){return _0x46636c;});})[_0x1fb5('0x22')](function(){_0x1e067e[_0x1fb5('0x2e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b777b,_0x1d0ab5){return function(_0xf39653){if(!_0xf39653){_0x4b777b[_0x1fb5('0x2d')](0x194);}return _0xf39653;};}function handleError(_0x2d4e97,_0x37e255){_0x37e255=_0x37e255||0x1f4;return function(_0x26b57e){logger[_0x1fb5('0x28')](_0x26b57e['stack']);if(_0x26b57e['name']){delete _0x26b57e[_0x1fb5('0x39')];}_0x2d4e97[_0x1fb5('0x2e')](_0x37e255)[_0x1fb5('0x3a')](_0x26b57e);};}exports[_0x1fb5('0x3b')]=function(_0x30f71f,_0x54c65e){var _0x42716c={'include':[{'model':db[_0x1fb5('0x3c')],'as':'Imap'},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x1fb5('0x3d')],'as':'mandatoryDispositionPause'}]},_0x22b44f={},_0x206f94={'count':0x0,'rows':[]};var _0x2a258a=_[_0x1fb5('0x3e')](db[_0x1fb5('0x3f')]['rawAttributes'],function(_0x1fc332){return{'name':_0x1fc332['fieldName'],'type':_0x1fc332[_0x1fb5('0x40')][_0x1fb5('0x41')]};});_0x22b44f[_0x1fb5('0x42')]=_[_0x1fb5('0x3e')](_0x2a258a,_0x1fb5('0x39'));_0x22b44f[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x30f71f[_0x1fb5('0x43')]);_0x22b44f[_0x1fb5('0x45')]=_[_0x1fb5('0x46')](_0x22b44f[_0x1fb5('0x42')],_0x22b44f['query']);_0x42716c[_0x1fb5('0x47')]=_[_0x1fb5('0x46')](_0x22b44f[_0x1fb5('0x42')],qs[_0x1fb5('0x48')](_0x30f71f[_0x1fb5('0x43')]['fields']));_0x42716c[_0x1fb5('0x47')]=_0x42716c[_0x1fb5('0x47')]['length']?_0x42716c[_0x1fb5('0x47')]:_0x22b44f[_0x1fb5('0x42')];if(!_0x30f71f[_0x1fb5('0x43')][_0x1fb5('0x49')](_0x1fb5('0x4a'))){_0x42716c[_0x1fb5('0x4b')]=qs['limit'](_0x30f71f[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x42716c[_0x1fb5('0x32')]=qs[_0x1fb5('0x32')](_0x30f71f[_0x1fb5('0x43')][_0x1fb5('0x32')]);}_0x42716c[_0x1fb5('0x4c')]=qs[_0x1fb5('0x4d')](_0x30f71f[_0x1fb5('0x43')][_0x1fb5('0x4d')]);_0x42716c[_0x1fb5('0x4e')]=qs[_0x1fb5('0x45')](_[_0x1fb5('0x4f')](_0x30f71f[_0x1fb5('0x43')],_0x22b44f[_0x1fb5('0x45')]),_0x2a258a);if(_0x30f71f[_0x1fb5('0x43')]['filter']){_0x42716c['where']=_['merge'](_0x42716c[_0x1fb5('0x4e')],{'$or':_[_0x1fb5('0x3e')](_0x2a258a,function(_0x2c95d1){if(_0x2c95d1[_0x1fb5('0x40')]!=='VIRTUAL'){var _0x524bd0={};_0x524bd0[_0x2c95d1[_0x1fb5('0x39')]]={'$like':'%'+_0x30f71f[_0x1fb5('0x43')]['filter']+'%'};return _0x524bd0;}})});}_0x42716c=_[_0x1fb5('0x50')]({},_0x42716c,_0x30f71f[_0x1fb5('0x51')]);var _0x23dff6={'where':_0x42716c[_0x1fb5('0x4e')]};return db['MailAccount'][_0x1fb5('0x31')](_0x23dff6)[_0x1fb5('0x22')](function(_0x46b5c7){_0x206f94[_0x1fb5('0x31')]=_0x46b5c7;if(_0x30f71f[_0x1fb5('0x43')][_0x1fb5('0x52')]){_0x42716c[_0x1fb5('0x53')]=[{'all':!![]}];}return db[_0x1fb5('0x3f')]['findAll'](_0x42716c);})[_0x1fb5('0x22')](function(_0x2a937f){_0x206f94[_0x1fb5('0x54')]=_0x2a937f;return _0x206f94;})[_0x1fb5('0x22')](respondWithFilteredResult(_0x54c65e,_0x42716c))[_0x1fb5('0x2c')](handleError(_0x54c65e,null));};exports[_0x1fb5('0x55')]=function(_0x45f496,_0x4003d9){var _0x74a7f7={'raw':![],'where':{'id':_0x45f496['params']['id']},'include':[{'model':db[_0x1fb5('0x3c')],'as':'Imap'},{'model':db[_0x1fb5('0x56')],'as':_0x1fb5('0x57')},{'model':db[_0x1fb5('0x3d')],'as':_0x1fb5('0x58')}]},_0x2095d8={};_0x2095d8[_0x1fb5('0x42')]=_[_0x1fb5('0x44')](db[_0x1fb5('0x3f')]['rawAttributes']);_0x2095d8[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x45f496[_0x1fb5('0x43')]);_0x2095d8['filters']=_[_0x1fb5('0x46')](_0x2095d8[_0x1fb5('0x42')],_0x2095d8['query']);_0x74a7f7[_0x1fb5('0x47')]=_[_0x1fb5('0x46')](_0x2095d8[_0x1fb5('0x42')],qs[_0x1fb5('0x48')](_0x45f496[_0x1fb5('0x43')]['fields']));_0x74a7f7['attributes']=_0x74a7f7[_0x1fb5('0x47')]['length']?_0x74a7f7['attributes']:_0x2095d8[_0x1fb5('0x42')];if(_0x45f496['query'][_0x1fb5('0x52')]){_0x74a7f7['include']=[{'all':!![]}];}_0x74a7f7=_[_0x1fb5('0x50')]({},_0x74a7f7,_0x45f496[_0x1fb5('0x51')]);return db[_0x1fb5('0x3f')][_0x1fb5('0x59')](_0x74a7f7)[_0x1fb5('0x22')](handleEntityNotFound(_0x4003d9,null))[_0x1fb5('0x22')](respondWithResult(_0x4003d9,null))[_0x1fb5('0x2c')](handleError(_0x4003d9,null));};exports['update']=function(_0x472ff1,_0x32d794){if(_0x472ff1[_0x1fb5('0x5a')]['id']){delete _0x472ff1[_0x1fb5('0x5a')]['id'];}return db[_0x1fb5('0x3f')]['find']({'where':{'id':_0x472ff1[_0x1fb5('0x5b')]['id']},'include':[{'model':db[_0x1fb5('0x3c')],'as':_0x1fb5('0x5c')},{'model':db[_0x1fb5('0x56')],'as':_0x1fb5('0x57')},{'model':db['Pause'],'as':_0x1fb5('0x58')}]})[_0x1fb5('0x22')](handleEntityNotFound(_0x32d794,null))[_0x1fb5('0x22')](saveUpdates(_0x472ff1[_0x1fb5('0x5a')],null))[_0x1fb5('0x22')](function(_0x481629){if(_0x481629&&_0x472ff1[_0x1fb5('0x5a')][_0x1fb5('0x5c')]){return db[_0x1fb5('0x3c')]['update'](_0x472ff1[_0x1fb5('0x5a')][_0x1fb5('0x5c')],{'where':{'MailAccountId':_0x481629['id']}})['then'](function(){return _0x481629;});}return _0x481629;})[_0x1fb5('0x22')](function(_0xd15f5f){if(_0xd15f5f&&_0x472ff1[_0x1fb5('0x5a')][_0x1fb5('0x57')]){return db['MailServerOut'][_0x1fb5('0x36')](_0x472ff1[_0x1fb5('0x5a')][_0x1fb5('0x57')],{'where':{'MailAccountId':_0xd15f5f['id']}})[_0x1fb5('0x22')](function(){return _0xd15f5f;});}return _0xd15f5f;})[_0x1fb5('0x22')](respondWithResult(_0x32d794,null))['catch'](handleError(_0x32d794,null));};exports[_0x1fb5('0x5d')]=function(_0x1f1c9d,_0x2ed426){return db['MailAccount'][_0x1fb5('0x5d')]()['then'](respondWithResult(_0x2ed426,null))[_0x1fb5('0x2c')](handleError(_0x2ed426,null));};exports[_0x1fb5('0x5e')]=function(_0x156ed3,_0x232769,_0x959140){if(_0x156ed3[_0x1fb5('0x5a')]['id']){delete _0x156ed3[_0x1fb5('0x5a')]['id'];}return db['MailAccount'][_0x1fb5('0x59')]({'where':{'id':_0x156ed3['params']['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x232769,null))[_0x1fb5('0x22')](function(_0x48ae1f){if(_0x48ae1f){_0x156ed3[_0x1fb5('0x5a')][_0x1fb5('0x5f')]=_0x48ae1f['id'];return db[_0x1fb5('0x60')]['create'](_0x156ed3[_0x1fb5('0x5a')]);}})['then'](respondWithResult(_0x232769,null))[_0x1fb5('0x2c')](handleError(_0x232769,null));};exports[_0x1fb5('0x61')]=function(_0xe791fb,_0x498d37,_0x3dbf07){var _0x19e86d={'raw':![],'where':{}};var _0x567d49={};var _0x2ba4e7={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0xe791fb[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x498d37,null))[_0x1fb5('0x22')](function(_0x14d367){if(_0x14d367){_0x567d49[_0x1fb5('0x42')]=_['keys'](db[_0x1fb5('0x60')][_0x1fb5('0x62')]);_0x567d49[_0x1fb5('0x43')]=_['keys'](_0xe791fb['query']);_0x567d49[_0x1fb5('0x45')]=_[_0x1fb5('0x46')](_0x567d49[_0x1fb5('0x42')],_0x567d49[_0x1fb5('0x43')]);_0x19e86d[_0x1fb5('0x47')]=_['intersection'](_0x567d49[_0x1fb5('0x42')],qs[_0x1fb5('0x48')](_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x48')]));_0x19e86d[_0x1fb5('0x47')]=_0x19e86d[_0x1fb5('0x47')][_0x1fb5('0x63')]?_0x19e86d[_0x1fb5('0x47')]:_0x567d49[_0x1fb5('0x42')];if(!_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x49')](_0x1fb5('0x4a'))){_0x19e86d[_0x1fb5('0x4b')]=qs[_0x1fb5('0x4b')](_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x19e86d[_0x1fb5('0x32')]=qs[_0x1fb5('0x32')](_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x32')]);}_0x19e86d[_0x1fb5('0x4c')]=qs[_0x1fb5('0x4d')](_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x4d')]);_0x19e86d[_0x1fb5('0x4e')]=qs['filters'](_['pick'](_0xe791fb[_0x1fb5('0x43')],_0x567d49[_0x1fb5('0x45')]));_0x19e86d['where'][_0x1fb5('0x5f')]=_0x14d367['id'];if(_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x64')]){_0x19e86d[_0x1fb5('0x4e')]=_[_0x1fb5('0x50')](_0x19e86d[_0x1fb5('0x4e')],{'$or':_[_0x1fb5('0x3e')](_0x19e86d[_0x1fb5('0x47')],function(_0x143591){var _0x1c58c6={};_0x1c58c6[_0x143591]={'$like':'%'+_0xe791fb['query'][_0x1fb5('0x64')]+'%'};return _0x1c58c6;})});}_0x19e86d=_[_0x1fb5('0x50')]({},_0x19e86d,_0xe791fb[_0x1fb5('0x51')]);return db[_0x1fb5('0x60')][_0x1fb5('0x31')]({'where':_0x19e86d[_0x1fb5('0x4e')]})[_0x1fb5('0x22')](function(_0x11b059){_0x2ba4e7[_0x1fb5('0x31')]=_0x11b059;if(_0xe791fb[_0x1fb5('0x43')][_0x1fb5('0x52')]){_0x19e86d[_0x1fb5('0x53')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x19e86d);})[_0x1fb5('0x22')](function(_0x4ddc7f){_0x2ba4e7[_0x1fb5('0x54')]=_0x4ddc7f;return _0x2ba4e7;});}})[_0x1fb5('0x22')](respondWithFilteredResult(_0x498d37,_0x19e86d))[_0x1fb5('0x2c')](handleError(_0x498d37,null));};exports['removeDispositions']=function(_0x226d9d,_0x3fac28,_0x5b1e8b){return db[_0x1fb5('0x3f')]['find']({'where':{'id':_0x226d9d[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x3fac28,null))[_0x1fb5('0x22')](function(_0x9f7292){if(_0x9f7292){return _0x9f7292['removeDispositions'](_0x226d9d['query'][_0x1fb5('0x65')]);}})[_0x1fb5('0x22')](respondWithStatusCode(_0x3fac28,null))[_0x1fb5('0x2c')](handleError(_0x3fac28,null));};exports['addAnswer']=function(_0xb1cfe5,_0x22adb7,_0x4df97d){if(_0xb1cfe5['body']['id']){delete _0xb1cfe5[_0x1fb5('0x5a')]['id'];}return db[_0x1fb5('0x3f')][_0x1fb5('0x59')]({'where':{'id':_0xb1cfe5[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x22adb7,null))[_0x1fb5('0x22')](function(_0xf92fcd){if(_0xf92fcd){_0xb1cfe5['body']['MailAccountId']=_0xf92fcd['id'];return db[_0x1fb5('0x66')][_0x1fb5('0x67')](_0xb1cfe5[_0x1fb5('0x5a')]);}})['then'](respondWithResult(_0x22adb7,null))[_0x1fb5('0x2c')](handleError(_0x22adb7,null));};exports[_0x1fb5('0x68')]=function(_0x4b011c,_0xc4cbd5,_0x248066){var _0x5c320f={'raw':![],'where':{}};var _0x40a416={};var _0x2be7a9={'count':0x0,'rows':[]};return db['MailAccount'][_0x1fb5('0x69')]({'where':{'id':_0x4b011c[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0xc4cbd5,null))['then'](function(_0x5a2b08){if(_0x5a2b08){_0x40a416[_0x1fb5('0x42')]=_['keys'](db[_0x1fb5('0x66')][_0x1fb5('0x62')]);_0x40a416[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x4b011c[_0x1fb5('0x43')]);_0x40a416['filters']=_[_0x1fb5('0x46')](_0x40a416[_0x1fb5('0x42')],_0x40a416[_0x1fb5('0x43')]);_0x5c320f['attributes']=_[_0x1fb5('0x46')](_0x40a416['model'],qs[_0x1fb5('0x48')](_0x4b011c['query'][_0x1fb5('0x48')]));_0x5c320f[_0x1fb5('0x47')]=_0x5c320f['attributes']['length']?_0x5c320f[_0x1fb5('0x47')]:_0x40a416[_0x1fb5('0x42')];if(!_0x4b011c[_0x1fb5('0x43')]['hasOwnProperty'](_0x1fb5('0x4a'))){_0x5c320f[_0x1fb5('0x4b')]=qs['limit'](_0x4b011c[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x5c320f[_0x1fb5('0x32')]=qs[_0x1fb5('0x32')](_0x4b011c['query'][_0x1fb5('0x32')]);}_0x5c320f['order']=qs[_0x1fb5('0x4d')](_0x4b011c[_0x1fb5('0x43')][_0x1fb5('0x4d')]);_0x5c320f[_0x1fb5('0x4e')]=qs['filters'](_[_0x1fb5('0x4f')](_0x4b011c[_0x1fb5('0x43')],_0x40a416[_0x1fb5('0x45')]));_0x5c320f['where']['MailAccountId']=_0x5a2b08['id'];if(_0x4b011c[_0x1fb5('0x43')][_0x1fb5('0x64')]){_0x5c320f['where']=_[_0x1fb5('0x50')](_0x5c320f['where'],{'$or':_[_0x1fb5('0x3e')](_0x5c320f[_0x1fb5('0x47')],function(_0x3e1b3b){var _0x57ffaf={};_0x57ffaf[_0x3e1b3b]={'$like':'%'+_0x4b011c[_0x1fb5('0x43')]['filter']+'%'};return _0x57ffaf;})});}_0x5c320f=_[_0x1fb5('0x50')]({},_0x5c320f,_0x4b011c[_0x1fb5('0x51')]);return db[_0x1fb5('0x66')][_0x1fb5('0x31')]({'where':_0x5c320f[_0x1fb5('0x4e')]})['then'](function(_0xdc4d7){_0x2be7a9[_0x1fb5('0x31')]=_0xdc4d7;if(_0x4b011c[_0x1fb5('0x43')][_0x1fb5('0x52')]){_0x5c320f[_0x1fb5('0x53')]=[{'all':!![]}];}return db['CannedAnswer'][_0x1fb5('0x6a')](_0x5c320f);})['then'](function(_0x13cccc){_0x2be7a9[_0x1fb5('0x54')]=_0x13cccc;return _0x2be7a9;});}})[_0x1fb5('0x22')](respondWithFilteredResult(_0xc4cbd5,_0x5c320f))[_0x1fb5('0x2c')](handleError(_0xc4cbd5,null));};exports[_0x1fb5('0x6b')]=function(_0x25afb3,_0xd93885,_0x25200f){return db[_0x1fb5('0x3f')][_0x1fb5('0x59')]({'where':{'id':_0x25afb3[_0x1fb5('0x5b')]['id']}})['then'](handleEntityNotFound(_0xd93885,null))['then'](function(_0x7a3bb0){if(_0x7a3bb0){return _0x7a3bb0[_0x1fb5('0x6b')](_0x25afb3['query'][_0x1fb5('0x65')]);}})[_0x1fb5('0x22')](respondWithStatusCode(_0xd93885,null))[_0x1fb5('0x2c')](handleError(_0xd93885,null));};exports[_0x1fb5('0x67')]=function(_0x4c3b3a,_0x1f0de3){var _0xeb718c={'name':_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x39')],'key':_0x4c3b3a[_0x1fb5('0x5a')]['key'],'email':_0x4c3b3a['body']['email'],'ListId':_0x4c3b3a[_0x1fb5('0x5a')]['ListId'],'active':!_[_0x1fb5('0x6c')](_0x4c3b3a[_0x1fb5('0x5a')]['active'])?_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x6d')]:!![],'description':_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x6e')]||null,'Imap':{},'Smtp':{}};if(_[_0x1fb5('0x6c')](_0x4c3b3a['body'][_0x1fb5('0x6f')])){if(_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x70')]){_0xeb718c[_0x1fb5('0x5c')]['user']=_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x71')]=_0x4c3b3a[_0x1fb5('0x5a')]['cuser'];_0xeb718c[_0x1fb5('0x5c')][_0x1fb5('0x72')]=_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x73')]=_0x4c3b3a[_0x1fb5('0x5a')]['cpassword'];}else{_0xeb718c[_0x1fb5('0x5c')][_0x1fb5('0x74')]=_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x74')]=![];}_0xeb718c['Imap'][_0x1fb5('0x75')]=_0x4c3b3a[_0x1fb5('0x5a')]['Imap'][_0x1fb5('0x75')];_0xeb718c[_0x1fb5('0x5c')][_0x1fb5('0x76')]=_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x5c')][_0x1fb5('0x76')];_0xeb718c[_0x1fb5('0x57')]['host']=_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x57')]['host'];_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x76')]=_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x57')][_0x1fb5('0x76')];}else{_0xeb718c[_0x1fb5('0x5c')][_0x1fb5('0x77')]=_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x77')]=_0x4c3b3a[_0x1fb5('0x5a')]['cservice'];_0xeb718c[_0x1fb5('0x5c')][_0x1fb5('0x71')]=_0xeb718c[_0x1fb5('0x57')][_0x1fb5('0x71')]=_0x4c3b3a['body'][_0x1fb5('0x78')];_0xeb718c[_0x1fb5('0x5c')]['password']=_0xeb718c[_0x1fb5('0x57')]['pass']=_0x4c3b3a[_0x1fb5('0x5a')][_0x1fb5('0x79')];}return db[_0x1fb5('0x3f')][_0x1fb5('0x67')](_0xeb718c,{'include':[{'model':db[_0x1fb5('0x56')],'as':_0x1fb5('0x57')},{'model':db['MailServerIn'],'as':_0x1fb5('0x5c')}]})['then'](function(_0x457d57){var _0x10d6a5=_0x4c3b3a['user'][_0x1fb5('0x7a')]({'plain':!![]});if(!_0x10d6a5)throw new Error(_0x1fb5('0x7b'));if(_0x10d6a5[_0x1fb5('0x7c')]===_0x1fb5('0x71')){var _0x2d3c9b=_0x457d57[_0x1fb5('0x7a')]({'plain':!![]});return db[_0x1fb5('0x7d')]['find']({'where':{'name':_0x1fb5('0x37'),'userProfileId':_0x10d6a5[_0x1fb5('0x7e')]},'raw':!![]})['then'](function(_0xdffcb7){if(_0xdffcb7&&_0xdffcb7[_0x1fb5('0x7f')]===0x0){return db['UserProfileResource'][_0x1fb5('0x67')]({'name':_0x2d3c9b[_0x1fb5('0x39')],'resourceId':_0x2d3c9b['id'],'type':_0xdffcb7[_0x1fb5('0x39')],'sectionId':_0xdffcb7['id']},{})[_0x1fb5('0x22')](function(){return _0x457d57;});}else{return _0x457d57;}})[_0x1fb5('0x2c')](function(_0x1cce86){logger[_0x1fb5('0x28')](_0x1fb5('0x80'),_0x1cce86);throw _0x1cce86;});}return _0x457d57;})[_0x1fb5('0x22')](respondWithResult(_0x1f0de3,0xc9))[_0x1fb5('0x2c')](handleError(_0x1f0de3,null));};exports[_0x1fb5('0x81')]=function(_0x311cad,_0x16b436,_0x6039ad){return db['MailAccount'][_0x1fb5('0x69')]({'where':{'id':_0x311cad[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x16b436,null))[_0x1fb5('0x22')](function(_0x3529ed){if(_0x3529ed){return _0x3529ed[_0x1fb5('0x81')]();}return null;})[_0x1fb5('0x22')](respondWithResult(_0x16b436,null))['catch'](handleError(_0x16b436,null));};exports[_0x1fb5('0x82')]=function(_0x5c5b18,_0x1f21ba,_0x1e659e){if(_0x5c5b18[_0x1fb5('0x5a')]['id']){delete _0x5c5b18['body']['id'];}return db[_0x1fb5('0x3f')][_0x1fb5('0x59')]({'where':{'id':_0x5c5b18[_0x1fb5('0x5b')]['id']}})['then'](handleEntityNotFound(_0x1f21ba,null))[_0x1fb5('0x22')](function(_0xb1b8b9){if(_0xb1b8b9){_0x5c5b18['body'][_0x1fb5('0x5f')]=_0xb1b8b9['id'];return db['MailServerIn'][_0x1fb5('0x67')](_0x5c5b18[_0x1fb5('0x5a')]);}})[_0x1fb5('0x22')](respondWithResult(_0x1f21ba,null))['catch'](handleError(_0x1f21ba,null));};exports['removeImap']=function(_0x309c63,_0x2abc04,_0xc8057f){return db[_0x1fb5('0x3f')]['findOne']({'where':{'id':_0x309c63['params']['id']}})['then'](handleEntityNotFound(_0x2abc04,null))['then'](function(_0x5d7434){if(_0x5d7434){return _0x5d7434[_0x1fb5('0x83')](null);}return null;})['then'](respondWithStatusCode(_0x2abc04,null))[_0x1fb5('0x2c')](handleError(_0x2abc04,null));};exports[_0x1fb5('0x84')]=function(_0x496d67,_0xd3deae,_0xf0e47d){return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x496d67[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0xd3deae,null))[_0x1fb5('0x22')](function(_0x5839d4){if(_0x5839d4){return _0x5839d4[_0x1fb5('0x84')]();}return null;})[_0x1fb5('0x22')](respondWithResult(_0xd3deae,null))[_0x1fb5('0x2c')](handleError(_0xd3deae,null));};exports['addSmtp']=function(_0x42f19a,_0x3e8ad5,_0x3e5870){if(_0x42f19a[_0x1fb5('0x5a')]['id']){delete _0x42f19a['body']['id'];}return db[_0x1fb5('0x3f')]['find']({'where':{'id':_0x42f19a[_0x1fb5('0x5b')]['id']}})['then'](handleEntityNotFound(_0x3e8ad5,null))[_0x1fb5('0x22')](function(_0x20b0cf){if(_0x20b0cf){_0x42f19a[_0x1fb5('0x5a')][_0x1fb5('0x5f')]=_0x20b0cf['id'];return db['MailServerOut'][_0x1fb5('0x67')](_0x42f19a[_0x1fb5('0x5a')]);}})[_0x1fb5('0x22')](respondWithResult(_0x3e8ad5,null))[_0x1fb5('0x2c')](handleError(_0x3e8ad5,null));};exports[_0x1fb5('0x85')]=function(_0x3fdc1d,_0x22132f,_0x417994){return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x3fdc1d[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x22132f,null))[_0x1fb5('0x22')](function(_0x558f0f){if(_0x558f0f){return _0x558f0f['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x22132f,null))['catch'](handleError(_0x22132f,null));};exports[_0x1fb5('0x86')]=function(_0x13b012,_0x12d838,_0x5a86a7){return db[_0x1fb5('0x87')][_0x1fb5('0x59')]({'where':{'id':_0x13b012[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x12d838,null))[_0x1fb5('0x22')](function(_0x263c15){if(_0x263c15){return _0x263c15['addInteraction'](_0x13b012[_0x1fb5('0x5a')][_0x1fb5('0x65')],_[_0x1fb5('0x88')](_0x13b012[_0x1fb5('0x5a')],[_0x1fb5('0x65'),'id'])||{});}})[_0x1fb5('0x22')](respondWithResult(_0x12d838,null))['catch'](handleError(_0x12d838,null));};exports[_0x1fb5('0x89')]=function(_0x1da5cd,_0x39d746,_0x27018d){var _0x83957d={'raw':![],'where':{}};var _0x2c373a={};var _0x14b06c={'count':0x0,'rows':[]};return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x1da5cd[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x39d746,null))[_0x1fb5('0x22')](function(_0x1b467b){if(_0x1b467b){_0x2c373a[_0x1fb5('0x42')]=_[_0x1fb5('0x44')](db[_0x1fb5('0x87')][_0x1fb5('0x62')]);_0x2c373a[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x1da5cd['query']);_0x2c373a[_0x1fb5('0x45')]=_[_0x1fb5('0x46')](_0x2c373a[_0x1fb5('0x42')],_0x2c373a[_0x1fb5('0x43')]);_0x83957d['attributes']=_['intersection'](_0x2c373a[_0x1fb5('0x42')],qs[_0x1fb5('0x48')](_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x48')]));_0x83957d[_0x1fb5('0x47')]=_0x83957d[_0x1fb5('0x47')][_0x1fb5('0x63')]?_0x83957d[_0x1fb5('0x47')]:_0x2c373a['model'];if(!_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x49')](_0x1fb5('0x4a'))){_0x83957d['limit']=qs[_0x1fb5('0x4b')](_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x83957d['offset']=qs[_0x1fb5('0x32')](_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x32')]);}_0x83957d['order']=qs[_0x1fb5('0x4d')](_0x1da5cd[_0x1fb5('0x43')]['sort']);_0x83957d[_0x1fb5('0x4e')]=qs[_0x1fb5('0x45')](_[_0x1fb5('0x4f')](_0x1da5cd[_0x1fb5('0x43')],_0x2c373a[_0x1fb5('0x45')]));_0x83957d['where'][_0x1fb5('0x5f')]=_0x1b467b['id'];if(_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x64')]){_0x83957d[_0x1fb5('0x4e')]=_['merge'](_0x83957d[_0x1fb5('0x4e')],{'$or':_['map'](_0x83957d[_0x1fb5('0x47')],function(_0x1eec84){var _0x3a96f5={};_0x3a96f5[_0x1eec84]={'$like':'%'+_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x64')]+'%'};return _0x3a96f5;})});}_0x83957d=_['merge']({},_0x83957d,_0x1da5cd['options']);return db[_0x1fb5('0x87')][_0x1fb5('0x31')]({'where':_0x83957d[_0x1fb5('0x4e')]})[_0x1fb5('0x22')](function(_0x5d2b09){_0x14b06c['count']=_0x5d2b09;if(_0x1da5cd[_0x1fb5('0x43')]['includeAll']){_0x83957d[_0x1fb5('0x53')]=[{'model':db['CmContact'],'as':_0x1fb5('0x8a'),'required':![]},{'model':db['User'],'as':_0x1fb5('0x8b'),'attributes':[_0x1fb5('0x39'),_0x1fb5('0x8c'),_0x1fb5('0x8d')],'required':![]},{'model':db[_0x1fb5('0x8e')],'as':_0x1fb5('0x8f'),'attributes':['id','name','color'],'where':_0x1da5cd['query'][_0x1fb5('0x90')]?{'id':_0x1da5cd[_0x1fb5('0x43')]['tag']}:undefined,'required':_0x1da5cd[_0x1fb5('0x43')][_0x1fb5('0x90')]?!![]:![]}];}return db['MailInteraction']['findAll'](_0x83957d);})[_0x1fb5('0x22')](function(_0x3e5d96){_0x14b06c[_0x1fb5('0x54')]=_0x3e5d96;return _0x14b06c;});}})[_0x1fb5('0x22')](respondWithFilteredResult(_0x39d746,_0x83957d))[_0x1fb5('0x2c')](handleError(_0x39d746,null));};exports[_0x1fb5('0x91')]=function(_0x38c71c,_0x33ac56,_0x5841b9){return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x38c71c['params']['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x33ac56,null))['then'](function(_0x1ac204){if(_0x1ac204){return db['sequelize']['transaction'](function(_0x5d587e){return db[_0x1fb5('0x92')][_0x1fb5('0x38')]({'where':{'MailAccountId':_0x38c71c[_0x1fb5('0x5b')]['id']},'transaction':_0x5d587e})[_0x1fb5('0x22')](function(_0x3cdeb9){var _0x587e1d=_[_0x1fb5('0x3e')](_0x38c71c[_0x1fb5('0x5a')],function(_0x5ed225){_0x5ed225[_0x1fb5('0x5f')]=_0x38c71c[_0x1fb5('0x5b')]['id'];return _0x5ed225;});return db[_0x1fb5('0x92')]['bulkCreate'](_0x587e1d,{'transaction':_0x5d587e});});})[_0x1fb5('0x22')](function(){return db[_0x1fb5('0x92')][_0x1fb5('0x93')]({'where':{'MailAccountId':_0x38c71c[_0x1fb5('0x5b')]['id']},'order':_0x1fb5('0x94')});});}})[_0x1fb5('0x22')](respondWithResult(_0x33ac56,null))[_0x1fb5('0x2c')](handleError(_0x33ac56,null));};exports['getApplications']=function(_0xb62210,_0x42cb93,_0x2f4253){var _0x1799c0={};var _0x406c81={};var _0x2aa281;var _0x2ec111;return db[_0x1fb5('0x3f')]['findOne']({'where':{'id':_0xb62210['params']['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x42cb93,null))[_0x1fb5('0x22')](function(_0x271bbb){if(_0x271bbb){_0x2aa281=_0x271bbb;_0x406c81[_0x1fb5('0x42')]=_['keys'](db[_0x1fb5('0x92')]['rawAttributes']);_0x406c81['query']=_[_0x1fb5('0x44')](_0xb62210['query']);_0x406c81['filters']=_[_0x1fb5('0x46')](_0x406c81['model'],_0x406c81[_0x1fb5('0x43')]);_0x1799c0['attributes']=_[_0x1fb5('0x46')](_0x406c81['model'],qs['fields'](_0xb62210[_0x1fb5('0x43')][_0x1fb5('0x48')]));_0x1799c0['attributes']=_0x1799c0[_0x1fb5('0x47')][_0x1fb5('0x63')]?_0x1799c0[_0x1fb5('0x47')]:_0x406c81[_0x1fb5('0x42')];_0x1799c0[_0x1fb5('0x4c')]=qs[_0x1fb5('0x4d')](_0xb62210[_0x1fb5('0x43')][_0x1fb5('0x4d')]);_0x1799c0[_0x1fb5('0x4e')]=qs[_0x1fb5('0x45')](_[_0x1fb5('0x4f')](_0xb62210[_0x1fb5('0x43')],_0x406c81[_0x1fb5('0x45')]));if(_0xb62210[_0x1fb5('0x43')][_0x1fb5('0x64')]){_0x1799c0['where']=_[_0x1fb5('0x50')](_0x1799c0[_0x1fb5('0x4e')],{'$or':_[_0x1fb5('0x3e')](_0x1799c0[_0x1fb5('0x47')],function(_0x289b55){var _0xea213d={};_0xea213d[_0x289b55]={'$like':'%'+_0xb62210[_0x1fb5('0x43')]['filter']+'%'};return _0xea213d;})});}_0x1799c0=_['merge']({},_0x1799c0,_0xb62210[_0x1fb5('0x51')]);return _0x2aa281[_0x1fb5('0x95')](_0x1799c0);}})['then'](function(_0x43e569){if(_0x43e569){_0x2ec111=_0x43e569['length'];if(!_0xb62210['query']['hasOwnProperty'](_0x1fb5('0x4a'))){_0x1799c0['limit']=qs['limit'](_0xb62210[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x1799c0[_0x1fb5('0x32')]=qs[_0x1fb5('0x32')](_0xb62210['query'][_0x1fb5('0x32')]);}return _0x2aa281[_0x1fb5('0x95')](_0x1799c0);}})[_0x1fb5('0x22')](function(_0x4eec21){if(_0x4eec21){return _0x4eec21?{'count':_0x2ec111,'rows':_0x4eec21}:null;}})['then'](respondWithResult(_0x42cb93,null))[_0x1fb5('0x2c')](handleError(_0x42cb93,null));};exports[_0x1fb5('0x96')]=function(_0x269d03,_0x2e27a1,_0x1b90d5){var _0x62c368={'raw':!![],'where':{}};var _0x59e883={};var _0x296eef={'count':0x0,'rows':[]};return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x269d03[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x2e27a1,null))[_0x1fb5('0x22')](function(_0x3d87db){if(_0x3d87db){_0x59e883[_0x1fb5('0x42')]=_[_0x1fb5('0x44')](db[_0x1fb5('0x97')][_0x1fb5('0x62')]);_0x59e883[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x269d03[_0x1fb5('0x43')]);_0x59e883[_0x1fb5('0x45')]=_[_0x1fb5('0x46')](_0x59e883[_0x1fb5('0x42')],_0x59e883[_0x1fb5('0x43')]);_0x62c368[_0x1fb5('0x47')]=_[_0x1fb5('0x46')](_0x59e883[_0x1fb5('0x42')],qs[_0x1fb5('0x48')](_0x269d03['query'][_0x1fb5('0x48')]));_0x62c368[_0x1fb5('0x47')]=_0x62c368[_0x1fb5('0x47')][_0x1fb5('0x63')]?_0x62c368['attributes']:_0x59e883[_0x1fb5('0x42')];if(!_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x49')](_0x1fb5('0x4a'))){_0x62c368['limit']=qs[_0x1fb5('0x4b')](_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x4b')]);_0x62c368['offset']=qs[_0x1fb5('0x32')](_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x32')]);}_0x62c368['order']=qs[_0x1fb5('0x4d')](_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x4d')]);_0x62c368['where']=qs['filters'](_['pick'](_0x269d03['query'],_0x59e883[_0x1fb5('0x45')]));_0x62c368[_0x1fb5('0x4e')][_0x1fb5('0x5f')]=_0x3d87db['id'];if(_0x269d03[_0x1fb5('0x43')]['filter']){_0x62c368[_0x1fb5('0x4e')]=_['merge'](_0x62c368['where'],{'$or':_['map'](_0x62c368[_0x1fb5('0x47')],function(_0x35d124){var _0x1d6545={};_0x1d6545[_0x35d124]={'$like':'%'+_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x64')]+'%'};return _0x1d6545;})});}if(_0x269d03['query']['$gte']){var _0x7511fe=_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x98')][_0x1fb5('0x99')](',');var _0x1d9fa6={};_0x1d9fa6[_0x7511fe[0x0]]={'$gte':moment(_0x7511fe[0x1])[_0x1fb5('0x9a')](_0x1fb5('0x9b'))};_0x62c368[_0x1fb5('0x4e')]=_[_0x1fb5('0x50')](_0x62c368[_0x1fb5('0x4e')],_0x1d9fa6);}_0x62c368=_[_0x1fb5('0x50')]({},_0x62c368,_0x269d03[_0x1fb5('0x51')]);return db['MailMessage'][_0x1fb5('0x31')]({'where':_0x62c368[_0x1fb5('0x4e')]})[_0x1fb5('0x22')](function(_0x3cb6fa){_0x296eef[_0x1fb5('0x31')]=_0x3cb6fa;if(_0x269d03[_0x1fb5('0x43')][_0x1fb5('0x52')]){_0x62c368['include']=[{'all':!![]}];}return db[_0x1fb5('0x97')][_0x1fb5('0x6a')](_0x62c368);})[_0x1fb5('0x22')](function(_0x24c2b7){_0x296eef[_0x1fb5('0x54')]=_0x24c2b7;return _0x296eef;});}})[_0x1fb5('0x22')](respondWithFilteredResult(_0x2e27a1,_0x62c368))[_0x1fb5('0x2c')](handleError(_0x2e27a1,null));};exports[_0x1fb5('0x3a')]=function(_0x47eb36,_0x1f9ffb,_0x13e3d8){var _0x405a96,_0x3267d8={},_0x358521;if(_0x47eb36[_0x1fb5('0x5a')]['to']){_0x358521=_0x47eb36[_0x1fb5('0x5a')]['to'][_0x1fb5('0x99')](',')[0x0];}return db['MailAccount'][_0x1fb5('0x59')]({'where':{'id':_0x47eb36[_0x1fb5('0x5b')]['id']},'include':[{'model':db['CmList'],'as':_0x1fb5('0x9c'),'include':[{'model':db[_0x1fb5('0x9d')],'as':_0x1fb5('0x9e'),'where':{'email':_0x358521},'limit':0x1,'order':[[_0x1fb5('0x9f'),_0x1fb5('0xa0')]]}]},{'model':db[_0x1fb5('0x56')],'as':_0x1fb5('0x57'),'raw':!![]}]})[_0x1fb5('0x22')](handleEntityNotFound(_0x1f9ffb,null))['then'](function(_0x447233){if(_0x447233){_0x405a96=_0x447233;if(_0x447233['Smtp']){if(_[_0x1fb5('0x6c')](_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa1')])){_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa1')]=util[_0x1fb5('0x9a')](_0x1fb5('0xa2'),_0x447233[_0x1fb5('0x39')],_0x447233[_0x1fb5('0xa3')]||_0x447233[_0x1fb5('0x57')][_0x1fb5('0x71')]);}if(_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa4')]&&_0x47eb36['body'][_0x1fb5('0xa4')][_0x1fb5('0x63')]){for(var _0x466cc1=0x0;_0x466cc1<_0x47eb36['body'][_0x1fb5('0xa4')][_0x1fb5('0x63')];_0x466cc1+=0x1){_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa4')][_0x466cc1]={'filename':_0x47eb36[_0x1fb5('0x5a')]['attachments'][_0x466cc1]['name'],'path':path[_0x1fb5('0xa5')](config['root'],_0x1fb5('0xa6'),_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa4')][_0x466cc1][_0x1fb5('0xa7')])};}}var _0x5be22f={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x447233[_0x1fb5('0x57')][_0x1fb5('0x77')])){if(_0x447233[_0x1fb5('0x57')]['authentication']){_0x5be22f[_0x1fb5('0xa8')]={'user':_0x447233[_0x1fb5('0x57')][_0x1fb5('0x71')],'pass':_0x447233[_0x1fb5('0x57')][_0x1fb5('0x73')]};}_0x5be22f['host']=_0x447233[_0x1fb5('0x57')][_0x1fb5('0x75')];_0x5be22f[_0x1fb5('0x76')]=_0x447233[_0x1fb5('0x57')]['port'];_0x5be22f[_0x1fb5('0xa9')]=_0x447233[_0x1fb5('0x57')][_0x1fb5('0xa9')];}else{_0x5be22f[_0x1fb5('0x77')]=_0x447233[_0x1fb5('0x57')][_0x1fb5('0x77')];_0x5be22f[_0x1fb5('0xa8')]={'user':_0x447233[_0x1fb5('0x57')][_0x1fb5('0x71')],'pass':_0x447233[_0x1fb5('0x57')]['pass']};}return respondWithRpcPromise(_0x1fb5('0xaa'),_0x1fb5('0xab'),{'account':_0x5be22f,'message':_0x47eb36[_0x1fb5('0x5a')]});}else{throw new Error(_0x1fb5('0xac'));}}})[_0x1fb5('0x22')](function(_0x4ff3e0){if(_0x4ff3e0){_0x3267d8=_0x4ff3e0;if(_0x405a96['List']){if(_0x405a96['List'][_0x1fb5('0x9e')][_0x1fb5('0x63')]){return _0x405a96[_0x1fb5('0x9c')][_0x1fb5('0x9e')][0x0];}else{return db[_0x1fb5('0x9d')][_0x1fb5('0x67')](_[_0x1fb5('0x19')](_0x47eb36['body'],{'firstName':_0x47eb36[_0x1fb5('0x5a')]['to'],'email':_0x47eb36['body']['to'],'phone':_0x47eb36[_0x1fb5('0x5a')]['to'],'ListId':_0x405a96['ListId']}));}}else{throw new Error(_0x1fb5('0xac'));}}})[_0x1fb5('0x22')](function(_0x3ae5a1){if(_0x3ae5a1){var _0x2df35c={'UserId':_0x47eb36['user']['id'],'ContactId':_0x3ae5a1['id'],'MailAccountId':_0x405a96['id'],'inReplyTo':_0x3267d8[_0x1fb5('0xad')],'to':_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xa1')],'cc':_0x47eb36[_0x1fb5('0x5a')]['cc'],'subject':_0x47eb36[_0x1fb5('0x5a')]['subject'],'attach':_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xae')],'firstMsgDirection':_0x1fb5('0xaf'),'lastMsgAt':moment()[_0x1fb5('0x9a')](_0x1fb5('0x9b')),'lastMsgDirection':_0x1fb5('0xaf'),'lastMsgBody':_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0x5a')],'Messages':[_[_0x1fb5('0x50')](_0x47eb36[_0x1fb5('0x5a')],{'messageId':_0x3267d8[_0x1fb5('0xad')],'sentAt':moment()[_0x1fb5('0x9a')](_0x1fb5('0x9b')),'read':!![],'MailAccountId':_0x405a96['id'],'UserId':_0x47eb36[_0x1fb5('0x71')]['id'],'ContactId':_0x3ae5a1['id']})]};if(_0x47eb36[_0x1fb5('0x5a')][_0x1fb5('0xb0')]){_0x2df35c=_['merge'](_0x2df35c,_0x47eb36[_0x1fb5('0x5a')]['Interaction']);}return db[_0x1fb5('0x87')][_0x1fb5('0x67')](_0x2df35c,{'include':[{'model':db[_0x1fb5('0x97')],'as':_0x1fb5('0xb1')}]});}})[_0x1fb5('0x22')](respondWithResult(_0x1f9ffb,null))[_0x1fb5('0x2c')](handleError(_0x1f9ffb,null));};exports[_0x1fb5('0xb2')]=function(_0x329a6a,_0x4a0154,_0x1ef18f){return db[_0x1fb5('0x3f')]['find']({'where':{'id':_0x329a6a[_0x1fb5('0x5b')]['id']},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]})[_0x1fb5('0x22')](handleEntityNotFound(_0x4a0154,null))['then'](function(_0x1547d3){if(_0x1547d3&&_0x1547d3[_0x1fb5('0x57')]){var _0x3e1c6b={'id':_0x1547d3['id'],'tls':{'rejectUnauthorized':![]}};if(_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0x77')]){_0x3e1c6b[_0x1fb5('0x77')]=_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0x77')];}else{_0x3e1c6b[_0x1fb5('0x75')]=_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0x75')];_0x3e1c6b[_0x1fb5('0x76')]=_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0x76')];_0x3e1c6b[_0x1fb5('0xa9')]=_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0xa9')];}if(_0x1547d3[_0x1fb5('0x57')][_0x1fb5('0x74')]){_0x3e1c6b[_0x1fb5('0xa8')]={'user':_0x1547d3[_0x1fb5('0x57')]['user'],'pass':_0x1547d3['Smtp'][_0x1fb5('0x73')]};}return respondWithRpcPromise(_0x1fb5('0xb3'),_0x1fb5('0xb2'),{'account':_0x3e1c6b});}})[_0x1fb5('0x22')](respondWithResult(_0x4a0154,null))['catch'](handleError(_0x4a0154,null));};exports[_0x1fb5('0x38')]=function(_0x55e6d8,_0x4957d1){return db[_0x1fb5('0x3f')][_0x1fb5('0x59')]({'where':{'id':_0x55e6d8[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x4957d1,null))[_0x1fb5('0x22')](function(_0x33670f){if(_0x33670f&&_0x33670f['service']){throw new db[(_0x1fb5('0x1f'))][(_0x1fb5('0xb4'))](_0x1fb5('0xb5'));}return _0x33670f;})['then'](removeEntity(_0x4957d1,null))[_0x1fb5('0x2c')](handleError(_0x4957d1,null));};exports['addAgents']=function(_0x314c4c,_0x2007ba,_0x515aba){return db[_0x1fb5('0x3f')][_0x1fb5('0x59')]({'where':{'id':_0x314c4c[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x2007ba,null))[_0x1fb5('0x22')](function(_0x13ebb5){if(_0x13ebb5){return _0x13ebb5[_0x1fb5('0xb6')](_0x314c4c['body'][_0x1fb5('0x65')],_[_0x1fb5('0x88')](_0x314c4c[_0x1fb5('0x5a')],[_0x1fb5('0x65'),'id'])||{})[_0x1fb5('0xb7')](function(_0x5d8693){for(var _0x2f35a9=0x0;_0x2f35a9<_0x314c4c[_0x1fb5('0x5a')][_0x1fb5('0x65')][_0x1fb5('0x63')];_0x2f35a9+=0x1){socket[_0x1fb5('0xb8')](_0x1fb5('0xb9'),{'UserId':_0x314c4c[_0x1fb5('0x5a')][_0x1fb5('0x65')][_0x2f35a9],'MailAccountId':_0x314c4c[_0x1fb5('0x5b')]['id']});}return _0x5d8693;});}})[_0x1fb5('0x22')](respondWithResult(_0x2007ba,null))[_0x1fb5('0x2c')](handleError(_0x2007ba,null));};exports[_0x1fb5('0xba')]=function(_0x30731d,_0x50c4dd,_0x5d6fd3){return db['MailAccount'][_0x1fb5('0x59')]({'where':{'id':_0x30731d[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x50c4dd,null))['then'](function(_0x4e6a6a){if(_0x4e6a6a){return _0x4e6a6a[_0x1fb5('0xba')](_0x30731d['query'][_0x1fb5('0x65')])['then'](function(){if(_[_0x1fb5('0xbb')](_0x30731d[_0x1fb5('0x43')][_0x1fb5('0x65')])){for(var _0x53264c=0x0;_0x53264c<_0x30731d[_0x1fb5('0x43')][_0x1fb5('0x65')]['length'];_0x53264c+=0x1){socket[_0x1fb5('0xb8')](_0x1fb5('0xbc'),{'UserId':Number(_0x30731d[_0x1fb5('0x43')][_0x1fb5('0x65')][_0x53264c]),'MailAccountId':Number(_0x30731d['params']['id'])});}}else{socket[_0x1fb5('0xb8')](_0x1fb5('0xbc'),{'UserId':Number(_0x30731d['query'][_0x1fb5('0x65')]),'MailAccountId':Number(_0x30731d[_0x1fb5('0x5b')]['id'])});}});}})[_0x1fb5('0x22')](respondWithStatusCode(_0x50c4dd,null))['catch'](handleError(_0x50c4dd,null));};exports[_0x1fb5('0xbd')]=function(_0x1564f3,_0x125264,_0x1186e1){var _0xc87c0c={};var _0x1e7dcb={};var _0x5d24ef;var _0x24921c;return db[_0x1fb5('0x3f')][_0x1fb5('0x69')]({'where':{'id':_0x1564f3[_0x1fb5('0x5b')]['id']}})[_0x1fb5('0x22')](handleEntityNotFound(_0x125264,null))['then'](function(_0x202eea){if(_0x202eea){_0x5d24ef=_0x202eea;_0x1e7dcb[_0x1fb5('0x42')]=_[_0x1fb5('0x44')](db[_0x1fb5('0xbe')][_0x1fb5('0x62')]);_0x1e7dcb[_0x1fb5('0x43')]=_[_0x1fb5('0x44')](_0x1564f3['query']);_0x1e7dcb['filters']=_[_0x1fb5('0x46')](_0x1e7dcb['model'],_0x1e7dcb['query']);_0xc87c0c[_0x1fb5('0x47')]=_[_0x1fb5('0x46')](_0x1e7dcb['model'],qs[_0x1fb5('0x48')](_0x1564f3[_0x1fb5('0x43')][_0x1fb5('0x48')]));_0xc87c0c['attributes']=_0xc87c0c[_0x1fb5('0x47')]['length']?_0xc87c0c['attributes']:_0x1e7dcb[_0x1fb5('0x42')];_0xc87c0c[_0x1fb5('0x4c')]=qs[_0x1fb5('0x4d')](_0x1564f3['query'][_0x1fb5('0x4d')]);_0xc87c0c[_0x1fb5('0x4e')]=qs['filters'](_[_0x1fb5('0x4f')](_0x1564f3[_0x1fb5('0x43')],_0x1e7dcb[_0x1fb5('0x45')]));if(_0x1564f3[_0x1fb5('0x43')]['filter']){_0xc87c0c[_0x1fb5('0x4e')]=_['merge'](_0xc87c0c[_0x1fb5('0x4e')],{'$or':_[_0x1fb5('0x3e')](_0xc87c0c[_0x1fb5('0x47')],function(_0x512c69){var _0x1bafb7={};_0x1bafb7[_0x512c69]={'$like':'%'+_0x1564f3[_0x1fb5('0x43')][_0x1fb5('0x64')]+'%'};return _0x1bafb7;})});}_0xc87c0c=_[_0x1fb5('0x50')]({},_0xc87c0c,_0x1564f3['options']);return _0x5d24ef[_0x1fb5('0xbd')](_0xc87c0c);}})[_0x1fb5('0x22')](function(_0x5736fa){if(_0x5736fa){_0x24921c=_0x5736fa['length'];if(!_0x1564f3['query']['hasOwnProperty'](_0x1fb5('0x4a'))){_0xc87c0c[_0x1fb5('0x4b')]=qs[_0x1fb5('0x4b')](_0x1564f3['query'][_0x1fb5('0x4b')]);_0xc87c0c[_0x1fb5('0x32')]=qs['offset'](_0x1564f3[_0x1fb5('0x43')]['offset']);}return _0x5d24ef['getAgents'](_0xc87c0c);}})['then'](function(_0xaa6a24){if(_0xaa6a24){return _0xaa6a24?{'count':_0x24921c,'rows':_0xaa6a24}:null;}})[_0x1fb5('0x22')](respondWithResult(_0x125264,null))[_0x1fb5('0x2c')](handleError(_0x125264,null));};