Built motion from commit (unavailable).|2.5.6
[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 _0x324a=['Smtp','Pause','mandatoryDispositionPause','MailAccount','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','params','Imap','rawAttributes','filtears','includeAll','include','find','body','update','describe','addDisposition','MailAccountId','Disposition','getDispositions','findOne','findAll','rows','removeDispositions','ids','CannedAnswer','getAnswers','removeAnswers','create','key','email','isNil','active','description','cservice','cauthentication','user','pass','cpassword','authentication','host','port','service','cuser','password','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','getSmtp','addSmtp','removeSmtp','omit','getInteractions','MailInteraction','CmContact','Contact','User','internal','Tag','Tags','color','tag','addApplications','sequelize','MailApplication','priority','getApplications','getMessages','MailMessage','$gte','split','CmList','List','updatedAt','from','format','%s\x20<%s>','attachments','root','basename','auth','secure','sendMail','List\x20not\x20found','Contacts','ListId','subject','out','messageId','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','register','jayson/promise','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','catch','sendStatus','status','end','offset','limit','Content-Range','json','apply','reject','save','destroy','get','MailAccounts','UserProfileResource','name','send','MailServerIn','MailServerOut'];(function(_0xbb091,_0x3fe7ee){var _0x467a04=function(_0x3a978d){while(--_0x3a978d){_0xbb091['push'](_0xbb091['shift']());}};_0x467a04(++_0x3fe7ee);}(_0x324a,0x133));var _0xa324=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x324a[_0x413feb];return _0x40ee88;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa324('0x0'));var rimraf=require(_0xa324('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa324('0x2'));var rp=require(_0xa324('0x3'));var moment=require(_0xa324('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa324('0x5'));var util=require(_0xa324('0x6'));var path=require(_0xa324('0x7'));var sox=require(_0xa324('0x8'));var csv=require(_0xa324('0x9'));var ejs=require(_0xa324('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa324('0xb'));var crypto=require(_0xa324('0xc'));var jsforce=require(_0xa324('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xa324('0x9'));var querystring=require(_0xa324('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa324('0xf'));var qs=require(_0xa324('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa324('0x11'));var logger=require(_0xa324('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xa324('0x13'));var licenseUtil=require(_0xa324('0x14'));var db=require(_0xa324('0x15'))['db'];config[_0xa324('0x16')]=_[_0xa324('0x17')](config[_0xa324('0x16')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./mailAccount.socket')[_0xa324('0x18')](socket);var jayson=require(_0xa324('0x19'));var client=jayson['client'][_0xa324('0x1a')]({'port':0x232b});function respondWithRpcPromise(_0x5cd96e,_0x41d997,_0x4c578f,_0x1414d8){return new BPromise(function(_0x445361,_0x3ea689){var _0x18b6bc=_0x1414d8||client;return _0x18b6bc[_0xa324('0x1b')](_0x5cd96e,_0x4c578f)[_0xa324('0x1c')](function(_0x52f13d){logger['info'](_0xa324('0x1d'),_0x41d997,_0xa324('0x1e'));logger[_0xa324('0x1f')](_0xa324('0x20'),_0x41d997,_0xa324('0x1e'),JSON[_0xa324('0x21')](_0x52f13d));if(_0x52f13d[_0xa324('0x22')]){if(_0x52f13d[_0xa324('0x22')][_0xa324('0x23')]===0x1f4){logger[_0xa324('0x22')]('MailAccount,\x20%s,\x20%s',_0x41d997,_0x52f13d[_0xa324('0x22')]['message']);return _0x3ea689(_0x52f13d[_0xa324('0x22')]['message']);}logger['error'](_0xa324('0x1d'),_0x41d997,_0x52f13d[_0xa324('0x22')][_0xa324('0x24')]);return _0x445361(_0x52f13d[_0xa324('0x22')][_0xa324('0x24')]);}else{logger[_0xa324('0x25')](_0xa324('0x1d'),_0x41d997,_0xa324('0x1e'));_0x445361(_0x52f13d['result'][_0xa324('0x24')]);}})[_0xa324('0x26')](function(_0x502012){logger[_0xa324('0x22')](_0xa324('0x1d'),_0x41d997,_0x502012);_0x3ea689(_0x502012);});});}function respondWithStatusCode(_0x2504f1,_0x87d9){_0x87d9=_0x87d9||0xcc;return function(_0x5a3a48){if(_0x5a3a48){return _0x2504f1[_0xa324('0x27')](_0x87d9);}return _0x2504f1[_0xa324('0x28')](_0x87d9)[_0xa324('0x29')]();};}function respondWithResult(_0x3b7115,_0x17b77d){_0x17b77d=_0x17b77d||0xc8;return function(_0x54abe7){if(_0x54abe7){return _0x3b7115[_0xa324('0x28')](_0x17b77d)['json'](_0x54abe7);}};}function respondWithFilteredResult(_0x4e5b5a,_0x43def0){return function(_0x471aae){if(_0x471aae){var _0x512cd1=_0x471aae['count'],_0x582947=_0x43def0[_0xa324('0x2a')],_0x126314=_0x43def0[_0xa324('0x2a')]+_0x43def0[_0xa324('0x2b')],_0x10b01c;if(_0x126314>=_0x512cd1){_0x126314=_0x512cd1;_0x10b01c=0xc8;}else{_0x10b01c=0xce;}_0x4e5b5a[_0xa324('0x28')](_0x10b01c);return _0x4e5b5a['set'](_0xa324('0x2c'),_0x582947+'-'+_0x126314+'/'+_0x512cd1)[_0xa324('0x2d')](_0x471aae);}return null;};}function patchUpdates(_0x1ddaf0){return function(_0x3097f5){try{jsonpatch[_0xa324('0x2e')](_0x3097f5,_0x1ddaf0,!![]);}catch(_0x54e615){return BPromise[_0xa324('0x2f')](_0x54e615);}return _0x3097f5[_0xa324('0x30')]();};}function saveUpdates(_0x39fc4a,_0x6c9e3c){return function(_0x2f32f1){if(_0x2f32f1){return _0x2f32f1['update'](_0x39fc4a)[_0xa324('0x1c')](function(_0x319770){return _0x319770;});}return null;};}function removeEntity(_0x132f36,_0xef7d10){return function(_0x16f910){if(_0x16f910){return _0x16f910[_0xa324('0x31')]()['then'](function(){var _0x557cd3=_0x16f910[_0xa324('0x32')]({'plain':!![]});var _0x33e4ae=_0xa324('0x33');return db[_0xa324('0x34')][_0xa324('0x31')]({'where':{'type':_0x33e4ae,'resourceId':_0x557cd3['id']}})['then'](function(){return _0x16f910;});})[_0xa324('0x1c')](function(){_0x132f36['status'](0xcc)[_0xa324('0x29')]();});}};}function handleEntityNotFound(_0x5c2fb1,_0x47fc93){return function(_0x5593e9){if(!_0x5593e9){_0x5c2fb1[_0xa324('0x27')](0x194);}return _0x5593e9;};}function handleError(_0x2a0f63,_0x3099f2){_0x3099f2=_0x3099f2||0x1f4;return function(_0xa1fe71){logger[_0xa324('0x22')](_0xa1fe71['stack']);if(_0xa1fe71[_0xa324('0x35')]){delete _0xa1fe71[_0xa324('0x35')];}_0x2a0f63[_0xa324('0x28')](_0x3099f2)[_0xa324('0x36')](_0xa1fe71);};}exports['index']=function(_0x5d3bd5,_0x28c999){var _0x405fba={'include':[{'model':db[_0xa324('0x37')],'as':'Imap'},{'model':db[_0xa324('0x38')],'as':_0xa324('0x39')},{'model':db[_0xa324('0x3a')],'as':_0xa324('0x3b')}]},_0x3a2e91={},_0x2d8c6a={'count':0x0,'rows':[]};var _0x1188b0=_['map'](db[_0xa324('0x3c')]['rawAttributes'],function(_0xe40ec2){return{'name':_0xe40ec2['fieldName'],'type':_0xe40ec2[_0xa324('0x3d')]['key']};});_0x3a2e91[_0xa324('0x3e')]=_[_0xa324('0x3f')](_0x1188b0,_0xa324('0x35'));_0x3a2e91[_0xa324('0x40')]=_[_0xa324('0x41')](_0x5d3bd5['query']);_0x3a2e91[_0xa324('0x42')]=_[_0xa324('0x43')](_0x3a2e91['model'],_0x3a2e91[_0xa324('0x40')]);_0x405fba['attributes']=_['intersection'](_0x3a2e91[_0xa324('0x3e')],qs['fields'](_0x5d3bd5[_0xa324('0x40')][_0xa324('0x44')]));_0x405fba[_0xa324('0x45')]=_0x405fba['attributes'][_0xa324('0x46')]?_0x405fba['attributes']:_0x3a2e91[_0xa324('0x3e')];if(!_0x5d3bd5['query'][_0xa324('0x47')](_0xa324('0x48'))){_0x405fba[_0xa324('0x2b')]=qs['limit'](_0x5d3bd5[_0xa324('0x40')][_0xa324('0x2b')]);_0x405fba[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x5d3bd5[_0xa324('0x40')]['offset']);}_0x405fba[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x5d3bd5['query']['sort']);_0x405fba[_0xa324('0x4b')]=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x5d3bd5['query'],_0x3a2e91[_0xa324('0x42')]),_0x1188b0);if(_0x5d3bd5['query'][_0xa324('0x4d')]){_0x405fba[_0xa324('0x4b')]=_[_0xa324('0x4e')](_0x405fba[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x1188b0,function(_0x583a0f){if(_0x583a0f[_0xa324('0x3d')]!=='VIRTUAL'){var _0x23808f={};_0x23808f[_0x583a0f[_0xa324('0x35')]]={'$like':'%'+_0x5d3bd5['query'][_0xa324('0x4d')]+'%'};return _0x23808f;}})});}_0x405fba=_[_0xa324('0x4e')]({},_0x405fba,_0x5d3bd5[_0xa324('0x4f')]);var _0x2b3374={'where':_0x405fba[_0xa324('0x4b')]};return db[_0xa324('0x3c')][_0xa324('0x50')](_0x2b3374)['then'](function(_0x10f4da){_0x2d8c6a[_0xa324('0x50')]=_0x10f4da;if(_0x5d3bd5[_0xa324('0x40')]['includeAll']){_0x405fba['include']=[{'all':!![]}];}return db[_0xa324('0x3c')]['findAll'](_0x405fba);})[_0xa324('0x1c')](function(_0x392377){_0x2d8c6a['rows']=_0x392377;return _0x2d8c6a;})[_0xa324('0x1c')](respondWithFilteredResult(_0x28c999,_0x405fba))[_0xa324('0x26')](handleError(_0x28c999,null));};exports['show']=function(_0x395234,_0x35e085){var _0x37c1e1={'raw':![],'where':{'id':_0x395234[_0xa324('0x51')]['id']},'include':[{'model':db[_0xa324('0x37')],'as':_0xa324('0x52')},{'model':db[_0xa324('0x38')],'as':_0xa324('0x39')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x19cc1c={};_0x19cc1c[_0xa324('0x3e')]=_['keys'](db[_0xa324('0x3c')][_0xa324('0x53')]);_0x19cc1c[_0xa324('0x40')]=_[_0xa324('0x41')](_0x395234[_0xa324('0x40')]);_0x19cc1c[_0xa324('0x54')]=_[_0xa324('0x43')](_0x19cc1c[_0xa324('0x3e')],_0x19cc1c['query']);_0x37c1e1['attributes']=_[_0xa324('0x43')](_0x19cc1c[_0xa324('0x3e')],qs[_0xa324('0x44')](_0x395234[_0xa324('0x40')][_0xa324('0x44')]));_0x37c1e1[_0xa324('0x45')]=_0x37c1e1['attributes']['length']?_0x37c1e1['attributes']:_0x19cc1c[_0xa324('0x3e')];if(_0x395234[_0xa324('0x40')][_0xa324('0x55')]){_0x37c1e1[_0xa324('0x56')]=[{'all':!![]}];}_0x37c1e1=_[_0xa324('0x4e')]({},_0x37c1e1,_0x395234[_0xa324('0x4f')]);return db[_0xa324('0x3c')][_0xa324('0x57')](_0x37c1e1)['then'](handleEntityNotFound(_0x35e085,null))[_0xa324('0x1c')](respondWithResult(_0x35e085,null))['catch'](handleError(_0x35e085,null));};exports['update']=function(_0x541155,_0x771b42){if(_0x541155['body']['id']){delete _0x541155[_0xa324('0x58')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x541155['params']['id']},'include':[{'model':db[_0xa324('0x37')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xa324('0x39')},{'model':db['Pause'],'as':_0xa324('0x3b')}]})['then'](handleEntityNotFound(_0x771b42,null))[_0xa324('0x1c')](saveUpdates(_0x541155[_0xa324('0x58')],null))['then'](function(_0x54f100){if(_0x54f100&&_0x541155[_0xa324('0x58')][_0xa324('0x52')]){return db[_0xa324('0x37')][_0xa324('0x59')](_0x541155[_0xa324('0x58')][_0xa324('0x52')],{'where':{'MailAccountId':_0x54f100['id']}})[_0xa324('0x1c')](function(){return _0x54f100;});}return _0x54f100;})[_0xa324('0x1c')](function(_0x304807){if(_0x304807&&_0x541155['body'][_0xa324('0x39')]){return db['MailServerOut'][_0xa324('0x59')](_0x541155[_0xa324('0x58')][_0xa324('0x39')],{'where':{'MailAccountId':_0x304807['id']}})[_0xa324('0x1c')](function(){return _0x304807;});}return _0x304807;})[_0xa324('0x1c')](respondWithResult(_0x771b42,null))['catch'](handleError(_0x771b42,null));};exports[_0xa324('0x5a')]=function(_0x137265,_0x5439e7){return db[_0xa324('0x3c')][_0xa324('0x5a')]()[_0xa324('0x1c')](respondWithResult(_0x5439e7,null))[_0xa324('0x26')](handleError(_0x5439e7,null));};exports[_0xa324('0x5b')]=function(_0x3e6b5a,_0x52e5bb,_0x1971fb){if(_0x3e6b5a[_0xa324('0x58')]['id']){delete _0x3e6b5a[_0xa324('0x58')]['id'];}return db[_0xa324('0x3c')]['find']({'where':{'id':_0x3e6b5a[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x52e5bb,null))['then'](function(_0xd180ea){if(_0xd180ea){_0x3e6b5a[_0xa324('0x58')][_0xa324('0x5c')]=_0xd180ea['id'];return db[_0xa324('0x5d')]['create'](_0x3e6b5a[_0xa324('0x58')]);}})[_0xa324('0x1c')](respondWithResult(_0x52e5bb,null))[_0xa324('0x26')](handleError(_0x52e5bb,null));};exports[_0xa324('0x5e')]=function(_0x5ee5b7,_0x9aebcd,_0x4f89a3){var _0x50d97c={'raw':![],'where':{}};var _0x2d481e={};var _0x3b4555={'count':0x0,'rows':[]};return db['MailAccount'][_0xa324('0x5f')]({'where':{'id':_0x5ee5b7[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x9aebcd,null))[_0xa324('0x1c')](function(_0x562638){if(_0x562638){_0x2d481e['model']=_[_0xa324('0x41')](db['Disposition'][_0xa324('0x53')]);_0x2d481e['query']=_[_0xa324('0x41')](_0x5ee5b7[_0xa324('0x40')]);_0x2d481e[_0xa324('0x42')]=_[_0xa324('0x43')](_0x2d481e[_0xa324('0x3e')],_0x2d481e[_0xa324('0x40')]);_0x50d97c[_0xa324('0x45')]=_['intersection'](_0x2d481e[_0xa324('0x3e')],qs[_0xa324('0x44')](_0x5ee5b7[_0xa324('0x40')]['fields']));_0x50d97c[_0xa324('0x45')]=_0x50d97c[_0xa324('0x45')][_0xa324('0x46')]?_0x50d97c[_0xa324('0x45')]:_0x2d481e['model'];if(!_0x5ee5b7[_0xa324('0x40')][_0xa324('0x47')](_0xa324('0x48'))){_0x50d97c[_0xa324('0x2b')]=qs['limit'](_0x5ee5b7[_0xa324('0x40')]['limit']);_0x50d97c[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x5ee5b7[_0xa324('0x40')][_0xa324('0x2a')]);}_0x50d97c[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x5ee5b7[_0xa324('0x40')]['sort']);_0x50d97c[_0xa324('0x4b')]=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x5ee5b7[_0xa324('0x40')],_0x2d481e['filters']));_0x50d97c[_0xa324('0x4b')][_0xa324('0x5c')]=_0x562638['id'];if(_0x5ee5b7['query'][_0xa324('0x4d')]){_0x50d97c[_0xa324('0x4b')]=_[_0xa324('0x4e')](_0x50d97c[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x50d97c['attributes'],function(_0x803981){var _0x2b2315={};_0x2b2315[_0x803981]={'$like':'%'+_0x5ee5b7[_0xa324('0x40')][_0xa324('0x4d')]+'%'};return _0x2b2315;})});}_0x50d97c=_[_0xa324('0x4e')]({},_0x50d97c,_0x5ee5b7[_0xa324('0x4f')]);return db[_0xa324('0x5d')][_0xa324('0x50')]({'where':_0x50d97c['where']})[_0xa324('0x1c')](function(_0x59b4ef){_0x3b4555['count']=_0x59b4ef;if(_0x5ee5b7['query'][_0xa324('0x55')]){_0x50d97c['include']=[{'all':!![]}];}return db[_0xa324('0x5d')][_0xa324('0x60')](_0x50d97c);})['then'](function(_0x3b957e){_0x3b4555[_0xa324('0x61')]=_0x3b957e;return _0x3b4555;});}})[_0xa324('0x1c')](respondWithFilteredResult(_0x9aebcd,_0x50d97c))[_0xa324('0x26')](handleError(_0x9aebcd,null));};exports[_0xa324('0x62')]=function(_0x2c0da8,_0x10454b,_0x279e58){return db[_0xa324('0x3c')][_0xa324('0x57')]({'where':{'id':_0x2c0da8['params']['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x10454b,null))[_0xa324('0x1c')](function(_0x22510e){if(_0x22510e){return _0x22510e[_0xa324('0x62')](_0x2c0da8['query'][_0xa324('0x63')]);}})[_0xa324('0x1c')](respondWithStatusCode(_0x10454b,null))[_0xa324('0x26')](handleError(_0x10454b,null));};exports['addAnswer']=function(_0x2d76fc,_0x4bc6b2,_0x54b794){if(_0x2d76fc['body']['id']){delete _0x2d76fc[_0xa324('0x58')]['id'];}return db[_0xa324('0x3c')][_0xa324('0x57')]({'where':{'id':_0x2d76fc[_0xa324('0x51')]['id']}})['then'](handleEntityNotFound(_0x4bc6b2,null))['then'](function(_0x54beb9){if(_0x54beb9){_0x2d76fc[_0xa324('0x58')][_0xa324('0x5c')]=_0x54beb9['id'];return db[_0xa324('0x64')]['create'](_0x2d76fc['body']);}})['then'](respondWithResult(_0x4bc6b2,null))[_0xa324('0x26')](handleError(_0x4bc6b2,null));};exports[_0xa324('0x65')]=function(_0x55fe82,_0x2be5fc,_0x35401f){var _0x4573b4={'raw':![],'where':{}};var _0x2452e7={};var _0x440241={'count':0x0,'rows':[]};return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x55fe82[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x2be5fc,null))['then'](function(_0x4262d2){if(_0x4262d2){_0x2452e7[_0xa324('0x3e')]=_[_0xa324('0x41')](db[_0xa324('0x64')]['rawAttributes']);_0x2452e7['query']=_[_0xa324('0x41')](_0x55fe82[_0xa324('0x40')]);_0x2452e7['filters']=_[_0xa324('0x43')](_0x2452e7[_0xa324('0x3e')],_0x2452e7[_0xa324('0x40')]);_0x4573b4[_0xa324('0x45')]=_[_0xa324('0x43')](_0x2452e7[_0xa324('0x3e')],qs['fields'](_0x55fe82[_0xa324('0x40')][_0xa324('0x44')]));_0x4573b4['attributes']=_0x4573b4[_0xa324('0x45')][_0xa324('0x46')]?_0x4573b4[_0xa324('0x45')]:_0x2452e7['model'];if(!_0x55fe82[_0xa324('0x40')][_0xa324('0x47')](_0xa324('0x48'))){_0x4573b4['limit']=qs[_0xa324('0x2b')](_0x55fe82[_0xa324('0x40')][_0xa324('0x2b')]);_0x4573b4[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x55fe82[_0xa324('0x40')][_0xa324('0x2a')]);}_0x4573b4[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x55fe82[_0xa324('0x40')][_0xa324('0x4a')]);_0x4573b4[_0xa324('0x4b')]=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x55fe82['query'],_0x2452e7['filters']));_0x4573b4['where'][_0xa324('0x5c')]=_0x4262d2['id'];if(_0x55fe82[_0xa324('0x40')][_0xa324('0x4d')]){_0x4573b4[_0xa324('0x4b')]=_['merge'](_0x4573b4[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x4573b4[_0xa324('0x45')],function(_0x4452c){var _0x5881c6={};_0x5881c6[_0x4452c]={'$like':'%'+_0x55fe82[_0xa324('0x40')][_0xa324('0x4d')]+'%'};return _0x5881c6;})});}_0x4573b4=_[_0xa324('0x4e')]({},_0x4573b4,_0x55fe82[_0xa324('0x4f')]);return db[_0xa324('0x64')][_0xa324('0x50')]({'where':_0x4573b4[_0xa324('0x4b')]})[_0xa324('0x1c')](function(_0x13a4d6){_0x440241['count']=_0x13a4d6;if(_0x55fe82[_0xa324('0x40')][_0xa324('0x55')]){_0x4573b4['include']=[{'all':!![]}];}return db[_0xa324('0x64')]['findAll'](_0x4573b4);})[_0xa324('0x1c')](function(_0x36ee5c){_0x440241['rows']=_0x36ee5c;return _0x440241;});}})[_0xa324('0x1c')](respondWithFilteredResult(_0x2be5fc,_0x4573b4))['catch'](handleError(_0x2be5fc,null));};exports['removeAnswers']=function(_0xcdec5e,_0x64ef7c,_0x4239bd){return db[_0xa324('0x3c')]['find']({'where':{'id':_0xcdec5e[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x64ef7c,null))[_0xa324('0x1c')](function(_0x163729){if(_0x163729){return _0x163729[_0xa324('0x66')](_0xcdec5e[_0xa324('0x40')]['ids']);}})[_0xa324('0x1c')](respondWithStatusCode(_0x64ef7c,null))[_0xa324('0x26')](handleError(_0x64ef7c,null));};exports[_0xa324('0x67')]=function(_0x5a6a5b,_0x292ef1){var _0x23ffde={'name':_0x5a6a5b[_0xa324('0x58')][_0xa324('0x35')],'key':_0x5a6a5b[_0xa324('0x58')][_0xa324('0x68')],'email':_0x5a6a5b[_0xa324('0x58')][_0xa324('0x69')],'ListId':_0x5a6a5b[_0xa324('0x58')]['ListId'],'active':!_[_0xa324('0x6a')](_0x5a6a5b[_0xa324('0x58')]['active'])?_0x5a6a5b['body'][_0xa324('0x6b')]:!![],'description':_0x5a6a5b['body'][_0xa324('0x6c')]||null,'Imap':{},'Smtp':{}};if(_[_0xa324('0x6a')](_0x5a6a5b['body'][_0xa324('0x6d')])){if(_0x5a6a5b[_0xa324('0x58')][_0xa324('0x6e')]){_0x23ffde['Imap'][_0xa324('0x6f')]=_0x23ffde['Smtp'][_0xa324('0x6f')]=_0x5a6a5b[_0xa324('0x58')]['cuser'];_0x23ffde[_0xa324('0x52')]['password']=_0x23ffde['Smtp'][_0xa324('0x70')]=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x71')];}else{_0x23ffde[_0xa324('0x52')][_0xa324('0x72')]=_0x23ffde[_0xa324('0x39')][_0xa324('0x72')]=![];}_0x23ffde['Imap']['host']=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x52')][_0xa324('0x73')];_0x23ffde[_0xa324('0x52')][_0xa324('0x74')]=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x52')][_0xa324('0x74')];_0x23ffde[_0xa324('0x39')][_0xa324('0x73')]=_0x5a6a5b[_0xa324('0x58')]['Smtp'][_0xa324('0x73')];_0x23ffde[_0xa324('0x39')][_0xa324('0x74')]=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x39')]['port'];}else{_0x23ffde[_0xa324('0x52')][_0xa324('0x75')]=_0x23ffde[_0xa324('0x39')][_0xa324('0x75')]=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x6d')];_0x23ffde[_0xa324('0x52')][_0xa324('0x6f')]=_0x23ffde[_0xa324('0x39')][_0xa324('0x6f')]=_0x5a6a5b[_0xa324('0x58')][_0xa324('0x76')];_0x23ffde['Imap'][_0xa324('0x77')]=_0x23ffde['Smtp']['pass']=_0x5a6a5b[_0xa324('0x58')]['cpassword'];}return db['MailAccount'][_0xa324('0x67')](_0x23ffde,{'include':[{'model':db['MailServerOut'],'as':_0xa324('0x39')},{'model':db['MailServerIn'],'as':_0xa324('0x52')}]})[_0xa324('0x1c')](function(_0x5ca30d){var _0x222fb8=_0x5a6a5b[_0xa324('0x6f')][_0xa324('0x32')]({'plain':!![]});if(!_0x222fb8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x222fb8[_0xa324('0x78')]==='user'){var _0x55ed5a=_0x5ca30d['get']({'plain':!![]});return db['UserProfileSection'][_0xa324('0x57')]({'where':{'name':_0xa324('0x33'),'userProfileId':_0x222fb8[_0xa324('0x79')]},'raw':!![]})[_0xa324('0x1c')](function(_0x115812){if(_0x115812&&_0x115812['autoAssociation']===0x0){return db[_0xa324('0x34')][_0xa324('0x67')]({'name':_0x55ed5a['name'],'resourceId':_0x55ed5a['id'],'type':_0x115812[_0xa324('0x35')],'sectionId':_0x115812['id']},{})[_0xa324('0x1c')](function(){return _0x5ca30d;});}else{return _0x5ca30d;}})['catch'](function(_0x39225f){logger[_0xa324('0x22')](_0xa324('0x7a'),_0x39225f);throw _0x39225f;});}return _0x5ca30d;})['then'](respondWithResult(_0x292ef1,0xc9))[_0xa324('0x26')](handleError(_0x292ef1,null));};exports[_0xa324('0x7b')]=function(_0x32145e,_0x3a9dec,_0x3405c5){return db['MailAccount'][_0xa324('0x5f')]({'where':{'id':_0x32145e[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x3a9dec,null))[_0xa324('0x1c')](function(_0x4b6570){if(_0x4b6570){return _0x4b6570[_0xa324('0x7b')]();}return null;})[_0xa324('0x1c')](respondWithResult(_0x3a9dec,null))[_0xa324('0x26')](handleError(_0x3a9dec,null));};exports['addImap']=function(_0x489e7b,_0x508608,_0x3b40a4){if(_0x489e7b[_0xa324('0x58')]['id']){delete _0x489e7b[_0xa324('0x58')]['id'];}return db['MailAccount'][_0xa324('0x57')]({'where':{'id':_0x489e7b[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x508608,null))['then'](function(_0x17ace3){if(_0x17ace3){_0x489e7b[_0xa324('0x58')]['MailAccountId']=_0x17ace3['id'];return db[_0xa324('0x37')]['create'](_0x489e7b[_0xa324('0x58')]);}})[_0xa324('0x1c')](respondWithResult(_0x508608,null))['catch'](handleError(_0x508608,null));};exports[_0xa324('0x7c')]=function(_0x2df0b9,_0x2e736b,_0x12ab96){return db[_0xa324('0x3c')]['findOne']({'where':{'id':_0x2df0b9[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x2e736b,null))[_0xa324('0x1c')](function(_0x501320){if(_0x501320){return _0x501320['setImap'](null);}return null;})[_0xa324('0x1c')](respondWithStatusCode(_0x2e736b,null))['catch'](handleError(_0x2e736b,null));};exports[_0xa324('0x7d')]=function(_0x3fa176,_0x52234d,_0x22079a){return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x3fa176['params']['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x52234d,null))[_0xa324('0x1c')](function(_0x2aa0c7){if(_0x2aa0c7){return _0x2aa0c7[_0xa324('0x7d')]();}return null;})['then'](respondWithResult(_0x52234d,null))['catch'](handleError(_0x52234d,null));};exports[_0xa324('0x7e')]=function(_0x53ea2d,_0x5218d4,_0x4315f6){if(_0x53ea2d[_0xa324('0x58')]['id']){delete _0x53ea2d[_0xa324('0x58')]['id'];}return db['MailAccount'][_0xa324('0x57')]({'where':{'id':_0x53ea2d[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x5218d4,null))['then'](function(_0x37c0c2){if(_0x37c0c2){_0x53ea2d[_0xa324('0x58')][_0xa324('0x5c')]=_0x37c0c2['id'];return db['MailServerOut'][_0xa324('0x67')](_0x53ea2d['body']);}})[_0xa324('0x1c')](respondWithResult(_0x5218d4,null))[_0xa324('0x26')](handleError(_0x5218d4,null));};exports[_0xa324('0x7f')]=function(_0x3371e6,_0x19fd98,_0x5af0c0){return db['MailAccount']['findOne']({'where':{'id':_0x3371e6['params']['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x19fd98,null))[_0xa324('0x1c')](function(_0x129dec){if(_0x129dec){return _0x129dec['setSmtp'](null);}return null;})[_0xa324('0x1c')](respondWithStatusCode(_0x19fd98,null))[_0xa324('0x26')](handleError(_0x19fd98,null));};exports['addInteraction']=function(_0x240667,_0x5e1d19,_0x26014b){return db['MailInteraction'][_0xa324('0x57')]({'where':{'id':_0x240667['params']['id']}})['then'](handleEntityNotFound(_0x5e1d19,null))[_0xa324('0x1c')](function(_0x159c38){if(_0x159c38){return _0x159c38['addInteraction'](_0x240667['body']['ids'],_[_0xa324('0x80')](_0x240667[_0xa324('0x58')],[_0xa324('0x63'),'id'])||{});}})['then'](respondWithResult(_0x5e1d19,null))[_0xa324('0x26')](handleError(_0x5e1d19,null));};exports[_0xa324('0x81')]=function(_0x4bf84f,_0x5236af,_0x4f41fa){var _0x27a8da={'raw':![],'where':{}};var _0x39f6e4={};var _0x2230f1={'count':0x0,'rows':[]};return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x4bf84f[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x5236af,null))[_0xa324('0x1c')](function(_0x2f3335){if(_0x2f3335){_0x39f6e4[_0xa324('0x3e')]=_[_0xa324('0x41')](db[_0xa324('0x82')][_0xa324('0x53')]);_0x39f6e4[_0xa324('0x40')]=_['keys'](_0x4bf84f['query']);_0x39f6e4[_0xa324('0x42')]=_[_0xa324('0x43')](_0x39f6e4[_0xa324('0x3e')],_0x39f6e4[_0xa324('0x40')]);_0x27a8da[_0xa324('0x45')]=_[_0xa324('0x43')](_0x39f6e4[_0xa324('0x3e')],qs[_0xa324('0x44')](_0x4bf84f[_0xa324('0x40')]['fields']));_0x27a8da[_0xa324('0x45')]=_0x27a8da['attributes'][_0xa324('0x46')]?_0x27a8da[_0xa324('0x45')]:_0x39f6e4[_0xa324('0x3e')];if(!_0x4bf84f[_0xa324('0x40')][_0xa324('0x47')]('nolimit')){_0x27a8da[_0xa324('0x2b')]=qs[_0xa324('0x2b')](_0x4bf84f[_0xa324('0x40')][_0xa324('0x2b')]);_0x27a8da[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x4bf84f[_0xa324('0x40')]['offset']);}_0x27a8da[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x4bf84f[_0xa324('0x40')][_0xa324('0x4a')]);_0x27a8da['where']=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x4bf84f[_0xa324('0x40')],_0x39f6e4[_0xa324('0x42')]));_0x27a8da[_0xa324('0x4b')]['MailAccountId']=_0x2f3335['id'];if(_0x4bf84f[_0xa324('0x40')][_0xa324('0x4d')]){_0x27a8da[_0xa324('0x4b')]=_[_0xa324('0x4e')](_0x27a8da[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x27a8da[_0xa324('0x45')],function(_0x2122f1){var _0x598cb5={};_0x598cb5[_0x2122f1]={'$like':'%'+_0x4bf84f[_0xa324('0x40')][_0xa324('0x4d')]+'%'};return _0x598cb5;})});}_0x27a8da=_[_0xa324('0x4e')]({},_0x27a8da,_0x4bf84f[_0xa324('0x4f')]);return db['MailInteraction'][_0xa324('0x50')]({'where':_0x27a8da[_0xa324('0x4b')]})[_0xa324('0x1c')](function(_0x3736c3){_0x2230f1[_0xa324('0x50')]=_0x3736c3;if(_0x4bf84f[_0xa324('0x40')]['includeAll']){_0x27a8da[_0xa324('0x56')]=[{'model':db[_0xa324('0x83')],'as':_0xa324('0x84'),'required':![]},{'model':db[_0xa324('0x85')],'as':'Owner','attributes':[_0xa324('0x35'),'fullname',_0xa324('0x86')],'required':![]},{'model':db[_0xa324('0x87')],'as':_0xa324('0x88'),'attributes':['id',_0xa324('0x35'),_0xa324('0x89')],'where':_0x4bf84f[_0xa324('0x40')][_0xa324('0x8a')]?{'id':_0x4bf84f['query']['tag']}:undefined,'required':_0x4bf84f[_0xa324('0x40')][_0xa324('0x8a')]?!![]:![]}];}return db[_0xa324('0x82')]['findAll'](_0x27a8da);})[_0xa324('0x1c')](function(_0x4bc50f){_0x2230f1['rows']=_0x4bc50f;return _0x2230f1;});}})[_0xa324('0x1c')](respondWithFilteredResult(_0x5236af,_0x27a8da))['catch'](handleError(_0x5236af,null));};exports[_0xa324('0x8b')]=function(_0x44f0ed,_0x38ca6f,_0x52df88){return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x44f0ed['params']['id']}})['then'](handleEntityNotFound(_0x38ca6f,null))[_0xa324('0x1c')](function(_0x462e0a){if(_0x462e0a){return db[_0xa324('0x8c')]['transaction'](function(_0x3b6597){return db[_0xa324('0x8d')][_0xa324('0x31')]({'where':{'MailAccountId':_0x44f0ed[_0xa324('0x51')]['id']},'transaction':_0x3b6597})[_0xa324('0x1c')](function(_0x5a74e3){var _0x46e4f1=_['map'](_0x44f0ed[_0xa324('0x58')],function(_0x22ff40){_0x22ff40['MailAccountId']=_0x44f0ed[_0xa324('0x51')]['id'];return _0x22ff40;});return db[_0xa324('0x8d')]['bulkCreate'](_0x46e4f1,{'transaction':_0x3b6597});});})[_0xa324('0x1c')](function(){return db[_0xa324('0x8d')]['findAndCountAll']({'where':{'MailAccountId':_0x44f0ed[_0xa324('0x51')]['id']},'order':_0xa324('0x8e')});});}})['then'](respondWithResult(_0x38ca6f,null))[_0xa324('0x26')](handleError(_0x38ca6f,null));};exports[_0xa324('0x8f')]=function(_0x3f27e7,_0x34524b,_0x4cbc05){var _0xc00c05={};var _0x2d9839={};var _0x27491d;var _0x55960e;return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x3f27e7[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x34524b,null))[_0xa324('0x1c')](function(_0xb91898){if(_0xb91898){_0x27491d=_0xb91898;_0x2d9839[_0xa324('0x3e')]=_['keys'](db[_0xa324('0x8d')][_0xa324('0x53')]);_0x2d9839[_0xa324('0x40')]=_['keys'](_0x3f27e7[_0xa324('0x40')]);_0x2d9839[_0xa324('0x42')]=_[_0xa324('0x43')](_0x2d9839['model'],_0x2d9839['query']);_0xc00c05[_0xa324('0x45')]=_[_0xa324('0x43')](_0x2d9839['model'],qs[_0xa324('0x44')](_0x3f27e7[_0xa324('0x40')][_0xa324('0x44')]));_0xc00c05[_0xa324('0x45')]=_0xc00c05[_0xa324('0x45')][_0xa324('0x46')]?_0xc00c05[_0xa324('0x45')]:_0x2d9839['model'];_0xc00c05['order']=qs[_0xa324('0x4a')](_0x3f27e7[_0xa324('0x40')]['sort']);_0xc00c05[_0xa324('0x4b')]=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x3f27e7['query'],_0x2d9839[_0xa324('0x42')]));if(_0x3f27e7[_0xa324('0x40')]['filter']){_0xc00c05['where']=_[_0xa324('0x4e')](_0xc00c05[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0xc00c05[_0xa324('0x45')],function(_0x39f060){var _0x5dbbfd={};_0x5dbbfd[_0x39f060]={'$like':'%'+_0x3f27e7[_0xa324('0x40')]['filter']+'%'};return _0x5dbbfd;})});}_0xc00c05=_[_0xa324('0x4e')]({},_0xc00c05,_0x3f27e7['options']);return _0x27491d[_0xa324('0x8f')](_0xc00c05);}})[_0xa324('0x1c')](function(_0x4e3992){if(_0x4e3992){_0x55960e=_0x4e3992[_0xa324('0x46')];if(!_0x3f27e7[_0xa324('0x40')][_0xa324('0x47')]('nolimit')){_0xc00c05[_0xa324('0x2b')]=qs[_0xa324('0x2b')](_0x3f27e7[_0xa324('0x40')][_0xa324('0x2b')]);_0xc00c05[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x3f27e7[_0xa324('0x40')][_0xa324('0x2a')]);}return _0x27491d[_0xa324('0x8f')](_0xc00c05);}})[_0xa324('0x1c')](function(_0x5a4631){if(_0x5a4631){return _0x5a4631?{'count':_0x55960e,'rows':_0x5a4631}:null;}})[_0xa324('0x1c')](respondWithResult(_0x34524b,null))[_0xa324('0x26')](handleError(_0x34524b,null));};exports[_0xa324('0x90')]=function(_0x18abaa,_0x7f6172,_0x376e71){var _0x16554d={'raw':!![],'where':{}};var _0x2286ed={};var _0x573fc5={'count':0x0,'rows':[]};return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x18abaa[_0xa324('0x51')]['id']}})['then'](handleEntityNotFound(_0x7f6172,null))[_0xa324('0x1c')](function(_0x114d69){if(_0x114d69){_0x2286ed[_0xa324('0x3e')]=_['keys'](db[_0xa324('0x91')][_0xa324('0x53')]);_0x2286ed['query']=_[_0xa324('0x41')](_0x18abaa[_0xa324('0x40')]);_0x2286ed[_0xa324('0x42')]=_[_0xa324('0x43')](_0x2286ed[_0xa324('0x3e')],_0x2286ed['query']);_0x16554d[_0xa324('0x45')]=_[_0xa324('0x43')](_0x2286ed['model'],qs['fields'](_0x18abaa[_0xa324('0x40')]['fields']));_0x16554d[_0xa324('0x45')]=_0x16554d['attributes']['length']?_0x16554d[_0xa324('0x45')]:_0x2286ed[_0xa324('0x3e')];if(!_0x18abaa[_0xa324('0x40')][_0xa324('0x47')](_0xa324('0x48'))){_0x16554d[_0xa324('0x2b')]=qs[_0xa324('0x2b')](_0x18abaa[_0xa324('0x40')][_0xa324('0x2b')]);_0x16554d[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x18abaa[_0xa324('0x40')][_0xa324('0x2a')]);}_0x16554d[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x18abaa['query'][_0xa324('0x4a')]);_0x16554d[_0xa324('0x4b')]=qs[_0xa324('0x42')](_[_0xa324('0x4c')](_0x18abaa[_0xa324('0x40')],_0x2286ed[_0xa324('0x42')]));_0x16554d[_0xa324('0x4b')][_0xa324('0x5c')]=_0x114d69['id'];if(_0x18abaa['query'][_0xa324('0x4d')]){_0x16554d['where']=_[_0xa324('0x4e')](_0x16554d[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x16554d[_0xa324('0x45')],function(_0x3db80e){var _0x59c578={};_0x59c578[_0x3db80e]={'$like':'%'+_0x18abaa['query'][_0xa324('0x4d')]+'%'};return _0x59c578;})});}if(_0x18abaa[_0xa324('0x40')][_0xa324('0x92')]){var _0x4046aa=_0x18abaa[_0xa324('0x40')][_0xa324('0x92')]['split'](',');var _0x48191a={};_0x48191a[_0x4046aa[0x0]]={'$gte':moment(_0x4046aa[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x16554d[_0xa324('0x4b')]=_[_0xa324('0x4e')](_0x16554d['where'],_0x48191a);}_0x16554d=_[_0xa324('0x4e')]({},_0x16554d,_0x18abaa[_0xa324('0x4f')]);return db[_0xa324('0x91')]['count']({'where':_0x16554d[_0xa324('0x4b')]})[_0xa324('0x1c')](function(_0x28bf8e){_0x573fc5[_0xa324('0x50')]=_0x28bf8e;if(_0x18abaa[_0xa324('0x40')][_0xa324('0x55')]){_0x16554d[_0xa324('0x56')]=[{'all':!![]}];}return db[_0xa324('0x91')][_0xa324('0x60')](_0x16554d);})[_0xa324('0x1c')](function(_0xdcefe4){_0x573fc5['rows']=_0xdcefe4;return _0x573fc5;});}})['then'](respondWithFilteredResult(_0x7f6172,_0x16554d))['catch'](handleError(_0x7f6172,null));};exports['send']=function(_0x4194e6,_0x5b09db,_0x5ea711){var _0x5b81f0,_0x52d49e={},_0xc5c875;if(_0x4194e6[_0xa324('0x58')]['to']){_0xc5c875=_0x4194e6[_0xa324('0x58')]['to'][_0xa324('0x93')](',')[0x0];}return db[_0xa324('0x3c')][_0xa324('0x57')]({'where':{'id':_0x4194e6[_0xa324('0x51')]['id']},'include':[{'model':db[_0xa324('0x94')],'as':_0xa324('0x95'),'include':[{'model':db[_0xa324('0x83')],'as':'Contacts','where':{'email':_0xc5c875},'limit':0x1,'order':[[_0xa324('0x96'),'DESC']]}]},{'model':db[_0xa324('0x38')],'as':_0xa324('0x39'),'raw':!![]}]})[_0xa324('0x1c')](handleEntityNotFound(_0x5b09db,null))['then'](function(_0x14ec83){if(_0x14ec83){_0x5b81f0=_0x14ec83;if(_0x14ec83['Smtp']){if(_[_0xa324('0x6a')](_0x4194e6[_0xa324('0x58')][_0xa324('0x97')])){_0x4194e6[_0xa324('0x58')][_0xa324('0x97')]=util[_0xa324('0x98')](_0xa324('0x99'),_0x14ec83[_0xa324('0x35')],_0x14ec83[_0xa324('0x69')]||_0x14ec83[_0xa324('0x39')][_0xa324('0x6f')]);}if(_0x4194e6[_0xa324('0x58')][_0xa324('0x9a')]&&_0x4194e6[_0xa324('0x58')][_0xa324('0x9a')][_0xa324('0x46')]){for(var _0x2d0503=0x0;_0x2d0503<_0x4194e6[_0xa324('0x58')]['attachments'][_0xa324('0x46')];_0x2d0503+=0x1){_0x4194e6[_0xa324('0x58')][_0xa324('0x9a')][_0x2d0503]={'filename':_0x4194e6['body'][_0xa324('0x9a')][_0x2d0503]['name'],'path':path['join'](config[_0xa324('0x9b')],'server/files/attachments',_0x4194e6[_0xa324('0x58')][_0xa324('0x9a')][_0x2d0503][_0xa324('0x9c')])};}}var _0x14a71c={'tls':{'rejectUnauthorized':![]}};if(_[_0xa324('0x6a')](_0x14ec83[_0xa324('0x39')][_0xa324('0x75')])){if(_0x14ec83['Smtp'][_0xa324('0x72')]){_0x14a71c[_0xa324('0x9d')]={'user':_0x14ec83['Smtp']['user'],'pass':_0x14ec83[_0xa324('0x39')][_0xa324('0x70')]};}_0x14a71c[_0xa324('0x73')]=_0x14ec83['Smtp'][_0xa324('0x73')];_0x14a71c['port']=_0x14ec83['Smtp']['port'];_0x14a71c[_0xa324('0x9e')]=_0x14ec83[_0xa324('0x39')][_0xa324('0x9e')];}else{_0x14a71c[_0xa324('0x75')]=_0x14ec83['Smtp']['service'];_0x14a71c[_0xa324('0x9d')]={'user':_0x14ec83[_0xa324('0x39')][_0xa324('0x6f')],'pass':_0x14ec83['Smtp'][_0xa324('0x70')]};}return respondWithRpcPromise('SendMail',_0xa324('0x9f'),{'account':_0x14a71c,'message':_0x4194e6['body']});}else{throw new Error(_0xa324('0xa0'));}}})[_0xa324('0x1c')](function(_0x333851){if(_0x333851){_0x52d49e=_0x333851;if(_0x5b81f0['List']){if(_0x5b81f0[_0xa324('0x95')][_0xa324('0xa1')][_0xa324('0x46')]){return _0x5b81f0[_0xa324('0x95')]['Contacts'][0x0];}else{return db[_0xa324('0x83')]['create'](_['defaults'](_0x4194e6[_0xa324('0x58')],{'firstName':_0x4194e6[_0xa324('0x58')]['to'],'email':_0x4194e6[_0xa324('0x58')]['to'],'phone':_0x4194e6[_0xa324('0x58')]['to'],'ListId':_0x5b81f0[_0xa324('0xa2')]}));}}else{throw new Error(_0xa324('0xa0'));}}})[_0xa324('0x1c')](function(_0x1263ce){if(_0x1263ce){var _0xcf7fe3={'UserId':_0x4194e6[_0xa324('0x6f')]['id'],'ContactId':_0x1263ce['id'],'MailAccountId':_0x5b81f0['id'],'inReplyTo':_0x52d49e['messageId'],'to':_0x4194e6['body'][_0xa324('0x97')],'cc':_0x4194e6[_0xa324('0x58')]['cc'],'subject':_0x4194e6[_0xa324('0x58')][_0xa324('0xa3')],'attach':_0x4194e6[_0xa324('0x58')]['attach'],'firstMsgDirection':_0xa324('0xa4'),'lastMsgAt':moment()[_0xa324('0x98')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0xa324('0xa4'),'lastMsgBody':_0x4194e6[_0xa324('0x58')]['body'],'Messages':[_[_0xa324('0x4e')](_0x4194e6[_0xa324('0x58')],{'messageId':_0x52d49e[_0xa324('0xa5')],'sentAt':moment()['format'](_0xa324('0xa6')),'read':!![],'MailAccountId':_0x5b81f0['id'],'UserId':_0x4194e6[_0xa324('0x6f')]['id'],'ContactId':_0x1263ce['id']})]};if(_0x4194e6[_0xa324('0x58')][_0xa324('0xa7')]){_0xcf7fe3=_['merge'](_0xcf7fe3,_0x4194e6['body'][_0xa324('0xa7')]);}return db['MailInteraction'][_0xa324('0x67')](_0xcf7fe3,{'include':[{'model':db[_0xa324('0x91')],'as':_0xa324('0xa8')}]});}})[_0xa324('0x1c')](respondWithResult(_0x5b09db,null))[_0xa324('0x26')](handleError(_0x5b09db,null));};exports[_0xa324('0xa9')]=function(_0x2512f8,_0x393c9e,_0x29a5e3){return db[_0xa324('0x3c')][_0xa324('0x57')]({'where':{'id':_0x2512f8['params']['id']},'include':[{'model':db[_0xa324('0x38')],'as':_0xa324('0x39'),'raw':!![]}]})['then'](handleEntityNotFound(_0x393c9e,null))['then'](function(_0x576b84){if(_0x576b84&&_0x576b84[_0xa324('0x39')]){var _0x472460={'id':_0x576b84['id'],'tls':{'rejectUnauthorized':![]}};if(_0x576b84['Smtp']['service']){_0x472460[_0xa324('0x75')]=_0x576b84[_0xa324('0x39')][_0xa324('0x75')];}else{_0x472460[_0xa324('0x73')]=_0x576b84[_0xa324('0x39')][_0xa324('0x73')];_0x472460[_0xa324('0x74')]=_0x576b84[_0xa324('0x39')][_0xa324('0x74')];_0x472460[_0xa324('0x9e')]=_0x576b84[_0xa324('0x39')]['secure'];}if(_0x576b84[_0xa324('0x39')][_0xa324('0x72')]){_0x472460['auth']={'user':_0x576b84[_0xa324('0x39')]['user'],'pass':_0x576b84[_0xa324('0x39')][_0xa324('0x70')]};}return respondWithRpcPromise(_0xa324('0xaa'),_0xa324('0xa9'),{'account':_0x472460});}})[_0xa324('0x1c')](respondWithResult(_0x393c9e,null))[_0xa324('0x26')](handleError(_0x393c9e,null));};exports['destroy']=function(_0x295223,_0x3b26cb){return db['MailAccount'][_0xa324('0x57')]({'where':{'id':_0x295223['params']['id']}})['then'](handleEntityNotFound(_0x3b26cb,null))[_0xa324('0x1c')](function(_0x5a5023){if(_0x5a5023&&_0x5a5023[_0xa324('0x75')]){throw new db[(_0xa324('0xab'))][(_0xa324('0xac'))](_0xa324('0xad'));}return _0x5a5023;})[_0xa324('0x1c')](removeEntity(_0x3b26cb,null))[_0xa324('0x26')](handleError(_0x3b26cb,null));};exports[_0xa324('0xae')]=function(_0xb345d8,_0x57324a,_0x1afe5a){return db['MailAccount'][_0xa324('0x57')]({'where':{'id':_0xb345d8[_0xa324('0x51')]['id']}})['then'](handleEntityNotFound(_0x57324a,null))[_0xa324('0x1c')](function(_0x12b359){if(_0x12b359){return _0x12b359['addAgents'](_0xb345d8[_0xa324('0x58')][_0xa324('0x63')],_[_0xa324('0x80')](_0xb345d8[_0xa324('0x58')],[_0xa324('0x63'),'id'])||{})[_0xa324('0xaf')](function(_0x3e4f86){for(var _0x289c84=0x0;_0x289c84<_0xb345d8[_0xa324('0x58')][_0xa324('0x63')][_0xa324('0x46')];_0x289c84+=0x1){socket[_0xa324('0xb0')](_0xa324('0xb1'),{'UserId':_0xb345d8[_0xa324('0x58')][_0xa324('0x63')][_0x289c84],'MailAccountId':_0xb345d8[_0xa324('0x51')]['id']});}return _0x3e4f86;});}})[_0xa324('0x1c')](respondWithResult(_0x57324a,null))[_0xa324('0x26')](handleError(_0x57324a,null));};exports[_0xa324('0xb2')]=function(_0x5963dd,_0x982ab9,_0x42a50c){return db[_0xa324('0x3c')][_0xa324('0x57')]({'where':{'id':_0x5963dd[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x982ab9,null))[_0xa324('0x1c')](function(_0xee2b4a){if(_0xee2b4a){return _0xee2b4a[_0xa324('0xb2')](_0x5963dd[_0xa324('0x40')][_0xa324('0x63')])[_0xa324('0x1c')](function(){if(_[_0xa324('0xb3')](_0x5963dd['query']['ids'])){for(var _0xe6657d=0x0;_0xe6657d<_0x5963dd['query']['ids']['length'];_0xe6657d+=0x1){socket[_0xa324('0xb0')](_0xa324('0xb4'),{'UserId':Number(_0x5963dd[_0xa324('0x40')][_0xa324('0x63')][_0xe6657d]),'MailAccountId':Number(_0x5963dd[_0xa324('0x51')]['id'])});}}else{socket[_0xa324('0xb0')]('userMailAccount:remove',{'UserId':Number(_0x5963dd[_0xa324('0x40')][_0xa324('0x63')]),'MailAccountId':Number(_0x5963dd[_0xa324('0x51')]['id'])});}});}})[_0xa324('0x1c')](respondWithStatusCode(_0x982ab9,null))[_0xa324('0x26')](handleError(_0x982ab9,null));};exports['getAgents']=function(_0x2697c7,_0x5b728c,_0x3f84e8){var _0x2b78a3={};var _0x327bd3={};var _0x5a6126;var _0x161eec;return db[_0xa324('0x3c')][_0xa324('0x5f')]({'where':{'id':_0x2697c7[_0xa324('0x51')]['id']}})[_0xa324('0x1c')](handleEntityNotFound(_0x5b728c,null))['then'](function(_0x5cd640){if(_0x5cd640){_0x5a6126=_0x5cd640;_0x327bd3[_0xa324('0x3e')]=_[_0xa324('0x41')](db[_0xa324('0x85')][_0xa324('0x53')]);_0x327bd3[_0xa324('0x40')]=_[_0xa324('0x41')](_0x2697c7[_0xa324('0x40')]);_0x327bd3['filters']=_[_0xa324('0x43')](_0x327bd3['model'],_0x327bd3[_0xa324('0x40')]);_0x2b78a3['attributes']=_[_0xa324('0x43')](_0x327bd3['model'],qs[_0xa324('0x44')](_0x2697c7[_0xa324('0x40')]['fields']));_0x2b78a3['attributes']=_0x2b78a3['attributes']['length']?_0x2b78a3['attributes']:_0x327bd3[_0xa324('0x3e')];_0x2b78a3[_0xa324('0x49')]=qs[_0xa324('0x4a')](_0x2697c7[_0xa324('0x40')][_0xa324('0x4a')]);_0x2b78a3[_0xa324('0x4b')]=qs['filters'](_['pick'](_0x2697c7['query'],_0x327bd3[_0xa324('0x42')]));if(_0x2697c7[_0xa324('0x40')][_0xa324('0x4d')]){_0x2b78a3[_0xa324('0x4b')]=_[_0xa324('0x4e')](_0x2b78a3[_0xa324('0x4b')],{'$or':_[_0xa324('0x3f')](_0x2b78a3['attributes'],function(_0x2a836e){var _0x3f63b2={};_0x3f63b2[_0x2a836e]={'$like':'%'+_0x2697c7[_0xa324('0x40')][_0xa324('0x4d')]+'%'};return _0x3f63b2;})});}_0x2b78a3=_[_0xa324('0x4e')]({},_0x2b78a3,_0x2697c7[_0xa324('0x4f')]);return _0x5a6126[_0xa324('0xb5')](_0x2b78a3);}})[_0xa324('0x1c')](function(_0x4ce194){if(_0x4ce194){_0x161eec=_0x4ce194[_0xa324('0x46')];if(!_0x2697c7['query'][_0xa324('0x47')]('nolimit')){_0x2b78a3[_0xa324('0x2b')]=qs[_0xa324('0x2b')](_0x2697c7[_0xa324('0x40')]['limit']);_0x2b78a3[_0xa324('0x2a')]=qs[_0xa324('0x2a')](_0x2697c7[_0xa324('0x40')][_0xa324('0x2a')]);}return _0x5a6126['getAgents'](_0x2b78a3);}})[_0xa324('0x1c')](function(_0x1b15c5){if(_0x1b15c5){return _0x1b15c5?{'count':_0x161eec,'rows':_0x1b15c5}:null;}})[_0xa324('0x1c')](respondWithResult(_0x5b728c,null))[_0xa324('0x26')](handleError(_0x5b728c,null));};