Built motion from commit (unavailable).|2.5.14
[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 _0xad9b=['filters','intersection','model','fields','attributes','length','hasOwnProperty','limit','offset','order','sort','where','pick','filter','merge','VIRTUAL','options','MailAccount','includeAll','include','rows','show','params','find','body','MailServerOut','describe','Disposition','create','findOne','MailAccountId','map','findAll','removeDispositions','ids','addAnswer','CannedAnswer','nolimit','removeAnswers','email','ListId','isNil','active','description','cservice','user','cuser','password','cpassword','authentication','host','port','service','pass','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','Tag','Tags','tag','addApplications','sequelize','transaction','MailApplication','findAndCountAll','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','CmList','List','updatedAt','DESC','from','format','attachments','join','server/files/attachments','basename','secure','auth','SendMail','sendMail','Contacts','List\x20not\x20found','subject','attach','messageId','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','client','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','end','json','count','set','Content-Range','apply','reject','update','destroy','get','MailAccounts','UserProfileResource','stack','name','status','send','index','MailServerIn','Imap','Smtp','Pause','mandatoryDispositionPause','rawAttributes','fieldName','type','key','query','keys'];(function(_0x1a73f7,_0x274c12){var _0x3570fa=function(_0xdb9fc0){while(--_0xdb9fc0){_0x1a73f7['push'](_0x1a73f7['shift']());}};_0x3570fa(++_0x274c12);}(_0xad9b,0x1ea));var _0xbad9=function(_0x2d8520,_0x2d155b){_0x2d8520=_0x2d8520-0x0;var _0x5734e4=_0xad9b[_0x2d8520];return _0x5734e4;};'use strict';var pdf=require(_0xbad9('0x0'));var emlformat=require(_0xbad9('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xbad9('0x2'));var jsonpatch=require(_0xbad9('0x3'));var rp=require(_0xbad9('0x4'));var moment=require(_0xbad9('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbad9('0x6'));var util=require(_0xbad9('0x7'));var path=require(_0xbad9('0x8'));var sox=require(_0xbad9('0x9'));var csv=require(_0xbad9('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbad9('0xb'));var squel=require(_0xbad9('0xc'));var crypto=require('crypto');var jsforce=require(_0xbad9('0xd'));var deskjs=require(_0xbad9('0xe'));var toCsv=require(_0xbad9('0xa'));var querystring=require('querystring');var Papa=require(_0xbad9('0xf'));var Redis=require('ioredis');var authService=require(_0xbad9('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xbad9('0x11'));var hardwareService=require(_0xbad9('0x12'));var logger=require(_0xbad9('0x13'))(_0xbad9('0x14'));var utils=require(_0xbad9('0x15'));var config=require(_0xbad9('0x16'));var licenseUtil=require(_0xbad9('0x17'));var db=require(_0xbad9('0x18'))['db'];config[_0xbad9('0x19')]=_['defaults'](config['redis'],{'host':_0xbad9('0x1a'),'port':0x18eb});var socket=require(_0xbad9('0x1b'))(new Redis(config['redis']));require('./mailAccount.socket')[_0xbad9('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0xbad9('0x1d')]['http']({'port':0x232b});function respondWithRpcPromise(_0x2e2bd7,_0x11f10d,_0x13d6e6,_0x17e908){return new BPromise(function(_0x228bb8,_0x5d0c29){var _0x2f54f0=_0x17e908||client;return _0x2f54f0[_0xbad9('0x1e')](_0x2e2bd7,_0x13d6e6)[_0xbad9('0x1f')](function(_0x3b1a32){logger['info'](_0xbad9('0x20'),_0x11f10d,_0xbad9('0x21'));logger['debug'](_0xbad9('0x22'),_0x11f10d,'request\x20sent',JSON[_0xbad9('0x23')](_0x3b1a32));if(_0x3b1a32[_0xbad9('0x24')]){if(_0x3b1a32[_0xbad9('0x24')][_0xbad9('0x25')]===0x1f4){logger[_0xbad9('0x24')](_0xbad9('0x20'),_0x11f10d,_0x3b1a32[_0xbad9('0x24')]['message']);return _0x5d0c29(_0x3b1a32[_0xbad9('0x24')][_0xbad9('0x26')]);}logger[_0xbad9('0x24')]('MailAccount,\x20%s,\x20%s',_0x11f10d,_0x3b1a32[_0xbad9('0x24')][_0xbad9('0x26')]);return _0x228bb8(_0x3b1a32[_0xbad9('0x24')]['message']);}else{logger[_0xbad9('0x27')](_0xbad9('0x20'),_0x11f10d,'request\x20sent');_0x228bb8(_0x3b1a32[_0xbad9('0x28')][_0xbad9('0x26')]);}})[_0xbad9('0x29')](function(_0x15c5b0){logger[_0xbad9('0x24')](_0xbad9('0x20'),_0x11f10d,_0x15c5b0);_0x5d0c29(_0x15c5b0);});});}function respondWithStatusCode(_0x388e4a,_0x22caa7){_0x22caa7=_0x22caa7||0xcc;return function(_0x3d3594){if(_0x3d3594){return _0x388e4a[_0xbad9('0x2a')](_0x22caa7);}return _0x388e4a['status'](_0x22caa7)[_0xbad9('0x2b')]();};}function respondWithResult(_0xca7f15,_0xd9687){_0xd9687=_0xd9687||0xc8;return function(_0x162d20){if(_0x162d20){return _0xca7f15['status'](_0xd9687)[_0xbad9('0x2c')](_0x162d20);}};}function respondWithFilteredResult(_0x5c0dee,_0x52187a){return function(_0x75d59){if(_0x75d59){var _0x34b51a=_0x75d59[_0xbad9('0x2d')],_0x128a45=_0x52187a['offset'],_0x2be588=_0x52187a['offset']+_0x52187a['limit'],_0x3b3ac9;if(_0x2be588>=_0x34b51a){_0x2be588=_0x34b51a;_0x3b3ac9=0xc8;}else{_0x3b3ac9=0xce;}_0x5c0dee['status'](_0x3b3ac9);return _0x5c0dee[_0xbad9('0x2e')](_0xbad9('0x2f'),_0x128a45+'-'+_0x2be588+'/'+_0x34b51a)[_0xbad9('0x2c')](_0x75d59);}return null;};}function patchUpdates(_0x23a65f){return function(_0x590325){try{jsonpatch[_0xbad9('0x30')](_0x590325,_0x23a65f,!![]);}catch(_0x200431){return BPromise[_0xbad9('0x31')](_0x200431);}return _0x590325['save']();};}function saveUpdates(_0x5c9b60,_0x1e1059){return function(_0x2c84d7){if(_0x2c84d7){return _0x2c84d7[_0xbad9('0x32')](_0x5c9b60)['then'](function(_0x5e471f){return _0x5e471f;});}return null;};}function removeEntity(_0x1e6807,_0x2f2e4a){return function(_0x5f3b53){if(_0x5f3b53){return _0x5f3b53[_0xbad9('0x33')]()['then'](function(){var _0x13aa52=_0x5f3b53[_0xbad9('0x34')]({'plain':!![]});var _0x48d33d=_0xbad9('0x35');return db[_0xbad9('0x36')][_0xbad9('0x33')]({'where':{'type':_0x48d33d,'resourceId':_0x13aa52['id']}})[_0xbad9('0x1f')](function(){return _0x5f3b53;});})[_0xbad9('0x1f')](function(){_0x1e6807['status'](0xcc)[_0xbad9('0x2b')]();});}};}function handleEntityNotFound(_0x10d200,_0x5252e9){return function(_0xa2450){if(!_0xa2450){_0x10d200['sendStatus'](0x194);}return _0xa2450;};}function handleError(_0x287cab,_0x3c29c8){_0x3c29c8=_0x3c29c8||0x1f4;return function(_0x2b3b58){logger['error'](_0x2b3b58[_0xbad9('0x37')]);if(_0x2b3b58[_0xbad9('0x38')]){delete _0x2b3b58[_0xbad9('0x38')];}_0x287cab[_0xbad9('0x39')](_0x3c29c8)[_0xbad9('0x3a')](_0x2b3b58);};}exports[_0xbad9('0x3b')]=function(_0xabc793,_0x1c27ac){var _0x264f72={'include':[{'model':db[_0xbad9('0x3c')],'as':_0xbad9('0x3d')},{'model':db['MailServerOut'],'as':_0xbad9('0x3e')},{'model':db[_0xbad9('0x3f')],'as':_0xbad9('0x40')}]},_0x106620={},_0x3f60cd={'count':0x0,'rows':[]};var _0x40c1c8=_['map'](db['MailAccount'][_0xbad9('0x41')],function(_0x340956){return{'name':_0x340956[_0xbad9('0x42')],'type':_0x340956[_0xbad9('0x43')][_0xbad9('0x44')]};});_0x106620['model']=_['map'](_0x40c1c8,_0xbad9('0x38'));_0x106620[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0xabc793[_0xbad9('0x45')]);_0x106620[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x106620['model'],_0x106620[_0xbad9('0x45')]);_0x264f72['attributes']=_['intersection'](_0x106620[_0xbad9('0x49')],qs[_0xbad9('0x4a')](_0xabc793[_0xbad9('0x45')][_0xbad9('0x4a')]));_0x264f72[_0xbad9('0x4b')]=_0x264f72[_0xbad9('0x4b')][_0xbad9('0x4c')]?_0x264f72[_0xbad9('0x4b')]:_0x106620['model'];if(!_0xabc793[_0xbad9('0x45')][_0xbad9('0x4d')]('nolimit')){_0x264f72[_0xbad9('0x4e')]=qs[_0xbad9('0x4e')](_0xabc793[_0xbad9('0x45')][_0xbad9('0x4e')]);_0x264f72[_0xbad9('0x4f')]=qs[_0xbad9('0x4f')](_0xabc793[_0xbad9('0x45')][_0xbad9('0x4f')]);}_0x264f72[_0xbad9('0x50')]=qs[_0xbad9('0x51')](_0xabc793[_0xbad9('0x45')][_0xbad9('0x51')]);_0x264f72[_0xbad9('0x52')]=qs[_0xbad9('0x47')](_[_0xbad9('0x53')](_0xabc793[_0xbad9('0x45')],_0x106620[_0xbad9('0x47')]),_0x40c1c8);if(_0xabc793['query'][_0xbad9('0x54')]){_0x264f72[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x264f72['where'],{'$or':_['map'](_0x40c1c8,function(_0x294e4c){if(_0x294e4c['type']!==_0xbad9('0x56')){var _0x407a9d={};_0x407a9d[_0x294e4c['name']]={'$like':'%'+_0xabc793['query'][_0xbad9('0x54')]+'%'};return _0x407a9d;}})});}_0x264f72=_[_0xbad9('0x55')]({},_0x264f72,_0xabc793[_0xbad9('0x57')]);var _0x1c680e={'where':_0x264f72['where']};return db[_0xbad9('0x58')]['count'](_0x1c680e)['then'](function(_0x3adff9){_0x3f60cd[_0xbad9('0x2d')]=_0x3adff9;if(_0xabc793['query'][_0xbad9('0x59')]){_0x264f72[_0xbad9('0x5a')]=[{'all':!![]}];}return db[_0xbad9('0x58')]['findAll'](_0x264f72);})[_0xbad9('0x1f')](function(_0x17b0a6){_0x3f60cd[_0xbad9('0x5b')]=_0x17b0a6;return _0x3f60cd;})[_0xbad9('0x1f')](respondWithFilteredResult(_0x1c27ac,_0x264f72))[_0xbad9('0x29')](handleError(_0x1c27ac,null));};exports[_0xbad9('0x5c')]=function(_0xdb504,_0x32d0d1){var _0x3dee91={'raw':![],'where':{'id':_0xdb504[_0xbad9('0x5d')]['id']},'include':[{'model':db[_0xbad9('0x3c')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xbad9('0x3e')},{'model':db[_0xbad9('0x3f')],'as':_0xbad9('0x40')}]},_0x3baaf7={};_0x3baaf7[_0xbad9('0x49')]=_[_0xbad9('0x46')](db[_0xbad9('0x58')]['rawAttributes']);_0x3baaf7[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0xdb504[_0xbad9('0x45')]);_0x3baaf7['filters']=_[_0xbad9('0x48')](_0x3baaf7[_0xbad9('0x49')],_0x3baaf7[_0xbad9('0x45')]);_0x3dee91[_0xbad9('0x4b')]=_[_0xbad9('0x48')](_0x3baaf7[_0xbad9('0x49')],qs[_0xbad9('0x4a')](_0xdb504[_0xbad9('0x45')][_0xbad9('0x4a')]));_0x3dee91['attributes']=_0x3dee91[_0xbad9('0x4b')][_0xbad9('0x4c')]?_0x3dee91[_0xbad9('0x4b')]:_0x3baaf7[_0xbad9('0x49')];if(_0xdb504[_0xbad9('0x45')][_0xbad9('0x59')]){_0x3dee91[_0xbad9('0x5a')]=[{'all':!![]}];}_0x3dee91=_[_0xbad9('0x55')]({},_0x3dee91,_0xdb504[_0xbad9('0x57')]);return db[_0xbad9('0x58')][_0xbad9('0x5e')](_0x3dee91)[_0xbad9('0x1f')](handleEntityNotFound(_0x32d0d1,null))[_0xbad9('0x1f')](respondWithResult(_0x32d0d1,null))[_0xbad9('0x29')](handleError(_0x32d0d1,null));};exports[_0xbad9('0x32')]=function(_0xfd27af,_0x48dc06){if(_0xfd27af[_0xbad9('0x5f')]['id']){delete _0xfd27af[_0xbad9('0x5f')]['id'];}return db[_0xbad9('0x58')]['find']({'where':{'id':_0xfd27af[_0xbad9('0x5d')]['id']},'include':[{'model':db[_0xbad9('0x3c')],'as':_0xbad9('0x3d')},{'model':db[_0xbad9('0x60')],'as':'Smtp'},{'model':db['Pause'],'as':_0xbad9('0x40')}]})['then'](handleEntityNotFound(_0x48dc06,null))['then'](saveUpdates(_0xfd27af[_0xbad9('0x5f')],null))[_0xbad9('0x1f')](function(_0x4bf9ec){if(_0x4bf9ec&&_0xfd27af[_0xbad9('0x5f')][_0xbad9('0x3d')]){return db[_0xbad9('0x3c')][_0xbad9('0x32')](_0xfd27af[_0xbad9('0x5f')]['Imap'],{'where':{'MailAccountId':_0x4bf9ec['id']}})[_0xbad9('0x1f')](function(){return _0x4bf9ec;});}return _0x4bf9ec;})[_0xbad9('0x1f')](function(_0x6176c0){if(_0x6176c0&&_0xfd27af[_0xbad9('0x5f')]['Smtp']){return db[_0xbad9('0x60')]['update'](_0xfd27af[_0xbad9('0x5f')]['Smtp'],{'where':{'MailAccountId':_0x6176c0['id']}})[_0xbad9('0x1f')](function(){return _0x6176c0;});}return _0x6176c0;})[_0xbad9('0x1f')](respondWithResult(_0x48dc06,null))[_0xbad9('0x29')](handleError(_0x48dc06,null));};exports['describe']=function(_0x446173,_0x36d0f3){return db['MailAccount'][_0xbad9('0x61')]()['then'](respondWithResult(_0x36d0f3,null))[_0xbad9('0x29')](handleError(_0x36d0f3,null));};exports['addDisposition']=function(_0x106270,_0x2464fc,_0x28054b){if(_0x106270[_0xbad9('0x5f')]['id']){delete _0x106270[_0xbad9('0x5f')]['id'];}return db[_0xbad9('0x58')]['find']({'where':{'id':_0x106270[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x2464fc,null))[_0xbad9('0x1f')](function(_0x33b665){if(_0x33b665){_0x106270['body']['MailAccountId']=_0x33b665['id'];return db[_0xbad9('0x62')][_0xbad9('0x63')](_0x106270[_0xbad9('0x5f')]);}})[_0xbad9('0x1f')](respondWithResult(_0x2464fc,null))[_0xbad9('0x29')](handleError(_0x2464fc,null));};exports['getDispositions']=function(_0x13a1c4,_0x17b434,_0x4dbe2a){var _0x560573={'raw':![],'where':{}};var _0x2a3efe={};var _0xe543bc={'count':0x0,'rows':[]};return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x13a1c4[_0xbad9('0x5d')]['id']}})['then'](handleEntityNotFound(_0x17b434,null))[_0xbad9('0x1f')](function(_0x3fa475){if(_0x3fa475){_0x2a3efe[_0xbad9('0x49')]=_[_0xbad9('0x46')](db['Disposition'][_0xbad9('0x41')]);_0x2a3efe[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0x13a1c4['query']);_0x2a3efe[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x2a3efe['model'],_0x2a3efe[_0xbad9('0x45')]);_0x560573[_0xbad9('0x4b')]=_[_0xbad9('0x48')](_0x2a3efe[_0xbad9('0x49')],qs[_0xbad9('0x4a')](_0x13a1c4[_0xbad9('0x45')]['fields']));_0x560573[_0xbad9('0x4b')]=_0x560573[_0xbad9('0x4b')][_0xbad9('0x4c')]?_0x560573['attributes']:_0x2a3efe[_0xbad9('0x49')];if(!_0x13a1c4[_0xbad9('0x45')][_0xbad9('0x4d')]('nolimit')){_0x560573[_0xbad9('0x4e')]=qs[_0xbad9('0x4e')](_0x13a1c4[_0xbad9('0x45')]['limit']);_0x560573[_0xbad9('0x4f')]=qs['offset'](_0x13a1c4[_0xbad9('0x45')][_0xbad9('0x4f')]);}_0x560573['order']=qs[_0xbad9('0x51')](_0x13a1c4[_0xbad9('0x45')][_0xbad9('0x51')]);_0x560573[_0xbad9('0x52')]=qs['filters'](_[_0xbad9('0x53')](_0x13a1c4['query'],_0x2a3efe[_0xbad9('0x47')]));_0x560573[_0xbad9('0x52')][_0xbad9('0x65')]=_0x3fa475['id'];if(_0x13a1c4[_0xbad9('0x45')][_0xbad9('0x54')]){_0x560573[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x560573[_0xbad9('0x52')],{'$or':_[_0xbad9('0x66')](_0x560573[_0xbad9('0x4b')],function(_0x11f72b){var _0x940a0e={};_0x940a0e[_0x11f72b]={'$like':'%'+_0x13a1c4[_0xbad9('0x45')]['filter']+'%'};return _0x940a0e;})});}_0x560573=_[_0xbad9('0x55')]({},_0x560573,_0x13a1c4['options']);return db[_0xbad9('0x62')]['count']({'where':_0x560573['where']})[_0xbad9('0x1f')](function(_0x2149db){_0xe543bc['count']=_0x2149db;if(_0x13a1c4[_0xbad9('0x45')][_0xbad9('0x59')]){_0x560573['include']=[{'all':!![]}];}return db[_0xbad9('0x62')][_0xbad9('0x67')](_0x560573);})['then'](function(_0x1abf92){_0xe543bc[_0xbad9('0x5b')]=_0x1abf92;return _0xe543bc;});}})[_0xbad9('0x1f')](respondWithFilteredResult(_0x17b434,_0x560573))['catch'](handleError(_0x17b434,null));};exports[_0xbad9('0x68')]=function(_0xa5e079,_0x55c395,_0x5f3878){return db['MailAccount'][_0xbad9('0x5e')]({'where':{'id':_0xa5e079['params']['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x55c395,null))['then'](function(_0x54ff0e){if(_0x54ff0e){return _0x54ff0e[_0xbad9('0x68')](_0xa5e079[_0xbad9('0x45')][_0xbad9('0x69')]);}})[_0xbad9('0x1f')](respondWithStatusCode(_0x55c395,null))[_0xbad9('0x29')](handleError(_0x55c395,null));};exports[_0xbad9('0x6a')]=function(_0x33e0ee,_0x985e9,_0x25da05){if(_0x33e0ee[_0xbad9('0x5f')]['id']){delete _0x33e0ee['body']['id'];}return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x33e0ee[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x985e9,null))[_0xbad9('0x1f')](function(_0x105771){if(_0x105771){_0x33e0ee[_0xbad9('0x5f')][_0xbad9('0x65')]=_0x105771['id'];return db[_0xbad9('0x6b')]['create'](_0x33e0ee[_0xbad9('0x5f')]);}})[_0xbad9('0x1f')](respondWithResult(_0x985e9,null))[_0xbad9('0x29')](handleError(_0x985e9,null));};exports['getAnswers']=function(_0x5ee90d,_0x497e39,_0x4d0688){var _0x4f0138={'raw':![],'where':{}};var _0x9a5318={};var _0x5345f1={'count':0x0,'rows':[]};return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x5ee90d[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x497e39,null))[_0xbad9('0x1f')](function(_0xfa23ff){if(_0xfa23ff){_0x9a5318['model']=_['keys'](db[_0xbad9('0x6b')][_0xbad9('0x41')]);_0x9a5318[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0x5ee90d[_0xbad9('0x45')]);_0x9a5318[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x9a5318['model'],_0x9a5318[_0xbad9('0x45')]);_0x4f0138['attributes']=_[_0xbad9('0x48')](_0x9a5318[_0xbad9('0x49')],qs['fields'](_0x5ee90d[_0xbad9('0x45')][_0xbad9('0x4a')]));_0x4f0138[_0xbad9('0x4b')]=_0x4f0138[_0xbad9('0x4b')][_0xbad9('0x4c')]?_0x4f0138[_0xbad9('0x4b')]:_0x9a5318['model'];if(!_0x5ee90d[_0xbad9('0x45')]['hasOwnProperty'](_0xbad9('0x6c'))){_0x4f0138[_0xbad9('0x4e')]=qs[_0xbad9('0x4e')](_0x5ee90d[_0xbad9('0x45')][_0xbad9('0x4e')]);_0x4f0138[_0xbad9('0x4f')]=qs['offset'](_0x5ee90d[_0xbad9('0x45')]['offset']);}_0x4f0138[_0xbad9('0x50')]=qs[_0xbad9('0x51')](_0x5ee90d[_0xbad9('0x45')][_0xbad9('0x51')]);_0x4f0138[_0xbad9('0x52')]=qs[_0xbad9('0x47')](_['pick'](_0x5ee90d[_0xbad9('0x45')],_0x9a5318[_0xbad9('0x47')]));_0x4f0138['where'][_0xbad9('0x65')]=_0xfa23ff['id'];if(_0x5ee90d['query']['filter']){_0x4f0138[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x4f0138[_0xbad9('0x52')],{'$or':_['map'](_0x4f0138[_0xbad9('0x4b')],function(_0x23cbf1){var _0x4b3ae3={};_0x4b3ae3[_0x23cbf1]={'$like':'%'+_0x5ee90d[_0xbad9('0x45')][_0xbad9('0x54')]+'%'};return _0x4b3ae3;})});}_0x4f0138=_[_0xbad9('0x55')]({},_0x4f0138,_0x5ee90d['options']);return db['CannedAnswer'][_0xbad9('0x2d')]({'where':_0x4f0138[_0xbad9('0x52')]})[_0xbad9('0x1f')](function(_0x4972cb){_0x5345f1['count']=_0x4972cb;if(_0x5ee90d[_0xbad9('0x45')][_0xbad9('0x59')]){_0x4f0138[_0xbad9('0x5a')]=[{'all':!![]}];}return db[_0xbad9('0x6b')][_0xbad9('0x67')](_0x4f0138);})[_0xbad9('0x1f')](function(_0x33e799){_0x5345f1[_0xbad9('0x5b')]=_0x33e799;return _0x5345f1;});}})['then'](respondWithFilteredResult(_0x497e39,_0x4f0138))['catch'](handleError(_0x497e39,null));};exports['removeAnswers']=function(_0x40275f,_0x4c727f,_0x17faaf){return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x40275f[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x4c727f,null))['then'](function(_0x357957){if(_0x357957){return _0x357957[_0xbad9('0x6d')](_0x40275f[_0xbad9('0x45')]['ids']);}})[_0xbad9('0x1f')](respondWithStatusCode(_0x4c727f,null))[_0xbad9('0x29')](handleError(_0x4c727f,null));};exports['create']=function(_0x4acaf4,_0x1a6470){var _0x2b4298={'name':_0x4acaf4[_0xbad9('0x5f')]['name'],'key':_0x4acaf4['body'][_0xbad9('0x44')],'email':_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x6e')],'ListId':_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x6f')],'active':!_[_0xbad9('0x70')](_0x4acaf4['body'][_0xbad9('0x71')])?_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x71')]:!![],'description':_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x72')]||null,'Imap':{},'Smtp':{}};if(_[_0xbad9('0x70')](_0x4acaf4['body'][_0xbad9('0x73')])){if(_0x4acaf4[_0xbad9('0x5f')]['cauthentication']){_0x2b4298[_0xbad9('0x3d')][_0xbad9('0x74')]=_0x2b4298[_0xbad9('0x3e')][_0xbad9('0x74')]=_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x75')];_0x2b4298[_0xbad9('0x3d')][_0xbad9('0x76')]=_0x2b4298['Smtp']['pass']=_0x4acaf4['body'][_0xbad9('0x77')];}else{_0x2b4298[_0xbad9('0x3d')][_0xbad9('0x78')]=_0x2b4298[_0xbad9('0x3e')]['authentication']=![];}_0x2b4298[_0xbad9('0x3d')][_0xbad9('0x79')]=_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x3d')][_0xbad9('0x79')];_0x2b4298[_0xbad9('0x3d')][_0xbad9('0x7a')]=_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x3d')][_0xbad9('0x7a')];_0x2b4298['Smtp'][_0xbad9('0x79')]=_0x4acaf4['body'][_0xbad9('0x3e')][_0xbad9('0x79')];_0x2b4298[_0xbad9('0x3e')][_0xbad9('0x7a')]=_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x3e')]['port'];}else{_0x2b4298[_0xbad9('0x3d')]['service']=_0x2b4298[_0xbad9('0x3e')][_0xbad9('0x7b')]=_0x4acaf4[_0xbad9('0x5f')]['cservice'];_0x2b4298['Imap']['user']=_0x2b4298[_0xbad9('0x3e')][_0xbad9('0x74')]=_0x4acaf4[_0xbad9('0x5f')][_0xbad9('0x75')];_0x2b4298['Imap'][_0xbad9('0x76')]=_0x2b4298['Smtp'][_0xbad9('0x7c')]=_0x4acaf4['body'][_0xbad9('0x77')];}return db[_0xbad9('0x58')]['create'](_0x2b4298,{'include':[{'model':db[_0xbad9('0x60')],'as':_0xbad9('0x3e')},{'model':db[_0xbad9('0x3c')],'as':_0xbad9('0x3d')}]})['then'](function(_0x191439){var _0x2bf8f8=_0x4acaf4['user']['get']({'plain':!![]});if(!_0x2bf8f8)throw new Error(_0xbad9('0x7d'));if(_0x2bf8f8['role']===_0xbad9('0x74')){var _0x12655a=_0x191439[_0xbad9('0x34')]({'plain':!![]});return db[_0xbad9('0x7e')]['find']({'where':{'name':_0xbad9('0x35'),'userProfileId':_0x2bf8f8[_0xbad9('0x7f')]},'raw':!![]})[_0xbad9('0x1f')](function(_0xa3e084){if(_0xa3e084&&_0xa3e084['autoAssociation']===0x0){return db[_0xbad9('0x36')]['create']({'name':_0x12655a[_0xbad9('0x38')],'resourceId':_0x12655a['id'],'type':_0xa3e084[_0xbad9('0x38')],'sectionId':_0xa3e084['id']},{})[_0xbad9('0x1f')](function(){return _0x191439;});}else{return _0x191439;}})['catch'](function(_0x26d6bf){logger['error'](_0xbad9('0x80'),_0x26d6bf);throw _0x26d6bf;});}return _0x191439;})[_0xbad9('0x1f')](respondWithResult(_0x1a6470,0xc9))[_0xbad9('0x29')](handleError(_0x1a6470,null));};exports[_0xbad9('0x81')]=function(_0x467d10,_0x157679,_0x16ffce){return db['MailAccount']['findOne']({'where':{'id':_0x467d10['params']['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x157679,null))[_0xbad9('0x1f')](function(_0xc7ded){if(_0xc7ded){return _0xc7ded[_0xbad9('0x81')]();}return null;})['then'](respondWithResult(_0x157679,null))[_0xbad9('0x29')](handleError(_0x157679,null));};exports[_0xbad9('0x82')]=function(_0x383a76,_0x24ed48,_0x3c52ed){if(_0x383a76[_0xbad9('0x5f')]['id']){delete _0x383a76[_0xbad9('0x5f')]['id'];}return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x383a76[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x24ed48,null))[_0xbad9('0x1f')](function(_0xc978cf){if(_0xc978cf){_0x383a76['body'][_0xbad9('0x65')]=_0xc978cf['id'];return db[_0xbad9('0x3c')][_0xbad9('0x63')](_0x383a76['body']);}})[_0xbad9('0x1f')](respondWithResult(_0x24ed48,null))[_0xbad9('0x29')](handleError(_0x24ed48,null));};exports['removeImap']=function(_0xa0a47a,_0xeb92fa,_0x2736b4){return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0xa0a47a[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0xeb92fa,null))[_0xbad9('0x1f')](function(_0x4b3d9c){if(_0x4b3d9c){return _0x4b3d9c[_0xbad9('0x83')](null);}return null;})[_0xbad9('0x1f')](respondWithStatusCode(_0xeb92fa,null))[_0xbad9('0x29')](handleError(_0xeb92fa,null));};exports['getSmtp']=function(_0x5efbbf,_0x17336e,_0x2ae887){return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x5efbbf['params']['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x17336e,null))['then'](function(_0x2d6204){if(_0x2d6204){return _0x2d6204[_0xbad9('0x84')]();}return null;})['then'](respondWithResult(_0x17336e,null))['catch'](handleError(_0x17336e,null));};exports['addSmtp']=function(_0xff089,_0x25dc3e,_0x205af2){if(_0xff089['body']['id']){delete _0xff089['body']['id'];}return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0xff089[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x25dc3e,null))['then'](function(_0x1b521f){if(_0x1b521f){_0xff089['body']['MailAccountId']=_0x1b521f['id'];return db[_0xbad9('0x60')][_0xbad9('0x63')](_0xff089[_0xbad9('0x5f')]);}})['then'](respondWithResult(_0x25dc3e,null))[_0xbad9('0x29')](handleError(_0x25dc3e,null));};exports['removeSmtp']=function(_0x3a351d,_0x180131,_0x186652){return db['MailAccount'][_0xbad9('0x64')]({'where':{'id':_0x3a351d[_0xbad9('0x5d')]['id']}})['then'](handleEntityNotFound(_0x180131,null))['then'](function(_0x1b66e6){if(_0x1b66e6){return _0x1b66e6[_0xbad9('0x85')](null);}return null;})[_0xbad9('0x1f')](respondWithStatusCode(_0x180131,null))['catch'](handleError(_0x180131,null));};exports[_0xbad9('0x86')]=function(_0x1719ad,_0x1f1cf2,_0x2d5349){return db[_0xbad9('0x87')][_0xbad9('0x5e')]({'where':{'id':_0x1719ad[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x1f1cf2,null))[_0xbad9('0x1f')](function(_0x2c8ec9){if(_0x2c8ec9){return _0x2c8ec9[_0xbad9('0x86')](_0x1719ad[_0xbad9('0x5f')][_0xbad9('0x69')],_[_0xbad9('0x88')](_0x1719ad[_0xbad9('0x5f')],[_0xbad9('0x69'),'id'])||{});}})[_0xbad9('0x1f')](respondWithResult(_0x1f1cf2,null))[_0xbad9('0x29')](handleError(_0x1f1cf2,null));};exports[_0xbad9('0x89')]=function(_0x488c3a,_0x489fbc,_0x235d27){var _0x38e901={'raw':![],'where':{}};var _0x49d95d={};var _0x1f276a={'count':0x0,'rows':[]};return db[_0xbad9('0x58')]['findOne']({'where':{'id':_0x488c3a[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x489fbc,null))[_0xbad9('0x1f')](function(_0x299913){if(_0x299913){_0x49d95d[_0xbad9('0x49')]=_['keys'](db[_0xbad9('0x87')][_0xbad9('0x41')]);_0x49d95d['query']=_[_0xbad9('0x46')](_0x488c3a[_0xbad9('0x45')]);_0x49d95d[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x49d95d[_0xbad9('0x49')],_0x49d95d['query']);_0x38e901[_0xbad9('0x4b')]=_[_0xbad9('0x48')](_0x49d95d['model'],qs[_0xbad9('0x4a')](_0x488c3a[_0xbad9('0x45')][_0xbad9('0x4a')]));_0x38e901[_0xbad9('0x4b')]=_0x38e901[_0xbad9('0x4b')][_0xbad9('0x4c')]?_0x38e901[_0xbad9('0x4b')]:_0x49d95d['model'];if(!_0x488c3a[_0xbad9('0x45')]['hasOwnProperty'](_0xbad9('0x6c'))){_0x38e901['limit']=qs[_0xbad9('0x4e')](_0x488c3a[_0xbad9('0x45')][_0xbad9('0x4e')]);_0x38e901[_0xbad9('0x4f')]=qs[_0xbad9('0x4f')](_0x488c3a[_0xbad9('0x45')][_0xbad9('0x4f')]);}_0x38e901[_0xbad9('0x50')]=qs[_0xbad9('0x51')](_0x488c3a[_0xbad9('0x45')][_0xbad9('0x51')]);_0x38e901[_0xbad9('0x52')]=qs['filters'](_[_0xbad9('0x53')](_0x488c3a[_0xbad9('0x45')],_0x49d95d[_0xbad9('0x47')]));_0x38e901[_0xbad9('0x52')][_0xbad9('0x65')]=_0x299913['id'];if(_0x488c3a[_0xbad9('0x45')][_0xbad9('0x54')]){_0x38e901[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x38e901[_0xbad9('0x52')],{'$or':_[_0xbad9('0x66')](_0x38e901[_0xbad9('0x4b')],function(_0x442498){var _0xacbad3={};_0xacbad3[_0x442498]={'$like':'%'+_0x488c3a[_0xbad9('0x45')][_0xbad9('0x54')]+'%'};return _0xacbad3;})});}_0x38e901=_[_0xbad9('0x55')]({},_0x38e901,_0x488c3a[_0xbad9('0x57')]);return db[_0xbad9('0x87')][_0xbad9('0x2d')]({'where':_0x38e901[_0xbad9('0x52')]})[_0xbad9('0x1f')](function(_0x55194c){_0x1f276a['count']=_0x55194c;if(_0x488c3a[_0xbad9('0x45')]['includeAll']){_0x38e901[_0xbad9('0x5a')]=[{'model':db[_0xbad9('0x8a')],'as':_0xbad9('0x8b'),'required':![]},{'model':db[_0xbad9('0x8c')],'as':_0xbad9('0x8d'),'attributes':[_0xbad9('0x38'),'fullname','internal'],'required':![]},{'model':db[_0xbad9('0x8e')],'as':_0xbad9('0x8f'),'attributes':['id',_0xbad9('0x38'),'color'],'where':_0x488c3a[_0xbad9('0x45')][_0xbad9('0x90')]?{'id':_0x488c3a[_0xbad9('0x45')][_0xbad9('0x90')]}:undefined,'required':_0x488c3a[_0xbad9('0x45')][_0xbad9('0x90')]?!![]:![]}];}return db[_0xbad9('0x87')]['findAll'](_0x38e901);})['then'](function(_0x4ec919){_0x1f276a[_0xbad9('0x5b')]=_0x4ec919;return _0x1f276a;});}})[_0xbad9('0x1f')](respondWithFilteredResult(_0x489fbc,_0x38e901))['catch'](handleError(_0x489fbc,null));};exports[_0xbad9('0x91')]=function(_0x241f66,_0x4cc6ee,_0x421c1){return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x241f66['params']['id']}})['then'](handleEntityNotFound(_0x4cc6ee,null))[_0xbad9('0x1f')](function(_0x439c74){if(_0x439c74){return db[_0xbad9('0x92')][_0xbad9('0x93')](function(_0x39f4d5){return db[_0xbad9('0x94')][_0xbad9('0x33')]({'where':{'MailAccountId':_0x241f66[_0xbad9('0x5d')]['id']},'transaction':_0x39f4d5})[_0xbad9('0x1f')](function(_0x53e5f2){var _0x26c02b=_['map'](_0x241f66[_0xbad9('0x5f')],function(_0x153423){_0x153423[_0xbad9('0x65')]=_0x241f66[_0xbad9('0x5d')]['id'];return _0x153423;});return db[_0xbad9('0x94')]['bulkCreate'](_0x26c02b,{'transaction':_0x39f4d5});});})['then'](function(){return db[_0xbad9('0x94')][_0xbad9('0x95')]({'where':{'MailAccountId':_0x241f66[_0xbad9('0x5d')]['id']},'order':'priority'});});}})[_0xbad9('0x1f')](respondWithResult(_0x4cc6ee,null))[_0xbad9('0x29')](handleError(_0x4cc6ee,null));};exports[_0xbad9('0x96')]=function(_0x436a5e,_0x3ed3c4,_0x2e4fd9){var _0x10aa1c={};var _0x31a299={};var _0x2a6241;var _0x2bfea2;return db['MailAccount']['findOne']({'where':{'id':_0x436a5e['params']['id']}})['then'](handleEntityNotFound(_0x3ed3c4,null))['then'](function(_0x12a6d4){if(_0x12a6d4){_0x2a6241=_0x12a6d4;_0x31a299[_0xbad9('0x49')]=_['keys'](db[_0xbad9('0x94')][_0xbad9('0x41')]);_0x31a299[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0x436a5e[_0xbad9('0x45')]);_0x31a299[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x31a299[_0xbad9('0x49')],_0x31a299[_0xbad9('0x45')]);_0x10aa1c['attributes']=_[_0xbad9('0x48')](_0x31a299['model'],qs[_0xbad9('0x4a')](_0x436a5e[_0xbad9('0x45')][_0xbad9('0x4a')]));_0x10aa1c[_0xbad9('0x4b')]=_0x10aa1c['attributes'][_0xbad9('0x4c')]?_0x10aa1c['attributes']:_0x31a299[_0xbad9('0x49')];_0x10aa1c['order']=qs[_0xbad9('0x51')](_0x436a5e[_0xbad9('0x45')][_0xbad9('0x51')]);_0x10aa1c[_0xbad9('0x52')]=qs[_0xbad9('0x47')](_[_0xbad9('0x53')](_0x436a5e[_0xbad9('0x45')],_0x31a299[_0xbad9('0x47')]));if(_0x436a5e['query'][_0xbad9('0x54')]){_0x10aa1c[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x10aa1c[_0xbad9('0x52')],{'$or':_[_0xbad9('0x66')](_0x10aa1c[_0xbad9('0x4b')],function(_0x3c3bea){var _0x3ce68c={};_0x3ce68c[_0x3c3bea]={'$like':'%'+_0x436a5e[_0xbad9('0x45')]['filter']+'%'};return _0x3ce68c;})});}_0x10aa1c=_[_0xbad9('0x55')]({},_0x10aa1c,_0x436a5e[_0xbad9('0x57')]);return _0x2a6241[_0xbad9('0x96')](_0x10aa1c);}})['then'](function(_0x2fde90){if(_0x2fde90){_0x2bfea2=_0x2fde90[_0xbad9('0x4c')];if(!_0x436a5e[_0xbad9('0x45')][_0xbad9('0x4d')](_0xbad9('0x6c'))){_0x10aa1c['limit']=qs[_0xbad9('0x4e')](_0x436a5e['query'][_0xbad9('0x4e')]);_0x10aa1c[_0xbad9('0x4f')]=qs[_0xbad9('0x4f')](_0x436a5e[_0xbad9('0x45')]['offset']);}return _0x2a6241[_0xbad9('0x96')](_0x10aa1c);}})[_0xbad9('0x1f')](function(_0x5ea8be){if(_0x5ea8be){return _0x5ea8be?{'count':_0x2bfea2,'rows':_0x5ea8be}:null;}})[_0xbad9('0x1f')](respondWithResult(_0x3ed3c4,null))[_0xbad9('0x29')](handleError(_0x3ed3c4,null));};exports[_0xbad9('0x97')]=function(_0x234f02,_0x1d1d8b,_0x14180d){var _0x26c768={'raw':!![],'where':{}};var _0x1e8e9b={};var _0xbe7206={'count':0x0,'rows':[]};return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x234f02['params']['id']}})['then'](handleEntityNotFound(_0x1d1d8b,null))['then'](function(_0x1b6281){if(_0x1b6281){_0x1e8e9b[_0xbad9('0x49')]=_[_0xbad9('0x46')](db[_0xbad9('0x98')][_0xbad9('0x41')]);_0x1e8e9b[_0xbad9('0x45')]=_[_0xbad9('0x46')](_0x234f02['query']);_0x1e8e9b[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x1e8e9b[_0xbad9('0x49')],_0x1e8e9b[_0xbad9('0x45')]);_0x26c768[_0xbad9('0x4b')]=_[_0xbad9('0x48')](_0x1e8e9b['model'],qs[_0xbad9('0x4a')](_0x234f02[_0xbad9('0x45')]['fields']));_0x26c768[_0xbad9('0x4b')]=_0x26c768[_0xbad9('0x4b')]['length']?_0x26c768[_0xbad9('0x4b')]:_0x1e8e9b[_0xbad9('0x49')];if(!_0x234f02[_0xbad9('0x45')][_0xbad9('0x4d')](_0xbad9('0x6c'))){_0x26c768[_0xbad9('0x4e')]=qs[_0xbad9('0x4e')](_0x234f02[_0xbad9('0x45')][_0xbad9('0x4e')]);_0x26c768['offset']=qs[_0xbad9('0x4f')](_0x234f02[_0xbad9('0x45')]['offset']);}_0x26c768[_0xbad9('0x50')]=qs[_0xbad9('0x51')](_0x234f02[_0xbad9('0x45')]['sort']);_0x26c768[_0xbad9('0x52')]=qs['filters'](_[_0xbad9('0x53')](_0x234f02[_0xbad9('0x45')],_0x1e8e9b['filters']));_0x26c768['where'][_0xbad9('0x65')]=_0x1b6281['id'];if(_0x234f02[_0xbad9('0x45')][_0xbad9('0x54')]){_0x26c768[_0xbad9('0x52')]=_['merge'](_0x26c768['where'],{'$or':_[_0xbad9('0x66')](_0x26c768['attributes'],function(_0x2a3dc6){var _0x4e9755={};_0x4e9755[_0x2a3dc6]={'$like':'%'+_0x234f02['query'][_0xbad9('0x54')]+'%'};return _0x4e9755;})});}if(_0x234f02[_0xbad9('0x45')][_0xbad9('0x99')]){var _0x1f73e2=_0x234f02[_0xbad9('0x45')][_0xbad9('0x99')][_0xbad9('0x9a')](',');var _0x3a6f03={};_0x3a6f03[_0x1f73e2[0x0]]={'$gte':moment(_0x1f73e2[0x1])['format'](_0xbad9('0x9b'))};_0x26c768['where']=_[_0xbad9('0x55')](_0x26c768['where'],_0x3a6f03);}_0x26c768=_[_0xbad9('0x55')]({},_0x26c768,_0x234f02[_0xbad9('0x57')]);return db[_0xbad9('0x98')][_0xbad9('0x2d')]({'where':_0x26c768[_0xbad9('0x52')]})[_0xbad9('0x1f')](function(_0x55ea21){_0xbe7206[_0xbad9('0x2d')]=_0x55ea21;if(_0x234f02[_0xbad9('0x45')]['includeAll']){_0x26c768[_0xbad9('0x5a')]=[{'all':!![]}];}return db[_0xbad9('0x98')]['findAll'](_0x26c768);})[_0xbad9('0x1f')](function(_0x4a1f70){_0xbe7206[_0xbad9('0x5b')]=_0x4a1f70;return _0xbe7206;});}})[_0xbad9('0x1f')](respondWithFilteredResult(_0x1d1d8b,_0x26c768))[_0xbad9('0x29')](handleError(_0x1d1d8b,null));};exports[_0xbad9('0x3a')]=function(_0x5d3447,_0xaf00c1,_0x3c3129){var _0x43cb7b,_0x1192ce={},_0x28b8e6;if(_0x5d3447[_0xbad9('0x5f')]['to']){_0x28b8e6=_0x5d3447[_0xbad9('0x5f')]['to'][_0xbad9('0x9a')](',')[0x0];}return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x5d3447['params']['id']},'include':[{'model':db[_0xbad9('0x9c')],'as':_0xbad9('0x9d'),'include':[{'model':db[_0xbad9('0x8a')],'as':'Contacts','where':{'email':_0x28b8e6},'limit':0x1,'order':[[_0xbad9('0x9e'),_0xbad9('0x9f')]]}]},{'model':db[_0xbad9('0x60')],'as':_0xbad9('0x3e'),'raw':!![]}]})[_0xbad9('0x1f')](handleEntityNotFound(_0xaf00c1,null))[_0xbad9('0x1f')](function(_0x26fd9d){if(_0x26fd9d){_0x43cb7b=_0x26fd9d;if(_0x26fd9d[_0xbad9('0x3e')]){if(_[_0xbad9('0x70')](_0x5d3447[_0xbad9('0x5f')][_0xbad9('0xa0')])){_0x5d3447[_0xbad9('0x5f')][_0xbad9('0xa0')]=util[_0xbad9('0xa1')]('%s\x20<%s>',_0x26fd9d[_0xbad9('0x38')],_0x26fd9d[_0xbad9('0x6e')]||_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x74')]);}if(_0x5d3447['body']['attachments']&&_0x5d3447[_0xbad9('0x5f')][_0xbad9('0xa2')]['length']){for(var _0x132cba=0x0;_0x132cba<_0x5d3447['body'][_0xbad9('0xa2')][_0xbad9('0x4c')];_0x132cba+=0x1){_0x5d3447[_0xbad9('0x5f')][_0xbad9('0xa2')][_0x132cba]={'filename':_0x5d3447[_0xbad9('0x5f')]['attachments'][_0x132cba][_0xbad9('0x38')],'path':path[_0xbad9('0xa3')](config['root'],_0xbad9('0xa4'),_0x5d3447['body'][_0xbad9('0xa2')][_0x132cba][_0xbad9('0xa5')])};}}var _0x413034={'tls':{'rejectUnauthorized':![]}};if(_[_0xbad9('0x70')](_0x26fd9d['Smtp'][_0xbad9('0x7b')])){if(_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x78')]){_0x413034['auth']={'user':_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x74')],'pass':_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x7c')]};}_0x413034[_0xbad9('0x79')]=_0x26fd9d['Smtp'][_0xbad9('0x79')];_0x413034[_0xbad9('0x7a')]=_0x26fd9d[_0xbad9('0x3e')]['port'];_0x413034[_0xbad9('0xa6')]=_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0xa6')];}else{_0x413034[_0xbad9('0x7b')]=_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x7b')];_0x413034[_0xbad9('0xa7')]={'user':_0x26fd9d[_0xbad9('0x3e')][_0xbad9('0x74')],'pass':_0x26fd9d[_0xbad9('0x3e')]['pass']};}return respondWithRpcPromise(_0xbad9('0xa8'),_0xbad9('0xa9'),{'account':_0x413034,'message':_0x5d3447[_0xbad9('0x5f')]});}else{throw new Error('List\x20not\x20found');}}})[_0xbad9('0x1f')](function(_0x1dbe7d){if(_0x1dbe7d){_0x1192ce=_0x1dbe7d;if(_0x43cb7b[_0xbad9('0x9d')]){if(_0x43cb7b[_0xbad9('0x9d')][_0xbad9('0xaa')]['length']){return _0x43cb7b['List'][_0xbad9('0xaa')][0x0];}else{return db[_0xbad9('0x8a')][_0xbad9('0x63')](_['defaults'](_0x5d3447[_0xbad9('0x5f')],{'firstName':_0x5d3447[_0xbad9('0x5f')]['to'],'email':_0x5d3447[_0xbad9('0x5f')]['to'],'phone':_0x5d3447[_0xbad9('0x5f')]['to'],'ListId':_0x43cb7b[_0xbad9('0x6f')]}));}}else{throw new Error(_0xbad9('0xab'));}}})[_0xbad9('0x1f')](function(_0x10c4e1){if(_0x10c4e1){var _0x336014={'UserId':_0x5d3447[_0xbad9('0x74')]['id'],'ContactId':_0x10c4e1['id'],'MailAccountId':_0x43cb7b['id'],'inReplyTo':_0x1192ce['messageId'],'to':_0x5d3447['body'][_0xbad9('0xa0')],'cc':_0x5d3447[_0xbad9('0x5f')]['cc'],'subject':_0x5d3447[_0xbad9('0x5f')][_0xbad9('0xac')],'attach':_0x5d3447['body'][_0xbad9('0xad')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xbad9('0xa1')](_0xbad9('0x9b')),'lastMsgDirection':'out','lastMsgBody':_0x5d3447['body']['body'],'Messages':[_[_0xbad9('0x55')](_0x5d3447[_0xbad9('0x5f')],{'messageId':_0x1192ce[_0xbad9('0xae')],'sentAt':moment()[_0xbad9('0xa1')](_0xbad9('0x9b')),'read':!![],'MailAccountId':_0x43cb7b['id'],'UserId':_0x5d3447['user']['id'],'ContactId':_0x10c4e1['id']})]};if(_0x5d3447[_0xbad9('0x5f')]['Interaction']){_0x336014=_[_0xbad9('0x55')](_0x336014,_0x5d3447['body']['Interaction']);}return db[_0xbad9('0x87')][_0xbad9('0x63')](_0x336014,{'include':[{'model':db['MailMessage'],'as':_0xbad9('0xaf')}]});}})['then'](respondWithResult(_0xaf00c1,null))['catch'](handleError(_0xaf00c1,null));};exports[_0xbad9('0xb0')]=function(_0x288e40,_0x25c3c8,_0x1b5099){return db['MailAccount'][_0xbad9('0x5e')]({'where':{'id':_0x288e40[_0xbad9('0x5d')]['id']},'include':[{'model':db[_0xbad9('0x60')],'as':'Smtp','raw':!![]}]})[_0xbad9('0x1f')](handleEntityNotFound(_0x25c3c8,null))[_0xbad9('0x1f')](function(_0x384589){if(_0x384589&&_0x384589['Smtp']){var _0x46c2f8={'id':_0x384589['id'],'tls':{'rejectUnauthorized':![]}};if(_0x384589[_0xbad9('0x3e')][_0xbad9('0x7b')]){_0x46c2f8[_0xbad9('0x7b')]=_0x384589[_0xbad9('0x3e')][_0xbad9('0x7b')];}else{_0x46c2f8[_0xbad9('0x79')]=_0x384589[_0xbad9('0x3e')][_0xbad9('0x79')];_0x46c2f8[_0xbad9('0x7a')]=_0x384589[_0xbad9('0x3e')]['port'];_0x46c2f8[_0xbad9('0xa6')]=_0x384589[_0xbad9('0x3e')][_0xbad9('0xa6')];}if(_0x384589[_0xbad9('0x3e')][_0xbad9('0x78')]){_0x46c2f8[_0xbad9('0xa7')]={'user':_0x384589['Smtp'][_0xbad9('0x74')],'pass':_0x384589[_0xbad9('0x3e')][_0xbad9('0x7c')]};}return respondWithRpcPromise(_0xbad9('0xb1'),_0xbad9('0xb0'),{'account':_0x46c2f8});}})[_0xbad9('0x1f')](respondWithResult(_0x25c3c8,null))[_0xbad9('0x29')](handleError(_0x25c3c8,null));};exports[_0xbad9('0x33')]=function(_0x467287,_0x376380){return db['MailAccount']['find']({'where':{'id':_0x467287['params']['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x376380,null))[_0xbad9('0x1f')](function(_0x5e161e){if(_0x5e161e&&_0x5e161e[_0xbad9('0x7b')]){throw new db[(_0xbad9('0xb2'))]['ValidationError'](_0xbad9('0xb3'));}return _0x5e161e;})[_0xbad9('0x1f')](removeEntity(_0x376380,null))[_0xbad9('0x29')](handleError(_0x376380,null));};exports[_0xbad9('0xb4')]=function(_0x578adb,_0xae72a,_0x5ee894){return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x578adb[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0xae72a,null))[_0xbad9('0x1f')](function(_0x4a2abb){if(_0x4a2abb){return _0x4a2abb['addAgents'](_0x578adb[_0xbad9('0x5f')][_0xbad9('0x69')],_['omit'](_0x578adb[_0xbad9('0x5f')],[_0xbad9('0x69'),'id'])||{})['spread'](function(_0x5015bf){for(var _0x303553=0x0;_0x303553<_0x578adb[_0xbad9('0x5f')]['ids'][_0xbad9('0x4c')];_0x303553+=0x1){socket[_0xbad9('0xb5')](_0xbad9('0xb6'),{'UserId':_0x578adb[_0xbad9('0x5f')][_0xbad9('0x69')][_0x303553],'MailAccountId':_0x578adb[_0xbad9('0x5d')]['id']});}return _0x5015bf;});}})['then'](respondWithResult(_0xae72a,null))[_0xbad9('0x29')](handleError(_0xae72a,null));};exports[_0xbad9('0xb7')]=function(_0x30334a,_0x1c9872,_0x2b8181){return db[_0xbad9('0x58')][_0xbad9('0x5e')]({'where':{'id':_0x30334a[_0xbad9('0x5d')]['id']}})['then'](handleEntityNotFound(_0x1c9872,null))[_0xbad9('0x1f')](function(_0x334d25){if(_0x334d25){return _0x334d25['removeAgents'](_0x30334a['query'][_0xbad9('0x69')])[_0xbad9('0x1f')](function(){if(_[_0xbad9('0xb8')](_0x30334a[_0xbad9('0x45')]['ids'])){for(var _0x57b4c4=0x0;_0x57b4c4<_0x30334a[_0xbad9('0x45')][_0xbad9('0x69')][_0xbad9('0x4c')];_0x57b4c4+=0x1){socket[_0xbad9('0xb5')](_0xbad9('0xb9'),{'UserId':Number(_0x30334a[_0xbad9('0x45')][_0xbad9('0x69')][_0x57b4c4]),'MailAccountId':Number(_0x30334a[_0xbad9('0x5d')]['id'])});}}else{socket[_0xbad9('0xb5')](_0xbad9('0xb9'),{'UserId':Number(_0x30334a[_0xbad9('0x45')][_0xbad9('0x69')]),'MailAccountId':Number(_0x30334a[_0xbad9('0x5d')]['id'])});}});}})[_0xbad9('0x1f')](respondWithStatusCode(_0x1c9872,null))['catch'](handleError(_0x1c9872,null));};exports[_0xbad9('0xba')]=function(_0x2e5ab6,_0x3d36c3,_0x467550){var _0x3d3e63={};var _0x4581dd={};var _0x5de079;var _0x51c4cc;return db[_0xbad9('0x58')][_0xbad9('0x64')]({'where':{'id':_0x2e5ab6[_0xbad9('0x5d')]['id']}})[_0xbad9('0x1f')](handleEntityNotFound(_0x3d36c3,null))['then'](function(_0x5b298f){if(_0x5b298f){_0x5de079=_0x5b298f;_0x4581dd[_0xbad9('0x49')]=_[_0xbad9('0x46')](db[_0xbad9('0x8c')][_0xbad9('0x41')]);_0x4581dd['query']=_[_0xbad9('0x46')](_0x2e5ab6[_0xbad9('0x45')]);_0x4581dd[_0xbad9('0x47')]=_[_0xbad9('0x48')](_0x4581dd[_0xbad9('0x49')],_0x4581dd[_0xbad9('0x45')]);_0x3d3e63[_0xbad9('0x4b')]=_[_0xbad9('0x48')](_0x4581dd[_0xbad9('0x49')],qs[_0xbad9('0x4a')](_0x2e5ab6['query'][_0xbad9('0x4a')]));_0x3d3e63['attributes']=_0x3d3e63['attributes'][_0xbad9('0x4c')]?_0x3d3e63[_0xbad9('0x4b')]:_0x4581dd['model'];_0x3d3e63[_0xbad9('0x50')]=qs['sort'](_0x2e5ab6[_0xbad9('0x45')][_0xbad9('0x51')]);_0x3d3e63[_0xbad9('0x52')]=qs[_0xbad9('0x47')](_[_0xbad9('0x53')](_0x2e5ab6[_0xbad9('0x45')],_0x4581dd['filters']));if(_0x2e5ab6[_0xbad9('0x45')]['filter']){_0x3d3e63[_0xbad9('0x52')]=_[_0xbad9('0x55')](_0x3d3e63['where'],{'$or':_['map'](_0x3d3e63[_0xbad9('0x4b')],function(_0x4cbe3b){var _0x36551b={};_0x36551b[_0x4cbe3b]={'$like':'%'+_0x2e5ab6[_0xbad9('0x45')][_0xbad9('0x54')]+'%'};return _0x36551b;})});}_0x3d3e63=_[_0xbad9('0x55')]({},_0x3d3e63,_0x2e5ab6[_0xbad9('0x57')]);return _0x5de079[_0xbad9('0xba')](_0x3d3e63);}})[_0xbad9('0x1f')](function(_0x3853ff){if(_0x3853ff){_0x51c4cc=_0x3853ff[_0xbad9('0x4c')];if(!_0x2e5ab6[_0xbad9('0x45')][_0xbad9('0x4d')](_0xbad9('0x6c'))){_0x3d3e63[_0xbad9('0x4e')]=qs[_0xbad9('0x4e')](_0x2e5ab6[_0xbad9('0x45')][_0xbad9('0x4e')]);_0x3d3e63[_0xbad9('0x4f')]=qs[_0xbad9('0x4f')](_0x2e5ab6[_0xbad9('0x45')]['offset']);}return _0x5de079[_0xbad9('0xba')](_0x3d3e63);}})[_0xbad9('0x1f')](function(_0x549cab){if(_0x549cab){return _0x549cab?{'count':_0x51c4cc,'rows':_0x549cab}:null;}})['then'](respondWithResult(_0x3d36c3,null))['catch'](handleError(_0x3d36c3,null));};