Built motion from commit (unavailable).|2.3.4
[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 _0xcdf2=['result','catch','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','reject','update','destroy','then','get','UserProfileResource','stack','name','send','index','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','model','keys','query','filters','intersection','fields','attributes','length','nolimit','sort','pick','filter','where','merge','type','key','VIRTUAL','field','options','findAll','rows','show','params','MailServerIn','includeAll','include','find','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','order','removeDispositions','ids','addAnswer','map','CannedAnswer','removeAnswers','email','isNil','active','description','cservice','cauthentication','cuser','pass','cpassword','authentication','host','port','service','user','password','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','addSmtp','removeSmtp','setSmtp','addInteraction','omit','getInteractions','hasOwnProperty','MailInteraction','CmContact','Contact','User','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','DESC','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','auth','secure','sendMail','List\x20not\x20found','Contacts','defaults','messageId','subject','attach','Messages','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','to-csv','squel','crypto','jsforce','papaparse','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','../../config/utils','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','request','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','MailAccount,\x20%s,\x20%s','message'];(function(_0x2077c2,_0x275ab5){var _0x312f9f=function(_0x331435){while(--_0x331435){_0x2077c2['push'](_0x2077c2['shift']());}};_0x312f9f(++_0x275ab5);}(_0xcdf2,0x9b));var _0x2cdf=function(_0x57474e,_0x4178b8){_0x57474e=_0x57474e-0x0;var _0xfaae8c=_0xcdf2[_0x57474e];return _0xfaae8c;};'use strict';var pdf=require(_0x2cdf('0x0'));var emlformat=require(_0x2cdf('0x1'));var rimraf=require(_0x2cdf('0x2'));var zipdir=require(_0x2cdf('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x2cdf('0x4'));var Mustache=require(_0x2cdf('0x5'));var util=require(_0x2cdf('0x6'));var path=require(_0x2cdf('0x7'));var sox=require('sox');var csv=require(_0x2cdf('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x2cdf('0x9'));var crypto=require(_0x2cdf('0xa'));var jsforce=require(_0x2cdf('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x2cdf('0xc'));var authService=require('../../components/auth/service');var hardwareService=require(_0x2cdf('0xd'));var Redis=require(_0x2cdf('0xe'));var qs=require(_0x2cdf('0xf'));var logger=require(_0x2cdf('0x10'))('api');var utils=require(_0x2cdf('0x11'));var config=require('../../config/environment');var db=require(_0x2cdf('0x12'))['db'];config[_0x2cdf('0x13')]=_['defaults'](config[_0x2cdf('0x13')],{'host':_0x2cdf('0x14'),'port':0x18eb});var socket=require(_0x2cdf('0x15'))(new Redis(config['redis']));require('./mailAccount.socket')[_0x2cdf('0x16')](socket);var jayson=require(_0x2cdf('0x17'));var client=jayson[_0x2cdf('0x18')][_0x2cdf('0x19')]({'port':0x232b});function respondWithRpcPromise(_0x2419bc,_0x4e01f1,_0x26df51,_0x2dd507){return new BPromise(function(_0x4fd33e,_0x58ee82){var _0x281c92=_0x2dd507||client;return _0x281c92[_0x2cdf('0x1a')](_0x2419bc,_0x26df51)['then'](function(_0x1fc004){logger[_0x2cdf('0x1b')]('MailAccount,\x20%s,\x20%s',_0x4e01f1,_0x2cdf('0x1c'));logger[_0x2cdf('0x1d')](_0x2cdf('0x1e'),_0x4e01f1,_0x2cdf('0x1c'),JSON['stringify'](_0x1fc004));if(_0x1fc004[_0x2cdf('0x1f')]){if(_0x1fc004[_0x2cdf('0x1f')][_0x2cdf('0x20')]===0x1f4){logger['error'](_0x2cdf('0x21'),_0x4e01f1,_0x1fc004[_0x2cdf('0x1f')]['message']);return _0x58ee82(_0x1fc004[_0x2cdf('0x1f')]['message']);}logger[_0x2cdf('0x1f')](_0x2cdf('0x21'),_0x4e01f1,_0x1fc004[_0x2cdf('0x1f')][_0x2cdf('0x22')]);return _0x4fd33e(_0x1fc004[_0x2cdf('0x1f')][_0x2cdf('0x22')]);}else{logger[_0x2cdf('0x1b')]('MailAccount,\x20%s,\x20%s',_0x4e01f1,'request\x20sent');_0x4fd33e(_0x1fc004[_0x2cdf('0x23')]['message']);}})[_0x2cdf('0x24')](function(_0x2ec259){logger[_0x2cdf('0x1f')]('MailAccount,\x20%s,\x20%s',_0x4e01f1,_0x2ec259);_0x58ee82(_0x2ec259);});});}function respondWithStatusCode(_0x46fae2,_0x1ed131){_0x1ed131=_0x1ed131||0xcc;return function(_0x6d1825){if(_0x6d1825){return _0x46fae2[_0x2cdf('0x25')](_0x1ed131);}return _0x46fae2['status'](_0x1ed131)[_0x2cdf('0x26')]();};}function respondWithResult(_0x18bcb2,_0x36c6a7){_0x36c6a7=_0x36c6a7||0xc8;return function(_0x3cfc61){if(_0x3cfc61){return _0x18bcb2[_0x2cdf('0x27')](_0x36c6a7)['json'](_0x3cfc61);}};}function respondWithFilteredResult(_0x423fc1,_0x290407){return function(_0x3c4879){if(_0x3c4879){var _0x53fa25=_0x3c4879[_0x2cdf('0x28')],_0x5f3d7d=_0x290407['offset'],_0x587f3a=_0x290407[_0x2cdf('0x29')]+_0x290407[_0x2cdf('0x2a')],_0x391ded;if(_0x587f3a>=_0x53fa25){_0x587f3a=_0x53fa25;_0x391ded=0xc8;}else{_0x391ded=0xce;}_0x423fc1[_0x2cdf('0x27')](_0x391ded);return _0x423fc1[_0x2cdf('0x2b')](_0x2cdf('0x2c'),_0x5f3d7d+'-'+_0x587f3a+'/'+_0x53fa25)[_0x2cdf('0x2d')](_0x3c4879);}return null;};}function patchUpdates(_0x5af476){return function(_0x5123cd){try{jsonpatch[_0x2cdf('0x2e')](_0x5123cd,_0x5af476,!![]);}catch(_0x349c12){return BPromise[_0x2cdf('0x2f')](_0x349c12);}return _0x5123cd['save']();};}function saveUpdates(_0x57447a,_0x495abc){return function(_0x34bb95){if(_0x34bb95){return _0x34bb95[_0x2cdf('0x30')](_0x57447a)['then'](function(_0x566835){return _0x566835;});}return null;};}function removeEntity(_0x177b66,_0x531c4b){return function(_0x5ee4b2){if(_0x5ee4b2){return _0x5ee4b2[_0x2cdf('0x31')]()[_0x2cdf('0x32')](function(){var _0x7f67e4=_0x5ee4b2[_0x2cdf('0x33')]({'plain':!![]});var _0x2a2c03='MailAccounts';return db[_0x2cdf('0x34')][_0x2cdf('0x31')]({'where':{'type':_0x2a2c03,'resourceId':_0x7f67e4['id']}})[_0x2cdf('0x32')](function(){return _0x5ee4b2;});})[_0x2cdf('0x32')](function(){_0x177b66[_0x2cdf('0x27')](0xcc)[_0x2cdf('0x26')]();});}};}function handleEntityNotFound(_0x509d32,_0x325460){return function(_0x3ba7e0){if(!_0x3ba7e0){_0x509d32[_0x2cdf('0x25')](0x194);}return _0x3ba7e0;};}function handleError(_0x59c755,_0x1131de){_0x1131de=_0x1131de||0x1f4;return function(_0x39b8be){logger[_0x2cdf('0x1f')](_0x39b8be[_0x2cdf('0x35')]);if(_0x39b8be['name']){delete _0x39b8be[_0x2cdf('0x36')];}_0x59c755['status'](_0x1131de)[_0x2cdf('0x37')](_0x39b8be);};}exports[_0x2cdf('0x38')]=function(_0x4fd364,_0x52da40){var _0x3fa3d1={'include':[{'model':db['MailServerIn'],'as':_0x2cdf('0x39')},{'model':db[_0x2cdf('0x3a')],'as':_0x2cdf('0x3b')},{'model':db[_0x2cdf('0x3c')],'as':_0x2cdf('0x3d')}]},_0x22018a={},_0x1deb73={'count':0x0,'rows':[]};var _0x1e7ce5=db[_0x2cdf('0x3e')][_0x2cdf('0x3f')];_0x22018a[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](_0x1e7ce5);_0x22018a[_0x2cdf('0x42')]=_[_0x2cdf('0x41')](_0x4fd364[_0x2cdf('0x42')]);_0x22018a[_0x2cdf('0x43')]=_[_0x2cdf('0x44')](_0x22018a[_0x2cdf('0x40')],_0x22018a['query']);_0x3fa3d1['attributes']=_[_0x2cdf('0x44')](_0x22018a[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x4fd364[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0x3fa3d1[_0x2cdf('0x46')]=_0x3fa3d1['attributes'][_0x2cdf('0x47')]?_0x3fa3d1[_0x2cdf('0x46')]:_0x22018a['model'];if(!_0x4fd364[_0x2cdf('0x42')]['hasOwnProperty'](_0x2cdf('0x48'))){_0x3fa3d1['limit']=qs[_0x2cdf('0x2a')](_0x4fd364['query'][_0x2cdf('0x2a')]);_0x3fa3d1['offset']=qs['offset'](_0x4fd364['query'][_0x2cdf('0x29')]);}_0x3fa3d1['order']=qs['sort'](_0x4fd364['query'][_0x2cdf('0x49')]);_0x3fa3d1['where']=qs[_0x2cdf('0x43')](_[_0x2cdf('0x4a')](_0x4fd364[_0x2cdf('0x42')],_0x22018a[_0x2cdf('0x43')]));if(_0x4fd364[_0x2cdf('0x42')][_0x2cdf('0x4b')]){_0x3fa3d1[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0x3fa3d1[_0x2cdf('0x4c')],{'$or':_['map'](_0x1e7ce5,function(_0x4e8e08){if(_0x4e8e08[_0x2cdf('0x4e')][_0x2cdf('0x4f')]!==_0x2cdf('0x50')){var _0x51597e={};_0x51597e[_0x4e8e08[_0x2cdf('0x51')]]={'$like':'%'+_0x4fd364['query'][_0x2cdf('0x4b')]+'%'};return _0x51597e;}})});}_0x3fa3d1=_[_0x2cdf('0x4d')]({},_0x3fa3d1,_0x4fd364[_0x2cdf('0x52')]);var _0x31a5f1={'where':_0x3fa3d1[_0x2cdf('0x4c')]};return db['MailAccount'][_0x2cdf('0x28')](_0x31a5f1)[_0x2cdf('0x32')](function(_0x49aa59){_0x1deb73[_0x2cdf('0x28')]=_0x49aa59;if(_0x4fd364[_0x2cdf('0x42')]['includeAll']){_0x3fa3d1['include']=[{'all':!![]}];}return db[_0x2cdf('0x3e')][_0x2cdf('0x53')](_0x3fa3d1);})['then'](function(_0x2eee65){_0x1deb73[_0x2cdf('0x54')]=_0x2eee65;return _0x1deb73;})[_0x2cdf('0x32')](respondWithFilteredResult(_0x52da40,_0x3fa3d1))[_0x2cdf('0x24')](handleError(_0x52da40,null));};exports[_0x2cdf('0x55')]=function(_0x1fc6f3,_0x91caab){var _0x27befc={'raw':![],'where':{'id':_0x1fc6f3[_0x2cdf('0x56')]['id']},'include':[{'model':db[_0x2cdf('0x57')],'as':_0x2cdf('0x39')},{'model':db[_0x2cdf('0x3a')],'as':'Smtp'},{'model':db[_0x2cdf('0x3c')],'as':_0x2cdf('0x3d')}]},_0x4dca38={};_0x4dca38[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db['MailAccount']['rawAttributes']);_0x4dca38[_0x2cdf('0x42')]=_[_0x2cdf('0x41')](_0x1fc6f3[_0x2cdf('0x42')]);_0x4dca38[_0x2cdf('0x43')]=_['intersection'](_0x4dca38[_0x2cdf('0x40')],_0x4dca38[_0x2cdf('0x42')]);_0x27befc[_0x2cdf('0x46')]=_[_0x2cdf('0x44')](_0x4dca38[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x1fc6f3[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0x27befc[_0x2cdf('0x46')]=_0x27befc[_0x2cdf('0x46')][_0x2cdf('0x47')]?_0x27befc[_0x2cdf('0x46')]:_0x4dca38[_0x2cdf('0x40')];if(_0x1fc6f3['query'][_0x2cdf('0x58')]){_0x27befc[_0x2cdf('0x59')]=[{'all':!![]}];}_0x27befc=_[_0x2cdf('0x4d')]({},_0x27befc,_0x1fc6f3['options']);return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')](_0x27befc)[_0x2cdf('0x32')](handleEntityNotFound(_0x91caab,null))[_0x2cdf('0x32')](respondWithResult(_0x91caab,null))[_0x2cdf('0x24')](handleError(_0x91caab,null));};exports[_0x2cdf('0x30')]=function(_0x1daa3b,_0x359241){if(_0x1daa3b[_0x2cdf('0x5b')]['id']){delete _0x1daa3b['body']['id'];}return db['MailAccount'][_0x2cdf('0x5a')]({'where':{'id':_0x1daa3b[_0x2cdf('0x56')]['id']},'include':[{'model':db[_0x2cdf('0x57')],'as':_0x2cdf('0x39')},{'model':db[_0x2cdf('0x3a')],'as':_0x2cdf('0x3b')},{'model':db[_0x2cdf('0x3c')],'as':'mandatoryDispositionPause'}]})[_0x2cdf('0x32')](handleEntityNotFound(_0x359241,null))[_0x2cdf('0x32')](saveUpdates(_0x1daa3b[_0x2cdf('0x5b')],null))[_0x2cdf('0x32')](function(_0x13f14b){if(_0x13f14b&&_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x39')]){return db[_0x2cdf('0x57')]['update'](_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x39')],{'where':{'MailAccountId':_0x13f14b['id']}})[_0x2cdf('0x32')](function(){return _0x13f14b;});}return _0x13f14b;})[_0x2cdf('0x32')](function(_0x5f1cba){if(_0x5f1cba&&_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x3b')]){return db['MailServerOut'][_0x2cdf('0x30')](_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x3b')],{'where':{'MailAccountId':_0x5f1cba['id']}})[_0x2cdf('0x32')](function(){return _0x5f1cba;});}return _0x5f1cba;})['then'](function(_0x423bf2){if(_0x423bf2&&_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x3d')]){return db['Pause'][_0x2cdf('0x30')](_0x1daa3b[_0x2cdf('0x5b')][_0x2cdf('0x3d')],{'where':{'MailAccountId':_0x423bf2['id']}})[_0x2cdf('0x32')](function(){return _0x423bf2;});}return _0x423bf2;})[_0x2cdf('0x32')](respondWithResult(_0x359241,null))[_0x2cdf('0x24')](handleError(_0x359241,null));};exports[_0x2cdf('0x5c')]=function(_0x423456,_0x1203b2){return db[_0x2cdf('0x3e')][_0x2cdf('0x5c')]()[_0x2cdf('0x32')](respondWithResult(_0x1203b2,null))[_0x2cdf('0x24')](handleError(_0x1203b2,null));};exports[_0x2cdf('0x5d')]=function(_0x12f1d9,_0x4c7443,_0x2a2063){if(_0x12f1d9[_0x2cdf('0x5b')]['id']){delete _0x12f1d9[_0x2cdf('0x5b')]['id'];}return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x12f1d9['params']['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x4c7443,null))['then'](function(_0x562304){if(_0x562304){_0x12f1d9[_0x2cdf('0x5b')][_0x2cdf('0x5e')]=_0x562304['id'];return db[_0x2cdf('0x5f')][_0x2cdf('0x60')](_0x12f1d9[_0x2cdf('0x5b')]);}})[_0x2cdf('0x32')](respondWithResult(_0x4c7443,null))['catch'](handleError(_0x4c7443,null));};exports[_0x2cdf('0x61')]=function(_0x42532d,_0x2f88b9,_0x23a501){var _0x21b7f9={'raw':![],'where':{}};var _0x5d125c={};var _0x1ef84c={'count':0x0,'rows':[]};return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x42532d[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x2f88b9,null))[_0x2cdf('0x32')](function(_0x4e52fc){if(_0x4e52fc){_0x5d125c[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db[_0x2cdf('0x5f')]['rawAttributes']);_0x5d125c[_0x2cdf('0x42')]=_[_0x2cdf('0x41')](_0x42532d[_0x2cdf('0x42')]);_0x5d125c['filters']=_[_0x2cdf('0x44')](_0x5d125c[_0x2cdf('0x40')],_0x5d125c[_0x2cdf('0x42')]);_0x21b7f9['attributes']=_[_0x2cdf('0x44')](_0x5d125c[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x42532d[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0x21b7f9[_0x2cdf('0x46')]=_0x21b7f9['attributes'][_0x2cdf('0x47')]?_0x21b7f9[_0x2cdf('0x46')]:_0x5d125c[_0x2cdf('0x40')];if(!_0x42532d[_0x2cdf('0x42')]['hasOwnProperty']('nolimit')){_0x21b7f9[_0x2cdf('0x2a')]=qs['limit'](_0x42532d[_0x2cdf('0x42')]['limit']);_0x21b7f9[_0x2cdf('0x29')]=qs[_0x2cdf('0x29')](_0x42532d[_0x2cdf('0x42')][_0x2cdf('0x29')]);}_0x21b7f9[_0x2cdf('0x63')]=qs[_0x2cdf('0x49')](_0x42532d['query'][_0x2cdf('0x49')]);_0x21b7f9[_0x2cdf('0x4c')]=qs['filters'](_[_0x2cdf('0x4a')](_0x42532d[_0x2cdf('0x42')],_0x5d125c[_0x2cdf('0x43')]));_0x21b7f9['where']['MailAccountId']=_0x4e52fc['id'];if(_0x42532d[_0x2cdf('0x42')][_0x2cdf('0x4b')]){_0x21b7f9['where']=_[_0x2cdf('0x4d')](_0x21b7f9[_0x2cdf('0x4c')],{'$or':_['map'](_0x21b7f9[_0x2cdf('0x46')],function(_0x4d56d2){var _0xd1c830={};_0xd1c830[_0x4d56d2]={'$like':'%'+_0x42532d['query'][_0x2cdf('0x4b')]+'%'};return _0xd1c830;})});}_0x21b7f9=_[_0x2cdf('0x4d')]({},_0x21b7f9,_0x42532d[_0x2cdf('0x52')]);return db[_0x2cdf('0x5f')][_0x2cdf('0x28')]({'where':_0x21b7f9['where']})[_0x2cdf('0x32')](function(_0x58dd24){_0x1ef84c[_0x2cdf('0x28')]=_0x58dd24;if(_0x42532d[_0x2cdf('0x42')][_0x2cdf('0x58')]){_0x21b7f9['include']=[{'all':!![]}];}return db[_0x2cdf('0x5f')]['findAll'](_0x21b7f9);})[_0x2cdf('0x32')](function(_0x3e7c10){_0x1ef84c[_0x2cdf('0x54')]=_0x3e7c10;return _0x1ef84c;});}})['then'](respondWithFilteredResult(_0x2f88b9,_0x21b7f9))['catch'](handleError(_0x2f88b9,null));};exports[_0x2cdf('0x64')]=function(_0x11450f,_0x459bf4,_0x1b985b){var _0x5934cc;return db['MailAccount']['find']({'where':{'id':_0x11450f[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x459bf4,null))[_0x2cdf('0x32')](function(_0x340ae0){if(_0x340ae0){return _0x340ae0[_0x2cdf('0x64')](_0x11450f['query'][_0x2cdf('0x65')]);}})[_0x2cdf('0x32')](respondWithStatusCode(_0x459bf4,null))['catch'](handleError(_0x459bf4,null));};exports[_0x2cdf('0x66')]=function(_0x2f9ff1,_0x302a4c,_0x426ccb){if(_0x2f9ff1['body']['id']){delete _0x2f9ff1[_0x2cdf('0x5b')]['id'];}return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x2f9ff1[_0x2cdf('0x56')]['id']}})['then'](handleEntityNotFound(_0x302a4c,null))[_0x2cdf('0x32')](function(_0x368f36){if(_0x368f36){_0x2f9ff1[_0x2cdf('0x5b')][_0x2cdf('0x5e')]=_0x368f36['id'];return db['CannedAnswer'][_0x2cdf('0x60')](_0x2f9ff1[_0x2cdf('0x5b')]);}})[_0x2cdf('0x32')](respondWithResult(_0x302a4c,null))[_0x2cdf('0x24')](handleError(_0x302a4c,null));};exports['getAnswers']=function(_0x4bdd13,_0x3fbb75,_0x285f42){var _0x2e6c4e={'raw':![],'where':{}};var _0x4fe5c2={};var _0x18eb7a={'count':0x0,'rows':[]};return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x4bdd13[_0x2cdf('0x56')]['id']}})['then'](handleEntityNotFound(_0x3fbb75,null))[_0x2cdf('0x32')](function(_0x1ccfbf){if(_0x1ccfbf){_0x4fe5c2[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db['CannedAnswer'][_0x2cdf('0x3f')]);_0x4fe5c2['query']=_[_0x2cdf('0x41')](_0x4bdd13[_0x2cdf('0x42')]);_0x4fe5c2['filters']=_[_0x2cdf('0x44')](_0x4fe5c2[_0x2cdf('0x40')],_0x4fe5c2['query']);_0x2e6c4e[_0x2cdf('0x46')]=_['intersection'](_0x4fe5c2['model'],qs[_0x2cdf('0x45')](_0x4bdd13[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0x2e6c4e[_0x2cdf('0x46')]=_0x2e6c4e[_0x2cdf('0x46')]['length']?_0x2e6c4e[_0x2cdf('0x46')]:_0x4fe5c2[_0x2cdf('0x40')];if(!_0x4bdd13['query']['hasOwnProperty']('nolimit')){_0x2e6c4e[_0x2cdf('0x2a')]=qs[_0x2cdf('0x2a')](_0x4bdd13[_0x2cdf('0x42')]['limit']);_0x2e6c4e['offset']=qs[_0x2cdf('0x29')](_0x4bdd13[_0x2cdf('0x42')][_0x2cdf('0x29')]);}_0x2e6c4e['order']=qs[_0x2cdf('0x49')](_0x4bdd13[_0x2cdf('0x42')][_0x2cdf('0x49')]);_0x2e6c4e['where']=qs['filters'](_['pick'](_0x4bdd13[_0x2cdf('0x42')],_0x4fe5c2[_0x2cdf('0x43')]));_0x2e6c4e[_0x2cdf('0x4c')][_0x2cdf('0x5e')]=_0x1ccfbf['id'];if(_0x4bdd13['query'][_0x2cdf('0x4b')]){_0x2e6c4e[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0x2e6c4e[_0x2cdf('0x4c')],{'$or':_[_0x2cdf('0x67')](_0x2e6c4e[_0x2cdf('0x46')],function(_0x100e49){var _0x154acb={};_0x154acb[_0x100e49]={'$like':'%'+_0x4bdd13[_0x2cdf('0x42')]['filter']+'%'};return _0x154acb;})});}_0x2e6c4e=_[_0x2cdf('0x4d')]({},_0x2e6c4e,_0x4bdd13[_0x2cdf('0x52')]);return db[_0x2cdf('0x68')][_0x2cdf('0x28')]({'where':_0x2e6c4e[_0x2cdf('0x4c')]})[_0x2cdf('0x32')](function(_0x1b66a2){_0x18eb7a[_0x2cdf('0x28')]=_0x1b66a2;if(_0x4bdd13[_0x2cdf('0x42')][_0x2cdf('0x58')]){_0x2e6c4e[_0x2cdf('0x59')]=[{'all':!![]}];}return db['CannedAnswer'][_0x2cdf('0x53')](_0x2e6c4e);})[_0x2cdf('0x32')](function(_0x37d3d9){_0x18eb7a[_0x2cdf('0x54')]=_0x37d3d9;return _0x18eb7a;});}})['then'](respondWithFilteredResult(_0x3fbb75,_0x2e6c4e))[_0x2cdf('0x24')](handleError(_0x3fbb75,null));};exports[_0x2cdf('0x69')]=function(_0x5d6136,_0x1b684a,_0x1f90ed){var _0x3f784d;return db['MailAccount'][_0x2cdf('0x5a')]({'where':{'id':_0x5d6136['params']['id']}})['then'](handleEntityNotFound(_0x1b684a,null))[_0x2cdf('0x32')](function(_0x16a641){if(_0x16a641){return _0x16a641['removeAnswers'](_0x5d6136[_0x2cdf('0x42')][_0x2cdf('0x65')]);}})[_0x2cdf('0x32')](respondWithStatusCode(_0x1b684a,null))[_0x2cdf('0x24')](handleError(_0x1b684a,null));};exports['create']=function(_0x13d59b,_0x3c6ece){var _0x1832d2={'name':_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x36')],'key':_0x13d59b[_0x2cdf('0x5b')]['key'],'email':_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x6a')],'ListId':_0x13d59b[_0x2cdf('0x5b')]['ListId'],'active':!_[_0x2cdf('0x6b')](_0x13d59b['body'][_0x2cdf('0x6c')])?_0x13d59b['body'][_0x2cdf('0x6c')]:!![],'description':_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x6d')]||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x6e')])){if(_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x6f')]){_0x1832d2[_0x2cdf('0x39')]['user']=_0x1832d2[_0x2cdf('0x3b')]['user']=_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x70')];_0x1832d2['Imap']['password']=_0x1832d2[_0x2cdf('0x3b')][_0x2cdf('0x71')]=_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x72')];}else{_0x1832d2[_0x2cdf('0x39')][_0x2cdf('0x73')]=_0x1832d2['Smtp'][_0x2cdf('0x73')]=![];}_0x1832d2[_0x2cdf('0x39')][_0x2cdf('0x74')]=_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x39')][_0x2cdf('0x74')];_0x1832d2['Imap'][_0x2cdf('0x75')]=_0x13d59b[_0x2cdf('0x5b')]['Imap'][_0x2cdf('0x75')];_0x1832d2[_0x2cdf('0x3b')][_0x2cdf('0x74')]=_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x3b')][_0x2cdf('0x74')];_0x1832d2[_0x2cdf('0x3b')][_0x2cdf('0x75')]=_0x13d59b[_0x2cdf('0x5b')][_0x2cdf('0x3b')]['port'];}else{_0x1832d2['Imap'][_0x2cdf('0x76')]=_0x1832d2['Smtp']['service']=_0x13d59b['body'][_0x2cdf('0x6e')];_0x1832d2['Imap'][_0x2cdf('0x77')]=_0x1832d2[_0x2cdf('0x3b')]['user']=_0x13d59b['body']['cuser'];_0x1832d2[_0x2cdf('0x39')][_0x2cdf('0x78')]=_0x1832d2[_0x2cdf('0x3b')][_0x2cdf('0x71')]=_0x13d59b['body'][_0x2cdf('0x72')];}return db[_0x2cdf('0x3e')][_0x2cdf('0x60')](_0x1832d2,{'include':[{'model':db[_0x2cdf('0x3a')],'as':_0x2cdf('0x3b')},{'model':db[_0x2cdf('0x57')],'as':'Imap'}]})[_0x2cdf('0x32')](function(_0x1e9da3){var _0x1a5d0d=_0x13d59b[_0x2cdf('0x77')][_0x2cdf('0x33')]({'plain':!![]});if(!_0x1a5d0d)throw new Error(_0x2cdf('0x79'));if(_0x1a5d0d[_0x2cdf('0x7a')]===_0x2cdf('0x77')){var _0x4a3aac=_0x1e9da3[_0x2cdf('0x33')]({'plain':!![]});return db[_0x2cdf('0x7b')][_0x2cdf('0x5a')]({'where':{'name':_0x2cdf('0x7c'),'userProfileId':_0x1a5d0d[_0x2cdf('0x7d')]},'raw':!![]})[_0x2cdf('0x32')](function(_0x3e0e79){if(_0x3e0e79&&_0x3e0e79['autoAssociation']===0x0){return db[_0x2cdf('0x34')][_0x2cdf('0x60')]({'name':_0x4a3aac['name'],'resourceId':_0x4a3aac['id'],'type':_0x3e0e79[_0x2cdf('0x36')],'sectionId':_0x3e0e79['id']},{})[_0x2cdf('0x32')](function(){return _0x1e9da3;});}else{return _0x1e9da3;}})[_0x2cdf('0x24')](function(_0x13e0ee){logger[_0x2cdf('0x1f')](_0x2cdf('0x7e'),_0x13e0ee);throw _0x13e0ee;});}return _0x1e9da3;})[_0x2cdf('0x32')](respondWithResult(_0x3c6ece,0xc9))[_0x2cdf('0x24')](handleError(_0x3c6ece,null));};exports[_0x2cdf('0x7f')]=function(_0x17670b,_0x15b783,_0x5e9dde){return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x17670b[_0x2cdf('0x56')]['id']}})['then'](handleEntityNotFound(_0x15b783,null))[_0x2cdf('0x32')](function(_0xdbbd7){if(_0xdbbd7){return _0xdbbd7[_0x2cdf('0x7f')]();}return null;})[_0x2cdf('0x32')](respondWithResult(_0x15b783,null))[_0x2cdf('0x24')](handleError(_0x15b783,null));};exports[_0x2cdf('0x80')]=function(_0x27aabb,_0x179890,_0x16d585){if(_0x27aabb[_0x2cdf('0x5b')]['id']){delete _0x27aabb[_0x2cdf('0x5b')]['id'];}return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x27aabb[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x179890,null))[_0x2cdf('0x32')](function(_0x26733d){if(_0x26733d){_0x27aabb[_0x2cdf('0x5b')][_0x2cdf('0x5e')]=_0x26733d['id'];return db[_0x2cdf('0x57')]['create'](_0x27aabb[_0x2cdf('0x5b')]);}})[_0x2cdf('0x32')](respondWithResult(_0x179890,null))[_0x2cdf('0x24')](handleError(_0x179890,null));};exports[_0x2cdf('0x81')]=function(_0x2542ba,_0x5134e2,_0x2ca741){return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x2542ba['params']['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x5134e2,null))['then'](function(_0x29bda3){if(_0x29bda3){return _0x29bda3['setImap'](null);}return null;})[_0x2cdf('0x32')](respondWithStatusCode(_0x5134e2,null))[_0x2cdf('0x24')](handleError(_0x5134e2,null));};exports['getSmtp']=function(_0x402565,_0x587d1b,_0x23c2b6){return db[_0x2cdf('0x3e')][_0x2cdf('0x62')]({'where':{'id':_0x402565['params']['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x587d1b,null))['then'](function(_0x4f5be8){if(_0x4f5be8){return _0x4f5be8['getSmtp']();}return null;})['then'](respondWithResult(_0x587d1b,null))['catch'](handleError(_0x587d1b,null));};exports[_0x2cdf('0x82')]=function(_0x997d8e,_0x66c18a,_0x21d6e4){if(_0x997d8e[_0x2cdf('0x5b')]['id']){delete _0x997d8e[_0x2cdf('0x5b')]['id'];}return db[_0x2cdf('0x3e')]['find']({'where':{'id':_0x997d8e[_0x2cdf('0x56')]['id']}})['then'](handleEntityNotFound(_0x66c18a,null))[_0x2cdf('0x32')](function(_0x1b831e){if(_0x1b831e){_0x997d8e['body'][_0x2cdf('0x5e')]=_0x1b831e['id'];return db[_0x2cdf('0x3a')][_0x2cdf('0x60')](_0x997d8e[_0x2cdf('0x5b')]);}})[_0x2cdf('0x32')](respondWithResult(_0x66c18a,null))[_0x2cdf('0x24')](handleError(_0x66c18a,null));};exports[_0x2cdf('0x83')]=function(_0x3c8a9b,_0x57ffb3,_0x320eee){return db[_0x2cdf('0x3e')][_0x2cdf('0x62')]({'where':{'id':_0x3c8a9b['params']['id']}})['then'](handleEntityNotFound(_0x57ffb3,null))[_0x2cdf('0x32')](function(_0x62bc93){if(_0x62bc93){return _0x62bc93[_0x2cdf('0x84')](null);}return null;})[_0x2cdf('0x32')](respondWithStatusCode(_0x57ffb3,null))[_0x2cdf('0x24')](handleError(_0x57ffb3,null));};exports['addInteraction']=function(_0x27781e,_0x510290,_0x4a99cf){return db['MailInteraction'][_0x2cdf('0x5a')]({'where':{'id':_0x27781e['params']['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x510290,null))['then'](function(_0x222b8c){if(_0x222b8c){return _0x222b8c[_0x2cdf('0x85')](_0x27781e[_0x2cdf('0x5b')]['ids'],_[_0x2cdf('0x86')](_0x27781e[_0x2cdf('0x5b')],[_0x2cdf('0x65'),'id'])||{});}})[_0x2cdf('0x32')](respondWithResult(_0x510290,null))[_0x2cdf('0x24')](handleError(_0x510290,null));};exports[_0x2cdf('0x87')]=function(_0x3951bf,_0x51fbde,_0xb70ffc){var _0xc51ffe={'raw':![],'where':{}};var _0x44f967={};var _0x779ce5={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x3951bf[_0x2cdf('0x56')]['id']}})['then'](handleEntityNotFound(_0x51fbde,null))[_0x2cdf('0x32')](function(_0x8e8305){if(_0x8e8305){_0x44f967[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db['MailInteraction'][_0x2cdf('0x3f')]);_0x44f967['query']=_[_0x2cdf('0x41')](_0x3951bf[_0x2cdf('0x42')]);_0x44f967[_0x2cdf('0x43')]=_[_0x2cdf('0x44')](_0x44f967['model'],_0x44f967['query']);_0xc51ffe[_0x2cdf('0x46')]=_['intersection'](_0x44f967[_0x2cdf('0x40')],qs['fields'](_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0xc51ffe[_0x2cdf('0x46')]=_0xc51ffe[_0x2cdf('0x46')][_0x2cdf('0x47')]?_0xc51ffe['attributes']:_0x44f967[_0x2cdf('0x40')];if(!_0x3951bf['query'][_0x2cdf('0x88')](_0x2cdf('0x48'))){_0xc51ffe[_0x2cdf('0x2a')]=qs[_0x2cdf('0x2a')](_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x2a')]);_0xc51ffe[_0x2cdf('0x29')]=qs['offset'](_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x29')]);}_0xc51ffe[_0x2cdf('0x63')]=qs[_0x2cdf('0x49')](_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x49')]);_0xc51ffe[_0x2cdf('0x4c')]=qs[_0x2cdf('0x43')](_[_0x2cdf('0x4a')](_0x3951bf[_0x2cdf('0x42')],_0x44f967['filters']));_0xc51ffe[_0x2cdf('0x4c')][_0x2cdf('0x5e')]=_0x8e8305['id'];if(_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x4b')]){_0xc51ffe['where']=_[_0x2cdf('0x4d')](_0xc51ffe[_0x2cdf('0x4c')],{'$or':_[_0x2cdf('0x67')](_0xc51ffe[_0x2cdf('0x46')],function(_0x413e5a){var _0x3042ce={};_0x3042ce[_0x413e5a]={'$like':'%'+_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x4b')]+'%'};return _0x3042ce;})});}_0xc51ffe=_[_0x2cdf('0x4d')]({},_0xc51ffe,_0x3951bf[_0x2cdf('0x52')]);return db[_0x2cdf('0x89')]['count']({'where':_0xc51ffe[_0x2cdf('0x4c')]})[_0x2cdf('0x32')](function(_0x5b276f){_0x779ce5[_0x2cdf('0x28')]=_0x5b276f;if(_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x58')]){_0xc51ffe['include']=[{'model':db[_0x2cdf('0x8a')],'as':_0x2cdf('0x8b'),'required':![]},{'model':db[_0x2cdf('0x8c')],'as':'Owner','attributes':[_0x2cdf('0x36'),_0x2cdf('0x8d'),_0x2cdf('0x8e')],'required':![]},{'model':db[_0x2cdf('0x8f')],'as':_0x2cdf('0x90'),'attributes':['id',_0x2cdf('0x36'),_0x2cdf('0x91')],'where':_0x3951bf[_0x2cdf('0x42')][_0x2cdf('0x92')]?{'id':_0x3951bf[_0x2cdf('0x42')]['tag']}:undefined,'required':_0x3951bf[_0x2cdf('0x42')]['tag']?!![]:![]}];}return db[_0x2cdf('0x89')][_0x2cdf('0x53')](_0xc51ffe);})[_0x2cdf('0x32')](function(_0x5a9e29){_0x779ce5['rows']=_0x5a9e29;return _0x779ce5;});}})[_0x2cdf('0x32')](respondWithFilteredResult(_0x51fbde,_0xc51ffe))[_0x2cdf('0x24')](handleError(_0x51fbde,null));};exports[_0x2cdf('0x93')]=function(_0x5ce14a,_0xf20878,_0x2da95f){return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x5ce14a[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0xf20878,null))[_0x2cdf('0x32')](function(_0x29a5b){if(_0x29a5b){return db[_0x2cdf('0x94')]['transaction'](function(_0x41d9f0){return db[_0x2cdf('0x95')][_0x2cdf('0x31')]({'where':{'MailAccountId':_0x5ce14a[_0x2cdf('0x56')]['id']},'transaction':_0x41d9f0})[_0x2cdf('0x32')](function(_0x119160){var _0x417c16=_[_0x2cdf('0x67')](_0x5ce14a[_0x2cdf('0x5b')],function(_0x1b96a8){_0x1b96a8['MailAccountId']=_0x5ce14a[_0x2cdf('0x56')]['id'];return _0x1b96a8;});return db[_0x2cdf('0x95')][_0x2cdf('0x96')](_0x417c16,{'transaction':_0x41d9f0});});})[_0x2cdf('0x32')](function(){return db[_0x2cdf('0x95')][_0x2cdf('0x97')]({'where':{'MailAccountId':_0x5ce14a[_0x2cdf('0x56')]['id']},'order':_0x2cdf('0x98')});});}})[_0x2cdf('0x32')](respondWithResult(_0xf20878,null))[_0x2cdf('0x24')](handleError(_0xf20878,null));};exports[_0x2cdf('0x99')]=function(_0x3db4b7,_0x21180d,_0x4be667){var _0x44de7b={};var _0x18ea44={};var _0x4c73b1;var _0xdf4da8;return db['MailAccount'][_0x2cdf('0x62')]({'where':{'id':_0x3db4b7['params']['id']}})['then'](handleEntityNotFound(_0x21180d,null))[_0x2cdf('0x32')](function(_0x49b3b7){if(_0x49b3b7){_0x4c73b1=_0x49b3b7;_0x18ea44['model']=_['keys'](db[_0x2cdf('0x95')][_0x2cdf('0x3f')]);_0x18ea44[_0x2cdf('0x42')]=_[_0x2cdf('0x41')](_0x3db4b7[_0x2cdf('0x42')]);_0x18ea44[_0x2cdf('0x43')]=_[_0x2cdf('0x44')](_0x18ea44[_0x2cdf('0x40')],_0x18ea44[_0x2cdf('0x42')]);_0x44de7b[_0x2cdf('0x46')]=_[_0x2cdf('0x44')](_0x18ea44[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x3db4b7[_0x2cdf('0x42')][_0x2cdf('0x45')]));_0x44de7b[_0x2cdf('0x46')]=_0x44de7b[_0x2cdf('0x46')][_0x2cdf('0x47')]?_0x44de7b[_0x2cdf('0x46')]:_0x18ea44[_0x2cdf('0x40')];_0x44de7b[_0x2cdf('0x63')]=qs[_0x2cdf('0x49')](_0x3db4b7[_0x2cdf('0x42')][_0x2cdf('0x49')]);_0x44de7b[_0x2cdf('0x4c')]=qs[_0x2cdf('0x43')](_['pick'](_0x3db4b7[_0x2cdf('0x42')],_0x18ea44[_0x2cdf('0x43')]));if(_0x3db4b7[_0x2cdf('0x42')][_0x2cdf('0x4b')]){_0x44de7b[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0x44de7b['where'],{'$or':_[_0x2cdf('0x67')](_0x44de7b[_0x2cdf('0x46')],function(_0x4fd774){var _0x44b25a={};_0x44b25a[_0x4fd774]={'$like':'%'+_0x3db4b7['query'][_0x2cdf('0x4b')]+'%'};return _0x44b25a;})});}_0x44de7b=_['merge']({},_0x44de7b,_0x3db4b7[_0x2cdf('0x52')]);return _0x4c73b1['getApplications'](_0x44de7b);}})[_0x2cdf('0x32')](function(_0x16f2b6){if(_0x16f2b6){_0xdf4da8=_0x16f2b6['length'];if(!_0x3db4b7['query'][_0x2cdf('0x88')](_0x2cdf('0x48'))){_0x44de7b['limit']=qs[_0x2cdf('0x2a')](_0x3db4b7[_0x2cdf('0x42')]['limit']);_0x44de7b[_0x2cdf('0x29')]=qs[_0x2cdf('0x29')](_0x3db4b7[_0x2cdf('0x42')][_0x2cdf('0x29')]);}return _0x4c73b1[_0x2cdf('0x99')](_0x44de7b);}})[_0x2cdf('0x32')](function(_0x377971){if(_0x377971){return _0x377971?{'count':_0xdf4da8,'rows':_0x377971}:null;}})[_0x2cdf('0x32')](respondWithResult(_0x21180d,null))['catch'](handleError(_0x21180d,null));};exports[_0x2cdf('0x9a')]=function(_0x273a49,_0xf75562,_0x3f9178){var _0xb30279={'raw':!![],'where':{}};var _0x42162e={};var _0x582ac8={'count':0x0,'rows':[]};return db[_0x2cdf('0x3e')][_0x2cdf('0x62')]({'where':{'id':_0x273a49[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0xf75562,null))[_0x2cdf('0x32')](function(_0x45886b){if(_0x45886b){_0x42162e[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db[_0x2cdf('0x9b')][_0x2cdf('0x3f')]);_0x42162e[_0x2cdf('0x42')]=_['keys'](_0x273a49[_0x2cdf('0x42')]);_0x42162e[_0x2cdf('0x43')]=_[_0x2cdf('0x44')](_0x42162e['model'],_0x42162e[_0x2cdf('0x42')]);_0xb30279['attributes']=_['intersection'](_0x42162e[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x273a49[_0x2cdf('0x42')]['fields']));_0xb30279[_0x2cdf('0x46')]=_0xb30279['attributes'][_0x2cdf('0x47')]?_0xb30279[_0x2cdf('0x46')]:_0x42162e[_0x2cdf('0x40')];if(!_0x273a49[_0x2cdf('0x42')]['hasOwnProperty'](_0x2cdf('0x48'))){_0xb30279['limit']=qs[_0x2cdf('0x2a')](_0x273a49[_0x2cdf('0x42')][_0x2cdf('0x2a')]);_0xb30279['offset']=qs[_0x2cdf('0x29')](_0x273a49[_0x2cdf('0x42')][_0x2cdf('0x29')]);}_0xb30279[_0x2cdf('0x63')]=qs[_0x2cdf('0x49')](_0x273a49[_0x2cdf('0x42')]['sort']);_0xb30279[_0x2cdf('0x4c')]=qs[_0x2cdf('0x43')](_[_0x2cdf('0x4a')](_0x273a49[_0x2cdf('0x42')],_0x42162e['filters']));_0xb30279['where'][_0x2cdf('0x5e')]=_0x45886b['id'];if(_0x273a49[_0x2cdf('0x42')][_0x2cdf('0x4b')]){_0xb30279[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0xb30279[_0x2cdf('0x4c')],{'$or':_['map'](_0xb30279[_0x2cdf('0x46')],function(_0x3a72b8){var _0x557786={};_0x557786[_0x3a72b8]={'$like':'%'+_0x273a49[_0x2cdf('0x42')][_0x2cdf('0x4b')]+'%'};return _0x557786;})});}if(_0x273a49['query']['$gte']){var _0x691431=_0x273a49[_0x2cdf('0x42')][_0x2cdf('0x9c')][_0x2cdf('0x9d')](',');var _0x347024={};_0x347024[_0x691431[0x0]]={'$gte':moment(_0x691431[0x1])[_0x2cdf('0x9e')](_0x2cdf('0x9f'))};_0xb30279[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0xb30279[_0x2cdf('0x4c')],_0x347024);}_0xb30279=_[_0x2cdf('0x4d')]({},_0xb30279,_0x273a49[_0x2cdf('0x52')]);return db[_0x2cdf('0x9b')][_0x2cdf('0x28')]({'where':_0xb30279[_0x2cdf('0x4c')]})[_0x2cdf('0x32')](function(_0x314a8b){_0x582ac8[_0x2cdf('0x28')]=_0x314a8b;if(_0x273a49[_0x2cdf('0x42')]['includeAll']){_0xb30279[_0x2cdf('0x59')]=[{'all':!![]}];}return db[_0x2cdf('0x9b')][_0x2cdf('0x53')](_0xb30279);})[_0x2cdf('0x32')](function(_0x56840b){_0x582ac8[_0x2cdf('0x54')]=_0x56840b;return _0x582ac8;});}})[_0x2cdf('0x32')](respondWithFilteredResult(_0xf75562,_0xb30279))['catch'](handleError(_0xf75562,null));};exports[_0x2cdf('0x37')]=function(_0x455383,_0x75a169,_0x49e579){var _0x2e5aea,_0x18424d={},_0x27efff;if(_0x455383[_0x2cdf('0x5b')]['to']){_0x27efff=_0x455383['body']['to'][_0x2cdf('0x9d')](',')[0x0];}return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x455383['params']['id']},'include':[{'model':db[_0x2cdf('0xa0')],'as':_0x2cdf('0xa1'),'include':[{'model':db[_0x2cdf('0x8a')],'as':'Contacts','where':{'email':_0x27efff},'limit':0x1,'order':[['updatedAt',_0x2cdf('0xa2')]]}]},{'model':db[_0x2cdf('0x3a')],'as':_0x2cdf('0x3b'),'raw':!![]}]})[_0x2cdf('0x32')](handleEntityNotFound(_0x75a169,null))[_0x2cdf('0x32')](function(_0x126c63){if(_0x126c63){_0x2e5aea=_0x126c63;if(_0x126c63[_0x2cdf('0x3b')]){if(_['isNil'](_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa3')])){_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa3')]=util[_0x2cdf('0x9e')](_0x2cdf('0xa4'),_0x126c63[_0x2cdf('0x36')],_0x126c63[_0x2cdf('0x6a')]||_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x77')]);}if(_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa5')]&&_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa5')][_0x2cdf('0x47')]){for(var _0xfa9043=0x0;_0xfa9043<_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa5')][_0x2cdf('0x47')];_0xfa9043+=0x1){_0x455383['body'][_0x2cdf('0xa5')][_0xfa9043]={'filename':_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa5')][_0xfa9043][_0x2cdf('0x36')],'path':path['join'](config[_0x2cdf('0xa6')],_0x2cdf('0xa7'),_0x455383['body'][_0x2cdf('0xa5')][_0xfa9043][_0x2cdf('0xa8')])};}}var _0x30e55e={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x76')])){if(_0x126c63[_0x2cdf('0x3b')]['authentication']){_0x30e55e[_0x2cdf('0xa9')]={'user':_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x77')],'pass':_0x126c63[_0x2cdf('0x3b')]['pass']};}_0x30e55e[_0x2cdf('0x74')]=_0x126c63[_0x2cdf('0x3b')]['host'];_0x30e55e['port']=_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x75')];_0x30e55e[_0x2cdf('0xaa')]=_0x126c63['Smtp'][_0x2cdf('0xaa')];}else{_0x30e55e[_0x2cdf('0x76')]=_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x76')];_0x30e55e[_0x2cdf('0xa9')]={'user':_0x126c63[_0x2cdf('0x3b')]['user'],'pass':_0x126c63[_0x2cdf('0x3b')][_0x2cdf('0x71')]};}return respondWithRpcPromise('SendMail',_0x2cdf('0xab'),{'account':_0x30e55e,'message':_0x455383['body']});}else{throw new Error(_0x2cdf('0xac'));}}})[_0x2cdf('0x32')](function(_0xb8886f){if(_0xb8886f){_0x18424d=_0xb8886f;if(_0x2e5aea[_0x2cdf('0xa1')]){if(_0x2e5aea[_0x2cdf('0xa1')][_0x2cdf('0xad')]['length']){return _0x2e5aea['List']['Contacts'][0x0];}else{return db[_0x2cdf('0x8a')][_0x2cdf('0x60')](_[_0x2cdf('0xae')](_0x455383[_0x2cdf('0x5b')],{'firstName':_0x455383['body']['to'],'email':_0x455383[_0x2cdf('0x5b')]['to'],'phone':_0x455383[_0x2cdf('0x5b')]['to'],'ListId':_0x2e5aea['ListId']}));}}else{throw new Error(_0x2cdf('0xac'));}}})[_0x2cdf('0x32')](function(_0x33eda6){if(_0x33eda6){var _0x220067={'UserId':_0x455383[_0x2cdf('0x77')]['id'],'ContactId':_0x33eda6['id'],'MailAccountId':_0x2e5aea['id'],'inReplyTo':_0x18424d[_0x2cdf('0xaf')],'to':_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xa3')],'cc':_0x455383[_0x2cdf('0x5b')]['cc'],'subject':_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xb0')],'attach':_0x455383[_0x2cdf('0x5b')][_0x2cdf('0xb1')],'firstMsgDirection':'out','lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','lastMsgBody':_0x455383[_0x2cdf('0x5b')][_0x2cdf('0x5b')],'Messages':[_[_0x2cdf('0x4d')](_0x455383['body'],{'messageId':_0x18424d[_0x2cdf('0xaf')],'sentAt':moment()[_0x2cdf('0x9e')](_0x2cdf('0x9f')),'read':!![],'MailAccountId':_0x2e5aea['id'],'UserId':_0x455383['user']['id'],'ContactId':_0x33eda6['id']})]};if(_0x455383[_0x2cdf('0x5b')]['Interaction']){_0x220067=_['merge'](_0x220067,_0x455383[_0x2cdf('0x5b')]['Interaction']);}return db[_0x2cdf('0x89')][_0x2cdf('0x60')](_0x220067,{'include':[{'model':db[_0x2cdf('0x9b')],'as':_0x2cdf('0xb2')}]});}})['then'](respondWithResult(_0x75a169,null))[_0x2cdf('0x24')](handleError(_0x75a169,null));};exports[_0x2cdf('0xb3')]=function(_0x15eedb,_0x42eae2,_0x3eb2ac){return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x15eedb[_0x2cdf('0x56')]['id']},'include':[{'model':db[_0x2cdf('0x3a')],'as':'Smtp','raw':!![]}]})[_0x2cdf('0x32')](handleEntityNotFound(_0x42eae2,null))[_0x2cdf('0x32')](function(_0x6766f5){if(_0x6766f5&&_0x6766f5[_0x2cdf('0x3b')]){var _0x99cc37={'id':_0x6766f5['id'],'tls':{'rejectUnauthorized':![]}};if(_0x6766f5[_0x2cdf('0x3b')]['service']){_0x99cc37[_0x2cdf('0x76')]=_0x6766f5['Smtp']['service'];}else{_0x99cc37[_0x2cdf('0x74')]=_0x6766f5[_0x2cdf('0x3b')][_0x2cdf('0x74')];_0x99cc37[_0x2cdf('0x75')]=_0x6766f5[_0x2cdf('0x3b')][_0x2cdf('0x75')];_0x99cc37[_0x2cdf('0xaa')]=_0x6766f5['Smtp'][_0x2cdf('0xaa')];}if(_0x6766f5[_0x2cdf('0x3b')][_0x2cdf('0x73')]){_0x99cc37[_0x2cdf('0xa9')]={'user':_0x6766f5[_0x2cdf('0x3b')]['user'],'pass':_0x6766f5[_0x2cdf('0x3b')][_0x2cdf('0x71')]};}return respondWithRpcPromise('VerifySmtp',_0x2cdf('0xb3'),{'account':_0x99cc37});}})[_0x2cdf('0x32')](respondWithResult(_0x42eae2,null))[_0x2cdf('0x24')](handleError(_0x42eae2,null));};exports[_0x2cdf('0x31')]=function(_0x2a5ff8,_0x129ada){return db['MailAccount'][_0x2cdf('0x5a')]({'where':{'id':_0x2a5ff8[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x129ada,null))[_0x2cdf('0x32')](function(_0x5f4917){if(_0x5f4917&&_0x5f4917[_0x2cdf('0x76')]){throw new db[(_0x2cdf('0xb4'))][(_0x2cdf('0xb5'))](_0x2cdf('0xb6'));}return _0x5f4917;})[_0x2cdf('0x32')](removeEntity(_0x129ada,null))[_0x2cdf('0x24')](handleError(_0x129ada,null));};exports['addAgents']=function(_0x58a2d5,_0x5d4d22,_0x4b97cd){return db[_0x2cdf('0x3e')]['find']({'where':{'id':_0x58a2d5[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x5d4d22,null))[_0x2cdf('0x32')](function(_0x30e802){if(_0x30e802){return _0x30e802['addAgents'](_0x58a2d5[_0x2cdf('0x5b')][_0x2cdf('0x65')],_[_0x2cdf('0x86')](_0x58a2d5['body'],[_0x2cdf('0x65'),'id'])||{})[_0x2cdf('0xb7')](function(_0xd02b19){for(var _0x5e5506=0x0;_0x5e5506<_0x58a2d5['body'][_0x2cdf('0x65')][_0x2cdf('0x47')];_0x5e5506+=0x1){socket['emit'](_0x2cdf('0xb8'),{'UserId':_0x58a2d5[_0x2cdf('0x5b')][_0x2cdf('0x65')][_0x5e5506],'MailAccountId':_0x58a2d5[_0x2cdf('0x56')]['id']});}return _0xd02b19;});}})[_0x2cdf('0x32')](respondWithResult(_0x5d4d22,null))[_0x2cdf('0x24')](handleError(_0x5d4d22,null));};exports[_0x2cdf('0xb9')]=function(_0x46c7e6,_0x304d03,_0x3b24c3){var _0x1442d1;return db[_0x2cdf('0x3e')][_0x2cdf('0x5a')]({'where':{'id':_0x46c7e6[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x304d03,null))[_0x2cdf('0x32')](function(_0x4dae41){if(_0x4dae41){return _0x4dae41[_0x2cdf('0xb9')](_0x46c7e6[_0x2cdf('0x42')][_0x2cdf('0x65')])['then'](function(_0x15cb64){if(_[_0x2cdf('0xba')](_0x46c7e6[_0x2cdf('0x42')]['ids'])){for(var _0xa7f0b5=0x0;_0xa7f0b5<_0x46c7e6[_0x2cdf('0x42')][_0x2cdf('0x65')]['length'];_0xa7f0b5+=0x1){socket[_0x2cdf('0xbb')](_0x2cdf('0xbc'),{'UserId':_0x46c7e6[_0x2cdf('0x42')][_0x2cdf('0x65')][_0xa7f0b5],'MailAccountId':_0x46c7e6[_0x2cdf('0x56')]['id']});}}else{socket[_0x2cdf('0xbb')](_0x2cdf('0xbc'),{'UserId':_0x46c7e6[_0x2cdf('0x42')][_0x2cdf('0x65')],'MailAccountId':_0x46c7e6['params']['id']});}});}})[_0x2cdf('0x32')](respondWithStatusCode(_0x304d03,null))[_0x2cdf('0x24')](handleError(_0x304d03,null));};exports[_0x2cdf('0xbd')]=function(_0x3f0343,_0x1cb70e,_0x1d9de8){var _0x10f8d1={};var _0x41097c={};var _0x111f67;var _0x302466;return db[_0x2cdf('0x3e')][_0x2cdf('0x62')]({'where':{'id':_0x3f0343[_0x2cdf('0x56')]['id']}})[_0x2cdf('0x32')](handleEntityNotFound(_0x1cb70e,null))[_0x2cdf('0x32')](function(_0x4bff21){if(_0x4bff21){_0x111f67=_0x4bff21;_0x41097c[_0x2cdf('0x40')]=_[_0x2cdf('0x41')](db[_0x2cdf('0x8c')][_0x2cdf('0x3f')]);_0x41097c['query']=_['keys'](_0x3f0343[_0x2cdf('0x42')]);_0x41097c[_0x2cdf('0x43')]=_[_0x2cdf('0x44')](_0x41097c[_0x2cdf('0x40')],_0x41097c['query']);_0x10f8d1[_0x2cdf('0x46')]=_[_0x2cdf('0x44')](_0x41097c[_0x2cdf('0x40')],qs[_0x2cdf('0x45')](_0x3f0343['query'][_0x2cdf('0x45')]));_0x10f8d1[_0x2cdf('0x46')]=_0x10f8d1['attributes'][_0x2cdf('0x47')]?_0x10f8d1['attributes']:_0x41097c['model'];_0x10f8d1[_0x2cdf('0x63')]=qs[_0x2cdf('0x49')](_0x3f0343['query'][_0x2cdf('0x49')]);_0x10f8d1[_0x2cdf('0x4c')]=qs[_0x2cdf('0x43')](_[_0x2cdf('0x4a')](_0x3f0343[_0x2cdf('0x42')],_0x41097c[_0x2cdf('0x43')]));if(_0x3f0343['query']['filter']){_0x10f8d1[_0x2cdf('0x4c')]=_[_0x2cdf('0x4d')](_0x10f8d1['where'],{'$or':_[_0x2cdf('0x67')](_0x10f8d1[_0x2cdf('0x46')],function(_0x30b4d3){var _0x3a88c8={};_0x3a88c8[_0x30b4d3]={'$like':'%'+_0x3f0343[_0x2cdf('0x42')][_0x2cdf('0x4b')]+'%'};return _0x3a88c8;})});}_0x10f8d1=_[_0x2cdf('0x4d')]({},_0x10f8d1,_0x3f0343[_0x2cdf('0x52')]);return _0x111f67[_0x2cdf('0xbd')](_0x10f8d1);}})[_0x2cdf('0x32')](function(_0x150889){if(_0x150889){_0x302466=_0x150889[_0x2cdf('0x47')];if(!_0x3f0343['query'][_0x2cdf('0x88')](_0x2cdf('0x48'))){_0x10f8d1['limit']=qs[_0x2cdf('0x2a')](_0x3f0343['query'][_0x2cdf('0x2a')]);_0x10f8d1['offset']=qs['offset'](_0x3f0343[_0x2cdf('0x42')]['offset']);}return _0x111f67['getAgents'](_0x10f8d1);}})['then'](function(_0x540904){if(_0x540904){return _0x540904?{'count':_0x302466,'rows':_0x540904}:null;}})[_0x2cdf('0x32')](respondWithResult(_0x1cb70e,null))[_0x2cdf('0x24')](handleError(_0x1cb70e,null));};