Built motion from commit (unavailable).|2.4.18
[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 _0x838f=['status','json','count','set','apply','reject','save','destroy','then','get','UserProfileResource','end','stack','name','send','index','MailServerIn','MailServerOut','Smtp','mandatoryDispositionPause','map','MailAccount','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','limit','offset','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','rows','show','params','Imap','Pause','length','find','update','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','nolimit','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','active','isNil','cservice','cauthentication','user','cuser','password','pass','authentication','host','port','service','cpassword','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','MailAccounts','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','removeSmtp','addInteraction','getInteractions','MailInteraction','CmContact','Contact','User','Owner','fullname','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','priority','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','CmList','List','Contacts','DESC','from','attachments','join','root','server/files/attachments','auth','secure','SendMail','sendMail','List\x20not\x20found','ListId','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','client','http','test','ValidationError','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','message','catch','sendStatus'];(function(_0x265f6f,_0x5dbc66){var _0x1ff402=function(_0x279ed5){while(--_0x279ed5){_0x265f6f['push'](_0x265f6f['shift']());}};_0x1ff402(++_0x5dbc66);}(_0x838f,0x98));var _0xf838=function(_0x2e67ab,_0x42ee36){_0x2e67ab=_0x2e67ab-0x0;var _0x1e0289=_0x838f[_0x2e67ab];return _0x1e0289;};'use strict';var pdf=require(_0xf838('0x0'));var emlformat=require(_0xf838('0x1'));var rimraf=require(_0xf838('0x2'));var zipdir=require(_0xf838('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf838('0x4'));var Mustache=require(_0xf838('0x5'));var util=require(_0xf838('0x6'));var path=require('path');var sox=require(_0xf838('0x7'));var csv=require(_0xf838('0x8'));var ejs=require(_0xf838('0x9'));var fs=require('fs');var _=require(_0xf838('0xa'));var squel=require('squel');var crypto=require(_0xf838('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xf838('0xc'));var toCsv=require('to-csv');var querystring=require(_0xf838('0xd'));var Papa=require(_0xf838('0xe'));var Redis=require(_0xf838('0xf'));var authService=require(_0xf838('0x10'));var qs=require(_0xf838('0x11'));var as=require(_0xf838('0x12'));var hardwareService=require(_0xf838('0x13'));var logger=require(_0xf838('0x14'))(_0xf838('0x15'));var utils=require(_0xf838('0x16'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0xf838('0x17')]=_[_0xf838('0x18')](config[_0xf838('0x17')],{'host':_0xf838('0x19'),'port':0x18eb});var socket=require(_0xf838('0x1a'))(new Redis(config['redis']));require(_0xf838('0x1b'))[_0xf838('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0xf838('0x1d')][_0xf838('0x1e')]({'port':0x232b});function checkPasswordPattern(_0x7b33b5,_0x508961,_0x4bab14){if(_0x4bab14){var _0x2de957=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2de957[_0xf838('0x1f')](_0x508961)){return _0x7b33b5;}else{throw new db['Sequelize'][(_0xf838('0x20'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x7b33b5;}}function respondWithRpcPromise(_0x514201,_0xe39a6d,_0xed36b9,_0x1c6005){return new BPromise(function(_0x5afa2b,_0x11bf35){var _0x140b48=_0x1c6005||client;return _0x140b48[_0xf838('0x21')](_0x514201,_0xed36b9)['then'](function(_0x276906){logger[_0xf838('0x22')](_0xf838('0x23'),_0xe39a6d,_0xf838('0x24'));logger[_0xf838('0x25')](_0xf838('0x26'),_0xe39a6d,_0xf838('0x24'),JSON['stringify'](_0x276906));if(_0x276906[_0xf838('0x27')]){if(_0x276906['error']['code']===0x1f4){logger[_0xf838('0x27')](_0xf838('0x23'),_0xe39a6d,_0x276906[_0xf838('0x27')][_0xf838('0x28')]);return _0x11bf35(_0x276906[_0xf838('0x27')][_0xf838('0x28')]);}logger['error']('MailAccount,\x20%s,\x20%s',_0xe39a6d,_0x276906['error'][_0xf838('0x28')]);return _0x5afa2b(_0x276906['error'][_0xf838('0x28')]);}else{logger[_0xf838('0x22')](_0xf838('0x23'),_0xe39a6d,_0xf838('0x24'));_0x5afa2b(_0x276906['result'][_0xf838('0x28')]);}})[_0xf838('0x29')](function(_0x3f1850){logger[_0xf838('0x27')]('MailAccount,\x20%s,\x20%s',_0xe39a6d,_0x3f1850);_0x11bf35(_0x3f1850);});});}function respondWithStatusCode(_0x4ae682,_0x4c6267){_0x4c6267=_0x4c6267||0xcc;return function(_0x507d7a){if(_0x507d7a){return _0x4ae682[_0xf838('0x2a')](_0x4c6267);}return _0x4ae682[_0xf838('0x2b')](_0x4c6267)['end']();};}function respondWithResult(_0x1abb2f,_0x339e90){_0x339e90=_0x339e90||0xc8;return function(_0x3b476d){if(_0x3b476d){return _0x1abb2f[_0xf838('0x2b')](_0x339e90)[_0xf838('0x2c')](_0x3b476d);}};}function respondWithFilteredResult(_0x81f94a,_0x16c06f){return function(_0x1ab38f){if(_0x1ab38f){var _0x4cfdd9=_0x1ab38f[_0xf838('0x2d')],_0xb879f1=_0x16c06f['offset'],_0x46a252=_0x16c06f['offset']+_0x16c06f['limit'],_0x2b54f5;if(_0x46a252>=_0x4cfdd9){_0x46a252=_0x4cfdd9;_0x2b54f5=0xc8;}else{_0x2b54f5=0xce;}_0x81f94a[_0xf838('0x2b')](_0x2b54f5);return _0x81f94a[_0xf838('0x2e')]('Content-Range',_0xb879f1+'-'+_0x46a252+'/'+_0x4cfdd9)[_0xf838('0x2c')](_0x1ab38f);}return null;};}function patchUpdates(_0x5697e5){return function(_0x3cc7ba){try{jsonpatch[_0xf838('0x2f')](_0x3cc7ba,_0x5697e5,!![]);}catch(_0x4ee875){return BPromise[_0xf838('0x30')](_0x4ee875);}return _0x3cc7ba[_0xf838('0x31')]();};}function saveUpdates(_0x26da39,_0x3ea8e7){return function(_0x267ff7){if(_0x267ff7){return _0x267ff7['update'](_0x26da39)['then'](function(_0x37aa55){return _0x37aa55;});}return null;};}function removeEntity(_0x4b9ad5,_0x6d8a06){return function(_0x3f1106){if(_0x3f1106){return _0x3f1106[_0xf838('0x32')]()[_0xf838('0x33')](function(){var _0x1fb673=_0x3f1106[_0xf838('0x34')]({'plain':!![]});var _0x4e401c='MailAccounts';return db[_0xf838('0x35')]['destroy']({'where':{'type':_0x4e401c,'resourceId':_0x1fb673['id']}})[_0xf838('0x33')](function(){return _0x3f1106;});})['then'](function(){_0x4b9ad5[_0xf838('0x2b')](0xcc)[_0xf838('0x36')]();});}};}function handleEntityNotFound(_0x14849c,_0x1d2d00){return function(_0x39ef1e){if(!_0x39ef1e){_0x14849c[_0xf838('0x2a')](0x194);}return _0x39ef1e;};}function handleError(_0x29cbd1,_0xc28df8){_0xc28df8=_0xc28df8||0x1f4;return function(_0x16a1f4){logger[_0xf838('0x27')](_0x16a1f4[_0xf838('0x37')]);if(_0x16a1f4[_0xf838('0x38')]){delete _0x16a1f4[_0xf838('0x38')];}_0x29cbd1[_0xf838('0x2b')](_0xc28df8)[_0xf838('0x39')](_0x16a1f4);};}exports[_0xf838('0x3a')]=function(_0x43a646,_0x3cf2f2){var _0x434927={'include':[{'model':db[_0xf838('0x3b')],'as':'Imap'},{'model':db[_0xf838('0x3c')],'as':_0xf838('0x3d')},{'model':db['Pause'],'as':_0xf838('0x3e')}]},_0x34705e={},_0xbce6e8={'count':0x0,'rows':[]};var _0x165548=_[_0xf838('0x3f')](db[_0xf838('0x40')][_0xf838('0x41')],function(_0x4bf0f9){return{'name':_0x4bf0f9['fieldName'],'type':_0x4bf0f9[_0xf838('0x42')][_0xf838('0x43')]};});_0x34705e[_0xf838('0x44')]=_['map'](_0x165548,_0xf838('0x38'));_0x34705e[_0xf838('0x45')]=_[_0xf838('0x46')](_0x43a646[_0xf838('0x45')]);_0x34705e['filters']=_[_0xf838('0x47')](_0x34705e[_0xf838('0x44')],_0x34705e['query']);_0x434927[_0xf838('0x48')]=_[_0xf838('0x47')](_0x34705e[_0xf838('0x44')],qs[_0xf838('0x49')](_0x43a646[_0xf838('0x45')]['fields']));_0x434927[_0xf838('0x48')]=_0x434927['attributes']['length']?_0x434927[_0xf838('0x48')]:_0x34705e[_0xf838('0x44')];if(!_0x43a646['query']['hasOwnProperty']('nolimit')){_0x434927['limit']=qs['limit'](_0x43a646['query'][_0xf838('0x4a')]);_0x434927[_0xf838('0x4b')]=qs[_0xf838('0x4b')](_0x43a646['query']['offset']);}_0x434927[_0xf838('0x4c')]=qs[_0xf838('0x4d')](_0x43a646[_0xf838('0x45')][_0xf838('0x4d')]);_0x434927[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_[_0xf838('0x50')](_0x43a646['query'],_0x34705e['filters']));if(_0x43a646[_0xf838('0x45')][_0xf838('0x51')]){_0x434927['where']=_[_0xf838('0x52')](_0x434927[_0xf838('0x4e')],{'$or':_[_0xf838('0x3f')](_0x165548,function(_0x4e8731){if(_0x4e8731[_0xf838('0x42')]!=='VIRTUAL'){var _0x123e5b={};_0x123e5b[_0x4e8731[_0xf838('0x38')]]={'$like':'%'+_0x43a646['query'][_0xf838('0x51')]+'%'};return _0x123e5b;}})});}_0x434927=_[_0xf838('0x52')]({},_0x434927,_0x43a646[_0xf838('0x53')]);var _0x37f203={'where':_0x434927[_0xf838('0x4e')]};return db[_0xf838('0x40')][_0xf838('0x2d')](_0x37f203)['then'](function(_0x394a86){_0xbce6e8['count']=_0x394a86;if(_0x43a646['query'][_0xf838('0x54')]){_0x434927[_0xf838('0x55')]=[{'all':!![]}];}return db[_0xf838('0x40')][_0xf838('0x56')](_0x434927);})[_0xf838('0x33')](function(_0xc55c08){_0xbce6e8[_0xf838('0x57')]=_0xc55c08;return _0xbce6e8;})[_0xf838('0x33')](respondWithFilteredResult(_0x3cf2f2,_0x434927))['catch'](handleError(_0x3cf2f2,null));};exports[_0xf838('0x58')]=function(_0x343700,_0x57e5e4){var _0x2698e8={'raw':![],'where':{'id':_0x343700[_0xf838('0x59')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xf838('0x5a')},{'model':db[_0xf838('0x3c')],'as':_0xf838('0x3d')},{'model':db[_0xf838('0x5b')],'as':_0xf838('0x3e')}]},_0x270bed={};_0x270bed[_0xf838('0x44')]=_[_0xf838('0x46')](db['MailAccount'][_0xf838('0x41')]);_0x270bed[_0xf838('0x45')]=_[_0xf838('0x46')](_0x343700['query']);_0x270bed[_0xf838('0x4f')]=_['intersection'](_0x270bed[_0xf838('0x44')],_0x270bed[_0xf838('0x45')]);_0x2698e8[_0xf838('0x48')]=_['intersection'](_0x270bed['model'],qs[_0xf838('0x49')](_0x343700[_0xf838('0x45')][_0xf838('0x49')]));_0x2698e8['attributes']=_0x2698e8[_0xf838('0x48')][_0xf838('0x5c')]?_0x2698e8[_0xf838('0x48')]:_0x270bed['model'];if(_0x343700['query'][_0xf838('0x54')]){_0x2698e8[_0xf838('0x55')]=[{'all':!![]}];}_0x2698e8=_['merge']({},_0x2698e8,_0x343700[_0xf838('0x53')]);return db[_0xf838('0x40')][_0xf838('0x5d')](_0x2698e8)[_0xf838('0x33')](handleEntityNotFound(_0x57e5e4,null))[_0xf838('0x33')](respondWithResult(_0x57e5e4,null))[_0xf838('0x29')](handleError(_0x57e5e4,null));};exports[_0xf838('0x5e')]=function(_0x55ac1a,_0x47abb8){if(_0x55ac1a['body']['id']){delete _0x55ac1a['body']['id'];}return db[_0xf838('0x40')]['find']({'where':{'id':_0x55ac1a[_0xf838('0x59')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xf838('0x5a')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xf838('0x5b')],'as':_0xf838('0x3e')}]})[_0xf838('0x33')](handleEntityNotFound(_0x47abb8,null))[_0xf838('0x33')](saveUpdates(_0x55ac1a[_0xf838('0x5f')],null))[_0xf838('0x33')](function(_0x425151){if(_0x425151&&_0x55ac1a['body'][_0xf838('0x5a')]){return db[_0xf838('0x3b')]['update'](_0x55ac1a[_0xf838('0x5f')][_0xf838('0x5a')],{'where':{'MailAccountId':_0x425151['id']}})['then'](function(){return _0x425151;});}return _0x425151;})[_0xf838('0x33')](function(_0x4fdcb1){if(_0x4fdcb1&&_0x55ac1a[_0xf838('0x5f')][_0xf838('0x3d')]){return db[_0xf838('0x3c')]['update'](_0x55ac1a[_0xf838('0x5f')]['Smtp'],{'where':{'MailAccountId':_0x4fdcb1['id']}})['then'](function(){return _0x4fdcb1;});}return _0x4fdcb1;})[_0xf838('0x33')](respondWithResult(_0x47abb8,null))[_0xf838('0x29')](handleError(_0x47abb8,null));};exports[_0xf838('0x60')]=function(_0x51e267,_0x1fda8f){return db[_0xf838('0x40')][_0xf838('0x60')]()[_0xf838('0x33')](respondWithResult(_0x1fda8f,null))[_0xf838('0x29')](handleError(_0x1fda8f,null));};exports[_0xf838('0x61')]=function(_0x2e38f5,_0x17a336,_0x2ed552){if(_0x2e38f5[_0xf838('0x5f')]['id']){delete _0x2e38f5[_0xf838('0x5f')]['id'];}return db[_0xf838('0x40')][_0xf838('0x5d')]({'where':{'id':_0x2e38f5[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x17a336,null))[_0xf838('0x33')](function(_0xeb0270){if(_0xeb0270){_0x2e38f5[_0xf838('0x5f')][_0xf838('0x62')]=_0xeb0270['id'];return db[_0xf838('0x63')][_0xf838('0x64')](_0x2e38f5[_0xf838('0x5f')]);}})[_0xf838('0x33')](respondWithResult(_0x17a336,null))['catch'](handleError(_0x17a336,null));};exports[_0xf838('0x65')]=function(_0x30f194,_0x5332a2,_0x1d186f){var _0x46e19e={'raw':![],'where':{}};var _0x572a27={};var _0x2bd6a7={'count':0x0,'rows':[]};return db['MailAccount'][_0xf838('0x66')]({'where':{'id':_0x30f194[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x5332a2,null))[_0xf838('0x33')](function(_0x142e18){if(_0x142e18){_0x572a27[_0xf838('0x44')]=_['keys'](db[_0xf838('0x63')]['rawAttributes']);_0x572a27['query']=_[_0xf838('0x46')](_0x30f194[_0xf838('0x45')]);_0x572a27[_0xf838('0x4f')]=_[_0xf838('0x47')](_0x572a27[_0xf838('0x44')],_0x572a27['query']);_0x46e19e['attributes']=_[_0xf838('0x47')](_0x572a27[_0xf838('0x44')],qs[_0xf838('0x49')](_0x30f194['query'][_0xf838('0x49')]));_0x46e19e[_0xf838('0x48')]=_0x46e19e[_0xf838('0x48')][_0xf838('0x5c')]?_0x46e19e[_0xf838('0x48')]:_0x572a27[_0xf838('0x44')];if(!_0x30f194['query'][_0xf838('0x67')](_0xf838('0x68'))){_0x46e19e[_0xf838('0x4a')]=qs[_0xf838('0x4a')](_0x30f194['query'][_0xf838('0x4a')]);_0x46e19e[_0xf838('0x4b')]=qs[_0xf838('0x4b')](_0x30f194[_0xf838('0x45')]['offset']);}_0x46e19e[_0xf838('0x4c')]=qs[_0xf838('0x4d')](_0x30f194[_0xf838('0x45')]['sort']);_0x46e19e[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_[_0xf838('0x50')](_0x30f194[_0xf838('0x45')],_0x572a27[_0xf838('0x4f')]));_0x46e19e[_0xf838('0x4e')]['MailAccountId']=_0x142e18['id'];if(_0x30f194[_0xf838('0x45')]['filter']){_0x46e19e['where']=_[_0xf838('0x52')](_0x46e19e['where'],{'$or':_[_0xf838('0x3f')](_0x46e19e[_0xf838('0x48')],function(_0x1c2fca){var _0xbca9a8={};_0xbca9a8[_0x1c2fca]={'$like':'%'+_0x30f194[_0xf838('0x45')]['filter']+'%'};return _0xbca9a8;})});}_0x46e19e=_[_0xf838('0x52')]({},_0x46e19e,_0x30f194[_0xf838('0x53')]);return db['Disposition'][_0xf838('0x2d')]({'where':_0x46e19e[_0xf838('0x4e')]})['then'](function(_0x15b46b){_0x2bd6a7['count']=_0x15b46b;if(_0x30f194[_0xf838('0x45')]['includeAll']){_0x46e19e[_0xf838('0x55')]=[{'all':!![]}];}return db[_0xf838('0x63')][_0xf838('0x56')](_0x46e19e);})[_0xf838('0x33')](function(_0x478d68){_0x2bd6a7[_0xf838('0x57')]=_0x478d68;return _0x2bd6a7;});}})[_0xf838('0x33')](respondWithFilteredResult(_0x5332a2,_0x46e19e))[_0xf838('0x29')](handleError(_0x5332a2,null));};exports[_0xf838('0x69')]=function(_0x27f0cd,_0x3f8981,_0xcf4a04){return db[_0xf838('0x40')]['find']({'where':{'id':_0x27f0cd[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x3f8981,null))[_0xf838('0x33')](function(_0xfcf325){if(_0xfcf325){return _0xfcf325[_0xf838('0x69')](_0x27f0cd[_0xf838('0x45')][_0xf838('0x6a')]);}})[_0xf838('0x33')](respondWithStatusCode(_0x3f8981,null))[_0xf838('0x29')](handleError(_0x3f8981,null));};exports[_0xf838('0x6b')]=function(_0x49a955,_0x2289cc,_0x5ad90a){if(_0x49a955[_0xf838('0x5f')]['id']){delete _0x49a955[_0xf838('0x5f')]['id'];}return db['MailAccount'][_0xf838('0x5d')]({'where':{'id':_0x49a955[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x2289cc,null))[_0xf838('0x33')](function(_0x244ceb){if(_0x244ceb){_0x49a955[_0xf838('0x5f')][_0xf838('0x62')]=_0x244ceb['id'];return db[_0xf838('0x6c')][_0xf838('0x64')](_0x49a955[_0xf838('0x5f')]);}})[_0xf838('0x33')](respondWithResult(_0x2289cc,null))['catch'](handleError(_0x2289cc,null));};exports[_0xf838('0x6d')]=function(_0x3a6642,_0x169f8f,_0x11efa3){var _0x191530={'raw':![],'where':{}};var _0x2099da={};var _0x283b91={'count':0x0,'rows':[]};return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x3a6642['params']['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x169f8f,null))['then'](function(_0xf57767){if(_0xf57767){_0x2099da[_0xf838('0x44')]=_['keys'](db['CannedAnswer'][_0xf838('0x41')]);_0x2099da[_0xf838('0x45')]=_[_0xf838('0x46')](_0x3a6642[_0xf838('0x45')]);_0x2099da['filters']=_['intersection'](_0x2099da[_0xf838('0x44')],_0x2099da['query']);_0x191530[_0xf838('0x48')]=_[_0xf838('0x47')](_0x2099da[_0xf838('0x44')],qs[_0xf838('0x49')](_0x3a6642['query'][_0xf838('0x49')]));_0x191530[_0xf838('0x48')]=_0x191530[_0xf838('0x48')][_0xf838('0x5c')]?_0x191530[_0xf838('0x48')]:_0x2099da[_0xf838('0x44')];if(!_0x3a6642['query'][_0xf838('0x67')]('nolimit')){_0x191530['limit']=qs[_0xf838('0x4a')](_0x3a6642['query']['limit']);_0x191530['offset']=qs[_0xf838('0x4b')](_0x3a6642[_0xf838('0x45')][_0xf838('0x4b')]);}_0x191530['order']=qs[_0xf838('0x4d')](_0x3a6642[_0xf838('0x45')][_0xf838('0x4d')]);_0x191530[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_[_0xf838('0x50')](_0x3a6642['query'],_0x2099da[_0xf838('0x4f')]));_0x191530[_0xf838('0x4e')][_0xf838('0x62')]=_0xf57767['id'];if(_0x3a6642[_0xf838('0x45')][_0xf838('0x51')]){_0x191530[_0xf838('0x4e')]=_['merge'](_0x191530['where'],{'$or':_['map'](_0x191530[_0xf838('0x48')],function(_0x4d3ecd){var _0x16a31b={};_0x16a31b[_0x4d3ecd]={'$like':'%'+_0x3a6642[_0xf838('0x45')][_0xf838('0x51')]+'%'};return _0x16a31b;})});}_0x191530=_[_0xf838('0x52')]({},_0x191530,_0x3a6642['options']);return db['CannedAnswer']['count']({'where':_0x191530[_0xf838('0x4e')]})['then'](function(_0x46b97d){_0x283b91[_0xf838('0x2d')]=_0x46b97d;if(_0x3a6642[_0xf838('0x45')][_0xf838('0x54')]){_0x191530[_0xf838('0x55')]=[{'all':!![]}];}return db[_0xf838('0x6c')][_0xf838('0x56')](_0x191530);})[_0xf838('0x33')](function(_0x4717ac){_0x283b91[_0xf838('0x57')]=_0x4717ac;return _0x283b91;});}})['then'](respondWithFilteredResult(_0x169f8f,_0x191530))['catch'](handleError(_0x169f8f,null));};exports[_0xf838('0x6e')]=function(_0x2045d0,_0x2b0dc4,_0x5cca73){return db['MailAccount'][_0xf838('0x5d')]({'where':{'id':_0x2045d0[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x2b0dc4,null))[_0xf838('0x33')](function(_0x242c6f){if(_0x242c6f){return _0x242c6f[_0xf838('0x6e')](_0x2045d0[_0xf838('0x45')][_0xf838('0x6a')]);}})[_0xf838('0x33')](respondWithStatusCode(_0x2b0dc4,null))['catch'](handleError(_0x2b0dc4,null));};exports[_0xf838('0x64')]=function(_0x4279a8,_0x165fa0){var _0x2029f3={'name':_0x4279a8[_0xf838('0x5f')][_0xf838('0x38')],'key':_0x4279a8[_0xf838('0x5f')][_0xf838('0x43')],'email':_0x4279a8[_0xf838('0x5f')][_0xf838('0x6f')],'ListId':_0x4279a8[_0xf838('0x5f')]['ListId'],'active':!_['isNil'](_0x4279a8['body']['active'])?_0x4279a8[_0xf838('0x5f')][_0xf838('0x70')]:!![],'description':_0x4279a8['body']['description']||null,'Imap':{},'Smtp':{}};if(_[_0xf838('0x71')](_0x4279a8['body'][_0xf838('0x72')])){if(_0x4279a8[_0xf838('0x5f')][_0xf838('0x73')]){_0x2029f3['Imap'][_0xf838('0x74')]=_0x2029f3[_0xf838('0x3d')][_0xf838('0x74')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x75')];_0x2029f3[_0xf838('0x5a')][_0xf838('0x76')]=_0x2029f3[_0xf838('0x3d')][_0xf838('0x77')]=_0x4279a8[_0xf838('0x5f')]['cpassword'];}else{_0x2029f3[_0xf838('0x5a')][_0xf838('0x78')]=_0x2029f3['Smtp'][_0xf838('0x78')]=![];}_0x2029f3[_0xf838('0x5a')][_0xf838('0x79')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x5a')]['host'];_0x2029f3[_0xf838('0x5a')][_0xf838('0x7a')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x5a')][_0xf838('0x7a')];_0x2029f3[_0xf838('0x3d')][_0xf838('0x79')]=_0x4279a8[_0xf838('0x5f')]['Smtp'][_0xf838('0x79')];_0x2029f3[_0xf838('0x3d')][_0xf838('0x7a')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x3d')][_0xf838('0x7a')];}else{_0x2029f3[_0xf838('0x5a')][_0xf838('0x7b')]=_0x2029f3[_0xf838('0x3d')][_0xf838('0x7b')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x72')];_0x2029f3[_0xf838('0x5a')][_0xf838('0x74')]=_0x2029f3['Smtp'][_0xf838('0x74')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x75')];_0x2029f3[_0xf838('0x5a')][_0xf838('0x76')]=_0x2029f3[_0xf838('0x3d')][_0xf838('0x77')]=_0x4279a8[_0xf838('0x5f')][_0xf838('0x7c')];}return db[_0xf838('0x40')][_0xf838('0x64')](_0x2029f3,{'include':[{'model':db['MailServerOut'],'as':_0xf838('0x3d')},{'model':db[_0xf838('0x3b')],'as':_0xf838('0x5a')}]})[_0xf838('0x33')](function(_0x4e32c1){var _0x4450df=_0x4279a8['user']['get']({'plain':!![]});if(!_0x4450df)throw new Error(_0xf838('0x7d'));if(_0x4450df[_0xf838('0x7e')]===_0xf838('0x74')){var _0x483e0a=_0x4e32c1[_0xf838('0x34')]({'plain':!![]});return db['UserProfileSection'][_0xf838('0x5d')]({'where':{'name':_0xf838('0x7f'),'userProfileId':_0x4450df[_0xf838('0x80')]},'raw':!![]})['then'](function(_0x3ca3fd){if(_0x3ca3fd&&_0x3ca3fd['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x483e0a[_0xf838('0x38')],'resourceId':_0x483e0a['id'],'type':_0x3ca3fd[_0xf838('0x38')],'sectionId':_0x3ca3fd['id']},{})[_0xf838('0x33')](function(){return _0x4e32c1;});}else{return _0x4e32c1;}})['catch'](function(_0x544284){logger[_0xf838('0x27')](_0xf838('0x81'),_0x544284);throw _0x544284;});}return _0x4e32c1;})[_0xf838('0x33')](respondWithResult(_0x165fa0,0xc9))[_0xf838('0x29')](handleError(_0x165fa0,null));};exports[_0xf838('0x82')]=function(_0x1d4a4a,_0x554131,_0x33b6dc){return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x1d4a4a[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x554131,null))[_0xf838('0x33')](function(_0x48095c){if(_0x48095c){return _0x48095c['getImap']();}return null;})['then'](respondWithResult(_0x554131,null))[_0xf838('0x29')](handleError(_0x554131,null));};exports[_0xf838('0x83')]=function(_0x42872c,_0x375c58,_0x124b5c){if(_0x42872c['body']['id']){delete _0x42872c[_0xf838('0x5f')]['id'];}return db[_0xf838('0x40')]['find']({'where':{'id':_0x42872c[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x375c58,null))[_0xf838('0x33')](function(_0x26f1fe){if(_0x26f1fe){_0x42872c[_0xf838('0x5f')][_0xf838('0x62')]=_0x26f1fe['id'];return db[_0xf838('0x3b')][_0xf838('0x64')](_0x42872c[_0xf838('0x5f')]);}})[_0xf838('0x33')](respondWithResult(_0x375c58,null))[_0xf838('0x29')](handleError(_0x375c58,null));};exports[_0xf838('0x84')]=function(_0x3685a4,_0x3b06b4,_0x449e48){return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x3685a4[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x3b06b4,null))[_0xf838('0x33')](function(_0x279d13){if(_0x279d13){return _0x279d13[_0xf838('0x85')](null);}return null;})[_0xf838('0x33')](respondWithStatusCode(_0x3b06b4,null))['catch'](handleError(_0x3b06b4,null));};exports['getSmtp']=function(_0x5279bc,_0x14d8b3,_0x1b3347){return db[_0xf838('0x40')]['findOne']({'where':{'id':_0x5279bc[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x14d8b3,null))[_0xf838('0x33')](function(_0x558249){if(_0x558249){return _0x558249[_0xf838('0x86')]();}return null;})['then'](respondWithResult(_0x14d8b3,null))[_0xf838('0x29')](handleError(_0x14d8b3,null));};exports['addSmtp']=function(_0x1ce1ee,_0x4a2b29,_0x28524f){if(_0x1ce1ee[_0xf838('0x5f')]['id']){delete _0x1ce1ee['body']['id'];}return db[_0xf838('0x40')][_0xf838('0x5d')]({'where':{'id':_0x1ce1ee[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x4a2b29,null))['then'](function(_0xfa4fd7){if(_0xfa4fd7){_0x1ce1ee[_0xf838('0x5f')][_0xf838('0x62')]=_0xfa4fd7['id'];return db['MailServerOut'][_0xf838('0x64')](_0x1ce1ee[_0xf838('0x5f')]);}})[_0xf838('0x33')](respondWithResult(_0x4a2b29,null))[_0xf838('0x29')](handleError(_0x4a2b29,null));};exports[_0xf838('0x87')]=function(_0x33d4d6,_0x1867a0,_0x2c15f9){return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x33d4d6[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x1867a0,null))[_0xf838('0x33')](function(_0x459279){if(_0x459279){return _0x459279['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x1867a0,null))[_0xf838('0x29')](handleError(_0x1867a0,null));};exports[_0xf838('0x88')]=function(_0x595a15,_0xa4b7ba,_0x1274e8){return db['MailInteraction'][_0xf838('0x5d')]({'where':{'id':_0x595a15[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0xa4b7ba,null))[_0xf838('0x33')](function(_0x35868c){if(_0x35868c){return _0x35868c['addInteraction'](_0x595a15[_0xf838('0x5f')][_0xf838('0x6a')],_['omit'](_0x595a15[_0xf838('0x5f')],['ids','id'])||{});}})['then'](respondWithResult(_0xa4b7ba,null))[_0xf838('0x29')](handleError(_0xa4b7ba,null));};exports[_0xf838('0x89')]=function(_0xcaaf8,_0x4e3fdf,_0x253679){var _0x5f3a79={'raw':![],'where':{}};var _0x293d4e={};var _0x4c1945={'count':0x0,'rows':[]};return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0xcaaf8[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x4e3fdf,null))['then'](function(_0x567014){if(_0x567014){_0x293d4e[_0xf838('0x44')]=_['keys'](db[_0xf838('0x8a')][_0xf838('0x41')]);_0x293d4e[_0xf838('0x45')]=_[_0xf838('0x46')](_0xcaaf8[_0xf838('0x45')]);_0x293d4e['filters']=_['intersection'](_0x293d4e['model'],_0x293d4e[_0xf838('0x45')]);_0x5f3a79[_0xf838('0x48')]=_['intersection'](_0x293d4e['model'],qs['fields'](_0xcaaf8[_0xf838('0x45')][_0xf838('0x49')]));_0x5f3a79[_0xf838('0x48')]=_0x5f3a79[_0xf838('0x48')][_0xf838('0x5c')]?_0x5f3a79[_0xf838('0x48')]:_0x293d4e[_0xf838('0x44')];if(!_0xcaaf8['query'][_0xf838('0x67')]('nolimit')){_0x5f3a79[_0xf838('0x4a')]=qs[_0xf838('0x4a')](_0xcaaf8[_0xf838('0x45')][_0xf838('0x4a')]);_0x5f3a79['offset']=qs['offset'](_0xcaaf8[_0xf838('0x45')]['offset']);}_0x5f3a79[_0xf838('0x4c')]=qs[_0xf838('0x4d')](_0xcaaf8[_0xf838('0x45')]['sort']);_0x5f3a79[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_[_0xf838('0x50')](_0xcaaf8['query'],_0x293d4e['filters']));_0x5f3a79['where'][_0xf838('0x62')]=_0x567014['id'];if(_0xcaaf8[_0xf838('0x45')][_0xf838('0x51')]){_0x5f3a79[_0xf838('0x4e')]=_[_0xf838('0x52')](_0x5f3a79['where'],{'$or':_[_0xf838('0x3f')](_0x5f3a79[_0xf838('0x48')],function(_0x2fdc0e){var _0xab54ce={};_0xab54ce[_0x2fdc0e]={'$like':'%'+_0xcaaf8['query'][_0xf838('0x51')]+'%'};return _0xab54ce;})});}_0x5f3a79=_[_0xf838('0x52')]({},_0x5f3a79,_0xcaaf8['options']);return db[_0xf838('0x8a')][_0xf838('0x2d')]({'where':_0x5f3a79[_0xf838('0x4e')]})[_0xf838('0x33')](function(_0x3b3c7b){_0x4c1945[_0xf838('0x2d')]=_0x3b3c7b;if(_0xcaaf8[_0xf838('0x45')][_0xf838('0x54')]){_0x5f3a79[_0xf838('0x55')]=[{'model':db[_0xf838('0x8b')],'as':_0xf838('0x8c'),'required':![]},{'model':db[_0xf838('0x8d')],'as':_0xf838('0x8e'),'attributes':[_0xf838('0x38'),_0xf838('0x8f'),'internal'],'required':![]},{'model':db[_0xf838('0x90')],'as':_0xf838('0x91'),'attributes':['id',_0xf838('0x38'),_0xf838('0x92')],'where':_0xcaaf8[_0xf838('0x45')][_0xf838('0x93')]?{'id':_0xcaaf8[_0xf838('0x45')][_0xf838('0x93')]}:undefined,'required':_0xcaaf8[_0xf838('0x45')][_0xf838('0x93')]?!![]:![]}];}return db[_0xf838('0x8a')][_0xf838('0x56')](_0x5f3a79);})[_0xf838('0x33')](function(_0x277499){_0x4c1945[_0xf838('0x57')]=_0x277499;return _0x4c1945;});}})[_0xf838('0x33')](respondWithFilteredResult(_0x4e3fdf,_0x5f3a79))[_0xf838('0x29')](handleError(_0x4e3fdf,null));};exports[_0xf838('0x94')]=function(_0x3ca7f8,_0x52501e,_0x5b60ff){return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x3ca7f8[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x52501e,null))[_0xf838('0x33')](function(_0x560ec2){if(_0x560ec2){return db[_0xf838('0x95')][_0xf838('0x96')](function(_0x4619a8){return db[_0xf838('0x97')][_0xf838('0x32')]({'where':{'MailAccountId':_0x3ca7f8[_0xf838('0x59')]['id']},'transaction':_0x4619a8})[_0xf838('0x33')](function(_0x5de396){var _0x3c1735=_[_0xf838('0x3f')](_0x3ca7f8['body'],function(_0x2f683c){_0x2f683c[_0xf838('0x62')]=_0x3ca7f8[_0xf838('0x59')]['id'];return _0x2f683c;});return db[_0xf838('0x97')][_0xf838('0x98')](_0x3c1735,{'transaction':_0x4619a8});});})['then'](function(){return db[_0xf838('0x97')]['findAndCountAll']({'where':{'MailAccountId':_0x3ca7f8['params']['id']},'order':_0xf838('0x99')});});}})[_0xf838('0x33')](respondWithResult(_0x52501e,null))[_0xf838('0x29')](handleError(_0x52501e,null));};exports[_0xf838('0x9a')]=function(_0xfab5ff,_0x56a486,_0x35733f){var _0x561ae2={};var _0x502162={};var _0xc3dfe3;var _0xe20b41;return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0xfab5ff[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x56a486,null))[_0xf838('0x33')](function(_0x391600){if(_0x391600){_0xc3dfe3=_0x391600;_0x502162['model']=_[_0xf838('0x46')](db[_0xf838('0x97')]['rawAttributes']);_0x502162[_0xf838('0x45')]=_[_0xf838('0x46')](_0xfab5ff[_0xf838('0x45')]);_0x502162[_0xf838('0x4f')]=_['intersection'](_0x502162[_0xf838('0x44')],_0x502162['query']);_0x561ae2[_0xf838('0x48')]=_[_0xf838('0x47')](_0x502162[_0xf838('0x44')],qs[_0xf838('0x49')](_0xfab5ff[_0xf838('0x45')][_0xf838('0x49')]));_0x561ae2[_0xf838('0x48')]=_0x561ae2[_0xf838('0x48')][_0xf838('0x5c')]?_0x561ae2[_0xf838('0x48')]:_0x502162[_0xf838('0x44')];_0x561ae2[_0xf838('0x4c')]=qs['sort'](_0xfab5ff[_0xf838('0x45')][_0xf838('0x4d')]);_0x561ae2['where']=qs['filters'](_[_0xf838('0x50')](_0xfab5ff[_0xf838('0x45')],_0x502162['filters']));if(_0xfab5ff[_0xf838('0x45')][_0xf838('0x51')]){_0x561ae2[_0xf838('0x4e')]=_['merge'](_0x561ae2[_0xf838('0x4e')],{'$or':_[_0xf838('0x3f')](_0x561ae2['attributes'],function(_0x3b934c){var _0x33b67b={};_0x33b67b[_0x3b934c]={'$like':'%'+_0xfab5ff[_0xf838('0x45')][_0xf838('0x51')]+'%'};return _0x33b67b;})});}_0x561ae2=_[_0xf838('0x52')]({},_0x561ae2,_0xfab5ff[_0xf838('0x53')]);return _0xc3dfe3[_0xf838('0x9a')](_0x561ae2);}})[_0xf838('0x33')](function(_0x3786e9){if(_0x3786e9){_0xe20b41=_0x3786e9['length'];if(!_0xfab5ff[_0xf838('0x45')]['hasOwnProperty'](_0xf838('0x68'))){_0x561ae2[_0xf838('0x4a')]=qs['limit'](_0xfab5ff[_0xf838('0x45')]['limit']);_0x561ae2[_0xf838('0x4b')]=qs[_0xf838('0x4b')](_0xfab5ff[_0xf838('0x45')][_0xf838('0x4b')]);}return _0xc3dfe3[_0xf838('0x9a')](_0x561ae2);}})[_0xf838('0x33')](function(_0x39df6e){if(_0x39df6e){return _0x39df6e?{'count':_0xe20b41,'rows':_0x39df6e}:null;}})[_0xf838('0x33')](respondWithResult(_0x56a486,null))[_0xf838('0x29')](handleError(_0x56a486,null));};exports[_0xf838('0x9b')]=function(_0x6cfb55,_0x551515,_0x4ad03c){var _0x2f8ada={'raw':!![],'where':{}};var _0x481bb2={};var _0x2046d8={'count':0x0,'rows':[]};return db[_0xf838('0x40')][_0xf838('0x66')]({'where':{'id':_0x6cfb55[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x551515,null))[_0xf838('0x33')](function(_0x58d1e0){if(_0x58d1e0){_0x481bb2[_0xf838('0x44')]=_['keys'](db['MailMessage']['rawAttributes']);_0x481bb2[_0xf838('0x45')]=_['keys'](_0x6cfb55[_0xf838('0x45')]);_0x481bb2[_0xf838('0x4f')]=_[_0xf838('0x47')](_0x481bb2[_0xf838('0x44')],_0x481bb2['query']);_0x2f8ada[_0xf838('0x48')]=_[_0xf838('0x47')](_0x481bb2['model'],qs[_0xf838('0x49')](_0x6cfb55['query'][_0xf838('0x49')]));_0x2f8ada[_0xf838('0x48')]=_0x2f8ada[_0xf838('0x48')][_0xf838('0x5c')]?_0x2f8ada[_0xf838('0x48')]:_0x481bb2[_0xf838('0x44')];if(!_0x6cfb55[_0xf838('0x45')]['hasOwnProperty']('nolimit')){_0x2f8ada['limit']=qs[_0xf838('0x4a')](_0x6cfb55[_0xf838('0x45')][_0xf838('0x4a')]);_0x2f8ada[_0xf838('0x4b')]=qs['offset'](_0x6cfb55[_0xf838('0x45')][_0xf838('0x4b')]);}_0x2f8ada[_0xf838('0x4c')]=qs['sort'](_0x6cfb55['query'][_0xf838('0x4d')]);_0x2f8ada[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_[_0xf838('0x50')](_0x6cfb55['query'],_0x481bb2['filters']));_0x2f8ada['where']['MailAccountId']=_0x58d1e0['id'];if(_0x6cfb55[_0xf838('0x45')][_0xf838('0x51')]){_0x2f8ada[_0xf838('0x4e')]=_[_0xf838('0x52')](_0x2f8ada[_0xf838('0x4e')],{'$or':_[_0xf838('0x3f')](_0x2f8ada[_0xf838('0x48')],function(_0x22a76e){var _0x46b48c={};_0x46b48c[_0x22a76e]={'$like':'%'+_0x6cfb55[_0xf838('0x45')][_0xf838('0x51')]+'%'};return _0x46b48c;})});}if(_0x6cfb55['query'][_0xf838('0x9c')]){var _0x56db2d=_0x6cfb55[_0xf838('0x45')][_0xf838('0x9c')][_0xf838('0x9d')](',');var _0x1c7460={};_0x1c7460[_0x56db2d[0x0]]={'$gte':moment(_0x56db2d[0x1])[_0xf838('0x9e')](_0xf838('0x9f'))};_0x2f8ada[_0xf838('0x4e')]=_[_0xf838('0x52')](_0x2f8ada[_0xf838('0x4e')],_0x1c7460);}_0x2f8ada=_[_0xf838('0x52')]({},_0x2f8ada,_0x6cfb55['options']);return db[_0xf838('0xa0')][_0xf838('0x2d')]({'where':_0x2f8ada[_0xf838('0x4e')]})[_0xf838('0x33')](function(_0x3f5dfd){_0x2046d8[_0xf838('0x2d')]=_0x3f5dfd;if(_0x6cfb55[_0xf838('0x45')][_0xf838('0x54')]){_0x2f8ada[_0xf838('0x55')]=[{'all':!![]}];}return db[_0xf838('0xa0')]['findAll'](_0x2f8ada);})[_0xf838('0x33')](function(_0x235557){_0x2046d8['rows']=_0x235557;return _0x2046d8;});}})['then'](respondWithFilteredResult(_0x551515,_0x2f8ada))[_0xf838('0x29')](handleError(_0x551515,null));};exports[_0xf838('0x39')]=function(_0x525542,_0x184431,_0x45bc5b){var _0x1d94a3,_0x57cdf5={},_0x59ab76;if(_0x525542[_0xf838('0x5f')]['to']){_0x59ab76=_0x525542['body']['to']['split'](',')[0x0];}return db['MailAccount']['find']({'where':{'id':_0x525542[_0xf838('0x59')]['id']},'include':[{'model':db[_0xf838('0xa1')],'as':_0xf838('0xa2'),'include':[{'model':db['CmContact'],'as':_0xf838('0xa3'),'where':{'email':_0x59ab76},'limit':0x1,'order':[['updatedAt',_0xf838('0xa4')]]}]},{'model':db[_0xf838('0x3c')],'as':_0xf838('0x3d'),'raw':!![]}]})[_0xf838('0x33')](handleEntityNotFound(_0x184431,null))['then'](function(_0x479a8f){if(_0x479a8f){_0x1d94a3=_0x479a8f;if(_0x479a8f[_0xf838('0x3d')]){if(_[_0xf838('0x71')](_0x525542[_0xf838('0x5f')]['from'])){_0x525542[_0xf838('0x5f')][_0xf838('0xa5')]=util[_0xf838('0x9e')]('%s\x20<%s>',_0x479a8f[_0xf838('0x38')],_0x479a8f['email']||_0x479a8f[_0xf838('0x3d')]['user']);}if(_0x525542[_0xf838('0x5f')][_0xf838('0xa6')]&&_0x525542[_0xf838('0x5f')][_0xf838('0xa6')][_0xf838('0x5c')]){for(var _0x51cd12=0x0;_0x51cd12<_0x525542[_0xf838('0x5f')][_0xf838('0xa6')][_0xf838('0x5c')];_0x51cd12+=0x1){_0x525542[_0xf838('0x5f')][_0xf838('0xa6')][_0x51cd12]={'filename':_0x525542['body']['attachments'][_0x51cd12][_0xf838('0x38')],'path':path[_0xf838('0xa7')](config[_0xf838('0xa8')],_0xf838('0xa9'),_0x525542[_0xf838('0x5f')][_0xf838('0xa6')][_0x51cd12]['basename'])};}}var _0xc63ffc={'tls':{'rejectUnauthorized':![]}};if(_[_0xf838('0x71')](_0x479a8f[_0xf838('0x3d')][_0xf838('0x7b')])){if(_0x479a8f['Smtp'][_0xf838('0x78')]){_0xc63ffc[_0xf838('0xaa')]={'user':_0x479a8f['Smtp'][_0xf838('0x74')],'pass':_0x479a8f[_0xf838('0x3d')][_0xf838('0x77')]};}_0xc63ffc[_0xf838('0x79')]=_0x479a8f[_0xf838('0x3d')][_0xf838('0x79')];_0xc63ffc[_0xf838('0x7a')]=_0x479a8f['Smtp'][_0xf838('0x7a')];_0xc63ffc[_0xf838('0xab')]=_0x479a8f[_0xf838('0x3d')][_0xf838('0xab')];}else{_0xc63ffc['service']=_0x479a8f['Smtp'][_0xf838('0x7b')];_0xc63ffc[_0xf838('0xaa')]={'user':_0x479a8f[_0xf838('0x3d')][_0xf838('0x74')],'pass':_0x479a8f[_0xf838('0x3d')][_0xf838('0x77')]};}return respondWithRpcPromise(_0xf838('0xac'),_0xf838('0xad'),{'account':_0xc63ffc,'message':_0x525542[_0xf838('0x5f')]});}else{throw new Error(_0xf838('0xae'));}}})[_0xf838('0x33')](function(_0x354054){if(_0x354054){_0x57cdf5=_0x354054;if(_0x1d94a3['List']){if(_0x1d94a3[_0xf838('0xa2')][_0xf838('0xa3')][_0xf838('0x5c')]){return _0x1d94a3['List'][_0xf838('0xa3')][0x0];}else{return db[_0xf838('0x8b')]['create'](_['defaults'](_0x525542[_0xf838('0x5f')],{'firstName':_0x525542[_0xf838('0x5f')]['to'],'email':_0x525542['body']['to'],'phone':_0x525542[_0xf838('0x5f')]['to'],'ListId':_0x1d94a3[_0xf838('0xaf')]}));}}else{throw new Error(_0xf838('0xae'));}}})[_0xf838('0x33')](function(_0x3b1745){if(_0x3b1745){var _0x1919ed={'UserId':_0x525542[_0xf838('0x74')]['id'],'ContactId':_0x3b1745['id'],'MailAccountId':_0x1d94a3['id'],'inReplyTo':_0x57cdf5[_0xf838('0xb0')],'to':_0x525542[_0xf838('0x5f')]['from'],'cc':_0x525542[_0xf838('0x5f')]['cc'],'subject':_0x525542['body'][_0xf838('0xb1')],'attach':_0x525542['body'][_0xf838('0xb2')],'firstMsgDirection':_0xf838('0xb3'),'lastMsgAt':moment()[_0xf838('0x9e')](_0xf838('0x9f')),'lastMsgDirection':_0xf838('0xb3'),'lastMsgBody':_0x525542[_0xf838('0x5f')][_0xf838('0x5f')],'Messages':[_['merge'](_0x525542[_0xf838('0x5f')],{'messageId':_0x57cdf5[_0xf838('0xb0')],'sentAt':moment()['format'](_0xf838('0x9f')),'read':!![],'MailAccountId':_0x1d94a3['id'],'UserId':_0x525542['user']['id'],'ContactId':_0x3b1745['id']})]};if(_0x525542[_0xf838('0x5f')][_0xf838('0xb4')]){_0x1919ed=_[_0xf838('0x52')](_0x1919ed,_0x525542[_0xf838('0x5f')][_0xf838('0xb4')]);}return db[_0xf838('0x8a')][_0xf838('0x64')](_0x1919ed,{'include':[{'model':db[_0xf838('0xa0')],'as':_0xf838('0xb5')}]});}})[_0xf838('0x33')](respondWithResult(_0x184431,null))[_0xf838('0x29')](handleError(_0x184431,null));};exports[_0xf838('0xb6')]=function(_0x2aff94,_0x570cf9,_0x383d96){return db[_0xf838('0x40')][_0xf838('0x5d')]({'where':{'id':_0x2aff94[_0xf838('0x59')]['id']},'include':[{'model':db[_0xf838('0x3c')],'as':'Smtp','raw':!![]}]})[_0xf838('0x33')](handleEntityNotFound(_0x570cf9,null))[_0xf838('0x33')](function(_0x29647e){if(_0x29647e&&_0x29647e[_0xf838('0x3d')]){var _0x45120e={'id':_0x29647e['id'],'tls':{'rejectUnauthorized':![]}};if(_0x29647e['Smtp'][_0xf838('0x7b')]){_0x45120e[_0xf838('0x7b')]=_0x29647e[_0xf838('0x3d')][_0xf838('0x7b')];}else{_0x45120e[_0xf838('0x79')]=_0x29647e[_0xf838('0x3d')]['host'];_0x45120e[_0xf838('0x7a')]=_0x29647e[_0xf838('0x3d')][_0xf838('0x7a')];_0x45120e[_0xf838('0xab')]=_0x29647e['Smtp'][_0xf838('0xab')];}if(_0x29647e['Smtp']['authentication']){_0x45120e[_0xf838('0xaa')]={'user':_0x29647e['Smtp'][_0xf838('0x74')],'pass':_0x29647e[_0xf838('0x3d')][_0xf838('0x77')]};}return respondWithRpcPromise(_0xf838('0xb7'),'verifySmtp',{'account':_0x45120e});}})['then'](respondWithResult(_0x570cf9,null))[_0xf838('0x29')](handleError(_0x570cf9,null));};exports[_0xf838('0x32')]=function(_0x5519a7,_0x2d55c2){return db[_0xf838('0x40')][_0xf838('0x5d')]({'where':{'id':_0x5519a7['params']['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x2d55c2,null))[_0xf838('0x33')](function(_0x1a6132){if(_0x1a6132&&_0x1a6132[_0xf838('0x7b')]){throw new db[(_0xf838('0xb8'))]['ValidationError'](_0xf838('0xb9'));}return _0x1a6132;})[_0xf838('0x33')](removeEntity(_0x2d55c2,null))['catch'](handleError(_0x2d55c2,null));};exports['addAgents']=function(_0x143f9c,_0x4dd151,_0x3a42e3){return db[_0xf838('0x40')][_0xf838('0x5d')]({'where':{'id':_0x143f9c[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x4dd151,null))[_0xf838('0x33')](function(_0x279b54){if(_0x279b54){return _0x279b54[_0xf838('0xba')](_0x143f9c['body']['ids'],_[_0xf838('0xbb')](_0x143f9c[_0xf838('0x5f')],['ids','id'])||{})[_0xf838('0xbc')](function(_0x23aa04){for(var _0x2469dc=0x0;_0x2469dc<_0x143f9c[_0xf838('0x5f')][_0xf838('0x6a')][_0xf838('0x5c')];_0x2469dc+=0x1){socket['emit'](_0xf838('0xbd'),{'UserId':_0x143f9c['body'][_0xf838('0x6a')][_0x2469dc],'MailAccountId':_0x143f9c[_0xf838('0x59')]['id']});}return _0x23aa04;});}})['then'](respondWithResult(_0x4dd151,null))[_0xf838('0x29')](handleError(_0x4dd151,null));};exports[_0xf838('0xbe')]=function(_0x4d7c27,_0x1d392a,_0x2f143a){return db['MailAccount'][_0xf838('0x5d')]({'where':{'id':_0x4d7c27[_0xf838('0x59')]['id']}})[_0xf838('0x33')](handleEntityNotFound(_0x1d392a,null))[_0xf838('0x33')](function(_0x423d6e){if(_0x423d6e){return _0x423d6e[_0xf838('0xbe')](_0x4d7c27[_0xf838('0x45')][_0xf838('0x6a')])[_0xf838('0x33')](function(){if(_[_0xf838('0xbf')](_0x4d7c27[_0xf838('0x45')]['ids'])){for(var _0x1b45ae=0x0;_0x1b45ae<_0x4d7c27[_0xf838('0x45')][_0xf838('0x6a')][_0xf838('0x5c')];_0x1b45ae+=0x1){socket[_0xf838('0xc0')](_0xf838('0xc1'),{'UserId':Number(_0x4d7c27[_0xf838('0x45')][_0xf838('0x6a')][_0x1b45ae]),'MailAccountId':Number(_0x4d7c27[_0xf838('0x59')]['id'])});}}else{socket['emit'](_0xf838('0xc1'),{'UserId':Number(_0x4d7c27[_0xf838('0x45')][_0xf838('0x6a')]),'MailAccountId':Number(_0x4d7c27[_0xf838('0x59')]['id'])});}});}})[_0xf838('0x33')](respondWithStatusCode(_0x1d392a,null))['catch'](handleError(_0x1d392a,null));};exports['getAgents']=function(_0x589c59,_0x10718a,_0x41027e){var _0x4b6986={};var _0x58b453={};var _0x14a48c;var _0x4a6bbc;return db[_0xf838('0x40')]['findOne']({'where':{'id':_0x589c59[_0xf838('0x59')]['id']}})['then'](handleEntityNotFound(_0x10718a,null))[_0xf838('0x33')](function(_0x3b4b44){if(_0x3b4b44){_0x14a48c=_0x3b4b44;_0x58b453[_0xf838('0x44')]=_[_0xf838('0x46')](db[_0xf838('0x8d')][_0xf838('0x41')]);_0x58b453[_0xf838('0x45')]=_[_0xf838('0x46')](_0x589c59[_0xf838('0x45')]);_0x58b453[_0xf838('0x4f')]=_[_0xf838('0x47')](_0x58b453[_0xf838('0x44')],_0x58b453[_0xf838('0x45')]);_0x4b6986[_0xf838('0x48')]=_[_0xf838('0x47')](_0x58b453[_0xf838('0x44')],qs[_0xf838('0x49')](_0x589c59[_0xf838('0x45')]['fields']));_0x4b6986[_0xf838('0x48')]=_0x4b6986[_0xf838('0x48')]['length']?_0x4b6986[_0xf838('0x48')]:_0x58b453[_0xf838('0x44')];_0x4b6986[_0xf838('0x4c')]=qs[_0xf838('0x4d')](_0x589c59[_0xf838('0x45')]['sort']);_0x4b6986[_0xf838('0x4e')]=qs[_0xf838('0x4f')](_['pick'](_0x589c59[_0xf838('0x45')],_0x58b453[_0xf838('0x4f')]));if(_0x589c59[_0xf838('0x45')][_0xf838('0x51')]){_0x4b6986[_0xf838('0x4e')]=_[_0xf838('0x52')](_0x4b6986['where'],{'$or':_['map'](_0x4b6986[_0xf838('0x48')],function(_0x123e9c){var _0x45af1b={};_0x45af1b[_0x123e9c]={'$like':'%'+_0x589c59[_0xf838('0x45')][_0xf838('0x51')]+'%'};return _0x45af1b;})});}_0x4b6986=_[_0xf838('0x52')]({},_0x4b6986,_0x589c59[_0xf838('0x53')]);return _0x14a48c[_0xf838('0xc2')](_0x4b6986);}})[_0xf838('0x33')](function(_0x45f863){if(_0x45f863){_0x4a6bbc=_0x45f863['length'];if(!_0x589c59[_0xf838('0x45')][_0xf838('0x67')]('nolimit')){_0x4b6986[_0xf838('0x4a')]=qs[_0xf838('0x4a')](_0x589c59['query'][_0xf838('0x4a')]);_0x4b6986[_0xf838('0x4b')]=qs[_0xf838('0x4b')](_0x589c59[_0xf838('0x45')][_0xf838('0x4b')]);}return _0x14a48c[_0xf838('0xc2')](_0x4b6986);}})['then'](function(_0x1cf0a4){if(_0x1cf0a4){return _0x1cf0a4?{'count':_0x4a6bbc,'rows':_0x1cf0a4}:null;}})[_0xf838('0x33')](respondWithResult(_0x10718a,null))[_0xf838('0x29')](handleError(_0x10718a,null));};