09ed6c0cb015ac954ce6a283b57ac4c75f54d517
[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 _0xd09b=['defaults','messageId','subject','attach','Interaction','Messages','verifySmtp','VerifySmtp','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','isArray','userMailAccount:remove','User','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','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','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','end','json','count','offset','set','Content-Range','save','destroy','get','UserProfileResource','sendStatus','name','send','index','MailServerIn','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','rawAttributes','type','key','keys','query','filters','intersection','model','fields','attributes','length','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','MailAccount','includeAll','include','findAll','rows','find','body','params','update','describe','addDisposition','MailAccountId','Disposition','getDispositions','findOne','hasOwnProperty','removeDispositions','ids','create','getAnswers','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','cauthentication','user','cuser','password','cpassword','authentication','host','port','service','pass','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','Owner','fullname','Tag','Tags','color','tag','sequelize','transaction','MailApplication','bulkCreate','priority','getApplications','getMessages','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','CmList','List','Contacts','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','auth','secure','sendMail','List\x20not\x20found'];(function(_0x4b6778,_0x505a76){var _0x22dbb9=function(_0x4881eb){while(--_0x4881eb){_0x4b6778['push'](_0x4b6778['shift']());}};_0x22dbb9(++_0x505a76);}(_0xd09b,0x18e));var _0xbd09=function(_0x242ca6,_0x29c726){_0x242ca6=_0x242ca6-0x0;var _0x4f3a1c=_0xd09b[_0x242ca6];return _0x4f3a1c;};'use strict';var pdf=require(_0xbd09('0x0'));var emlformat=require(_0xbd09('0x1'));var rimraf=require(_0xbd09('0x2'));var zipdir=require(_0xbd09('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbd09('0x4'));var moment=require(_0xbd09('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbd09('0x6'));var util=require('util');var path=require(_0xbd09('0x7'));var sox=require(_0xbd09('0x8'));var csv=require(_0xbd09('0x9'));var ejs=require(_0xbd09('0xa'));var fs=require('fs');var _=require(_0xbd09('0xb'));var squel=require('squel');var crypto=require(_0xbd09('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xbd09('0x9'));var querystring=require(_0xbd09('0xd'));var Papa=require(_0xbd09('0xe'));var Redis=require(_0xbd09('0xf'));var authService=require(_0xbd09('0x10'));var qs=require(_0xbd09('0x11'));var as=require(_0xbd09('0x12'));var hardwareService=require(_0xbd09('0x13'));var logger=require(_0xbd09('0x14'))(_0xbd09('0x15'));var utils=require(_0xbd09('0x16'));var config=require('../../config/environment');var db=require(_0xbd09('0x17'))['db'];config[_0xbd09('0x18')]=_['defaults'](config[_0xbd09('0x18')],{'host':_0xbd09('0x19'),'port':0x18eb});var socket=require(_0xbd09('0x1a'))(new Redis(config[_0xbd09('0x18')]));require(_0xbd09('0x1b'))[_0xbd09('0x1c')](socket);var jayson=require(_0xbd09('0x1d'));var client=jayson[_0xbd09('0x1e')][_0xbd09('0x1f')]({'port':0x232b});function checkPasswordPattern(_0x215b4a,_0x717cbd,_0xe6c727){if(_0xe6c727){var _0x1fbaa3=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1fbaa3['test'](_0x717cbd)){return _0x215b4a;}else{throw new db[(_0xbd09('0x20'))]['ValidationError'](_0xbd09('0x21'));}}else{return _0x215b4a;}}function respondWithRpcPromise(_0x3d2911,_0x381b6b,_0x4b06f1,_0x21ed7b){return new BPromise(function(_0x5a2338,_0x5b3e00){var _0x232ec3=_0x21ed7b||client;return _0x232ec3[_0xbd09('0x22')](_0x3d2911,_0x4b06f1)[_0xbd09('0x23')](function(_0x4dce73){logger[_0xbd09('0x24')](_0xbd09('0x25'),_0x381b6b,_0xbd09('0x26'));logger[_0xbd09('0x27')](_0xbd09('0x28'),_0x381b6b,_0xbd09('0x26'),JSON[_0xbd09('0x29')](_0x4dce73));if(_0x4dce73[_0xbd09('0x2a')]){if(_0x4dce73[_0xbd09('0x2a')][_0xbd09('0x2b')]===0x1f4){logger[_0xbd09('0x2a')](_0xbd09('0x25'),_0x381b6b,_0x4dce73['error'][_0xbd09('0x2c')]);return _0x5b3e00(_0x4dce73[_0xbd09('0x2a')][_0xbd09('0x2c')]);}logger[_0xbd09('0x2a')](_0xbd09('0x25'),_0x381b6b,_0x4dce73[_0xbd09('0x2a')][_0xbd09('0x2c')]);return _0x5a2338(_0x4dce73[_0xbd09('0x2a')]['message']);}else{logger[_0xbd09('0x24')]('MailAccount,\x20%s,\x20%s',_0x381b6b,'request\x20sent');_0x5a2338(_0x4dce73[_0xbd09('0x2d')][_0xbd09('0x2c')]);}})[_0xbd09('0x2e')](function(_0x2921b1){logger['error'](_0xbd09('0x25'),_0x381b6b,_0x2921b1);_0x5b3e00(_0x2921b1);});});}function respondWithStatusCode(_0x199e72,_0x2649cb){_0x2649cb=_0x2649cb||0xcc;return function(_0x43b830){if(_0x43b830){return _0x199e72['sendStatus'](_0x2649cb);}return _0x199e72[_0xbd09('0x2f')](_0x2649cb)[_0xbd09('0x30')]();};}function respondWithResult(_0xcf2ab9,_0x1b2008){_0x1b2008=_0x1b2008||0xc8;return function(_0xde30c1){if(_0xde30c1){return _0xcf2ab9[_0xbd09('0x2f')](_0x1b2008)[_0xbd09('0x31')](_0xde30c1);}};}function respondWithFilteredResult(_0x4ddc5a,_0x3139d0){return function(_0x33182d){if(_0x33182d){var _0x50fe86=_0x33182d[_0xbd09('0x32')],_0xf0c8d2=_0x3139d0[_0xbd09('0x33')],_0x539295=_0x3139d0[_0xbd09('0x33')]+_0x3139d0['limit'],_0x6fe35e;if(_0x539295>=_0x50fe86){_0x539295=_0x50fe86;_0x6fe35e=0xc8;}else{_0x6fe35e=0xce;}_0x4ddc5a[_0xbd09('0x2f')](_0x6fe35e);return _0x4ddc5a[_0xbd09('0x34')](_0xbd09('0x35'),_0xf0c8d2+'-'+_0x539295+'/'+_0x50fe86)[_0xbd09('0x31')](_0x33182d);}return null;};}function patchUpdates(_0x59005b){return function(_0x5cd35e){try{jsonpatch['apply'](_0x5cd35e,_0x59005b,!![]);}catch(_0x2efa8a){return BPromise['reject'](_0x2efa8a);}return _0x5cd35e[_0xbd09('0x36')]();};}function saveUpdates(_0xb4c78b,_0x2585a5){return function(_0x75e36d){if(_0x75e36d){return _0x75e36d['update'](_0xb4c78b)[_0xbd09('0x23')](function(_0x1514ec){return _0x1514ec;});}return null;};}function removeEntity(_0x49eacb,_0x95b763){return function(_0x581c9b){if(_0x581c9b){return _0x581c9b[_0xbd09('0x37')]()['then'](function(){var _0x20d223=_0x581c9b[_0xbd09('0x38')]({'plain':!![]});var _0x4d2c35='MailAccounts';return db[_0xbd09('0x39')][_0xbd09('0x37')]({'where':{'type':_0x4d2c35,'resourceId':_0x20d223['id']}})[_0xbd09('0x23')](function(){return _0x581c9b;});})[_0xbd09('0x23')](function(){_0x49eacb[_0xbd09('0x2f')](0xcc)[_0xbd09('0x30')]();});}};}function handleEntityNotFound(_0x384cd3,_0x3b1cae){return function(_0x50276c){if(!_0x50276c){_0x384cd3[_0xbd09('0x3a')](0x194);}return _0x50276c;};}function handleError(_0x5046b7,_0x307ff7){_0x307ff7=_0x307ff7||0x1f4;return function(_0x486e24){logger[_0xbd09('0x2a')](_0x486e24['stack']);if(_0x486e24[_0xbd09('0x3b')]){delete _0x486e24[_0xbd09('0x3b')];}_0x5046b7[_0xbd09('0x2f')](_0x307ff7)[_0xbd09('0x3c')](_0x486e24);};}exports[_0xbd09('0x3d')]=function(_0x5f205f,_0x37b188){var _0xe44881={'include':[{'model':db[_0xbd09('0x3e')],'as':_0xbd09('0x3f')},{'model':db[_0xbd09('0x40')],'as':_0xbd09('0x41')},{'model':db[_0xbd09('0x42')],'as':_0xbd09('0x43')}]},_0x1b39ba={},_0x4f8968={'count':0x0,'rows':[]};var _0x33f752=_[_0xbd09('0x44')](db['MailAccount'][_0xbd09('0x45')],function(_0x23119b){return{'name':_0x23119b['fieldName'],'type':_0x23119b[_0xbd09('0x46')][_0xbd09('0x47')]};});_0x1b39ba['model']=_[_0xbd09('0x44')](_0x33f752,_0xbd09('0x3b'));_0x1b39ba['query']=_[_0xbd09('0x48')](_0x5f205f[_0xbd09('0x49')]);_0x1b39ba[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x1b39ba[_0xbd09('0x4c')],_0x1b39ba['query']);_0xe44881['attributes']=_[_0xbd09('0x4b')](_0x1b39ba[_0xbd09('0x4c')],qs[_0xbd09('0x4d')](_0x5f205f[_0xbd09('0x49')]['fields']));_0xe44881[_0xbd09('0x4e')]=_0xe44881[_0xbd09('0x4e')][_0xbd09('0x4f')]?_0xe44881[_0xbd09('0x4e')]:_0x1b39ba[_0xbd09('0x4c')];if(!_0x5f205f['query']['hasOwnProperty'](_0xbd09('0x50'))){_0xe44881[_0xbd09('0x51')]=qs['limit'](_0x5f205f['query'][_0xbd09('0x51')]);_0xe44881[_0xbd09('0x33')]=qs['offset'](_0x5f205f[_0xbd09('0x49')][_0xbd09('0x33')]);}_0xe44881[_0xbd09('0x52')]=qs[_0xbd09('0x53')](_0x5f205f['query'][_0xbd09('0x53')]);_0xe44881[_0xbd09('0x54')]=qs[_0xbd09('0x4a')](_[_0xbd09('0x55')](_0x5f205f[_0xbd09('0x49')],_0x1b39ba['filters']),_0x33f752);if(_0x5f205f[_0xbd09('0x49')]['filter']){_0xe44881[_0xbd09('0x54')]=_[_0xbd09('0x56')](_0xe44881[_0xbd09('0x54')],{'$or':_[_0xbd09('0x44')](_0x33f752,function(_0x4484fe){if(_0x4484fe[_0xbd09('0x46')]!==_0xbd09('0x57')){var _0x155c01={};_0x155c01[_0x4484fe[_0xbd09('0x3b')]]={'$like':'%'+_0x5f205f[_0xbd09('0x49')][_0xbd09('0x58')]+'%'};return _0x155c01;}})});}_0xe44881=_[_0xbd09('0x56')]({},_0xe44881,_0x5f205f[_0xbd09('0x59')]);var _0x324e65={'where':_0xe44881[_0xbd09('0x54')]};return db[_0xbd09('0x5a')]['count'](_0x324e65)[_0xbd09('0x23')](function(_0x2899ae){_0x4f8968[_0xbd09('0x32')]=_0x2899ae;if(_0x5f205f['query'][_0xbd09('0x5b')]){_0xe44881[_0xbd09('0x5c')]=[{'all':!![]}];}return db[_0xbd09('0x5a')][_0xbd09('0x5d')](_0xe44881);})[_0xbd09('0x23')](function(_0x241184){_0x4f8968[_0xbd09('0x5e')]=_0x241184;return _0x4f8968;})[_0xbd09('0x23')](respondWithFilteredResult(_0x37b188,_0xe44881))[_0xbd09('0x2e')](handleError(_0x37b188,null));};exports['show']=function(_0x53ced3,_0x397666){var _0x2dfb05={'raw':![],'where':{'id':_0x53ced3['params']['id']},'include':[{'model':db[_0xbd09('0x3e')],'as':'Imap'},{'model':db[_0xbd09('0x40')],'as':_0xbd09('0x41')},{'model':db[_0xbd09('0x42')],'as':_0xbd09('0x43')}]},_0x3adcc3={};_0x3adcc3[_0xbd09('0x4c')]=_[_0xbd09('0x48')](db[_0xbd09('0x5a')][_0xbd09('0x45')]);_0x3adcc3['query']=_[_0xbd09('0x48')](_0x53ced3[_0xbd09('0x49')]);_0x3adcc3[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x3adcc3[_0xbd09('0x4c')],_0x3adcc3[_0xbd09('0x49')]);_0x2dfb05[_0xbd09('0x4e')]=_[_0xbd09('0x4b')](_0x3adcc3[_0xbd09('0x4c')],qs[_0xbd09('0x4d')](_0x53ced3[_0xbd09('0x49')]['fields']));_0x2dfb05['attributes']=_0x2dfb05[_0xbd09('0x4e')][_0xbd09('0x4f')]?_0x2dfb05[_0xbd09('0x4e')]:_0x3adcc3[_0xbd09('0x4c')];if(_0x53ced3[_0xbd09('0x49')]['includeAll']){_0x2dfb05['include']=[{'all':!![]}];}_0x2dfb05=_[_0xbd09('0x56')]({},_0x2dfb05,_0x53ced3['options']);return db['MailAccount'][_0xbd09('0x5f')](_0x2dfb05)['then'](handleEntityNotFound(_0x397666,null))[_0xbd09('0x23')](respondWithResult(_0x397666,null))[_0xbd09('0x2e')](handleError(_0x397666,null));};exports['update']=function(_0x15b952,_0x42f8d9){if(_0x15b952[_0xbd09('0x60')]['id']){delete _0x15b952[_0xbd09('0x60')]['id'];}return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x15b952[_0xbd09('0x61')]['id']},'include':[{'model':db[_0xbd09('0x3e')],'as':_0xbd09('0x3f')},{'model':db[_0xbd09('0x40')],'as':_0xbd09('0x41')},{'model':db[_0xbd09('0x42')],'as':_0xbd09('0x43')}]})[_0xbd09('0x23')](handleEntityNotFound(_0x42f8d9,null))[_0xbd09('0x23')](saveUpdates(_0x15b952[_0xbd09('0x60')],null))[_0xbd09('0x23')](function(_0x34357c){if(_0x34357c&&_0x15b952[_0xbd09('0x60')][_0xbd09('0x3f')]){return db[_0xbd09('0x3e')]['update'](_0x15b952[_0xbd09('0x60')]['Imap'],{'where':{'MailAccountId':_0x34357c['id']}})['then'](function(){return _0x34357c;});}return _0x34357c;})[_0xbd09('0x23')](function(_0xf8e69f){if(_0xf8e69f&&_0x15b952[_0xbd09('0x60')][_0xbd09('0x41')]){return db[_0xbd09('0x40')][_0xbd09('0x62')](_0x15b952[_0xbd09('0x60')]['Smtp'],{'where':{'MailAccountId':_0xf8e69f['id']}})[_0xbd09('0x23')](function(){return _0xf8e69f;});}return _0xf8e69f;})['then'](respondWithResult(_0x42f8d9,null))[_0xbd09('0x2e')](handleError(_0x42f8d9,null));};exports[_0xbd09('0x63')]=function(_0x241ecb,_0x45c3d0){return db[_0xbd09('0x5a')][_0xbd09('0x63')]()[_0xbd09('0x23')](respondWithResult(_0x45c3d0,null))[_0xbd09('0x2e')](handleError(_0x45c3d0,null));};exports[_0xbd09('0x64')]=function(_0x4dce94,_0x5c79f1,_0x2deaf9){if(_0x4dce94[_0xbd09('0x60')]['id']){delete _0x4dce94[_0xbd09('0x60')]['id'];}return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x4dce94['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x5c79f1,null))[_0xbd09('0x23')](function(_0x39d2b0){if(_0x39d2b0){_0x4dce94[_0xbd09('0x60')][_0xbd09('0x65')]=_0x39d2b0['id'];return db[_0xbd09('0x66')]['create'](_0x4dce94['body']);}})[_0xbd09('0x23')](respondWithResult(_0x5c79f1,null))[_0xbd09('0x2e')](handleError(_0x5c79f1,null));};exports[_0xbd09('0x67')]=function(_0x1e9cb4,_0x366873,_0x4aa752){var _0x4e47a8={'raw':![],'where':{}};var _0x9abef2={};var _0x159ddc={'count':0x0,'rows':[]};return db['MailAccount'][_0xbd09('0x68')]({'where':{'id':_0x1e9cb4['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x366873,null))[_0xbd09('0x23')](function(_0x320d62){if(_0x320d62){_0x9abef2['model']=_['keys'](db[_0xbd09('0x66')]['rawAttributes']);_0x9abef2[_0xbd09('0x49')]=_[_0xbd09('0x48')](_0x1e9cb4[_0xbd09('0x49')]);_0x9abef2[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x9abef2[_0xbd09('0x4c')],_0x9abef2[_0xbd09('0x49')]);_0x4e47a8['attributes']=_['intersection'](_0x9abef2[_0xbd09('0x4c')],qs[_0xbd09('0x4d')](_0x1e9cb4[_0xbd09('0x49')][_0xbd09('0x4d')]));_0x4e47a8[_0xbd09('0x4e')]=_0x4e47a8[_0xbd09('0x4e')][_0xbd09('0x4f')]?_0x4e47a8[_0xbd09('0x4e')]:_0x9abef2[_0xbd09('0x4c')];if(!_0x1e9cb4[_0xbd09('0x49')][_0xbd09('0x69')](_0xbd09('0x50'))){_0x4e47a8[_0xbd09('0x51')]=qs[_0xbd09('0x51')](_0x1e9cb4[_0xbd09('0x49')]['limit']);_0x4e47a8[_0xbd09('0x33')]=qs['offset'](_0x1e9cb4[_0xbd09('0x49')][_0xbd09('0x33')]);}_0x4e47a8['order']=qs[_0xbd09('0x53')](_0x1e9cb4[_0xbd09('0x49')][_0xbd09('0x53')]);_0x4e47a8[_0xbd09('0x54')]=qs[_0xbd09('0x4a')](_[_0xbd09('0x55')](_0x1e9cb4['query'],_0x9abef2[_0xbd09('0x4a')]));_0x4e47a8[_0xbd09('0x54')][_0xbd09('0x65')]=_0x320d62['id'];if(_0x1e9cb4[_0xbd09('0x49')][_0xbd09('0x58')]){_0x4e47a8[_0xbd09('0x54')]=_['merge'](_0x4e47a8[_0xbd09('0x54')],{'$or':_['map'](_0x4e47a8[_0xbd09('0x4e')],function(_0x3220b8){var _0x58b848={};_0x58b848[_0x3220b8]={'$like':'%'+_0x1e9cb4['query'][_0xbd09('0x58')]+'%'};return _0x58b848;})});}_0x4e47a8=_['merge']({},_0x4e47a8,_0x1e9cb4['options']);return db[_0xbd09('0x66')][_0xbd09('0x32')]({'where':_0x4e47a8['where']})[_0xbd09('0x23')](function(_0x5190dc){_0x159ddc[_0xbd09('0x32')]=_0x5190dc;if(_0x1e9cb4['query']['includeAll']){_0x4e47a8[_0xbd09('0x5c')]=[{'all':!![]}];}return db[_0xbd09('0x66')][_0xbd09('0x5d')](_0x4e47a8);})['then'](function(_0x595488){_0x159ddc[_0xbd09('0x5e')]=_0x595488;return _0x159ddc;});}})[_0xbd09('0x23')](respondWithFilteredResult(_0x366873,_0x4e47a8))[_0xbd09('0x2e')](handleError(_0x366873,null));};exports[_0xbd09('0x6a')]=function(_0x334fb5,_0x50ca46,_0x378fa0){return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x334fb5[_0xbd09('0x61')]['id']}})['then'](handleEntityNotFound(_0x50ca46,null))[_0xbd09('0x23')](function(_0x48cc21){if(_0x48cc21){return _0x48cc21[_0xbd09('0x6a')](_0x334fb5[_0xbd09('0x49')][_0xbd09('0x6b')]);}})[_0xbd09('0x23')](respondWithStatusCode(_0x50ca46,null))['catch'](handleError(_0x50ca46,null));};exports['addAnswer']=function(_0xed918c,_0x37baf0,_0x4682fc){if(_0xed918c['body']['id']){delete _0xed918c[_0xbd09('0x60')]['id'];}return db['MailAccount']['find']({'where':{'id':_0xed918c['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x37baf0,null))[_0xbd09('0x23')](function(_0x5da2c2){if(_0x5da2c2){_0xed918c[_0xbd09('0x60')][_0xbd09('0x65')]=_0x5da2c2['id'];return db['CannedAnswer'][_0xbd09('0x6c')](_0xed918c[_0xbd09('0x60')]);}})[_0xbd09('0x23')](respondWithResult(_0x37baf0,null))['catch'](handleError(_0x37baf0,null));};exports[_0xbd09('0x6d')]=function(_0x24601c,_0x5dd778,_0xd3de00){var _0x37696f={'raw':![],'where':{}};var _0x4752a7={};var _0x5c9aaa={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x24601c[_0xbd09('0x61')]['id']}})['then'](handleEntityNotFound(_0x5dd778,null))[_0xbd09('0x23')](function(_0x560c9f){if(_0x560c9f){_0x4752a7[_0xbd09('0x4c')]=_[_0xbd09('0x48')](db['CannedAnswer'][_0xbd09('0x45')]);_0x4752a7['query']=_[_0xbd09('0x48')](_0x24601c[_0xbd09('0x49')]);_0x4752a7[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x4752a7['model'],_0x4752a7[_0xbd09('0x49')]);_0x37696f[_0xbd09('0x4e')]=_[_0xbd09('0x4b')](_0x4752a7[_0xbd09('0x4c')],qs['fields'](_0x24601c[_0xbd09('0x49')][_0xbd09('0x4d')]));_0x37696f[_0xbd09('0x4e')]=_0x37696f[_0xbd09('0x4e')]['length']?_0x37696f[_0xbd09('0x4e')]:_0x4752a7[_0xbd09('0x4c')];if(!_0x24601c[_0xbd09('0x49')][_0xbd09('0x69')]('nolimit')){_0x37696f[_0xbd09('0x51')]=qs[_0xbd09('0x51')](_0x24601c[_0xbd09('0x49')][_0xbd09('0x51')]);_0x37696f[_0xbd09('0x33')]=qs[_0xbd09('0x33')](_0x24601c['query'][_0xbd09('0x33')]);}_0x37696f[_0xbd09('0x52')]=qs[_0xbd09('0x53')](_0x24601c[_0xbd09('0x49')]['sort']);_0x37696f[_0xbd09('0x54')]=qs[_0xbd09('0x4a')](_['pick'](_0x24601c[_0xbd09('0x49')],_0x4752a7[_0xbd09('0x4a')]));_0x37696f[_0xbd09('0x54')][_0xbd09('0x65')]=_0x560c9f['id'];if(_0x24601c[_0xbd09('0x49')][_0xbd09('0x58')]){_0x37696f['where']=_[_0xbd09('0x56')](_0x37696f[_0xbd09('0x54')],{'$or':_['map'](_0x37696f[_0xbd09('0x4e')],function(_0x1cebea){var _0xcdc400={};_0xcdc400[_0x1cebea]={'$like':'%'+_0x24601c['query'][_0xbd09('0x58')]+'%'};return _0xcdc400;})});}_0x37696f=_[_0xbd09('0x56')]({},_0x37696f,_0x24601c[_0xbd09('0x59')]);return db[_0xbd09('0x6e')]['count']({'where':_0x37696f[_0xbd09('0x54')]})[_0xbd09('0x23')](function(_0x5b99d8){_0x5c9aaa[_0xbd09('0x32')]=_0x5b99d8;if(_0x24601c['query'][_0xbd09('0x5b')]){_0x37696f[_0xbd09('0x5c')]=[{'all':!![]}];}return db[_0xbd09('0x6e')]['findAll'](_0x37696f);})['then'](function(_0x482df4){_0x5c9aaa['rows']=_0x482df4;return _0x5c9aaa;});}})[_0xbd09('0x23')](respondWithFilteredResult(_0x5dd778,_0x37696f))[_0xbd09('0x2e')](handleError(_0x5dd778,null));};exports[_0xbd09('0x6f')]=function(_0xa8da4b,_0x331878,_0x4013bc){return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0xa8da4b['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x331878,null))['then'](function(_0x4e165e){if(_0x4e165e){return _0x4e165e[_0xbd09('0x6f')](_0xa8da4b[_0xbd09('0x49')][_0xbd09('0x6b')]);}})['then'](respondWithStatusCode(_0x331878,null))[_0xbd09('0x2e')](handleError(_0x331878,null));};exports[_0xbd09('0x6c')]=function(_0x10436,_0x5ccfc8){var _0x23285b={'name':_0x10436[_0xbd09('0x60')][_0xbd09('0x3b')],'key':_0x10436[_0xbd09('0x60')]['key'],'email':_0x10436[_0xbd09('0x60')][_0xbd09('0x70')],'ListId':_0x10436[_0xbd09('0x60')][_0xbd09('0x71')],'active':!_[_0xbd09('0x72')](_0x10436[_0xbd09('0x60')][_0xbd09('0x73')])?_0x10436[_0xbd09('0x60')][_0xbd09('0x73')]:!![],'description':_0x10436[_0xbd09('0x60')][_0xbd09('0x74')]||null,'Imap':{},'Smtp':{}};if(_[_0xbd09('0x72')](_0x10436[_0xbd09('0x60')]['cservice'])){if(_0x10436[_0xbd09('0x60')][_0xbd09('0x75')]){_0x23285b[_0xbd09('0x3f')][_0xbd09('0x76')]=_0x23285b[_0xbd09('0x41')][_0xbd09('0x76')]=_0x10436[_0xbd09('0x60')][_0xbd09('0x77')];_0x23285b[_0xbd09('0x3f')][_0xbd09('0x78')]=_0x23285b[_0xbd09('0x41')]['pass']=_0x10436[_0xbd09('0x60')][_0xbd09('0x79')];}else{_0x23285b[_0xbd09('0x3f')][_0xbd09('0x7a')]=_0x23285b[_0xbd09('0x41')][_0xbd09('0x7a')]=![];}_0x23285b[_0xbd09('0x3f')][_0xbd09('0x7b')]=_0x10436[_0xbd09('0x60')]['Imap'][_0xbd09('0x7b')];_0x23285b[_0xbd09('0x3f')][_0xbd09('0x7c')]=_0x10436['body'][_0xbd09('0x3f')]['port'];_0x23285b[_0xbd09('0x41')][_0xbd09('0x7b')]=_0x10436[_0xbd09('0x60')][_0xbd09('0x41')][_0xbd09('0x7b')];_0x23285b[_0xbd09('0x41')][_0xbd09('0x7c')]=_0x10436[_0xbd09('0x60')][_0xbd09('0x41')][_0xbd09('0x7c')];}else{_0x23285b[_0xbd09('0x3f')]['service']=_0x23285b[_0xbd09('0x41')][_0xbd09('0x7d')]=_0x10436[_0xbd09('0x60')]['cservice'];_0x23285b[_0xbd09('0x3f')][_0xbd09('0x76')]=_0x23285b[_0xbd09('0x41')]['user']=_0x10436[_0xbd09('0x60')][_0xbd09('0x77')];_0x23285b['Imap'][_0xbd09('0x78')]=_0x23285b['Smtp'][_0xbd09('0x7e')]=_0x10436[_0xbd09('0x60')][_0xbd09('0x79')];}return db[_0xbd09('0x5a')]['create'](_0x23285b,{'include':[{'model':db[_0xbd09('0x40')],'as':_0xbd09('0x41')},{'model':db[_0xbd09('0x3e')],'as':_0xbd09('0x3f')}]})[_0xbd09('0x23')](function(_0x451c19){var _0x25418c=_0x10436[_0xbd09('0x76')][_0xbd09('0x38')]({'plain':!![]});if(!_0x25418c)throw new Error(_0xbd09('0x7f'));if(_0x25418c[_0xbd09('0x80')]===_0xbd09('0x76')){var _0x577ec6=_0x451c19[_0xbd09('0x38')]({'plain':!![]});return db[_0xbd09('0x81')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x25418c[_0xbd09('0x82')]},'raw':!![]})[_0xbd09('0x23')](function(_0x209207){if(_0x209207&&_0x209207[_0xbd09('0x83')]===0x0){return db[_0xbd09('0x39')][_0xbd09('0x6c')]({'name':_0x577ec6[_0xbd09('0x3b')],'resourceId':_0x577ec6['id'],'type':_0x209207[_0xbd09('0x3b')],'sectionId':_0x209207['id']},{})[_0xbd09('0x23')](function(){return _0x451c19;});}else{return _0x451c19;}})['catch'](function(_0x46f292){logger[_0xbd09('0x2a')](_0xbd09('0x84'),_0x46f292);throw _0x46f292;});}return _0x451c19;})[_0xbd09('0x23')](respondWithResult(_0x5ccfc8,0xc9))['catch'](handleError(_0x5ccfc8,null));};exports[_0xbd09('0x85')]=function(_0x2cf8f1,_0x5ed29d,_0x17e785){return db[_0xbd09('0x5a')][_0xbd09('0x68')]({'where':{'id':_0x2cf8f1[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x5ed29d,null))[_0xbd09('0x23')](function(_0x200224){if(_0x200224){return _0x200224[_0xbd09('0x85')]();}return null;})['then'](respondWithResult(_0x5ed29d,null))[_0xbd09('0x2e')](handleError(_0x5ed29d,null));};exports['addImap']=function(_0x33eab8,_0x43940e,_0x3eda58){if(_0x33eab8[_0xbd09('0x60')]['id']){delete _0x33eab8[_0xbd09('0x60')]['id'];}return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x33eab8[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x43940e,null))[_0xbd09('0x23')](function(_0x272cdf){if(_0x272cdf){_0x33eab8[_0xbd09('0x60')][_0xbd09('0x65')]=_0x272cdf['id'];return db['MailServerIn'][_0xbd09('0x6c')](_0x33eab8['body']);}})[_0xbd09('0x23')](respondWithResult(_0x43940e,null))[_0xbd09('0x2e')](handleError(_0x43940e,null));};exports[_0xbd09('0x86')]=function(_0x12e4ec,_0x13413c,_0x743ba9){return db[_0xbd09('0x5a')]['findOne']({'where':{'id':_0x12e4ec[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x13413c,null))[_0xbd09('0x23')](function(_0x2b5199){if(_0x2b5199){return _0x2b5199['setImap'](null);}return null;})[_0xbd09('0x23')](respondWithStatusCode(_0x13413c,null))['catch'](handleError(_0x13413c,null));};exports[_0xbd09('0x87')]=function(_0x566e82,_0xaf49dd,_0x104c72){return db[_0xbd09('0x5a')][_0xbd09('0x68')]({'where':{'id':_0x566e82[_0xbd09('0x61')]['id']}})['then'](handleEntityNotFound(_0xaf49dd,null))['then'](function(_0x5d4704){if(_0x5d4704){return _0x5d4704['getSmtp']();}return null;})[_0xbd09('0x23')](respondWithResult(_0xaf49dd,null))['catch'](handleError(_0xaf49dd,null));};exports[_0xbd09('0x88')]=function(_0x478103,_0x5b3274,_0x18a0c0){if(_0x478103[_0xbd09('0x60')]['id']){delete _0x478103[_0xbd09('0x60')]['id'];}return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x478103['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x5b3274,null))[_0xbd09('0x23')](function(_0x53becb){if(_0x53becb){_0x478103['body'][_0xbd09('0x65')]=_0x53becb['id'];return db['MailServerOut'][_0xbd09('0x6c')](_0x478103[_0xbd09('0x60')]);}})[_0xbd09('0x23')](respondWithResult(_0x5b3274,null))[_0xbd09('0x2e')](handleError(_0x5b3274,null));};exports[_0xbd09('0x89')]=function(_0x2feff1,_0x53148e,_0x8f7a8b){return db[_0xbd09('0x5a')][_0xbd09('0x68')]({'where':{'id':_0x2feff1[_0xbd09('0x61')]['id']}})['then'](handleEntityNotFound(_0x53148e,null))[_0xbd09('0x23')](function(_0x5068f6){if(_0x5068f6){return _0x5068f6['setSmtp'](null);}return null;})[_0xbd09('0x23')](respondWithStatusCode(_0x53148e,null))[_0xbd09('0x2e')](handleError(_0x53148e,null));};exports[_0xbd09('0x8a')]=function(_0x2d0464,_0x335154,_0x4f96ad){return db[_0xbd09('0x8b')]['find']({'where':{'id':_0x2d0464[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x335154,null))['then'](function(_0x37160e){if(_0x37160e){return _0x37160e[_0xbd09('0x8a')](_0x2d0464['body'][_0xbd09('0x6b')],_[_0xbd09('0x8c')](_0x2d0464['body'],[_0xbd09('0x6b'),'id'])||{});}})[_0xbd09('0x23')](respondWithResult(_0x335154,null))[_0xbd09('0x2e')](handleError(_0x335154,null));};exports[_0xbd09('0x8d')]=function(_0x196c2b,_0x3dc15c,_0x3e624d){var _0x2769d7={'raw':![],'where':{}};var _0xbd6302={};var _0x52a32f={'count':0x0,'rows':[]};return db['MailAccount'][_0xbd09('0x68')]({'where':{'id':_0x196c2b[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x3dc15c,null))['then'](function(_0x2a4483){if(_0x2a4483){_0xbd6302[_0xbd09('0x4c')]=_[_0xbd09('0x48')](db['MailInteraction']['rawAttributes']);_0xbd6302[_0xbd09('0x49')]=_[_0xbd09('0x48')](_0x196c2b['query']);_0xbd6302['filters']=_[_0xbd09('0x4b')](_0xbd6302[_0xbd09('0x4c')],_0xbd6302['query']);_0x2769d7['attributes']=_[_0xbd09('0x4b')](_0xbd6302[_0xbd09('0x4c')],qs['fields'](_0x196c2b[_0xbd09('0x49')][_0xbd09('0x4d')]));_0x2769d7['attributes']=_0x2769d7[_0xbd09('0x4e')][_0xbd09('0x4f')]?_0x2769d7['attributes']:_0xbd6302['model'];if(!_0x196c2b[_0xbd09('0x49')]['hasOwnProperty'](_0xbd09('0x50'))){_0x2769d7[_0xbd09('0x51')]=qs['limit'](_0x196c2b[_0xbd09('0x49')]['limit']);_0x2769d7[_0xbd09('0x33')]=qs[_0xbd09('0x33')](_0x196c2b[_0xbd09('0x49')][_0xbd09('0x33')]);}_0x2769d7[_0xbd09('0x52')]=qs[_0xbd09('0x53')](_0x196c2b[_0xbd09('0x49')]['sort']);_0x2769d7[_0xbd09('0x54')]=qs[_0xbd09('0x4a')](_[_0xbd09('0x55')](_0x196c2b[_0xbd09('0x49')],_0xbd6302['filters']));_0x2769d7[_0xbd09('0x54')][_0xbd09('0x65')]=_0x2a4483['id'];if(_0x196c2b[_0xbd09('0x49')][_0xbd09('0x58')]){_0x2769d7[_0xbd09('0x54')]=_[_0xbd09('0x56')](_0x2769d7[_0xbd09('0x54')],{'$or':_[_0xbd09('0x44')](_0x2769d7['attributes'],function(_0x1b3383){var _0x1770f4={};_0x1770f4[_0x1b3383]={'$like':'%'+_0x196c2b[_0xbd09('0x49')][_0xbd09('0x58')]+'%'};return _0x1770f4;})});}_0x2769d7=_['merge']({},_0x2769d7,_0x196c2b[_0xbd09('0x59')]);return db[_0xbd09('0x8b')][_0xbd09('0x32')]({'where':_0x2769d7['where']})['then'](function(_0x21332d){_0x52a32f['count']=_0x21332d;if(_0x196c2b[_0xbd09('0x49')][_0xbd09('0x5b')]){_0x2769d7[_0xbd09('0x5c')]=[{'model':db[_0xbd09('0x8e')],'as':_0xbd09('0x8f'),'required':![]},{'model':db['User'],'as':_0xbd09('0x90'),'attributes':['name',_0xbd09('0x91'),'internal'],'required':![]},{'model':db[_0xbd09('0x92')],'as':_0xbd09('0x93'),'attributes':['id',_0xbd09('0x3b'),_0xbd09('0x94')],'where':_0x196c2b['query'][_0xbd09('0x95')]?{'id':_0x196c2b[_0xbd09('0x49')][_0xbd09('0x95')]}:undefined,'required':_0x196c2b[_0xbd09('0x49')]['tag']?!![]:![]}];}return db['MailInteraction'][_0xbd09('0x5d')](_0x2769d7);})[_0xbd09('0x23')](function(_0x2d8450){_0x52a32f[_0xbd09('0x5e')]=_0x2d8450;return _0x52a32f;});}})[_0xbd09('0x23')](respondWithFilteredResult(_0x3dc15c,_0x2769d7))[_0xbd09('0x2e')](handleError(_0x3dc15c,null));};exports['addApplications']=function(_0x1f2afd,_0x7d5f91,_0x183146){return db[_0xbd09('0x5a')][_0xbd09('0x68')]({'where':{'id':_0x1f2afd[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x7d5f91,null))[_0xbd09('0x23')](function(_0x328a4f){if(_0x328a4f){return db[_0xbd09('0x96')][_0xbd09('0x97')](function(_0x5e0539){return db[_0xbd09('0x98')][_0xbd09('0x37')]({'where':{'MailAccountId':_0x1f2afd[_0xbd09('0x61')]['id']},'transaction':_0x5e0539})[_0xbd09('0x23')](function(_0x568c40){var _0x3e3efa=_[_0xbd09('0x44')](_0x1f2afd[_0xbd09('0x60')],function(_0x172655){_0x172655['MailAccountId']=_0x1f2afd[_0xbd09('0x61')]['id'];return _0x172655;});return db[_0xbd09('0x98')][_0xbd09('0x99')](_0x3e3efa,{'transaction':_0x5e0539});});})[_0xbd09('0x23')](function(){return db[_0xbd09('0x98')]['findAndCountAll']({'where':{'MailAccountId':_0x1f2afd[_0xbd09('0x61')]['id']},'order':_0xbd09('0x9a')});});}})[_0xbd09('0x23')](respondWithResult(_0x7d5f91,null))[_0xbd09('0x2e')](handleError(_0x7d5f91,null));};exports[_0xbd09('0x9b')]=function(_0x5726af,_0x4bcddc,_0x2fc0b3){var _0x4004f1={};var _0x584bbb={};var _0x1c67d5;var _0x41fcc2;return db[_0xbd09('0x5a')]['findOne']({'where':{'id':_0x5726af[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x4bcddc,null))['then'](function(_0x2e2588){if(_0x2e2588){_0x1c67d5=_0x2e2588;_0x584bbb[_0xbd09('0x4c')]=_[_0xbd09('0x48')](db[_0xbd09('0x98')][_0xbd09('0x45')]);_0x584bbb['query']=_[_0xbd09('0x48')](_0x5726af[_0xbd09('0x49')]);_0x584bbb['filters']=_[_0xbd09('0x4b')](_0x584bbb[_0xbd09('0x4c')],_0x584bbb[_0xbd09('0x49')]);_0x4004f1[_0xbd09('0x4e')]=_[_0xbd09('0x4b')](_0x584bbb[_0xbd09('0x4c')],qs[_0xbd09('0x4d')](_0x5726af[_0xbd09('0x49')][_0xbd09('0x4d')]));_0x4004f1[_0xbd09('0x4e')]=_0x4004f1[_0xbd09('0x4e')]['length']?_0x4004f1['attributes']:_0x584bbb[_0xbd09('0x4c')];_0x4004f1[_0xbd09('0x52')]=qs['sort'](_0x5726af['query'][_0xbd09('0x53')]);_0x4004f1[_0xbd09('0x54')]=qs['filters'](_[_0xbd09('0x55')](_0x5726af[_0xbd09('0x49')],_0x584bbb[_0xbd09('0x4a')]));if(_0x5726af[_0xbd09('0x49')][_0xbd09('0x58')]){_0x4004f1[_0xbd09('0x54')]=_[_0xbd09('0x56')](_0x4004f1[_0xbd09('0x54')],{'$or':_[_0xbd09('0x44')](_0x4004f1[_0xbd09('0x4e')],function(_0x306a0a){var _0x2a0387={};_0x2a0387[_0x306a0a]={'$like':'%'+_0x5726af['query'][_0xbd09('0x58')]+'%'};return _0x2a0387;})});}_0x4004f1=_[_0xbd09('0x56')]({},_0x4004f1,_0x5726af['options']);return _0x1c67d5[_0xbd09('0x9b')](_0x4004f1);}})[_0xbd09('0x23')](function(_0x187e25){if(_0x187e25){_0x41fcc2=_0x187e25[_0xbd09('0x4f')];if(!_0x5726af[_0xbd09('0x49')]['hasOwnProperty'](_0xbd09('0x50'))){_0x4004f1[_0xbd09('0x51')]=qs[_0xbd09('0x51')](_0x5726af[_0xbd09('0x49')][_0xbd09('0x51')]);_0x4004f1['offset']=qs[_0xbd09('0x33')](_0x5726af['query']['offset']);}return _0x1c67d5['getApplications'](_0x4004f1);}})[_0xbd09('0x23')](function(_0x59d346){if(_0x59d346){return _0x59d346?{'count':_0x41fcc2,'rows':_0x59d346}:null;}})[_0xbd09('0x23')](respondWithResult(_0x4bcddc,null))[_0xbd09('0x2e')](handleError(_0x4bcddc,null));};exports[_0xbd09('0x9c')]=function(_0x506573,_0x44048e,_0x509811){var _0x5eb5f6={'raw':!![],'where':{}};var _0x2c4924={};var _0x1af3b9={'count':0x0,'rows':[]};return db['MailAccount'][_0xbd09('0x68')]({'where':{'id':_0x506573[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x44048e,null))[_0xbd09('0x23')](function(_0x4e0b71){if(_0x4e0b71){_0x2c4924[_0xbd09('0x4c')]=_[_0xbd09('0x48')](db['MailMessage']['rawAttributes']);_0x2c4924['query']=_[_0xbd09('0x48')](_0x506573[_0xbd09('0x49')]);_0x2c4924[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x2c4924[_0xbd09('0x4c')],_0x2c4924[_0xbd09('0x49')]);_0x5eb5f6[_0xbd09('0x4e')]=_[_0xbd09('0x4b')](_0x2c4924[_0xbd09('0x4c')],qs['fields'](_0x506573[_0xbd09('0x49')]['fields']));_0x5eb5f6[_0xbd09('0x4e')]=_0x5eb5f6[_0xbd09('0x4e')][_0xbd09('0x4f')]?_0x5eb5f6[_0xbd09('0x4e')]:_0x2c4924[_0xbd09('0x4c')];if(!_0x506573[_0xbd09('0x49')][_0xbd09('0x69')](_0xbd09('0x50'))){_0x5eb5f6[_0xbd09('0x51')]=qs['limit'](_0x506573[_0xbd09('0x49')][_0xbd09('0x51')]);_0x5eb5f6[_0xbd09('0x33')]=qs[_0xbd09('0x33')](_0x506573[_0xbd09('0x49')]['offset']);}_0x5eb5f6[_0xbd09('0x52')]=qs['sort'](_0x506573[_0xbd09('0x49')][_0xbd09('0x53')]);_0x5eb5f6[_0xbd09('0x54')]=qs['filters'](_[_0xbd09('0x55')](_0x506573[_0xbd09('0x49')],_0x2c4924[_0xbd09('0x4a')]));_0x5eb5f6['where'][_0xbd09('0x65')]=_0x4e0b71['id'];if(_0x506573[_0xbd09('0x49')]['filter']){_0x5eb5f6[_0xbd09('0x54')]=_[_0xbd09('0x56')](_0x5eb5f6[_0xbd09('0x54')],{'$or':_[_0xbd09('0x44')](_0x5eb5f6[_0xbd09('0x4e')],function(_0x51c1f5){var _0x1c68eb={};_0x1c68eb[_0x51c1f5]={'$like':'%'+_0x506573[_0xbd09('0x49')][_0xbd09('0x58')]+'%'};return _0x1c68eb;})});}if(_0x506573[_0xbd09('0x49')]['$gte']){var _0x5360c7=_0x506573[_0xbd09('0x49')]['$gte'][_0xbd09('0x9d')](',');var _0x1a03de={};_0x1a03de[_0x5360c7[0x0]]={'$gte':moment(_0x5360c7[0x1])[_0xbd09('0x9e')](_0xbd09('0x9f'))};_0x5eb5f6['where']=_[_0xbd09('0x56')](_0x5eb5f6[_0xbd09('0x54')],_0x1a03de);}_0x5eb5f6=_[_0xbd09('0x56')]({},_0x5eb5f6,_0x506573[_0xbd09('0x59')]);return db[_0xbd09('0xa0')]['count']({'where':_0x5eb5f6[_0xbd09('0x54')]})[_0xbd09('0x23')](function(_0x547cbd){_0x1af3b9[_0xbd09('0x32')]=_0x547cbd;if(_0x506573['query']['includeAll']){_0x5eb5f6[_0xbd09('0x5c')]=[{'all':!![]}];}return db[_0xbd09('0xa0')][_0xbd09('0x5d')](_0x5eb5f6);})[_0xbd09('0x23')](function(_0x5d30ce){_0x1af3b9[_0xbd09('0x5e')]=_0x5d30ce;return _0x1af3b9;});}})[_0xbd09('0x23')](respondWithFilteredResult(_0x44048e,_0x5eb5f6))['catch'](handleError(_0x44048e,null));};exports[_0xbd09('0x3c')]=function(_0x500f8b,_0x4c8d1a,_0x34e56b){var _0x33ab9d,_0x62409a={},_0x9952cb;if(_0x500f8b[_0xbd09('0x60')]['to']){_0x9952cb=_0x500f8b[_0xbd09('0x60')]['to'][_0xbd09('0x9d')](',')[0x0];}return db['MailAccount'][_0xbd09('0x5f')]({'where':{'id':_0x500f8b[_0xbd09('0x61')]['id']},'include':[{'model':db[_0xbd09('0xa1')],'as':_0xbd09('0xa2'),'include':[{'model':db[_0xbd09('0x8e')],'as':_0xbd09('0xa3'),'where':{'email':_0x9952cb},'limit':0x1,'order':[[_0xbd09('0xa4'),_0xbd09('0xa5')]]}]},{'model':db['MailServerOut'],'as':_0xbd09('0x41'),'raw':!![]}]})['then'](handleEntityNotFound(_0x4c8d1a,null))['then'](function(_0x184e15){if(_0x184e15){_0x33ab9d=_0x184e15;if(_0x184e15['Smtp']){if(_[_0xbd09('0x72')](_0x500f8b['body'][_0xbd09('0xa6')])){_0x500f8b[_0xbd09('0x60')][_0xbd09('0xa6')]=util[_0xbd09('0x9e')](_0xbd09('0xa7'),_0x184e15[_0xbd09('0x3b')],_0x184e15[_0xbd09('0x70')]||_0x184e15[_0xbd09('0x41')][_0xbd09('0x76')]);}if(_0x500f8b['body'][_0xbd09('0xa8')]&&_0x500f8b[_0xbd09('0x60')][_0xbd09('0xa8')][_0xbd09('0x4f')]){for(var _0x382c02=0x0;_0x382c02<_0x500f8b[_0xbd09('0x60')][_0xbd09('0xa8')][_0xbd09('0x4f')];_0x382c02+=0x1){_0x500f8b[_0xbd09('0x60')]['attachments'][_0x382c02]={'filename':_0x500f8b['body']['attachments'][_0x382c02][_0xbd09('0x3b')],'path':path[_0xbd09('0xa9')](config[_0xbd09('0xaa')],'server/files/attachments',_0x500f8b[_0xbd09('0x60')][_0xbd09('0xa8')][_0x382c02]['basename'])};}}var _0x572393={'tls':{'rejectUnauthorized':![]}};if(_[_0xbd09('0x72')](_0x184e15[_0xbd09('0x41')][_0xbd09('0x7d')])){if(_0x184e15[_0xbd09('0x41')]['authentication']){_0x572393[_0xbd09('0xab')]={'user':_0x184e15[_0xbd09('0x41')][_0xbd09('0x76')],'pass':_0x184e15[_0xbd09('0x41')][_0xbd09('0x7e')]};}_0x572393['host']=_0x184e15[_0xbd09('0x41')][_0xbd09('0x7b')];_0x572393['port']=_0x184e15['Smtp']['port'];_0x572393[_0xbd09('0xac')]=_0x184e15[_0xbd09('0x41')]['secure'];}else{_0x572393[_0xbd09('0x7d')]=_0x184e15[_0xbd09('0x41')]['service'];_0x572393['auth']={'user':_0x184e15[_0xbd09('0x41')]['user'],'pass':_0x184e15[_0xbd09('0x41')][_0xbd09('0x7e')]};}return respondWithRpcPromise('SendMail',_0xbd09('0xad'),{'account':_0x572393,'message':_0x500f8b[_0xbd09('0x60')]});}else{throw new Error(_0xbd09('0xae'));}}})[_0xbd09('0x23')](function(_0x29ef05){if(_0x29ef05){_0x62409a=_0x29ef05;if(_0x33ab9d[_0xbd09('0xa2')]){if(_0x33ab9d['List']['Contacts']['length']){return _0x33ab9d['List'][_0xbd09('0xa3')][0x0];}else{return db[_0xbd09('0x8e')][_0xbd09('0x6c')](_[_0xbd09('0xaf')](_0x500f8b[_0xbd09('0x60')],{'firstName':_0x500f8b[_0xbd09('0x60')]['to'],'email':_0x500f8b['body']['to'],'phone':_0x500f8b[_0xbd09('0x60')]['to'],'ListId':_0x33ab9d[_0xbd09('0x71')]}));}}else{throw new Error(_0xbd09('0xae'));}}})[_0xbd09('0x23')](function(_0x5d2219){if(_0x5d2219){var _0x3e59ae={'UserId':_0x500f8b[_0xbd09('0x76')]['id'],'ContactId':_0x5d2219['id'],'MailAccountId':_0x33ab9d['id'],'inReplyTo':_0x62409a[_0xbd09('0xb0')],'to':_0x500f8b[_0xbd09('0x60')][_0xbd09('0xa6')],'cc':_0x500f8b[_0xbd09('0x60')]['cc'],'subject':_0x500f8b[_0xbd09('0x60')][_0xbd09('0xb1')],'attach':_0x500f8b[_0xbd09('0x60')][_0xbd09('0xb2')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xbd09('0x9e')](_0xbd09('0x9f')),'lastMsgDirection':'out','lastMsgBody':_0x500f8b['body'][_0xbd09('0x60')],'Messages':[_[_0xbd09('0x56')](_0x500f8b[_0xbd09('0x60')],{'messageId':_0x62409a[_0xbd09('0xb0')],'sentAt':moment()[_0xbd09('0x9e')](_0xbd09('0x9f')),'read':!![],'MailAccountId':_0x33ab9d['id'],'UserId':_0x500f8b[_0xbd09('0x76')]['id'],'ContactId':_0x5d2219['id']})]};if(_0x500f8b[_0xbd09('0x60')]['Interaction']){_0x3e59ae=_[_0xbd09('0x56')](_0x3e59ae,_0x500f8b[_0xbd09('0x60')][_0xbd09('0xb3')]);}return db[_0xbd09('0x8b')]['create'](_0x3e59ae,{'include':[{'model':db['MailMessage'],'as':_0xbd09('0xb4')}]});}})[_0xbd09('0x23')](respondWithResult(_0x4c8d1a,null))['catch'](handleError(_0x4c8d1a,null));};exports[_0xbd09('0xb5')]=function(_0x9139c0,_0x17ed13,_0x812b0e){return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x9139c0['params']['id']},'include':[{'model':db[_0xbd09('0x40')],'as':_0xbd09('0x41'),'raw':!![]}]})[_0xbd09('0x23')](handleEntityNotFound(_0x17ed13,null))['then'](function(_0x3af6ce){if(_0x3af6ce&&_0x3af6ce[_0xbd09('0x41')]){var _0x2a9c33={'id':_0x3af6ce['id'],'tls':{'rejectUnauthorized':![]}};if(_0x3af6ce[_0xbd09('0x41')][_0xbd09('0x7d')]){_0x2a9c33['service']=_0x3af6ce[_0xbd09('0x41')][_0xbd09('0x7d')];}else{_0x2a9c33[_0xbd09('0x7b')]=_0x3af6ce[_0xbd09('0x41')][_0xbd09('0x7b')];_0x2a9c33[_0xbd09('0x7c')]=_0x3af6ce['Smtp']['port'];_0x2a9c33[_0xbd09('0xac')]=_0x3af6ce[_0xbd09('0x41')][_0xbd09('0xac')];}if(_0x3af6ce['Smtp'][_0xbd09('0x7a')]){_0x2a9c33[_0xbd09('0xab')]={'user':_0x3af6ce['Smtp'][_0xbd09('0x76')],'pass':_0x3af6ce[_0xbd09('0x41')][_0xbd09('0x7e')]};}return respondWithRpcPromise(_0xbd09('0xb6'),_0xbd09('0xb5'),{'account':_0x2a9c33});}})[_0xbd09('0x23')](respondWithResult(_0x17ed13,null))[_0xbd09('0x2e')](handleError(_0x17ed13,null));};exports[_0xbd09('0x37')]=function(_0x2ab22c,_0x5c700a){return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x2ab22c[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x5c700a,null))[_0xbd09('0x23')](function(_0x49672e){if(_0x49672e&&_0x49672e['service']){throw new db['Sequelize']['ValidationError'](_0xbd09('0xb7'));}return _0x49672e;})[_0xbd09('0x23')](removeEntity(_0x5c700a,null))[_0xbd09('0x2e')](handleError(_0x5c700a,null));};exports['addAgents']=function(_0x5e23a6,_0x1f645f,_0x115180){return db['MailAccount'][_0xbd09('0x5f')]({'where':{'id':_0x5e23a6[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x1f645f,null))[_0xbd09('0x23')](function(_0x38b3a1){if(_0x38b3a1){return _0x38b3a1[_0xbd09('0xb8')](_0x5e23a6['body'][_0xbd09('0x6b')],_[_0xbd09('0x8c')](_0x5e23a6[_0xbd09('0x60')],[_0xbd09('0x6b'),'id'])||{})[_0xbd09('0xb9')](function(_0x8b87a1){for(var _0x2e300d=0x0;_0x2e300d<_0x5e23a6[_0xbd09('0x60')][_0xbd09('0x6b')][_0xbd09('0x4f')];_0x2e300d+=0x1){socket[_0xbd09('0xba')]('userMailAccount:save',{'UserId':_0x5e23a6[_0xbd09('0x60')][_0xbd09('0x6b')][_0x2e300d],'MailAccountId':_0x5e23a6[_0xbd09('0x61')]['id']});}return _0x8b87a1;});}})[_0xbd09('0x23')](respondWithResult(_0x1f645f,null))[_0xbd09('0x2e')](handleError(_0x1f645f,null));};exports['removeAgents']=function(_0x3bc934,_0x2c747a,_0x168386){return db[_0xbd09('0x5a')][_0xbd09('0x5f')]({'where':{'id':_0x3bc934[_0xbd09('0x61')]['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x2c747a,null))[_0xbd09('0x23')](function(_0x1f3714){if(_0x1f3714){return _0x1f3714['removeAgents'](_0x3bc934[_0xbd09('0x49')]['ids'])[_0xbd09('0x23')](function(){if(_[_0xbd09('0xbb')](_0x3bc934[_0xbd09('0x49')][_0xbd09('0x6b')])){for(var _0x65d0d6=0x0;_0x65d0d6<_0x3bc934[_0xbd09('0x49')][_0xbd09('0x6b')][_0xbd09('0x4f')];_0x65d0d6+=0x1){socket[_0xbd09('0xba')]('userMailAccount:remove',{'UserId':Number(_0x3bc934[_0xbd09('0x49')][_0xbd09('0x6b')][_0x65d0d6]),'MailAccountId':Number(_0x3bc934[_0xbd09('0x61')]['id'])});}}else{socket['emit'](_0xbd09('0xbc'),{'UserId':Number(_0x3bc934[_0xbd09('0x49')][_0xbd09('0x6b')]),'MailAccountId':Number(_0x3bc934[_0xbd09('0x61')]['id'])});}});}})[_0xbd09('0x23')](respondWithStatusCode(_0x2c747a,null))['catch'](handleError(_0x2c747a,null));};exports['getAgents']=function(_0x4320c6,_0x3bd155,_0x31a1b0){var _0x4809eb={};var _0x8b7e3e={};var _0xd3886a;var _0xae7c85;return db[_0xbd09('0x5a')][_0xbd09('0x68')]({'where':{'id':_0x4320c6['params']['id']}})[_0xbd09('0x23')](handleEntityNotFound(_0x3bd155,null))[_0xbd09('0x23')](function(_0x2ac49d){if(_0x2ac49d){_0xd3886a=_0x2ac49d;_0x8b7e3e[_0xbd09('0x4c')]=_['keys'](db[_0xbd09('0xbd')]['rawAttributes']);_0x8b7e3e[_0xbd09('0x49')]=_[_0xbd09('0x48')](_0x4320c6[_0xbd09('0x49')]);_0x8b7e3e[_0xbd09('0x4a')]=_[_0xbd09('0x4b')](_0x8b7e3e['model'],_0x8b7e3e[_0xbd09('0x49')]);_0x4809eb['attributes']=_[_0xbd09('0x4b')](_0x8b7e3e['model'],qs[_0xbd09('0x4d')](_0x4320c6[_0xbd09('0x49')][_0xbd09('0x4d')]));_0x4809eb['attributes']=_0x4809eb['attributes'][_0xbd09('0x4f')]?_0x4809eb[_0xbd09('0x4e')]:_0x8b7e3e[_0xbd09('0x4c')];_0x4809eb['order']=qs[_0xbd09('0x53')](_0x4320c6['query'][_0xbd09('0x53')]);_0x4809eb[_0xbd09('0x54')]=qs[_0xbd09('0x4a')](_[_0xbd09('0x55')](_0x4320c6[_0xbd09('0x49')],_0x8b7e3e[_0xbd09('0x4a')]));if(_0x4320c6['query'][_0xbd09('0x58')]){_0x4809eb['where']=_['merge'](_0x4809eb[_0xbd09('0x54')],{'$or':_['map'](_0x4809eb['attributes'],function(_0x2f6cb8){var _0x234495={};_0x234495[_0x2f6cb8]={'$like':'%'+_0x4320c6['query'][_0xbd09('0x58')]+'%'};return _0x234495;})});}_0x4809eb=_['merge']({},_0x4809eb,_0x4320c6[_0xbd09('0x59')]);return _0xd3886a[_0xbd09('0xbe')](_0x4809eb);}})['then'](function(_0x477d77){if(_0x477d77){_0xae7c85=_0x477d77[_0xbd09('0x4f')];if(!_0x4320c6[_0xbd09('0x49')][_0xbd09('0x69')]('nolimit')){_0x4809eb[_0xbd09('0x51')]=qs[_0xbd09('0x51')](_0x4320c6['query'][_0xbd09('0x51')]);_0x4809eb[_0xbd09('0x33')]=qs[_0xbd09('0x33')](_0x4320c6['query']['offset']);}return _0xd3886a[_0xbd09('0xbe')](_0x4809eb);}})[_0xbd09('0x23')](function(_0x15960a){if(_0x15960a){return _0x15960a?{'count':_0xae7c85,'rows':_0x15960a}:null;}})[_0xbd09('0x23')](respondWithResult(_0x3bd155,null))[_0xbd09('0x2e')](handleError(_0x3bd155,null));};