Built motion from commit (unavailable).|2.5.22
[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 _0x1db5=['bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','querystring','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','code','error','message','result','catch','sendStatus','status','end','json','count','offset','limit','apply','reject','save','update','then','destroy','get','stack','name','send','index','MailServerIn','Imap','Smtp','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','query','intersection','attributes','model','fields','nolimit','order','sort','pick','filters','filter','merge','where','VIRTUAL','options','includeAll','findAll','show','params','Pause','keys','length','include','find','body','MailServerOut','describe','addDisposition','MailAccountId','create','findOne','hasOwnProperty','Disposition','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','ListId','isNil','active','cservice','cauthentication','user','cuser','cpassword','authentication','host','port','service','password','pass','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','omit','getInteractions','CmContact','User','Owner','fullname','internal','Tags','tag','rows','sequelize','transaction','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','inlineCss','true','split','CmList','Contacts','updatedAt','from','format','attachments','join','root','server/files/attachments','secure','auth','SendMail','sendMail','List\x20not\x20found','List','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','messageId','Interaction','Messages','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','rimraf','request-promise','moment'];(function(_0x32125b,_0x363e00){var _0x29c0f9=function(_0x20e974){while(--_0x20e974){_0x32125b['push'](_0x32125b['shift']());}};_0x29c0f9(++_0x363e00);}(_0x1db5,0x18c));var _0x51db=function(_0x5a678a,_0x10998b){_0x5a678a=_0x5a678a-0x0;var _0x55808d=_0x1db5[_0x5a678a];return _0x55808d;};'use strict';var pdf=require(_0x51db('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x51db('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x51db('0x2'));var moment=require(_0x51db('0x3'));var BPromise=require(_0x51db('0x4'));var Mustache=require(_0x51db('0x5'));var util=require(_0x51db('0x6'));var path=require(_0x51db('0x7'));var sox=require('sox');var csv=require(_0x51db('0x8'));var ejs=require(_0x51db('0x9'));var fs=require('fs');var _=require(_0x51db('0xa'));var squel=require('squel');var crypto=require(_0x51db('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x51db('0x8'));var querystring=require(_0x51db('0xc'));var Papa=require('papaparse');var htmlToText=require(_0x51db('0xd'));var juice=require(_0x51db('0xe'));var Redis=require(_0x51db('0xf'));var authService=require(_0x51db('0x10'));var qs=require(_0x51db('0x11'));var as=require(_0x51db('0x12'));var hardwareService=require(_0x51db('0x13'));var logger=require(_0x51db('0x14'))(_0x51db('0x15'));var utils=require(_0x51db('0x16'));var config=require(_0x51db('0x17'));var licenseUtil=require(_0x51db('0x18'));var db=require(_0x51db('0x19'))['db'];config[_0x51db('0x1a')]=_[_0x51db('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x51db('0x1c'))(new Redis(config['redis']));require(_0x51db('0x1d'))[_0x51db('0x1e')](socket);var jayson=require(_0x51db('0x1f'));var client=jayson[_0x51db('0x20')][_0x51db('0x21')]({'port':0x232b});function respondWithRpcPromise(_0xe2753a,_0x17757d,_0x103af7,_0x1fbcff){return new BPromise(function(_0x59e399,_0x96089c){var _0x53b150=_0x1fbcff||client;return _0x53b150[_0x51db('0x22')](_0xe2753a,_0x103af7)['then'](function(_0x2b54ff){logger[_0x51db('0x23')](_0x51db('0x24'),_0x17757d,_0x51db('0x25'));logger[_0x51db('0x26')](_0x51db('0x27'),_0x17757d,_0x51db('0x25'),JSON['stringify'](_0x2b54ff));if(_0x2b54ff['error']){if(_0x2b54ff['error'][_0x51db('0x28')]===0x1f4){logger[_0x51db('0x29')](_0x51db('0x24'),_0x17757d,_0x2b54ff['error']['message']);return _0x96089c(_0x2b54ff['error'][_0x51db('0x2a')]);}logger['error'](_0x51db('0x24'),_0x17757d,_0x2b54ff[_0x51db('0x29')][_0x51db('0x2a')]);return _0x59e399(_0x2b54ff[_0x51db('0x29')]['message']);}else{logger['info'](_0x51db('0x24'),_0x17757d,'request\x20sent');_0x59e399(_0x2b54ff[_0x51db('0x2b')][_0x51db('0x2a')]);}})[_0x51db('0x2c')](function(_0x50bf1c){logger['error'](_0x51db('0x24'),_0x17757d,_0x50bf1c);_0x96089c(_0x50bf1c);});});}function respondWithStatusCode(_0x2614c0,_0x245110){_0x245110=_0x245110||0xcc;return function(_0x5540ab){if(_0x5540ab){return _0x2614c0[_0x51db('0x2d')](_0x245110);}return _0x2614c0[_0x51db('0x2e')](_0x245110)[_0x51db('0x2f')]();};}function respondWithResult(_0x35f5a7,_0x31e368){_0x31e368=_0x31e368||0xc8;return function(_0x3ad143){if(_0x3ad143){return _0x35f5a7[_0x51db('0x2e')](_0x31e368)[_0x51db('0x30')](_0x3ad143);}};}function respondWithFilteredResult(_0xe7bd49,_0x396bce){return function(_0x39dd6f){if(_0x39dd6f){var _0xe025b5=_0x39dd6f[_0x51db('0x31')],_0x19677b=_0x396bce['offset'],_0x3364d0=_0x396bce[_0x51db('0x32')]+_0x396bce[_0x51db('0x33')],_0x181f08;if(_0x3364d0>=_0xe025b5){_0x3364d0=_0xe025b5;_0x181f08=0xc8;}else{_0x181f08=0xce;}_0xe7bd49[_0x51db('0x2e')](_0x181f08);return _0xe7bd49['set']('Content-Range',_0x19677b+'-'+_0x3364d0+'/'+_0xe025b5)[_0x51db('0x30')](_0x39dd6f);}return null;};}function patchUpdates(_0x1002ab){return function(_0x2e032b){try{jsonpatch[_0x51db('0x34')](_0x2e032b,_0x1002ab,!![]);}catch(_0x19b4a7){return BPromise[_0x51db('0x35')](_0x19b4a7);}return _0x2e032b[_0x51db('0x36')]();};}function saveUpdates(_0x5a11fb,_0x25c83d){return function(_0xe8a03){if(_0xe8a03){return _0xe8a03[_0x51db('0x37')](_0x5a11fb)[_0x51db('0x38')](function(_0x5a6ff1){return _0x5a6ff1;});}return null;};}function removeEntity(_0x8f5b68,_0x54d81a){return function(_0x416300){if(_0x416300){return _0x416300[_0x51db('0x39')]()['then'](function(){var _0x314c66=_0x416300[_0x51db('0x3a')]({'plain':!![]});var _0x2c5599='MailAccounts';return db['UserProfileResource'][_0x51db('0x39')]({'where':{'type':_0x2c5599,'resourceId':_0x314c66['id']}})['then'](function(){return _0x416300;});})[_0x51db('0x38')](function(){_0x8f5b68['status'](0xcc)[_0x51db('0x2f')]();});}};}function handleEntityNotFound(_0x4fec57,_0x48f50b){return function(_0x196853){if(!_0x196853){_0x4fec57[_0x51db('0x2d')](0x194);}return _0x196853;};}function handleError(_0x44ba23,_0x684c49){_0x684c49=_0x684c49||0x1f4;return function(_0x45549d){logger[_0x51db('0x29')](_0x45549d[_0x51db('0x3b')]);if(_0x45549d[_0x51db('0x3c')]){delete _0x45549d[_0x51db('0x3c')];}_0x44ba23['status'](_0x684c49)[_0x51db('0x3d')](_0x45549d);};}exports[_0x51db('0x3e')]=function(_0x96e4e4,_0x43fa3b){var _0x3f9628={'include':[{'model':db[_0x51db('0x3f')],'as':_0x51db('0x40')},{'model':db['MailServerOut'],'as':_0x51db('0x41')},{'model':db['Pause'],'as':_0x51db('0x42')}]},_0x202865={},_0x3d87e3={'count':0x0,'rows':[]};var _0x5351f0=_[_0x51db('0x43')](db[_0x51db('0x44')][_0x51db('0x45')],function(_0x549c2e){return{'name':_0x549c2e[_0x51db('0x46')],'type':_0x549c2e[_0x51db('0x47')][_0x51db('0x48')]};});_0x202865['model']=_[_0x51db('0x43')](_0x5351f0,'name');_0x202865[_0x51db('0x49')]=_['keys'](_0x96e4e4[_0x51db('0x49')]);_0x202865['filters']=_[_0x51db('0x4a')](_0x202865['model'],_0x202865[_0x51db('0x49')]);_0x3f9628[_0x51db('0x4b')]=_[_0x51db('0x4a')](_0x202865[_0x51db('0x4c')],qs[_0x51db('0x4d')](_0x96e4e4[_0x51db('0x49')][_0x51db('0x4d')]));_0x3f9628[_0x51db('0x4b')]=_0x3f9628['attributes']['length']?_0x3f9628[_0x51db('0x4b')]:_0x202865[_0x51db('0x4c')];if(!_0x96e4e4[_0x51db('0x49')]['hasOwnProperty'](_0x51db('0x4e'))){_0x3f9628[_0x51db('0x33')]=qs[_0x51db('0x33')](_0x96e4e4['query'][_0x51db('0x33')]);_0x3f9628[_0x51db('0x32')]=qs[_0x51db('0x32')](_0x96e4e4[_0x51db('0x49')][_0x51db('0x32')]);}_0x3f9628[_0x51db('0x4f')]=qs[_0x51db('0x50')](_0x96e4e4[_0x51db('0x49')][_0x51db('0x50')]);_0x3f9628['where']=qs['filters'](_[_0x51db('0x51')](_0x96e4e4[_0x51db('0x49')],_0x202865[_0x51db('0x52')]),_0x5351f0);if(_0x96e4e4[_0x51db('0x49')][_0x51db('0x53')]){_0x3f9628['where']=_[_0x51db('0x54')](_0x3f9628[_0x51db('0x55')],{'$or':_[_0x51db('0x43')](_0x5351f0,function(_0x504151){if(_0x504151[_0x51db('0x47')]!==_0x51db('0x56')){var _0x35b46e={};_0x35b46e[_0x504151['name']]={'$like':'%'+_0x96e4e4[_0x51db('0x49')][_0x51db('0x53')]+'%'};return _0x35b46e;}})});}_0x3f9628=_[_0x51db('0x54')]({},_0x3f9628,_0x96e4e4[_0x51db('0x57')]);var _0x59df2b={'where':_0x3f9628[_0x51db('0x55')]};return db['MailAccount']['count'](_0x59df2b)['then'](function(_0x4f9c80){_0x3d87e3[_0x51db('0x31')]=_0x4f9c80;if(_0x96e4e4['query'][_0x51db('0x58')]){_0x3f9628['include']=[{'all':!![]}];}return db['MailAccount'][_0x51db('0x59')](_0x3f9628);})[_0x51db('0x38')](function(_0x3b759f){_0x3d87e3['rows']=_0x3b759f;return _0x3d87e3;})['then'](respondWithFilteredResult(_0x43fa3b,_0x3f9628))[_0x51db('0x2c')](handleError(_0x43fa3b,null));};exports[_0x51db('0x5a')]=function(_0x4fa0e6,_0x48ec12){var _0x253a6a={'raw':![],'where':{'id':_0x4fa0e6[_0x51db('0x5b')]['id']},'include':[{'model':db[_0x51db('0x3f')],'as':_0x51db('0x40')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x51db('0x5c')],'as':_0x51db('0x42')}]},_0x473cdc={};_0x473cdc[_0x51db('0x4c')]=_[_0x51db('0x5d')](db[_0x51db('0x44')][_0x51db('0x45')]);_0x473cdc[_0x51db('0x49')]=_[_0x51db('0x5d')](_0x4fa0e6[_0x51db('0x49')]);_0x473cdc['filters']=_['intersection'](_0x473cdc[_0x51db('0x4c')],_0x473cdc[_0x51db('0x49')]);_0x253a6a['attributes']=_[_0x51db('0x4a')](_0x473cdc[_0x51db('0x4c')],qs['fields'](_0x4fa0e6[_0x51db('0x49')]['fields']));_0x253a6a[_0x51db('0x4b')]=_0x253a6a['attributes'][_0x51db('0x5e')]?_0x253a6a[_0x51db('0x4b')]:_0x473cdc['model'];if(_0x4fa0e6[_0x51db('0x49')][_0x51db('0x58')]){_0x253a6a[_0x51db('0x5f')]=[{'all':!![]}];}_0x253a6a=_[_0x51db('0x54')]({},_0x253a6a,_0x4fa0e6['options']);return db['MailAccount'][_0x51db('0x60')](_0x253a6a)[_0x51db('0x38')](handleEntityNotFound(_0x48ec12,null))[_0x51db('0x38')](respondWithResult(_0x48ec12,null))[_0x51db('0x2c')](handleError(_0x48ec12,null));};exports[_0x51db('0x37')]=function(_0x161c75,_0x284bf5){if(_0x161c75[_0x51db('0x61')]['id']){delete _0x161c75[_0x51db('0x61')]['id'];}return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x161c75[_0x51db('0x5b')]['id']},'include':[{'model':db[_0x51db('0x3f')],'as':'Imap'},{'model':db[_0x51db('0x62')],'as':_0x51db('0x41')},{'model':db['Pause'],'as':_0x51db('0x42')}]})[_0x51db('0x38')](handleEntityNotFound(_0x284bf5,null))[_0x51db('0x38')](saveUpdates(_0x161c75['body'],null))[_0x51db('0x38')](function(_0x2102c5){if(_0x2102c5&&_0x161c75['body'][_0x51db('0x40')]){return db['MailServerIn'][_0x51db('0x37')](_0x161c75['body'][_0x51db('0x40')],{'where':{'MailAccountId':_0x2102c5['id']}})[_0x51db('0x38')](function(){return _0x2102c5;});}return _0x2102c5;})['then'](function(_0x3ab2af){if(_0x3ab2af&&_0x161c75[_0x51db('0x61')]['Smtp']){return db[_0x51db('0x62')]['update'](_0x161c75[_0x51db('0x61')][_0x51db('0x41')],{'where':{'MailAccountId':_0x3ab2af['id']}})['then'](function(){return _0x3ab2af;});}return _0x3ab2af;})[_0x51db('0x38')](respondWithResult(_0x284bf5,null))[_0x51db('0x2c')](handleError(_0x284bf5,null));};exports[_0x51db('0x63')]=function(_0x46d6c6,_0x5a26ca){return db[_0x51db('0x44')][_0x51db('0x63')]()[_0x51db('0x38')](respondWithResult(_0x5a26ca,null))[_0x51db('0x2c')](handleError(_0x5a26ca,null));};exports[_0x51db('0x64')]=function(_0x4f7718,_0x4a5e8a,_0x5aa85c){if(_0x4f7718[_0x51db('0x61')]['id']){delete _0x4f7718[_0x51db('0x61')]['id'];}return db[_0x51db('0x44')]['find']({'where':{'id':_0x4f7718[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x4a5e8a,null))['then'](function(_0x2b12de){if(_0x2b12de){_0x4f7718[_0x51db('0x61')][_0x51db('0x65')]=_0x2b12de['id'];return db['Disposition'][_0x51db('0x66')](_0x4f7718[_0x51db('0x61')]);}})[_0x51db('0x38')](respondWithResult(_0x4a5e8a,null))[_0x51db('0x2c')](handleError(_0x4a5e8a,null));};exports['getDispositions']=function(_0x24f2d0,_0x2e998e,_0x1cc871){var _0x470845={'raw':![],'where':{}};var _0x13d33d={};var _0x51f069={'count':0x0,'rows':[]};return db['MailAccount'][_0x51db('0x67')]({'where':{'id':_0x24f2d0[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x2e998e,null))[_0x51db('0x38')](function(_0x34e28b){if(_0x34e28b){_0x13d33d[_0x51db('0x4c')]=_['keys'](db['Disposition'][_0x51db('0x45')]);_0x13d33d[_0x51db('0x49')]=_['keys'](_0x24f2d0[_0x51db('0x49')]);_0x13d33d[_0x51db('0x52')]=_[_0x51db('0x4a')](_0x13d33d['model'],_0x13d33d[_0x51db('0x49')]);_0x470845[_0x51db('0x4b')]=_['intersection'](_0x13d33d[_0x51db('0x4c')],qs[_0x51db('0x4d')](_0x24f2d0[_0x51db('0x49')][_0x51db('0x4d')]));_0x470845['attributes']=_0x470845[_0x51db('0x4b')]['length']?_0x470845[_0x51db('0x4b')]:_0x13d33d['model'];if(!_0x24f2d0[_0x51db('0x49')][_0x51db('0x68')](_0x51db('0x4e'))){_0x470845[_0x51db('0x33')]=qs[_0x51db('0x33')](_0x24f2d0[_0x51db('0x49')][_0x51db('0x33')]);_0x470845['offset']=qs['offset'](_0x24f2d0[_0x51db('0x49')]['offset']);}_0x470845['order']=qs[_0x51db('0x50')](_0x24f2d0[_0x51db('0x49')]['sort']);_0x470845[_0x51db('0x55')]=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0x24f2d0[_0x51db('0x49')],_0x13d33d[_0x51db('0x52')]));_0x470845[_0x51db('0x55')][_0x51db('0x65')]=_0x34e28b['id'];if(_0x24f2d0[_0x51db('0x49')][_0x51db('0x53')]){_0x470845['where']=_[_0x51db('0x54')](_0x470845[_0x51db('0x55')],{'$or':_['map'](_0x470845[_0x51db('0x4b')],function(_0x2b9098){var _0x489152={};_0x489152[_0x2b9098]={'$like':'%'+_0x24f2d0[_0x51db('0x49')][_0x51db('0x53')]+'%'};return _0x489152;})});}_0x470845=_[_0x51db('0x54')]({},_0x470845,_0x24f2d0[_0x51db('0x57')]);return db['Disposition'][_0x51db('0x31')]({'where':_0x470845[_0x51db('0x55')]})[_0x51db('0x38')](function(_0x307c65){_0x51f069['count']=_0x307c65;if(_0x24f2d0[_0x51db('0x49')][_0x51db('0x58')]){_0x470845[_0x51db('0x5f')]=[{'all':!![]}];}return db[_0x51db('0x69')][_0x51db('0x59')](_0x470845);})[_0x51db('0x38')](function(_0x3d97cf){_0x51f069['rows']=_0x3d97cf;return _0x51f069;});}})[_0x51db('0x38')](respondWithFilteredResult(_0x2e998e,_0x470845))[_0x51db('0x2c')](handleError(_0x2e998e,null));};exports['removeDispositions']=function(_0x27631d,_0x19e970,_0x41fcb4){return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x27631d[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x19e970,null))[_0x51db('0x38')](function(_0x6c0a4a){if(_0x6c0a4a){return _0x6c0a4a[_0x51db('0x6a')](_0x27631d[_0x51db('0x49')][_0x51db('0x6b')]);}})[_0x51db('0x38')](respondWithStatusCode(_0x19e970,null))['catch'](handleError(_0x19e970,null));};exports[_0x51db('0x6c')]=function(_0x2ccf51,_0x59efa0,_0x8e2c95){if(_0x2ccf51[_0x51db('0x61')]['id']){delete _0x2ccf51[_0x51db('0x61')]['id'];}return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x2ccf51[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x59efa0,null))[_0x51db('0x38')](function(_0x1029b8){if(_0x1029b8){_0x2ccf51[_0x51db('0x61')][_0x51db('0x65')]=_0x1029b8['id'];return db[_0x51db('0x6d')][_0x51db('0x66')](_0x2ccf51[_0x51db('0x61')]);}})[_0x51db('0x38')](respondWithResult(_0x59efa0,null))[_0x51db('0x2c')](handleError(_0x59efa0,null));};exports[_0x51db('0x6e')]=function(_0x2fa6ac,_0x22996b,_0x2455f4){var _0x480845={'raw':![],'where':{}};var _0x90af42={};var _0x4db672={'count':0x0,'rows':[]};return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0x2fa6ac['params']['id']}})['then'](handleEntityNotFound(_0x22996b,null))[_0x51db('0x38')](function(_0x4c20e3){if(_0x4c20e3){_0x90af42[_0x51db('0x4c')]=_[_0x51db('0x5d')](db[_0x51db('0x6d')][_0x51db('0x45')]);_0x90af42[_0x51db('0x49')]=_[_0x51db('0x5d')](_0x2fa6ac[_0x51db('0x49')]);_0x90af42[_0x51db('0x52')]=_[_0x51db('0x4a')](_0x90af42[_0x51db('0x4c')],_0x90af42[_0x51db('0x49')]);_0x480845['attributes']=_[_0x51db('0x4a')](_0x90af42[_0x51db('0x4c')],qs[_0x51db('0x4d')](_0x2fa6ac[_0x51db('0x49')][_0x51db('0x4d')]));_0x480845[_0x51db('0x4b')]=_0x480845[_0x51db('0x4b')][_0x51db('0x5e')]?_0x480845[_0x51db('0x4b')]:_0x90af42['model'];if(!_0x2fa6ac['query'][_0x51db('0x68')]('nolimit')){_0x480845[_0x51db('0x33')]=qs[_0x51db('0x33')](_0x2fa6ac[_0x51db('0x49')][_0x51db('0x33')]);_0x480845[_0x51db('0x32')]=qs['offset'](_0x2fa6ac[_0x51db('0x49')][_0x51db('0x32')]);}_0x480845[_0x51db('0x4f')]=qs[_0x51db('0x50')](_0x2fa6ac[_0x51db('0x49')][_0x51db('0x50')]);_0x480845['where']=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0x2fa6ac[_0x51db('0x49')],_0x90af42[_0x51db('0x52')]));_0x480845['where'][_0x51db('0x65')]=_0x4c20e3['id'];if(_0x2fa6ac['query'][_0x51db('0x53')]){_0x480845[_0x51db('0x55')]=_[_0x51db('0x54')](_0x480845[_0x51db('0x55')],{'$or':_[_0x51db('0x43')](_0x480845['attributes'],function(_0x5006b2){var _0xfba979={};_0xfba979[_0x5006b2]={'$like':'%'+_0x2fa6ac[_0x51db('0x49')][_0x51db('0x53')]+'%'};return _0xfba979;})});}_0x480845=_[_0x51db('0x54')]({},_0x480845,_0x2fa6ac['options']);return db[_0x51db('0x6d')][_0x51db('0x31')]({'where':_0x480845['where']})[_0x51db('0x38')](function(_0x2a0436){_0x4db672[_0x51db('0x31')]=_0x2a0436;if(_0x2fa6ac[_0x51db('0x49')][_0x51db('0x58')]){_0x480845[_0x51db('0x5f')]=[{'all':!![]}];}return db[_0x51db('0x6d')][_0x51db('0x59')](_0x480845);})[_0x51db('0x38')](function(_0x134411){_0x4db672['rows']=_0x134411;return _0x4db672;});}})[_0x51db('0x38')](respondWithFilteredResult(_0x22996b,_0x480845))[_0x51db('0x2c')](handleError(_0x22996b,null));};exports[_0x51db('0x6f')]=function(_0x585919,_0x2241c7,_0x19fdfc){return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x585919[_0x51db('0x5b')]['id']}})['then'](handleEntityNotFound(_0x2241c7,null))['then'](function(_0x2c0af7){if(_0x2c0af7){return _0x2c0af7[_0x51db('0x6f')](_0x585919[_0x51db('0x49')][_0x51db('0x6b')]);}})[_0x51db('0x38')](respondWithStatusCode(_0x2241c7,null))[_0x51db('0x2c')](handleError(_0x2241c7,null));};exports[_0x51db('0x66')]=function(_0x4a6f39,_0x288019){var _0x3980a8={'name':_0x4a6f39[_0x51db('0x61')]['name'],'key':_0x4a6f39[_0x51db('0x61')][_0x51db('0x48')],'email':_0x4a6f39[_0x51db('0x61')][_0x51db('0x70')],'ListId':_0x4a6f39[_0x51db('0x61')][_0x51db('0x71')],'active':!_[_0x51db('0x72')](_0x4a6f39[_0x51db('0x61')]['active'])?_0x4a6f39[_0x51db('0x61')][_0x51db('0x73')]:!![],'description':_0x4a6f39[_0x51db('0x61')]['description']||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x4a6f39['body'][_0x51db('0x74')])){if(_0x4a6f39[_0x51db('0x61')][_0x51db('0x75')]){_0x3980a8[_0x51db('0x40')][_0x51db('0x76')]=_0x3980a8[_0x51db('0x41')][_0x51db('0x76')]=_0x4a6f39[_0x51db('0x61')][_0x51db('0x77')];_0x3980a8[_0x51db('0x40')]['password']=_0x3980a8['Smtp']['pass']=_0x4a6f39[_0x51db('0x61')][_0x51db('0x78')];}else{_0x3980a8['Imap'][_0x51db('0x79')]=_0x3980a8[_0x51db('0x41')]['authentication']=![];}_0x3980a8[_0x51db('0x40')][_0x51db('0x7a')]=_0x4a6f39[_0x51db('0x61')][_0x51db('0x40')][_0x51db('0x7a')];_0x3980a8['Imap'][_0x51db('0x7b')]=_0x4a6f39[_0x51db('0x61')][_0x51db('0x40')][_0x51db('0x7b')];_0x3980a8['Smtp'][_0x51db('0x7a')]=_0x4a6f39['body']['Smtp'][_0x51db('0x7a')];_0x3980a8['Smtp']['port']=_0x4a6f39[_0x51db('0x61')][_0x51db('0x41')][_0x51db('0x7b')];}else{_0x3980a8['Imap'][_0x51db('0x7c')]=_0x3980a8['Smtp']['service']=_0x4a6f39['body'][_0x51db('0x74')];_0x3980a8[_0x51db('0x40')]['user']=_0x3980a8[_0x51db('0x41')][_0x51db('0x76')]=_0x4a6f39[_0x51db('0x61')][_0x51db('0x77')];_0x3980a8[_0x51db('0x40')][_0x51db('0x7d')]=_0x3980a8[_0x51db('0x41')][_0x51db('0x7e')]=_0x4a6f39['body'][_0x51db('0x78')];}return db['MailAccount'][_0x51db('0x66')](_0x3980a8,{'include':[{'model':db[_0x51db('0x62')],'as':_0x51db('0x41')},{'model':db[_0x51db('0x3f')],'as':_0x51db('0x40')}]})[_0x51db('0x38')](function(_0x915720){var _0x33ad6d=_0x4a6f39['user'][_0x51db('0x3a')]({'plain':!![]});if(!_0x33ad6d)throw new Error(_0x51db('0x7f'));if(_0x33ad6d[_0x51db('0x80')]===_0x51db('0x76')){var _0x8343c1=_0x915720[_0x51db('0x3a')]({'plain':!![]});return db[_0x51db('0x81')][_0x51db('0x60')]({'where':{'name':_0x51db('0x82'),'userProfileId':_0x33ad6d[_0x51db('0x83')]},'raw':!![]})[_0x51db('0x38')](function(_0x2e7225){if(_0x2e7225&&_0x2e7225[_0x51db('0x84')]===0x0){return db[_0x51db('0x85')][_0x51db('0x66')]({'name':_0x8343c1[_0x51db('0x3c')],'resourceId':_0x8343c1['id'],'type':_0x2e7225[_0x51db('0x3c')],'sectionId':_0x2e7225['id']},{})[_0x51db('0x38')](function(){return _0x915720;});}else{return _0x915720;}})[_0x51db('0x2c')](function(_0x44b5bb){logger['error'](_0x51db('0x86'),_0x44b5bb);throw _0x44b5bb;});}return _0x915720;})['then'](respondWithResult(_0x288019,0xc9))['catch'](handleError(_0x288019,null));};exports[_0x51db('0x87')]=function(_0x908a81,_0x5b7196,_0x41d2a6){return db['MailAccount'][_0x51db('0x67')]({'where':{'id':_0x908a81[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x5b7196,null))[_0x51db('0x38')](function(_0xa90722){if(_0xa90722){return _0xa90722[_0x51db('0x87')]();}return null;})['then'](respondWithResult(_0x5b7196,null))[_0x51db('0x2c')](handleError(_0x5b7196,null));};exports[_0x51db('0x88')]=function(_0x4bf620,_0x3da49d,_0x22703c){if(_0x4bf620[_0x51db('0x61')]['id']){delete _0x4bf620[_0x51db('0x61')]['id'];}return db[_0x51db('0x44')]['find']({'where':{'id':_0x4bf620[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x3da49d,null))[_0x51db('0x38')](function(_0x1b7fa1){if(_0x1b7fa1){_0x4bf620['body'][_0x51db('0x65')]=_0x1b7fa1['id'];return db[_0x51db('0x3f')][_0x51db('0x66')](_0x4bf620[_0x51db('0x61')]);}})[_0x51db('0x38')](respondWithResult(_0x3da49d,null))[_0x51db('0x2c')](handleError(_0x3da49d,null));};exports[_0x51db('0x89')]=function(_0x791705,_0x4c239e,_0xfd4606){return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0x791705[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x4c239e,null))[_0x51db('0x38')](function(_0x28ed61){if(_0x28ed61){return _0x28ed61[_0x51db('0x8a')](null);}return null;})[_0x51db('0x38')](respondWithStatusCode(_0x4c239e,null))[_0x51db('0x2c')](handleError(_0x4c239e,null));};exports['getSmtp']=function(_0x258ed0,_0xceb74d,_0xbf14ac){return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0x258ed0[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0xceb74d,null))[_0x51db('0x38')](function(_0x5a886a){if(_0x5a886a){return _0x5a886a[_0x51db('0x8b')]();}return null;})[_0x51db('0x38')](respondWithResult(_0xceb74d,null))[_0x51db('0x2c')](handleError(_0xceb74d,null));};exports[_0x51db('0x8c')]=function(_0x5a3e09,_0x435aa5,_0x2c90ad){if(_0x5a3e09[_0x51db('0x61')]['id']){delete _0x5a3e09[_0x51db('0x61')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x5a3e09[_0x51db('0x5b')]['id']}})['then'](handleEntityNotFound(_0x435aa5,null))[_0x51db('0x38')](function(_0x44ac77){if(_0x44ac77){_0x5a3e09[_0x51db('0x61')][_0x51db('0x65')]=_0x44ac77['id'];return db[_0x51db('0x62')]['create'](_0x5a3e09[_0x51db('0x61')]);}})[_0x51db('0x38')](respondWithResult(_0x435aa5,null))['catch'](handleError(_0x435aa5,null));};exports[_0x51db('0x8d')]=function(_0x149d55,_0x59bba0,_0x510ed3){return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0x149d55[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x59bba0,null))[_0x51db('0x38')](function(_0x398777){if(_0x398777){return _0x398777[_0x51db('0x8e')](null);}return null;})[_0x51db('0x38')](respondWithStatusCode(_0x59bba0,null))['catch'](handleError(_0x59bba0,null));};exports['addInteraction']=function(_0x46e7fc,_0x263194,_0x516466){return db[_0x51db('0x8f')][_0x51db('0x60')]({'where':{'id':_0x46e7fc[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x263194,null))[_0x51db('0x38')](function(_0x12fdf7){if(_0x12fdf7){return _0x12fdf7['addInteraction'](_0x46e7fc[_0x51db('0x61')]['ids'],_[_0x51db('0x90')](_0x46e7fc[_0x51db('0x61')],[_0x51db('0x6b'),'id'])||{});}})[_0x51db('0x38')](respondWithResult(_0x263194,null))[_0x51db('0x2c')](handleError(_0x263194,null));};exports[_0x51db('0x91')]=function(_0x5c2bab,_0x13a792,_0x2cfd1c){var _0x38f8f7={'raw':![],'where':{}};var _0xc12b45={};var _0x3a2282={'count':0x0,'rows':[]};return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0x5c2bab[_0x51db('0x5b')]['id']}})['then'](handleEntityNotFound(_0x13a792,null))[_0x51db('0x38')](function(_0xc247e7){if(_0xc247e7){_0xc12b45[_0x51db('0x4c')]=_[_0x51db('0x5d')](db[_0x51db('0x8f')][_0x51db('0x45')]);_0xc12b45['query']=_['keys'](_0x5c2bab[_0x51db('0x49')]);_0xc12b45['filters']=_[_0x51db('0x4a')](_0xc12b45['model'],_0xc12b45[_0x51db('0x49')]);_0x38f8f7[_0x51db('0x4b')]=_['intersection'](_0xc12b45[_0x51db('0x4c')],qs['fields'](_0x5c2bab[_0x51db('0x49')][_0x51db('0x4d')]));_0x38f8f7[_0x51db('0x4b')]=_0x38f8f7[_0x51db('0x4b')][_0x51db('0x5e')]?_0x38f8f7[_0x51db('0x4b')]:_0xc12b45['model'];if(!_0x5c2bab[_0x51db('0x49')]['hasOwnProperty'](_0x51db('0x4e'))){_0x38f8f7['limit']=qs[_0x51db('0x33')](_0x5c2bab[_0x51db('0x49')][_0x51db('0x33')]);_0x38f8f7['offset']=qs[_0x51db('0x32')](_0x5c2bab[_0x51db('0x49')][_0x51db('0x32')]);}_0x38f8f7['order']=qs[_0x51db('0x50')](_0x5c2bab[_0x51db('0x49')][_0x51db('0x50')]);_0x38f8f7['where']=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0x5c2bab[_0x51db('0x49')],_0xc12b45[_0x51db('0x52')]));_0x38f8f7['where']['MailAccountId']=_0xc247e7['id'];if(_0x5c2bab[_0x51db('0x49')][_0x51db('0x53')]){_0x38f8f7[_0x51db('0x55')]=_[_0x51db('0x54')](_0x38f8f7[_0x51db('0x55')],{'$or':_['map'](_0x38f8f7[_0x51db('0x4b')],function(_0xf9a041){var _0x212fcd={};_0x212fcd[_0xf9a041]={'$like':'%'+_0x5c2bab['query'][_0x51db('0x53')]+'%'};return _0x212fcd;})});}_0x38f8f7=_['merge']({},_0x38f8f7,_0x5c2bab[_0x51db('0x57')]);return db['MailInteraction'][_0x51db('0x31')]({'where':_0x38f8f7[_0x51db('0x55')]})[_0x51db('0x38')](function(_0x9dddf4){_0x3a2282[_0x51db('0x31')]=_0x9dddf4;if(_0x5c2bab[_0x51db('0x49')][_0x51db('0x58')]){_0x38f8f7[_0x51db('0x5f')]=[{'model':db[_0x51db('0x92')],'as':'Contact','required':![]},{'model':db[_0x51db('0x93')],'as':_0x51db('0x94'),'attributes':[_0x51db('0x3c'),_0x51db('0x95'),_0x51db('0x96')],'required':![]},{'model':db['Tag'],'as':_0x51db('0x97'),'attributes':['id','name','color'],'where':_0x5c2bab['query'][_0x51db('0x98')]?{'id':_0x5c2bab[_0x51db('0x49')][_0x51db('0x98')]}:undefined,'required':_0x5c2bab[_0x51db('0x49')]['tag']?!![]:![]}];}return db[_0x51db('0x8f')][_0x51db('0x59')](_0x38f8f7);})[_0x51db('0x38')](function(_0x235196){_0x3a2282[_0x51db('0x99')]=_0x235196;return _0x3a2282;});}})[_0x51db('0x38')](respondWithFilteredResult(_0x13a792,_0x38f8f7))[_0x51db('0x2c')](handleError(_0x13a792,null));};exports['addApplications']=function(_0x5849fe,_0x26754f,_0x49412c){return db['MailAccount'][_0x51db('0x67')]({'where':{'id':_0x5849fe[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x26754f,null))['then'](function(_0x216244){if(_0x216244){return db[_0x51db('0x9a')][_0x51db('0x9b')](function(_0x450e49){return db[_0x51db('0x9c')][_0x51db('0x39')]({'where':{'MailAccountId':_0x5849fe[_0x51db('0x5b')]['id']},'transaction':_0x450e49})[_0x51db('0x38')](function(_0x282f84){var _0x4da940=_[_0x51db('0x43')](_0x5849fe[_0x51db('0x61')],function(_0x4bacf6){_0x4bacf6[_0x51db('0x65')]=_0x5849fe[_0x51db('0x5b')]['id'];return _0x4bacf6;});return db[_0x51db('0x9c')]['bulkCreate'](_0x4da940,{'transaction':_0x450e49});});})[_0x51db('0x38')](function(){return db['MailApplication'][_0x51db('0x9d')]({'where':{'MailAccountId':_0x5849fe[_0x51db('0x5b')]['id']},'order':_0x51db('0x9e')});});}})['then'](respondWithResult(_0x26754f,null))[_0x51db('0x2c')](handleError(_0x26754f,null));};exports['getApplications']=function(_0x4cc6f4,_0x45d8f9,_0x27be6e){var _0x2691d5={};var _0xb3e9af={};var _0x23900f;var _0x33d9a0;return db[_0x51db('0x44')]['findOne']({'where':{'id':_0x4cc6f4[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x45d8f9,null))['then'](function(_0x41c617){if(_0x41c617){_0x23900f=_0x41c617;_0xb3e9af['model']=_[_0x51db('0x5d')](db[_0x51db('0x9c')][_0x51db('0x45')]);_0xb3e9af[_0x51db('0x49')]=_[_0x51db('0x5d')](_0x4cc6f4[_0x51db('0x49')]);_0xb3e9af[_0x51db('0x52')]=_[_0x51db('0x4a')](_0xb3e9af[_0x51db('0x4c')],_0xb3e9af[_0x51db('0x49')]);_0x2691d5[_0x51db('0x4b')]=_[_0x51db('0x4a')](_0xb3e9af[_0x51db('0x4c')],qs[_0x51db('0x4d')](_0x4cc6f4[_0x51db('0x49')]['fields']));_0x2691d5[_0x51db('0x4b')]=_0x2691d5[_0x51db('0x4b')][_0x51db('0x5e')]?_0x2691d5[_0x51db('0x4b')]:_0xb3e9af[_0x51db('0x4c')];_0x2691d5[_0x51db('0x4f')]=qs[_0x51db('0x50')](_0x4cc6f4['query'][_0x51db('0x50')]);_0x2691d5[_0x51db('0x55')]=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0x4cc6f4[_0x51db('0x49')],_0xb3e9af[_0x51db('0x52')]));if(_0x4cc6f4[_0x51db('0x49')][_0x51db('0x53')]){_0x2691d5[_0x51db('0x55')]=_[_0x51db('0x54')](_0x2691d5[_0x51db('0x55')],{'$or':_[_0x51db('0x43')](_0x2691d5['attributes'],function(_0x40a2f7){var _0x5ef53c={};_0x5ef53c[_0x40a2f7]={'$like':'%'+_0x4cc6f4['query'][_0x51db('0x53')]+'%'};return _0x5ef53c;})});}_0x2691d5=_[_0x51db('0x54')]({},_0x2691d5,_0x4cc6f4[_0x51db('0x57')]);return _0x23900f[_0x51db('0x9f')](_0x2691d5);}})[_0x51db('0x38')](function(_0xaf9330){if(_0xaf9330){_0x33d9a0=_0xaf9330[_0x51db('0x5e')];if(!_0x4cc6f4[_0x51db('0x49')]['hasOwnProperty'](_0x51db('0x4e'))){_0x2691d5[_0x51db('0x33')]=qs[_0x51db('0x33')](_0x4cc6f4[_0x51db('0x49')][_0x51db('0x33')]);_0x2691d5[_0x51db('0x32')]=qs[_0x51db('0x32')](_0x4cc6f4[_0x51db('0x49')][_0x51db('0x32')]);}return _0x23900f[_0x51db('0x9f')](_0x2691d5);}})[_0x51db('0x38')](function(_0x469822){if(_0x469822){return _0x469822?{'count':_0x33d9a0,'rows':_0x469822}:null;}})['then'](respondWithResult(_0x45d8f9,null))[_0x51db('0x2c')](handleError(_0x45d8f9,null));};exports[_0x51db('0xa0')]=function(_0x37e10c,_0x2317b9,_0x5a139c){var _0x4906b6={'raw':!![],'where':{}};var _0x23cd32={};var _0x57bc73={'count':0x0,'rows':[]};return db['MailAccount'][_0x51db('0x67')]({'where':{'id':_0x37e10c[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x2317b9,null))['then'](function(_0x5cfafb){if(_0x5cfafb){_0x23cd32[_0x51db('0x4c')]=_[_0x51db('0x5d')](db[_0x51db('0xa1')]['rawAttributes']);_0x23cd32[_0x51db('0x49')]=_['keys'](_0x37e10c[_0x51db('0x49')]);_0x23cd32[_0x51db('0x52')]=_[_0x51db('0x4a')](_0x23cd32[_0x51db('0x4c')],_0x23cd32[_0x51db('0x49')]);_0x4906b6['attributes']=_[_0x51db('0x4a')](_0x23cd32[_0x51db('0x4c')],qs[_0x51db('0x4d')](_0x37e10c['query'][_0x51db('0x4d')]));_0x4906b6['attributes']=_0x4906b6[_0x51db('0x4b')][_0x51db('0x5e')]?_0x4906b6[_0x51db('0x4b')]:_0x23cd32[_0x51db('0x4c')];if(!_0x37e10c[_0x51db('0x49')][_0x51db('0x68')](_0x51db('0x4e'))){_0x4906b6[_0x51db('0x33')]=qs[_0x51db('0x33')](_0x37e10c[_0x51db('0x49')][_0x51db('0x33')]);_0x4906b6['offset']=qs[_0x51db('0x32')](_0x37e10c[_0x51db('0x49')][_0x51db('0x32')]);}_0x4906b6['order']=qs[_0x51db('0x50')](_0x37e10c['query'][_0x51db('0x50')]);_0x4906b6[_0x51db('0x55')]=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0x37e10c[_0x51db('0x49')],_0x23cd32[_0x51db('0x52')]));_0x4906b6['where'][_0x51db('0x65')]=_0x5cfafb['id'];if(_0x37e10c[_0x51db('0x49')]['filter']){_0x4906b6[_0x51db('0x55')]=_['merge'](_0x4906b6['where'],{'$or':_[_0x51db('0x43')](_0x4906b6[_0x51db('0x4b')],function(_0x37ab04){var _0x1ef18a={};_0x1ef18a[_0x37ab04]={'$like':'%'+_0x37e10c[_0x51db('0x49')][_0x51db('0x53')]+'%'};return _0x1ef18a;})});}if(_0x37e10c['query'][_0x51db('0xa2')]){var _0x4c0f95=_0x37e10c[_0x51db('0x49')]['$gte']['split'](',');var _0x4372bc={};_0x4372bc[_0x4c0f95[0x0]]={'$gte':moment(_0x4c0f95[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x4906b6[_0x51db('0x55')]=_[_0x51db('0x54')](_0x4906b6[_0x51db('0x55')],_0x4372bc);}_0x4906b6=_[_0x51db('0x54')]({},_0x4906b6,_0x37e10c[_0x51db('0x57')]);return db[_0x51db('0xa1')][_0x51db('0x31')]({'where':_0x4906b6[_0x51db('0x55')]})[_0x51db('0x38')](function(_0x27d1f5){_0x57bc73[_0x51db('0x31')]=_0x27d1f5;if(_0x37e10c['query'][_0x51db('0x58')]){_0x4906b6[_0x51db('0x5f')]=[{'all':!![]}];}return db[_0x51db('0xa1')][_0x51db('0x59')](_0x4906b6);})[_0x51db('0x38')](function(_0x3e63d8){if(_0x37e10c['query'][_0x51db('0xa3')]===_0x51db('0xa4')){for(var _0x560085=0x0;_0x560085<_0x3e63d8[_0x51db('0x5e')];_0x560085++){_0x3e63d8[_0x560085][_0x51db('0x61')]=juice(_0x3e63d8[_0x560085][_0x51db('0x61')]);}}_0x57bc73['rows']=_0x3e63d8;return _0x57bc73;});}})[_0x51db('0x38')](respondWithFilteredResult(_0x2317b9,_0x4906b6))[_0x51db('0x2c')](handleError(_0x2317b9,null));};exports['send']=function(_0x309e6f,_0x249f20,_0x2c5a82){var _0x157477,_0x13eaed={},_0x357ede;if(_0x309e6f['body']['to']){_0x357ede=_0x309e6f[_0x51db('0x61')]['to'][_0x51db('0xa5')](',')[0x0];}return db[_0x51db('0x44')]['find']({'where':{'id':_0x309e6f[_0x51db('0x5b')]['id']},'include':[{'model':db[_0x51db('0xa6')],'as':'List','include':[{'model':db[_0x51db('0x92')],'as':_0x51db('0xa7'),'where':{'email':_0x357ede},'limit':0x1,'order':[[_0x51db('0xa8'),'DESC']]}]},{'model':db[_0x51db('0x62')],'as':_0x51db('0x41'),'raw':!![]}]})['then'](handleEntityNotFound(_0x249f20,null))[_0x51db('0x38')](function(_0x2b7bf9){if(_0x2b7bf9){_0x157477=_0x2b7bf9;if(_0x2b7bf9['Smtp']){if(_[_0x51db('0x72')](_0x309e6f['body']['from'])){_0x309e6f[_0x51db('0x61')][_0x51db('0xa9')]=util[_0x51db('0xaa')]('%s\x20<%s>',_0x2b7bf9[_0x51db('0x3c')],_0x2b7bf9[_0x51db('0x70')]||_0x2b7bf9[_0x51db('0x41')][_0x51db('0x76')]);}if(_0x309e6f[_0x51db('0x61')]['attachments']&&_0x309e6f['body']['attachments']['length']){for(var _0x331013=0x0;_0x331013<_0x309e6f['body'][_0x51db('0xab')][_0x51db('0x5e')];_0x331013+=0x1){_0x309e6f['body'][_0x51db('0xab')][_0x331013]={'filename':_0x309e6f[_0x51db('0x61')][_0x51db('0xab')][_0x331013][_0x51db('0x3c')],'path':path[_0x51db('0xac')](config[_0x51db('0xad')],_0x51db('0xae'),_0x309e6f['body'][_0x51db('0xab')][_0x331013]['basename'])};}}var _0x3f3a94={'tls':{'rejectUnauthorized':![]}};if(_[_0x51db('0x72')](_0x2b7bf9[_0x51db('0x41')][_0x51db('0x7c')])){if(_0x2b7bf9[_0x51db('0x41')]['authentication']){_0x3f3a94['auth']={'user':_0x2b7bf9[_0x51db('0x41')][_0x51db('0x76')],'pass':_0x2b7bf9[_0x51db('0x41')][_0x51db('0x7e')]};}_0x3f3a94[_0x51db('0x7a')]=_0x2b7bf9[_0x51db('0x41')][_0x51db('0x7a')];_0x3f3a94[_0x51db('0x7b')]=_0x2b7bf9[_0x51db('0x41')]['port'];_0x3f3a94[_0x51db('0xaf')]=_0x2b7bf9[_0x51db('0x41')][_0x51db('0xaf')];}else{_0x3f3a94[_0x51db('0x7c')]=_0x2b7bf9[_0x51db('0x41')]['service'];_0x3f3a94[_0x51db('0xb0')]={'user':_0x2b7bf9[_0x51db('0x41')][_0x51db('0x76')],'pass':_0x2b7bf9[_0x51db('0x41')]['pass']};}return respondWithRpcPromise(_0x51db('0xb1'),_0x51db('0xb2'),{'account':_0x3f3a94,'message':_0x309e6f[_0x51db('0x61')]});}else{throw new Error(_0x51db('0xb3'));}}})[_0x51db('0x38')](function(_0x10d4f8){if(_0x10d4f8){_0x13eaed=_0x10d4f8;if(_0x157477[_0x51db('0xb4')]){if(_0x157477[_0x51db('0xb4')]['Contacts']['length']){return _0x157477[_0x51db('0xb4')][_0x51db('0xa7')][0x0];}else{return db['CmContact'][_0x51db('0x66')](_[_0x51db('0x1b')](_0x309e6f['body'],{'firstName':_0x309e6f['body']['to'],'email':_0x309e6f[_0x51db('0x61')]['to'],'phone':_0x309e6f[_0x51db('0x61')]['to'],'ListId':_0x157477[_0x51db('0x71')]}));}}else{throw new Error(_0x51db('0xb3'));}}})[_0x51db('0x38')](function(_0x4728f4){if(_0x4728f4){var _0x5c5089={'UserId':_0x309e6f[_0x51db('0x76')]['id'],'ContactId':_0x4728f4['id'],'MailAccountId':_0x157477['id'],'inReplyTo':_0x13eaed['messageId'],'to':_0x309e6f[_0x51db('0x61')][_0x51db('0xa9')],'cc':_0x309e6f[_0x51db('0x61')]['cc'],'subject':_0x309e6f[_0x51db('0x61')][_0x51db('0xb5')],'attach':_0x309e6f[_0x51db('0x61')][_0x51db('0xb6')],'firstMsgDirection':_0x51db('0xb7'),'lastMsgAt':moment()['format'](_0x51db('0xb8')),'lastMsgDirection':_0x51db('0xb7'),'lastMsgBody':_0x309e6f[_0x51db('0x61')]['body'],'Messages':[_[_0x51db('0x54')](_0x309e6f[_0x51db('0x61')],{'messageId':_0x13eaed[_0x51db('0xb9')],'sentAt':moment()[_0x51db('0xaa')](_0x51db('0xb8')),'read':!![],'MailAccountId':_0x157477['id'],'UserId':_0x309e6f[_0x51db('0x76')]['id'],'ContactId':_0x4728f4['id']})]};if(_0x309e6f['body'][_0x51db('0xba')]){_0x5c5089=_[_0x51db('0x54')](_0x5c5089,_0x309e6f[_0x51db('0x61')][_0x51db('0xba')]);}return db['MailInteraction'][_0x51db('0x66')](_0x5c5089,{'include':[{'model':db['MailMessage'],'as':_0x51db('0xbb')}]});}})[_0x51db('0x38')](respondWithResult(_0x249f20,null))[_0x51db('0x2c')](handleError(_0x249f20,null));};exports['verifySmtp']=function(_0x280859,_0x34e8f6,_0x4fa16d){return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x280859[_0x51db('0x5b')]['id']},'include':[{'model':db[_0x51db('0x62')],'as':'Smtp','raw':!![]}]})[_0x51db('0x38')](handleEntityNotFound(_0x34e8f6,null))[_0x51db('0x38')](function(_0x54d0b8){if(_0x54d0b8&&_0x54d0b8[_0x51db('0x41')]){var _0x5191c0={'id':_0x54d0b8['id'],'tls':{'rejectUnauthorized':![]}};if(_0x54d0b8[_0x51db('0x41')][_0x51db('0x7c')]){_0x5191c0[_0x51db('0x7c')]=_0x54d0b8[_0x51db('0x41')]['service'];}else{_0x5191c0[_0x51db('0x7a')]=_0x54d0b8[_0x51db('0x41')][_0x51db('0x7a')];_0x5191c0[_0x51db('0x7b')]=_0x54d0b8[_0x51db('0x41')][_0x51db('0x7b')];_0x5191c0[_0x51db('0xaf')]=_0x54d0b8[_0x51db('0x41')][_0x51db('0xaf')];}if(_0x54d0b8[_0x51db('0x41')][_0x51db('0x79')]){_0x5191c0['auth']={'user':_0x54d0b8['Smtp'][_0x51db('0x76')],'pass':_0x54d0b8[_0x51db('0x41')][_0x51db('0x7e')]};}return respondWithRpcPromise(_0x51db('0xbc'),_0x51db('0xbd'),{'account':_0x5191c0});}})[_0x51db('0x38')](respondWithResult(_0x34e8f6,null))[_0x51db('0x2c')](handleError(_0x34e8f6,null));};exports['destroy']=function(_0x1f61dd,_0x5d95cb){return db[_0x51db('0x44')][_0x51db('0x60')]({'where':{'id':_0x1f61dd[_0x51db('0x5b')]['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x5d95cb,null))[_0x51db('0x38')](function(_0x46846f){if(_0x46846f&&_0x46846f[_0x51db('0x7c')]){throw new db[(_0x51db('0xbe'))][(_0x51db('0xbf'))](_0x51db('0xc0'));}return _0x46846f;})[_0x51db('0x38')](removeEntity(_0x5d95cb,null))['catch'](handleError(_0x5d95cb,null));};exports[_0x51db('0xc1')]=function(_0x59402b,_0x247680,_0x12c532){return db[_0x51db('0x44')]['find']({'where':{'id':_0x59402b['params']['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x247680,null))[_0x51db('0x38')](function(_0x377ba9){if(_0x377ba9){return _0x377ba9['addAgents'](_0x59402b[_0x51db('0x61')][_0x51db('0x6b')],_['omit'](_0x59402b['body'],[_0x51db('0x6b'),'id'])||{})['spread'](function(_0x194fec){for(var _0x27e495=0x0;_0x27e495<_0x59402b[_0x51db('0x61')][_0x51db('0x6b')][_0x51db('0x5e')];_0x27e495+=0x1){socket[_0x51db('0xc2')](_0x51db('0xc3'),{'UserId':_0x59402b[_0x51db('0x61')]['ids'][_0x27e495],'MailAccountId':_0x59402b['params']['id']});}return _0x194fec;});}})[_0x51db('0x38')](respondWithResult(_0x247680,null))[_0x51db('0x2c')](handleError(_0x247680,null));};exports[_0x51db('0xc4')]=function(_0x353652,_0x595fce,_0x435a1d){return db['MailAccount'][_0x51db('0x60')]({'where':{'id':_0x353652[_0x51db('0x5b')]['id']}})['then'](handleEntityNotFound(_0x595fce,null))[_0x51db('0x38')](function(_0x1350c2){if(_0x1350c2){return _0x1350c2['removeAgents'](_0x353652[_0x51db('0x49')][_0x51db('0x6b')])[_0x51db('0x38')](function(){if(_[_0x51db('0xc5')](_0x353652[_0x51db('0x49')][_0x51db('0x6b')])){for(var _0x30e49c=0x0;_0x30e49c<_0x353652[_0x51db('0x49')][_0x51db('0x6b')]['length'];_0x30e49c+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x353652['query'][_0x51db('0x6b')][_0x30e49c]),'MailAccountId':Number(_0x353652[_0x51db('0x5b')]['id'])});}}else{socket['emit'](_0x51db('0xc6'),{'UserId':Number(_0x353652[_0x51db('0x49')][_0x51db('0x6b')]),'MailAccountId':Number(_0x353652[_0x51db('0x5b')]['id'])});}});}})['then'](respondWithStatusCode(_0x595fce,null))[_0x51db('0x2c')](handleError(_0x595fce,null));};exports[_0x51db('0xc7')]=function(_0xe46b36,_0x2680ca,_0x34a84e){var _0x4d44b1={};var _0x3bd04e={};var _0x3280bc;var _0x2c9bc0;return db[_0x51db('0x44')][_0x51db('0x67')]({'where':{'id':_0xe46b36['params']['id']}})[_0x51db('0x38')](handleEntityNotFound(_0x2680ca,null))[_0x51db('0x38')](function(_0x3af642){if(_0x3af642){_0x3280bc=_0x3af642;_0x3bd04e[_0x51db('0x4c')]=_['keys'](db['User'][_0x51db('0x45')]);_0x3bd04e['query']=_['keys'](_0xe46b36['query']);_0x3bd04e['filters']=_[_0x51db('0x4a')](_0x3bd04e[_0x51db('0x4c')],_0x3bd04e[_0x51db('0x49')]);_0x4d44b1[_0x51db('0x4b')]=_[_0x51db('0x4a')](_0x3bd04e['model'],qs[_0x51db('0x4d')](_0xe46b36[_0x51db('0x49')]['fields']));_0x4d44b1[_0x51db('0x4b')]=_0x4d44b1['attributes']['length']?_0x4d44b1[_0x51db('0x4b')]:_0x3bd04e[_0x51db('0x4c')];_0x4d44b1[_0x51db('0x4f')]=qs[_0x51db('0x50')](_0xe46b36[_0x51db('0x49')][_0x51db('0x50')]);_0x4d44b1[_0x51db('0x55')]=qs[_0x51db('0x52')](_[_0x51db('0x51')](_0xe46b36[_0x51db('0x49')],_0x3bd04e[_0x51db('0x52')]));if(_0xe46b36['query'][_0x51db('0x53')]){_0x4d44b1[_0x51db('0x55')]=_['merge'](_0x4d44b1[_0x51db('0x55')],{'$or':_['map'](_0x4d44b1[_0x51db('0x4b')],function(_0x5d8569){var _0x49b74c={};_0x49b74c[_0x5d8569]={'$like':'%'+_0xe46b36[_0x51db('0x49')]['filter']+'%'};return _0x49b74c;})});}_0x4d44b1=_['merge']({},_0x4d44b1,_0xe46b36['options']);return _0x3280bc[_0x51db('0xc7')](_0x4d44b1);}})[_0x51db('0x38')](function(_0x1295b5){if(_0x1295b5){_0x2c9bc0=_0x1295b5[_0x51db('0x5e')];if(!_0xe46b36[_0x51db('0x49')]['hasOwnProperty'](_0x51db('0x4e'))){_0x4d44b1[_0x51db('0x33')]=qs['limit'](_0xe46b36['query'][_0x51db('0x33')]);_0x4d44b1[_0x51db('0x32')]=qs[_0x51db('0x32')](_0xe46b36['query'][_0x51db('0x32')]);}return _0x3280bc[_0x51db('0xc7')](_0x4d44b1);}})[_0x51db('0x38')](function(_0x5a3ce1){if(_0x5a3ce1){return _0x5a3ce1?{'count':_0x2c9bc0,'rows':_0x5a3ce1}:null;}})[_0x51db('0x38')](respondWithResult(_0x2680ca,null))['catch'](handleError(_0x2680ca,null));};