563a752afaf470d011b431629acb7065995aab0d
[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 _0xc199=['./mailAccount.socket','register','client','http','request','MailAccount,\x20%s,\x20%s','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','error','message','result','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','then','get','MailAccounts','UserProfileResource','sendStatus','stack','name','send','index','Imap','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','params','MailServerIn','MailServerOut','Smtp','find','update','body','describe','addDisposition','MailAccountId','create','getDispositions','findOne','Disposition','nolimit','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','order','removeAnswers','email','isNil','active','description','cservice','cauthentication','user','cuser','password','cpassword','authentication','host','port','service','pass','role','UserProfileSection','userProfileId','getImap','addImap','removeImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','Contact','Owner','Tag','Tags','color','tag','findAll','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','MailApplication','destroy','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','format','inlineCss','true','List','CmContact','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','SendMail','sendMail','Contacts','messageId','subject','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','verifySmtp','secure','VerifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','html-to-text','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter'];(function(_0x407041,_0x2571be){var _0x107d8c=function(_0x5c8ef9){while(--_0x5c8ef9){_0x407041['push'](_0x407041['shift']());}};_0x107d8c(++_0x2571be);}(_0xc199,0xa9));var _0x9c19=function(_0x2f1762,_0xab43df){_0x2f1762=_0x2f1762-0x0;var _0x8ab21=_0xc199[_0x2f1762];return _0x8ab21;};'use strict';var emlformat=require(_0x9c19('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9c19('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9c19('0x2'));var moment=require(_0x9c19('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9c19('0x4'));var util=require(_0x9c19('0x5'));var path=require(_0x9c19('0x6'));var sox=require(_0x9c19('0x7'));var csv=require(_0x9c19('0x8'));var ejs=require(_0x9c19('0x9'));var fs=require('fs');var fs_extra=require(_0x9c19('0xa'));var _=require('lodash');var squel=require(_0x9c19('0xb'));var crypto=require(_0x9c19('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x9c19('0xd'));var toCsv=require('to-csv');var querystring=require(_0x9c19('0xe'));var Papa=require(_0x9c19('0xf'));var htmlToText=require(_0x9c19('0x10'));var juice=require(_0x9c19('0x11'));var Redis=require(_0x9c19('0x12'));var authService=require(_0x9c19('0x13'));var qs=require(_0x9c19('0x14'));var as=require(_0x9c19('0x15'));var hardwareService=require(_0x9c19('0x16'));var logger=require(_0x9c19('0x17'))('api');var utils=require(_0x9c19('0x18'));var config=require(_0x9c19('0x19'));var licenseUtil=require(_0x9c19('0x1a'));var db=require(_0x9c19('0x1b'))['db'];config[_0x9c19('0x1c')]=_[_0x9c19('0x1d')](config[_0x9c19('0x1c')],{'host':_0x9c19('0x1e'),'port':0x18eb});var socket=require(_0x9c19('0x1f'))(new Redis(config[_0x9c19('0x1c')]));require(_0x9c19('0x20'))[_0x9c19('0x21')](socket);var jayson=require('jayson/promise');var client=jayson[_0x9c19('0x22')][_0x9c19('0x23')]({'port':0x232b});function respondWithRpcPromise(_0x1c27c2,_0x30d4c5,_0x317a67,_0x351a05){return new BPromise(function(_0x542bba,_0xdbe30e){var _0x3fb23d=_0x351a05||client;return _0x3fb23d[_0x9c19('0x24')](_0x1c27c2,_0x317a67)['then'](function(_0xae4754){logger['info'](_0x9c19('0x25'),_0x30d4c5,_0x9c19('0x26'));logger['debug'](_0x9c19('0x27'),_0x30d4c5,_0x9c19('0x26'),JSON['stringify'](_0xae4754));if(_0xae4754[_0x9c19('0x28')]){if(_0xae4754[_0x9c19('0x28')]['code']===0x1f4){logger[_0x9c19('0x28')](_0x9c19('0x25'),_0x30d4c5,_0xae4754[_0x9c19('0x28')]['message']);return _0xdbe30e(_0xae4754[_0x9c19('0x28')][_0x9c19('0x29')]);}logger[_0x9c19('0x28')](_0x9c19('0x25'),_0x30d4c5,_0xae4754[_0x9c19('0x28')][_0x9c19('0x29')]);return _0x542bba(_0xae4754[_0x9c19('0x28')]['message']);}else{logger['info'](_0x9c19('0x25'),_0x30d4c5,'request\x20sent');_0x542bba(_0xae4754[_0x9c19('0x2a')][_0x9c19('0x29')]);}})['catch'](function(_0x4ab808){logger[_0x9c19('0x28')](_0x9c19('0x25'),_0x30d4c5,_0x4ab808);_0xdbe30e(_0x4ab808);});});}function respondWithStatusCode(_0x3caa16,_0x552a81){_0x552a81=_0x552a81||0xcc;return function(_0x49971d){if(_0x49971d){return _0x3caa16['sendStatus'](_0x552a81);}return _0x3caa16[_0x9c19('0x2b')](_0x552a81)[_0x9c19('0x2c')]();};}function respondWithResult(_0x35f8d0,_0x52cfd4){_0x52cfd4=_0x52cfd4||0xc8;return function(_0x1d9464){if(_0x1d9464){return _0x35f8d0[_0x9c19('0x2b')](_0x52cfd4)[_0x9c19('0x2d')](_0x1d9464);}};}function respondWithFilteredResult(_0x18b72c,_0x3794fc){return function(_0x1c8d06){if(_0x1c8d06){var _0x8e2b1a=typeof _0x3794fc[_0x9c19('0x2e')]==='undefined'&&typeof _0x3794fc[_0x9c19('0x2f')]===_0x9c19('0x30');var _0x3bbce1=_0x1c8d06['count'];var _0x87e611=_0x8e2b1a?0x0:_0x3794fc['offset'];var _0x446e6b=_0x8e2b1a?_0x1c8d06[_0x9c19('0x31')]:_0x3794fc[_0x9c19('0x2e')]+_0x3794fc['limit'];var _0x40c583;if(_0x446e6b>=_0x3bbce1){_0x446e6b=_0x3bbce1;_0x40c583=0xc8;}else{_0x40c583=0xce;}_0x18b72c[_0x9c19('0x2b')](_0x40c583);return _0x18b72c['set'](_0x9c19('0x32'),_0x87e611+'-'+_0x446e6b+'/'+_0x3bbce1)[_0x9c19('0x2d')](_0x1c8d06);}return null;};}function patchUpdates(_0xad0d5e){return function(_0xd58878){try{jsonpatch[_0x9c19('0x33')](_0xd58878,_0xad0d5e,!![]);}catch(_0x26f9f6){return BPromise[_0x9c19('0x34')](_0x26f9f6);}return _0xd58878['save']();};}function saveUpdates(_0x512a88,_0x38ce51){return function(_0x44a030){if(_0x44a030){return _0x44a030['update'](_0x512a88)[_0x9c19('0x35')](function(_0x25635b){return _0x25635b;});}return null;};}function removeEntity(_0x30c18d,_0x34913e){return function(_0x4ae693){if(_0x4ae693){return _0x4ae693['destroy']()[_0x9c19('0x35')](function(){var _0x39a5e0=_0x4ae693[_0x9c19('0x36')]({'plain':!![]});var _0x5a8a12=_0x9c19('0x37');return db[_0x9c19('0x38')]['destroy']({'where':{'type':_0x5a8a12,'resourceId':_0x39a5e0['id']}})['then'](function(){return _0x4ae693;});})[_0x9c19('0x35')](function(){_0x30c18d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x241f4f,_0x366bf2){return function(_0x3c76dd){if(!_0x3c76dd){_0x241f4f[_0x9c19('0x39')](0x194);}return _0x3c76dd;};}function handleError(_0x24d387,_0x241d51){_0x241d51=_0x241d51||0x1f4;return function(_0x310d93){logger[_0x9c19('0x28')](_0x310d93[_0x9c19('0x3a')]);if(_0x310d93[_0x9c19('0x3b')]){delete _0x310d93['name'];}_0x24d387[_0x9c19('0x2b')](_0x241d51)[_0x9c19('0x3c')](_0x310d93);};}exports[_0x9c19('0x3d')]=function(_0x3aaa07,_0x20ac36){var _0x15e2cb={'include':[{'model':db['MailServerIn'],'as':_0x9c19('0x3e')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x9c19('0x3f')],'as':_0x9c19('0x40')}]},_0x1ea9f3={},_0x454a6d={'count':0x0,'rows':[]};var _0x51c4ad=_[_0x9c19('0x41')](db[_0x9c19('0x42')][_0x9c19('0x43')],function(_0x125bc9){return{'name':_0x125bc9[_0x9c19('0x44')],'type':_0x125bc9[_0x9c19('0x45')][_0x9c19('0x46')]};});_0x1ea9f3[_0x9c19('0x47')]=_[_0x9c19('0x41')](_0x51c4ad,'name');_0x1ea9f3[_0x9c19('0x48')]=_[_0x9c19('0x49')](_0x3aaa07['query']);_0x1ea9f3['filters']=_[_0x9c19('0x4a')](_0x1ea9f3['model'],_0x1ea9f3[_0x9c19('0x48')]);_0x15e2cb[_0x9c19('0x4b')]=_[_0x9c19('0x4a')](_0x1ea9f3['model'],qs[_0x9c19('0x4c')](_0x3aaa07[_0x9c19('0x48')][_0x9c19('0x4c')]));_0x15e2cb['attributes']=_0x15e2cb['attributes'][_0x9c19('0x4d')]?_0x15e2cb[_0x9c19('0x4b')]:_0x1ea9f3[_0x9c19('0x47')];if(!_0x3aaa07[_0x9c19('0x48')][_0x9c19('0x4e')]('nolimit')){_0x15e2cb[_0x9c19('0x2f')]=qs['limit'](_0x3aaa07[_0x9c19('0x48')]['limit']);_0x15e2cb[_0x9c19('0x2e')]=qs[_0x9c19('0x2e')](_0x3aaa07['query'][_0x9c19('0x2e')]);}_0x15e2cb['order']=qs[_0x9c19('0x4f')](_0x3aaa07[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x15e2cb[_0x9c19('0x50')]=qs[_0x9c19('0x51')](_[_0x9c19('0x52')](_0x3aaa07[_0x9c19('0x48')],_0x1ea9f3['filters']),_0x51c4ad);if(_0x3aaa07[_0x9c19('0x48')][_0x9c19('0x53')]){_0x15e2cb[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x15e2cb[_0x9c19('0x50')],{'$or':_[_0x9c19('0x41')](_0x51c4ad,function(_0x3607e1){if(_0x3607e1['type']!==_0x9c19('0x55')){var _0xf44b27={};_0xf44b27[_0x3607e1[_0x9c19('0x3b')]]={'$like':'%'+_0x3aaa07[_0x9c19('0x48')]['filter']+'%'};return _0xf44b27;}})});}_0x15e2cb=_[_0x9c19('0x54')]({},_0x15e2cb,_0x3aaa07[_0x9c19('0x56')]);var _0x417f6b={'where':_0x15e2cb['where']};return db[_0x9c19('0x42')][_0x9c19('0x31')](_0x417f6b)[_0x9c19('0x35')](function(_0x335e87){_0x454a6d[_0x9c19('0x31')]=_0x335e87;if(_0x3aaa07['query'][_0x9c19('0x57')]){_0x15e2cb[_0x9c19('0x58')]=[{'all':!![]}];}return db[_0x9c19('0x42')]['findAll'](_0x15e2cb);})[_0x9c19('0x35')](function(_0x19319a){_0x454a6d[_0x9c19('0x59')]=_0x19319a;return _0x454a6d;})['then'](respondWithFilteredResult(_0x20ac36,_0x15e2cb))[_0x9c19('0x5a')](handleError(_0x20ac36,null));};exports['show']=function(_0x2b1095,_0x233388){var _0x128d08={'raw':![],'where':{'id':_0x2b1095[_0x9c19('0x5b')]['id']},'include':[{'model':db[_0x9c19('0x5c')],'as':_0x9c19('0x3e')},{'model':db[_0x9c19('0x5d')],'as':_0x9c19('0x5e')},{'model':db[_0x9c19('0x3f')],'as':_0x9c19('0x40')}]},_0x5a00f4={};_0x5a00f4[_0x9c19('0x47')]=_[_0x9c19('0x49')](db[_0x9c19('0x42')]['rawAttributes']);_0x5a00f4['query']=_[_0x9c19('0x49')](_0x2b1095[_0x9c19('0x48')]);_0x5a00f4[_0x9c19('0x51')]=_[_0x9c19('0x4a')](_0x5a00f4[_0x9c19('0x47')],_0x5a00f4[_0x9c19('0x48')]);_0x128d08[_0x9c19('0x4b')]=_['intersection'](_0x5a00f4[_0x9c19('0x47')],qs[_0x9c19('0x4c')](_0x2b1095[_0x9c19('0x48')]['fields']));_0x128d08[_0x9c19('0x4b')]=_0x128d08[_0x9c19('0x4b')][_0x9c19('0x4d')]?_0x128d08[_0x9c19('0x4b')]:_0x5a00f4[_0x9c19('0x47')];if(_0x2b1095['query']['includeAll']){_0x128d08['include']=[{'all':!![]}];}_0x128d08=_[_0x9c19('0x54')]({},_0x128d08,_0x2b1095[_0x9c19('0x56')]);return db[_0x9c19('0x42')][_0x9c19('0x5f')](_0x128d08)[_0x9c19('0x35')](handleEntityNotFound(_0x233388,null))['then'](respondWithResult(_0x233388,null))['catch'](handleError(_0x233388,null));};exports[_0x9c19('0x60')]=function(_0x1f554b,_0x1788d0){if(_0x1f554b[_0x9c19('0x61')]['id']){delete _0x1f554b['body']['id'];}return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x1f554b[_0x9c19('0x5b')]['id']},'include':[{'model':db[_0x9c19('0x5c')],'as':_0x9c19('0x3e')},{'model':db[_0x9c19('0x5d')],'as':_0x9c19('0x5e')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x9c19('0x35')](handleEntityNotFound(_0x1788d0,null))[_0x9c19('0x35')](saveUpdates(_0x1f554b[_0x9c19('0x61')],null))[_0x9c19('0x35')](function(_0x1816dd){if(_0x1816dd&&_0x1f554b[_0x9c19('0x61')]['Imap']){return db[_0x9c19('0x5c')]['update'](_0x1f554b[_0x9c19('0x61')][_0x9c19('0x3e')],{'where':{'MailAccountId':_0x1816dd['id']}})[_0x9c19('0x35')](function(){return _0x1816dd;});}return _0x1816dd;})[_0x9c19('0x35')](function(_0x31fe4b){if(_0x31fe4b&&_0x1f554b[_0x9c19('0x61')][_0x9c19('0x5e')]){return db[_0x9c19('0x5d')][_0x9c19('0x60')](_0x1f554b['body']['Smtp'],{'where':{'MailAccountId':_0x31fe4b['id']}})[_0x9c19('0x35')](function(){return _0x31fe4b;});}return _0x31fe4b;})[_0x9c19('0x35')](respondWithResult(_0x1788d0,null))['catch'](handleError(_0x1788d0,null));};exports[_0x9c19('0x62')]=function(_0x282ee2,_0x1e8a83){return db[_0x9c19('0x42')]['describe']()[_0x9c19('0x35')](respondWithResult(_0x1e8a83,null))[_0x9c19('0x5a')](handleError(_0x1e8a83,null));};exports[_0x9c19('0x63')]=function(_0x579368,_0x4a6cc8,_0x31d3de){if(_0x579368[_0x9c19('0x61')]['id']){delete _0x579368[_0x9c19('0x61')]['id'];}return db[_0x9c19('0x42')]['find']({'where':{'id':_0x579368[_0x9c19('0x5b')]['id']}})['then'](handleEntityNotFound(_0x4a6cc8,null))[_0x9c19('0x35')](function(_0x307931){if(_0x307931){_0x579368['body'][_0x9c19('0x64')]=_0x307931['id'];return db['Disposition'][_0x9c19('0x65')](_0x579368[_0x9c19('0x61')]);}})[_0x9c19('0x35')](respondWithResult(_0x4a6cc8,null))['catch'](handleError(_0x4a6cc8,null));};exports[_0x9c19('0x66')]=function(_0x4cda77,_0x20055c,_0x229c10){var _0x4845fb={'raw':![],'where':{}};var _0x314ff9={};var _0x3f770b={'count':0x0,'rows':[]};return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x4cda77[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x20055c,null))['then'](function(_0x376fe8){if(_0x376fe8){_0x314ff9[_0x9c19('0x47')]=_['keys'](db[_0x9c19('0x68')][_0x9c19('0x43')]);_0x314ff9[_0x9c19('0x48')]=_[_0x9c19('0x49')](_0x4cda77[_0x9c19('0x48')]);_0x314ff9[_0x9c19('0x51')]=_[_0x9c19('0x4a')](_0x314ff9[_0x9c19('0x47')],_0x314ff9['query']);_0x4845fb['attributes']=_[_0x9c19('0x4a')](_0x314ff9[_0x9c19('0x47')],qs[_0x9c19('0x4c')](_0x4cda77[_0x9c19('0x48')][_0x9c19('0x4c')]));_0x4845fb[_0x9c19('0x4b')]=_0x4845fb[_0x9c19('0x4b')]['length']?_0x4845fb[_0x9c19('0x4b')]:_0x314ff9[_0x9c19('0x47')];if(!_0x4cda77[_0x9c19('0x48')][_0x9c19('0x4e')](_0x9c19('0x69'))){_0x4845fb[_0x9c19('0x2f')]=qs[_0x9c19('0x2f')](_0x4cda77['query'][_0x9c19('0x2f')]);_0x4845fb[_0x9c19('0x2e')]=qs[_0x9c19('0x2e')](_0x4cda77['query'][_0x9c19('0x2e')]);}_0x4845fb['order']=qs[_0x9c19('0x4f')](_0x4cda77[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x4845fb[_0x9c19('0x50')]=qs[_0x9c19('0x51')](_[_0x9c19('0x52')](_0x4cda77[_0x9c19('0x48')],_0x314ff9[_0x9c19('0x51')]));_0x4845fb[_0x9c19('0x50')][_0x9c19('0x64')]=_0x376fe8['id'];if(_0x4cda77['query']['filter']){_0x4845fb[_0x9c19('0x50')]=_['merge'](_0x4845fb[_0x9c19('0x50')],{'$or':_[_0x9c19('0x41')](_0x4845fb[_0x9c19('0x4b')],function(_0x410c17){var _0x30cc0e={};_0x30cc0e[_0x410c17]={'$like':'%'+_0x4cda77[_0x9c19('0x48')]['filter']+'%'};return _0x30cc0e;})});}_0x4845fb=_[_0x9c19('0x54')]({},_0x4845fb,_0x4cda77['options']);return db[_0x9c19('0x68')][_0x9c19('0x31')]({'where':_0x4845fb[_0x9c19('0x50')]})['then'](function(_0x2a17db){_0x3f770b['count']=_0x2a17db;if(_0x4cda77[_0x9c19('0x48')][_0x9c19('0x57')]){_0x4845fb['include']=[{'all':!![]}];}return db['Disposition']['findAll'](_0x4845fb);})[_0x9c19('0x35')](function(_0x4633a4){_0x3f770b[_0x9c19('0x59')]=_0x4633a4;return _0x3f770b;});}})['then'](respondWithFilteredResult(_0x20055c,_0x4845fb))['catch'](handleError(_0x20055c,null));};exports[_0x9c19('0x6a')]=function(_0x411665,_0x22c565,_0x44a38e){return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x411665[_0x9c19('0x5b')]['id']}})['then'](handleEntityNotFound(_0x22c565,null))['then'](function(_0x163755){if(_0x163755){return _0x163755[_0x9c19('0x6a')](_0x411665[_0x9c19('0x48')][_0x9c19('0x6b')]);}})[_0x9c19('0x35')](respondWithStatusCode(_0x22c565,null))[_0x9c19('0x5a')](handleError(_0x22c565,null));};exports[_0x9c19('0x6c')]=function(_0x3bb755,_0x1bd716,_0x223f0a){if(_0x3bb755['body']['id']){delete _0x3bb755[_0x9c19('0x61')]['id'];}return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x3bb755[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x1bd716,null))[_0x9c19('0x35')](function(_0x27d795){if(_0x27d795){_0x3bb755[_0x9c19('0x61')][_0x9c19('0x64')]=_0x27d795['id'];return db[_0x9c19('0x6d')]['create'](_0x3bb755[_0x9c19('0x61')]);}})[_0x9c19('0x35')](respondWithResult(_0x1bd716,null))['catch'](handleError(_0x1bd716,null));};exports[_0x9c19('0x6e')]=function(_0x2a221c,_0x316411,_0x1dcf54){var _0xc0b2dc={'raw':![],'where':{}};var _0x14ad74={};var _0x4fa695={'count':0x0,'rows':[]};return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x2a221c[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x316411,null))['then'](function(_0x54df7b){if(_0x54df7b){_0x14ad74[_0x9c19('0x47')]=_[_0x9c19('0x49')](db[_0x9c19('0x6d')][_0x9c19('0x43')]);_0x14ad74[_0x9c19('0x48')]=_[_0x9c19('0x49')](_0x2a221c[_0x9c19('0x48')]);_0x14ad74['filters']=_[_0x9c19('0x4a')](_0x14ad74[_0x9c19('0x47')],_0x14ad74[_0x9c19('0x48')]);_0xc0b2dc[_0x9c19('0x4b')]=_[_0x9c19('0x4a')](_0x14ad74[_0x9c19('0x47')],qs['fields'](_0x2a221c['query'][_0x9c19('0x4c')]));_0xc0b2dc['attributes']=_0xc0b2dc[_0x9c19('0x4b')]['length']?_0xc0b2dc[_0x9c19('0x4b')]:_0x14ad74['model'];if(!_0x2a221c['query'][_0x9c19('0x4e')]('nolimit')){_0xc0b2dc['limit']=qs[_0x9c19('0x2f')](_0x2a221c['query'][_0x9c19('0x2f')]);_0xc0b2dc['offset']=qs[_0x9c19('0x2e')](_0x2a221c[_0x9c19('0x48')][_0x9c19('0x2e')]);}_0xc0b2dc[_0x9c19('0x6f')]=qs[_0x9c19('0x4f')](_0x2a221c['query'][_0x9c19('0x4f')]);_0xc0b2dc['where']=qs[_0x9c19('0x51')](_[_0x9c19('0x52')](_0x2a221c[_0x9c19('0x48')],_0x14ad74[_0x9c19('0x51')]));_0xc0b2dc[_0x9c19('0x50')][_0x9c19('0x64')]=_0x54df7b['id'];if(_0x2a221c[_0x9c19('0x48')][_0x9c19('0x53')]){_0xc0b2dc['where']=_[_0x9c19('0x54')](_0xc0b2dc['where'],{'$or':_[_0x9c19('0x41')](_0xc0b2dc[_0x9c19('0x4b')],function(_0x594d8f){var _0x1b9aa1={};_0x1b9aa1[_0x594d8f]={'$like':'%'+_0x2a221c[_0x9c19('0x48')][_0x9c19('0x53')]+'%'};return _0x1b9aa1;})});}_0xc0b2dc=_[_0x9c19('0x54')]({},_0xc0b2dc,_0x2a221c[_0x9c19('0x56')]);return db['CannedAnswer'][_0x9c19('0x31')]({'where':_0xc0b2dc['where']})['then'](function(_0x5670a9){_0x4fa695[_0x9c19('0x31')]=_0x5670a9;if(_0x2a221c[_0x9c19('0x48')][_0x9c19('0x57')]){_0xc0b2dc[_0x9c19('0x58')]=[{'all':!![]}];}return db[_0x9c19('0x6d')]['findAll'](_0xc0b2dc);})[_0x9c19('0x35')](function(_0x30e7e9){_0x4fa695[_0x9c19('0x59')]=_0x30e7e9;return _0x4fa695;});}})[_0x9c19('0x35')](respondWithFilteredResult(_0x316411,_0xc0b2dc))[_0x9c19('0x5a')](handleError(_0x316411,null));};exports['removeAnswers']=function(_0x5ae9e0,_0x45b3fb,_0x5bbd30){return db[_0x9c19('0x42')]['find']({'where':{'id':_0x5ae9e0['params']['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x45b3fb,null))[_0x9c19('0x35')](function(_0xe5560c){if(_0xe5560c){return _0xe5560c[_0x9c19('0x70')](_0x5ae9e0[_0x9c19('0x48')][_0x9c19('0x6b')]);}})[_0x9c19('0x35')](respondWithStatusCode(_0x45b3fb,null))['catch'](handleError(_0x45b3fb,null));};exports[_0x9c19('0x65')]=function(_0x22c01a,_0x1c2db7){var _0x484476={'name':_0x22c01a[_0x9c19('0x61')]['name'],'key':_0x22c01a[_0x9c19('0x61')][_0x9c19('0x46')],'email':_0x22c01a[_0x9c19('0x61')][_0x9c19('0x71')],'ListId':_0x22c01a['body']['ListId'],'active':!_[_0x9c19('0x72')](_0x22c01a['body'][_0x9c19('0x73')])?_0x22c01a[_0x9c19('0x61')]['active']:!![],'description':_0x22c01a['body'][_0x9c19('0x74')]||null,'Imap':{},'Smtp':{}};if(_[_0x9c19('0x72')](_0x22c01a[_0x9c19('0x61')][_0x9c19('0x75')])){if(_0x22c01a['body'][_0x9c19('0x76')]){_0x484476[_0x9c19('0x3e')][_0x9c19('0x77')]=_0x484476[_0x9c19('0x5e')][_0x9c19('0x77')]=_0x22c01a['body'][_0x9c19('0x78')];_0x484476[_0x9c19('0x3e')][_0x9c19('0x79')]=_0x484476['Smtp']['pass']=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x7a')];}else{_0x484476[_0x9c19('0x3e')]['authentication']=_0x484476['Smtp'][_0x9c19('0x7b')]=![];}_0x484476[_0x9c19('0x3e')][_0x9c19('0x7c')]=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x3e')][_0x9c19('0x7c')];_0x484476['Imap']['port']=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x3e')][_0x9c19('0x7d')];_0x484476[_0x9c19('0x5e')][_0x9c19('0x7c')]=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x5e')][_0x9c19('0x7c')];_0x484476[_0x9c19('0x5e')]['port']=_0x22c01a[_0x9c19('0x61')]['Smtp'][_0x9c19('0x7d')];}else{_0x484476[_0x9c19('0x3e')][_0x9c19('0x7e')]=_0x484476[_0x9c19('0x5e')][_0x9c19('0x7e')]=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x75')];_0x484476[_0x9c19('0x3e')][_0x9c19('0x77')]=_0x484476[_0x9c19('0x5e')][_0x9c19('0x77')]=_0x22c01a['body'][_0x9c19('0x78')];_0x484476[_0x9c19('0x3e')][_0x9c19('0x79')]=_0x484476[_0x9c19('0x5e')][_0x9c19('0x7f')]=_0x22c01a[_0x9c19('0x61')][_0x9c19('0x7a')];}return db[_0x9c19('0x42')]['create'](_0x484476,{'include':[{'model':db[_0x9c19('0x5d')],'as':_0x9c19('0x5e')},{'model':db[_0x9c19('0x5c')],'as':_0x9c19('0x3e')}]})[_0x9c19('0x35')](function(_0x3dd19a){var _0x16f43b=_0x22c01a[_0x9c19('0x77')][_0x9c19('0x36')]({'plain':!![]});if(!_0x16f43b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x16f43b[_0x9c19('0x80')]==='user'){var _0x40cb31=_0x3dd19a[_0x9c19('0x36')]({'plain':!![]});return db[_0x9c19('0x81')][_0x9c19('0x5f')]({'where':{'name':_0x9c19('0x37'),'userProfileId':_0x16f43b[_0x9c19('0x82')]},'raw':!![]})['then'](function(_0x4b1c6c){if(_0x4b1c6c&&_0x4b1c6c['autoAssociation']===0x0){return db[_0x9c19('0x38')][_0x9c19('0x65')]({'name':_0x40cb31[_0x9c19('0x3b')],'resourceId':_0x40cb31['id'],'type':_0x4b1c6c[_0x9c19('0x3b')],'sectionId':_0x4b1c6c['id']},{})[_0x9c19('0x35')](function(){return _0x3dd19a;});}else{return _0x3dd19a;}})[_0x9c19('0x5a')](function(_0x82f348){logger[_0x9c19('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x82f348);throw _0x82f348;});}return _0x3dd19a;})['then'](respondWithResult(_0x1c2db7,0xc9))[_0x9c19('0x5a')](handleError(_0x1c2db7,null));};exports[_0x9c19('0x83')]=function(_0x3edb17,_0x2720f7,_0x187780){return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x3edb17[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x2720f7,null))[_0x9c19('0x35')](function(_0x1b9eb4){if(_0x1b9eb4){return _0x1b9eb4[_0x9c19('0x83')]();}return null;})[_0x9c19('0x35')](respondWithResult(_0x2720f7,null))[_0x9c19('0x5a')](handleError(_0x2720f7,null));};exports[_0x9c19('0x84')]=function(_0x384ae7,_0x2d1e13,_0x1ab8b1){if(_0x384ae7[_0x9c19('0x61')]['id']){delete _0x384ae7[_0x9c19('0x61')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x384ae7[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x2d1e13,null))['then'](function(_0x2fc744){if(_0x2fc744){_0x384ae7['body'][_0x9c19('0x64')]=_0x2fc744['id'];return db['MailServerIn']['create'](_0x384ae7[_0x9c19('0x61')]);}})[_0x9c19('0x35')](respondWithResult(_0x2d1e13,null))['catch'](handleError(_0x2d1e13,null));};exports[_0x9c19('0x85')]=function(_0xd42a43,_0x4952d2,_0x336bcc){return db[_0x9c19('0x42')]['findOne']({'where':{'id':_0xd42a43['params']['id']}})['then'](handleEntityNotFound(_0x4952d2,null))[_0x9c19('0x35')](function(_0x47de9f){if(_0x47de9f){return _0x47de9f['setImap'](null);}return null;})['then'](respondWithStatusCode(_0x4952d2,null))[_0x9c19('0x5a')](handleError(_0x4952d2,null));};exports[_0x9c19('0x86')]=function(_0x272892,_0x1dc0d6,_0x5a1b9e){return db['MailAccount'][_0x9c19('0x67')]({'where':{'id':_0x272892[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x1dc0d6,null))[_0x9c19('0x35')](function(_0xd4bf4d){if(_0xd4bf4d){return _0xd4bf4d[_0x9c19('0x86')]();}return null;})[_0x9c19('0x35')](respondWithResult(_0x1dc0d6,null))[_0x9c19('0x5a')](handleError(_0x1dc0d6,null));};exports[_0x9c19('0x87')]=function(_0x4defac,_0x492c41,_0x386dab){if(_0x4defac[_0x9c19('0x61')]['id']){delete _0x4defac[_0x9c19('0x61')]['id'];}return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x4defac['params']['id']}})['then'](handleEntityNotFound(_0x492c41,null))[_0x9c19('0x35')](function(_0x421a9b){if(_0x421a9b){_0x4defac[_0x9c19('0x61')][_0x9c19('0x64')]=_0x421a9b['id'];return db[_0x9c19('0x5d')][_0x9c19('0x65')](_0x4defac[_0x9c19('0x61')]);}})[_0x9c19('0x35')](respondWithResult(_0x492c41,null))[_0x9c19('0x5a')](handleError(_0x492c41,null));};exports[_0x9c19('0x88')]=function(_0x314c85,_0x3f3985,_0x218cb3){return db['MailAccount'][_0x9c19('0x67')]({'where':{'id':_0x314c85[_0x9c19('0x5b')]['id']}})['then'](handleEntityNotFound(_0x3f3985,null))[_0x9c19('0x35')](function(_0x2263dd){if(_0x2263dd){return _0x2263dd[_0x9c19('0x89')](null);}return null;})[_0x9c19('0x35')](respondWithStatusCode(_0x3f3985,null))[_0x9c19('0x5a')](handleError(_0x3f3985,null));};exports[_0x9c19('0x8a')]=function(_0x26d1ab,_0x1daa45,_0x28bf32){return db[_0x9c19('0x8b')][_0x9c19('0x5f')]({'where':{'id':_0x26d1ab[_0x9c19('0x5b')]['id']}})['then'](handleEntityNotFound(_0x1daa45,null))[_0x9c19('0x35')](function(_0x542b1c){if(_0x542b1c){return _0x542b1c['addInteraction'](_0x26d1ab[_0x9c19('0x61')]['ids'],_[_0x9c19('0x8c')](_0x26d1ab['body'],[_0x9c19('0x6b'),'id'])||{});}})[_0x9c19('0x35')](respondWithResult(_0x1daa45,null))[_0x9c19('0x5a')](handleError(_0x1daa45,null));};exports[_0x9c19('0x8d')]=function(_0x4a8ede,_0x2ad0b5,_0x1c68e7){var _0x5249eb={'raw':![],'where':{}};var _0x1a2ff5={};var _0x12c460={'count':0x0,'rows':[]};return db[_0x9c19('0x42')]['findOne']({'where':{'id':_0x4a8ede[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x2ad0b5,null))['then'](function(_0x56d244){if(_0x56d244){_0x1a2ff5[_0x9c19('0x47')]=_[_0x9c19('0x49')](db[_0x9c19('0x8b')]['rawAttributes']);_0x1a2ff5[_0x9c19('0x48')]=_[_0x9c19('0x49')](_0x4a8ede[_0x9c19('0x48')]);_0x1a2ff5[_0x9c19('0x51')]=_['intersection'](_0x1a2ff5[_0x9c19('0x47')],_0x1a2ff5[_0x9c19('0x48')]);_0x5249eb[_0x9c19('0x4b')]=_['intersection'](_0x1a2ff5['model'],qs[_0x9c19('0x4c')](_0x4a8ede[_0x9c19('0x48')]['fields']));_0x5249eb[_0x9c19('0x4b')]=_0x5249eb[_0x9c19('0x4b')]['length']?_0x5249eb[_0x9c19('0x4b')]:_0x1a2ff5[_0x9c19('0x47')];if(!_0x4a8ede['query'][_0x9c19('0x4e')]('nolimit')){_0x5249eb[_0x9c19('0x2f')]=qs[_0x9c19('0x2f')](_0x4a8ede[_0x9c19('0x48')]['limit']);_0x5249eb[_0x9c19('0x2e')]=qs['offset'](_0x4a8ede[_0x9c19('0x48')]['offset']);}_0x5249eb[_0x9c19('0x6f')]=qs[_0x9c19('0x4f')](_0x4a8ede[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x5249eb[_0x9c19('0x50')]=qs['filters'](_['pick'](_0x4a8ede[_0x9c19('0x48')],_0x1a2ff5[_0x9c19('0x51')]));_0x5249eb[_0x9c19('0x50')][_0x9c19('0x64')]=_0x56d244['id'];if(_0x4a8ede['query']['filter']){_0x5249eb[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x5249eb[_0x9c19('0x50')],{'$or':_[_0x9c19('0x41')](_0x5249eb['attributes'],function(_0x56d711){var _0x54805b={};_0x54805b[_0x56d711]={'$like':'%'+_0x4a8ede['query'][_0x9c19('0x53')]+'%'};return _0x54805b;})});}_0x5249eb=_[_0x9c19('0x54')]({},_0x5249eb,_0x4a8ede[_0x9c19('0x56')]);return db[_0x9c19('0x8b')]['count']({'where':_0x5249eb[_0x9c19('0x50')]})[_0x9c19('0x35')](function(_0x58ff2e){_0x12c460[_0x9c19('0x31')]=_0x58ff2e;if(_0x4a8ede[_0x9c19('0x48')][_0x9c19('0x57')]){_0x5249eb['include']=[{'model':db['CmContact'],'as':_0x9c19('0x8e'),'required':![]},{'model':db['User'],'as':_0x9c19('0x8f'),'attributes':[_0x9c19('0x3b'),'fullname','internal'],'required':![]},{'model':db[_0x9c19('0x90')],'as':_0x9c19('0x91'),'attributes':['id',_0x9c19('0x3b'),_0x9c19('0x92')],'where':_0x4a8ede[_0x9c19('0x48')][_0x9c19('0x93')]?{'id':_0x4a8ede[_0x9c19('0x48')]['tag']}:undefined,'required':_0x4a8ede['query'][_0x9c19('0x93')]?!![]:![]}];}return db[_0x9c19('0x8b')][_0x9c19('0x94')](_0x5249eb);})[_0x9c19('0x35')](function(_0x4a6c89){_0x12c460[_0x9c19('0x59')]=_0x4a6c89;return _0x12c460;});}})['then'](respondWithFilteredResult(_0x2ad0b5,_0x5249eb))[_0x9c19('0x5a')](handleError(_0x2ad0b5,null));};exports[_0x9c19('0x95')]=function addApplications(_0x471d00,_0x5c950c){var _0x2c8f84=_0x471d00[_0x9c19('0x5b')]['id'];var _0x35f536=_0x471d00[_0x9c19('0x61')];var _0x5ef897=0xc8;var _0x948763=null;return db[_0x9c19('0x96')][_0x9c19('0x97')]({'isolationLevel':db[_0x9c19('0x96')][_0x9c19('0x98')][_0x9c19('0x99')]['READ_COMMITTED']},function(_0x43cae2){return db['MailAccount'][_0x9c19('0x67')]({'where':{'id':_0x2c8f84},'transaction':_0x43cae2})[_0x9c19('0x35')](function(_0x107901){if(_0x107901){return db[_0x9c19('0x9a')][_0x9c19('0x9b')]({'where':{'MailAccountId':_0x2c8f84},'transaction':_0x43cae2})[_0x9c19('0x35')](function(){var _0x24486a=_[_0x9c19('0x41')](_0x35f536,function(_0x388add){_0x388add[_0x9c19('0x64')]=_0x2c8f84;return _0x388add;});return db['MailApplication'][_0x9c19('0x9c')](_0x24486a,{'transaction':_0x43cae2});});}else{_0x5ef897=0x194;_0x948763=[];}});})[_0x9c19('0x35')](function(){if(_0x5ef897!==0x194){return db[_0x9c19('0x9a')][_0x9c19('0x9d')]({'where':{'MailAccountId':_0x2c8f84},'order':_0x9c19('0x9e')})['then'](function(_0x71b145){_0x948763=_0x71b145;});}})['catch'](function(_0x4470fb){_0x5ef897=0x1f4;logger[_0x9c19('0x28')](_0x4470fb[_0x9c19('0x3a')]);if(_0x4470fb[_0x9c19('0x3b')]){delete _0x4470fb['name'];}_0x948763=_0x4470fb;})[_0x9c19('0x9f')](function(){if(_0x948763===null){_0x5c950c[_0x9c19('0x39')](_0x5ef897);}else{if(_0x5ef897===0x1f4){_0x5c950c[_0x9c19('0x2b')](_0x5ef897)['send'](_0x948763);}else{_0x5c950c['status'](_0x5ef897)[_0x9c19('0x2d')](_0x948763);}}});};exports[_0x9c19('0xa0')]=function(_0x1e34ef,_0x14278f,_0x3186e8){var _0x487e9e={};var _0x20ee46={};var _0x3bf512;var _0x4463a6;return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x1e34ef[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x14278f,null))['then'](function(_0x160d54){if(_0x160d54){_0x3bf512=_0x160d54;_0x20ee46['model']=_['keys'](db[_0x9c19('0x9a')]['rawAttributes']);_0x20ee46[_0x9c19('0x48')]=_['keys'](_0x1e34ef[_0x9c19('0x48')]);_0x20ee46[_0x9c19('0x51')]=_[_0x9c19('0x4a')](_0x20ee46[_0x9c19('0x47')],_0x20ee46[_0x9c19('0x48')]);_0x487e9e[_0x9c19('0x4b')]=_[_0x9c19('0x4a')](_0x20ee46[_0x9c19('0x47')],qs[_0x9c19('0x4c')](_0x1e34ef['query']['fields']));_0x487e9e['attributes']=_0x487e9e['attributes'][_0x9c19('0x4d')]?_0x487e9e[_0x9c19('0x4b')]:_0x20ee46['model'];_0x487e9e[_0x9c19('0x6f')]=qs['sort'](_0x1e34ef[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x487e9e[_0x9c19('0x50')]=qs[_0x9c19('0x51')](_[_0x9c19('0x52')](_0x1e34ef[_0x9c19('0x48')],_0x20ee46[_0x9c19('0x51')]));if(_0x1e34ef[_0x9c19('0x48')]['filter']){_0x487e9e[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x487e9e[_0x9c19('0x50')],{'$or':_[_0x9c19('0x41')](_0x487e9e[_0x9c19('0x4b')],function(_0x3913ce){var _0x19c4de={};_0x19c4de[_0x3913ce]={'$like':'%'+_0x1e34ef[_0x9c19('0x48')][_0x9c19('0x53')]+'%'};return _0x19c4de;})});}_0x487e9e=_[_0x9c19('0x54')]({},_0x487e9e,_0x1e34ef[_0x9c19('0x56')]);return _0x3bf512[_0x9c19('0xa0')](_0x487e9e);}})['then'](function(_0x4f8bc2){if(_0x4f8bc2){_0x4463a6=_0x4f8bc2[_0x9c19('0x4d')];if(!_0x1e34ef[_0x9c19('0x48')][_0x9c19('0x4e')](_0x9c19('0x69'))){_0x487e9e[_0x9c19('0x2f')]=qs[_0x9c19('0x2f')](_0x1e34ef[_0x9c19('0x48')]['limit']);_0x487e9e[_0x9c19('0x2e')]=qs[_0x9c19('0x2e')](_0x1e34ef[_0x9c19('0x48')][_0x9c19('0x2e')]);}return _0x3bf512['getApplications'](_0x487e9e);}})['then'](function(_0x37e2f0){if(_0x37e2f0){return _0x37e2f0?{'count':_0x4463a6,'rows':_0x37e2f0}:null;}})[_0x9c19('0x35')](respondWithResult(_0x14278f,null))['catch'](handleError(_0x14278f,null));};exports[_0x9c19('0xa1')]=function(_0x4381fa,_0x53d73e,_0x4b0e75){var _0x5830bd={'raw':!![],'where':{}};var _0x29f94f={};var _0x522eb7={'count':0x0,'rows':[]};return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x4381fa[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x53d73e,null))['then'](function(_0x243d48){if(_0x243d48){_0x29f94f['model']=_['keys'](db[_0x9c19('0xa2')][_0x9c19('0x43')]);_0x29f94f[_0x9c19('0x48')]=_[_0x9c19('0x49')](_0x4381fa[_0x9c19('0x48')]);_0x29f94f[_0x9c19('0x51')]=_['intersection'](_0x29f94f[_0x9c19('0x47')],_0x29f94f[_0x9c19('0x48')]);_0x5830bd[_0x9c19('0x4b')]=_[_0x9c19('0x4a')](_0x29f94f[_0x9c19('0x47')],qs[_0x9c19('0x4c')](_0x4381fa[_0x9c19('0x48')][_0x9c19('0x4c')]));_0x5830bd[_0x9c19('0x4b')]=_0x5830bd[_0x9c19('0x4b')][_0x9c19('0x4d')]?_0x5830bd['attributes']:_0x29f94f['model'];if(!_0x4381fa[_0x9c19('0x48')][_0x9c19('0x4e')](_0x9c19('0x69'))){_0x5830bd[_0x9c19('0x2f')]=qs[_0x9c19('0x2f')](_0x4381fa[_0x9c19('0x48')][_0x9c19('0x2f')]);_0x5830bd[_0x9c19('0x2e')]=qs['offset'](_0x4381fa[_0x9c19('0x48')][_0x9c19('0x2e')]);}_0x5830bd[_0x9c19('0x6f')]=qs[_0x9c19('0x4f')](_0x4381fa[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x5830bd['where']=qs['filters'](_[_0x9c19('0x52')](_0x4381fa['query'],_0x29f94f['filters']));_0x5830bd[_0x9c19('0x50')][_0x9c19('0x64')]=_0x243d48['id'];if(_0x4381fa['query']['filter']){_0x5830bd[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x5830bd['where'],{'$or':_[_0x9c19('0x41')](_0x5830bd[_0x9c19('0x4b')],function(_0x4e9c5f){var _0x21d1ae={};_0x21d1ae[_0x4e9c5f]={'$like':'%'+_0x4381fa['query'][_0x9c19('0x53')]+'%'};return _0x21d1ae;})});}if(_0x4381fa['query'][_0x9c19('0xa3')]){var _0x59de00=_0x4381fa[_0x9c19('0x48')][_0x9c19('0xa3')][_0x9c19('0xa4')](',');var _0x564036={};_0x564036[_0x59de00[0x0]]={'$gte':moment(_0x59de00[0x1])[_0x9c19('0xa5')]('YYYY-MM-DD\x20HH:mm:ss')};_0x5830bd[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x5830bd[_0x9c19('0x50')],_0x564036);}_0x5830bd=_[_0x9c19('0x54')]({},_0x5830bd,_0x4381fa[_0x9c19('0x56')]);return db[_0x9c19('0xa2')][_0x9c19('0x31')]({'where':_0x5830bd[_0x9c19('0x50')]})[_0x9c19('0x35')](function(_0x2b26a9){_0x522eb7['count']=_0x2b26a9;if(_0x4381fa[_0x9c19('0x48')][_0x9c19('0x57')]){_0x5830bd[_0x9c19('0x58')]=[{'all':!![]}];}return db[_0x9c19('0xa2')][_0x9c19('0x94')](_0x5830bd);})['then'](function(_0x2ff181){if(_0x4381fa[_0x9c19('0x48')][_0x9c19('0xa6')]===_0x9c19('0xa7')){for(var _0xabe9d7=0x0;_0xabe9d7<_0x2ff181[_0x9c19('0x4d')];_0xabe9d7++){_0x2ff181[_0xabe9d7][_0x9c19('0x61')]=juice(_0x2ff181[_0xabe9d7][_0x9c19('0x61')]);}}_0x522eb7[_0x9c19('0x59')]=_0x2ff181;return _0x522eb7;});}})[_0x9c19('0x35')](respondWithFilteredResult(_0x53d73e,_0x5830bd))['catch'](handleError(_0x53d73e,null));};exports[_0x9c19('0x3c')]=function(_0x2d00bc,_0xd87b2d,_0x3f2ba4){var _0x5198d2,_0xbfa23e={},_0x5dfb9e;if(_0x2d00bc[_0x9c19('0x61')]['to']){_0x5dfb9e=_0x2d00bc['body']['to'][_0x9c19('0xa4')](',')[0x0];}return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x2d00bc[_0x9c19('0x5b')]['id']},'include':[{'model':db['CmList'],'as':_0x9c19('0xa8'),'include':[{'model':db[_0x9c19('0xa9')],'as':'Contacts','where':{'email':_0x5dfb9e},'limit':0x1,'order':[[_0x9c19('0xaa'),_0x9c19('0xab')]]}]},{'model':db['MailServerOut'],'as':_0x9c19('0x5e'),'raw':!![]}]})['then'](handleEntityNotFound(_0xd87b2d,null))['then'](function(_0x2f75d4){if(_0x2f75d4){_0x5198d2=_0x2f75d4;if(_0x2f75d4['Smtp']){if(_[_0x9c19('0x72')](_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xac')])){_0x2d00bc['body'][_0x9c19('0xac')]=util['format'](_0x9c19('0xad'),_0x2f75d4[_0x9c19('0x3b')],_0x2f75d4['email']||_0x2f75d4[_0x9c19('0x5e')][_0x9c19('0x77')]);}if(_0x2d00bc[_0x9c19('0x61')]['attachments']&&_0x2d00bc['body'][_0x9c19('0xae')][_0x9c19('0x4d')]){for(var _0x38f647=0x0;_0x38f647<_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xae')][_0x9c19('0x4d')];_0x38f647+=0x1){_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xae')][_0x38f647]={'filename':_0x2d00bc[_0x9c19('0x61')]['attachments'][_0x38f647][_0x9c19('0x3b')],'path':path[_0x9c19('0xaf')](config[_0x9c19('0xb0')],_0x9c19('0xb1'),_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xae')][_0x38f647][_0x9c19('0xb2')])};}}var _0x1f3fa3={'tls':{'rejectUnauthorized':![]}};if(_[_0x9c19('0x72')](_0x2f75d4[_0x9c19('0x5e')][_0x9c19('0x7e')])){if(_0x2f75d4[_0x9c19('0x5e')]['authentication']){_0x1f3fa3['auth']={'user':_0x2f75d4['Smtp']['user'],'pass':_0x2f75d4[_0x9c19('0x5e')]['pass']};}_0x1f3fa3['host']=_0x2f75d4[_0x9c19('0x5e')][_0x9c19('0x7c')];_0x1f3fa3['port']=_0x2f75d4[_0x9c19('0x5e')][_0x9c19('0x7d')];_0x1f3fa3['secure']=_0x2f75d4[_0x9c19('0x5e')]['secure'];}else{_0x1f3fa3[_0x9c19('0x7e')]=_0x2f75d4['Smtp'][_0x9c19('0x7e')];_0x1f3fa3[_0x9c19('0xb3')]={'user':_0x2f75d4[_0x9c19('0x5e')][_0x9c19('0x77')],'pass':_0x2f75d4[_0x9c19('0x5e')]['pass']};}return respondWithRpcPromise(_0x9c19('0xb4'),_0x9c19('0xb5'),{'account':_0x1f3fa3,'message':_0x2d00bc[_0x9c19('0x61')]});}else{throw new Error('List\x20not\x20found');}}})[_0x9c19('0x35')](function(_0x374b03){if(_0x374b03){_0xbfa23e=_0x374b03;if(_0x5198d2['List']){if(_0x5198d2[_0x9c19('0xa8')][_0x9c19('0xb6')]['length']){return _0x5198d2[_0x9c19('0xa8')][_0x9c19('0xb6')][0x0];}else{return db[_0x9c19('0xa9')]['create'](_['defaults'](_0x2d00bc[_0x9c19('0x61')],{'firstName':_0x2d00bc[_0x9c19('0x61')]['to'],'email':_0x2d00bc['body']['to'],'phone':_0x2d00bc[_0x9c19('0x61')]['to'],'ListId':_0x5198d2['ListId']}));}}else{throw new Error('List\x20not\x20found');}}})[_0x9c19('0x35')](function(_0x17aca3){if(_0x17aca3){var _0x22e4a4={'UserId':_0x2d00bc['user']['id'],'ContactId':_0x17aca3['id'],'MailAccountId':_0x5198d2['id'],'inReplyTo':_0xbfa23e[_0x9c19('0xb7')],'to':_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xac')],'cc':_0x2d00bc[_0x9c19('0x61')]['cc'],'subject':_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xb8')],'attach':_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xb9')],'firstMsgDirection':_0x9c19('0xba'),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','Messages':[_[_0x9c19('0x54')](_0x2d00bc['body'],{'messageId':_0xbfa23e['messageId'],'sentAt':moment()[_0x9c19('0xa5')](_0x9c19('0xbb')),'read':!![],'MailAccountId':_0x5198d2['id'],'UserId':_0x2d00bc[_0x9c19('0x77')]['id'],'ContactId':_0x17aca3['id']})]};if(_0x2d00bc['body'][_0x9c19('0xbc')]){_0x22e4a4=_['merge'](_0x22e4a4,_0x2d00bc[_0x9c19('0x61')][_0x9c19('0xbc')]);}return db[_0x9c19('0x8b')][_0x9c19('0x65')](_0x22e4a4,{'include':[{'model':db[_0x9c19('0xa2')],'as':'Messages'}]});}})[_0x9c19('0x35')](respondWithResult(_0xd87b2d,null))[_0x9c19('0x5a')](handleError(_0xd87b2d,null));};exports[_0x9c19('0xbd')]=function(_0x2f0db5,_0x41c5e4,_0x2390ae){return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x2f0db5['params']['id']},'include':[{'model':db['MailServerOut'],'as':_0x9c19('0x5e'),'raw':!![]}]})['then'](handleEntityNotFound(_0x41c5e4,null))['then'](function(_0x2a5b4a){if(_0x2a5b4a&&_0x2a5b4a[_0x9c19('0x5e')]){var _0x12fcbf={'id':_0x2a5b4a['id'],'tls':{'rejectUnauthorized':![]}};if(_0x2a5b4a[_0x9c19('0x5e')]['service']){_0x12fcbf[_0x9c19('0x7e')]=_0x2a5b4a[_0x9c19('0x5e')][_0x9c19('0x7e')];}else{_0x12fcbf[_0x9c19('0x7c')]=_0x2a5b4a[_0x9c19('0x5e')][_0x9c19('0x7c')];_0x12fcbf[_0x9c19('0x7d')]=_0x2a5b4a['Smtp'][_0x9c19('0x7d')];_0x12fcbf['secure']=_0x2a5b4a[_0x9c19('0x5e')][_0x9c19('0xbe')];}if(_0x2a5b4a[_0x9c19('0x5e')]['authentication']){_0x12fcbf[_0x9c19('0xb3')]={'user':_0x2a5b4a[_0x9c19('0x5e')][_0x9c19('0x77')],'pass':_0x2a5b4a['Smtp'][_0x9c19('0x7f')]};}return respondWithRpcPromise(_0x9c19('0xbf'),'verifySmtp',{'account':_0x12fcbf});}})[_0x9c19('0x35')](respondWithResult(_0x41c5e4,null))[_0x9c19('0x5a')](handleError(_0x41c5e4,null));};exports['destroy']=function(_0x24011e,_0x43ea2c){return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x24011e[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x43ea2c,null))[_0x9c19('0x35')](function(_0xa4f800){if(_0xa4f800&&_0xa4f800[_0x9c19('0x7e')]){throw new db['Sequelize'][(_0x9c19('0xc0'))](_0x9c19('0xc1'));}return _0xa4f800;})['then'](removeEntity(_0x43ea2c,null))[_0x9c19('0x5a')](handleError(_0x43ea2c,null));};exports['addAgents']=function(_0x58d971,_0x5f0393,_0x2f19ff){return db['MailAccount'][_0x9c19('0x5f')]({'where':{'id':_0x58d971['params']['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x5f0393,null))['then'](function(_0x10dd55){if(_0x10dd55){return _0x10dd55[_0x9c19('0xc2')](_0x58d971[_0x9c19('0x61')][_0x9c19('0x6b')],_[_0x9c19('0x8c')](_0x58d971[_0x9c19('0x61')],['ids','id'])||{})['spread'](function(_0x570ffe){for(var _0x584234=0x0;_0x584234<_0x58d971['body']['ids'][_0x9c19('0x4d')];_0x584234+=0x1){socket[_0x9c19('0xc3')](_0x9c19('0xc4'),{'UserId':Number(_0x58d971[_0x9c19('0x61')][_0x9c19('0x6b')][_0x584234]),'MailAccountId':Number(_0x58d971['params']['id'])});}return _0x570ffe;});}})[_0x9c19('0x35')](respondWithResult(_0x5f0393,null))[_0x9c19('0x5a')](handleError(_0x5f0393,null));};exports[_0x9c19('0xc5')]=function(_0x4e3575,_0x2e534a,_0x4c656c){return db[_0x9c19('0x42')][_0x9c19('0x5f')]({'where':{'id':_0x4e3575['params']['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x2e534a,null))[_0x9c19('0x35')](function(_0x208ee5){if(_0x208ee5){return _0x208ee5[_0x9c19('0xc5')](_0x4e3575[_0x9c19('0x48')]['ids'])['then'](function(){if(_[_0x9c19('0xc6')](_0x4e3575[_0x9c19('0x48')]['ids'])){for(var _0x465fda=0x0;_0x465fda<_0x4e3575[_0x9c19('0x48')]['ids'][_0x9c19('0x4d')];_0x465fda+=0x1){socket[_0x9c19('0xc3')](_0x9c19('0xc7'),{'UserId':Number(_0x4e3575[_0x9c19('0x48')][_0x9c19('0x6b')][_0x465fda]),'MailAccountId':Number(_0x4e3575[_0x9c19('0x5b')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x4e3575['query'][_0x9c19('0x6b')]),'MailAccountId':Number(_0x4e3575[_0x9c19('0x5b')]['id'])});}});}})[_0x9c19('0x35')](respondWithStatusCode(_0x2e534a,null))[_0x9c19('0x5a')](handleError(_0x2e534a,null));};exports['getAgents']=function(_0x162e17,_0x188043,_0x5e4c56){var _0x2f9fdc={};var _0x6e4312={};var _0x207f30;var _0x1d47a6;return db[_0x9c19('0x42')][_0x9c19('0x67')]({'where':{'id':_0x162e17[_0x9c19('0x5b')]['id']}})[_0x9c19('0x35')](handleEntityNotFound(_0x188043,null))[_0x9c19('0x35')](function(_0xab580b){if(_0xab580b){_0x207f30=_0xab580b;_0x6e4312['model']=_['keys'](db['User']['rawAttributes']);_0x6e4312[_0x9c19('0x48')]=_['keys'](_0x162e17[_0x9c19('0x48')]);_0x6e4312['filters']=_[_0x9c19('0x4a')](_0x6e4312[_0x9c19('0x47')],_0x6e4312[_0x9c19('0x48')]);_0x2f9fdc[_0x9c19('0x4b')]=_[_0x9c19('0x4a')](_0x6e4312[_0x9c19('0x47')],qs[_0x9c19('0x4c')](_0x162e17['query'][_0x9c19('0x4c')]));_0x2f9fdc['attributes']=_0x2f9fdc[_0x9c19('0x4b')][_0x9c19('0x4d')]?_0x2f9fdc[_0x9c19('0x4b')]:_0x6e4312[_0x9c19('0x47')];_0x2f9fdc[_0x9c19('0x6f')]=qs[_0x9c19('0x4f')](_0x162e17[_0x9c19('0x48')][_0x9c19('0x4f')]);_0x2f9fdc[_0x9c19('0x50')]=qs[_0x9c19('0x51')](_[_0x9c19('0x52')](_0x162e17[_0x9c19('0x48')],_0x6e4312[_0x9c19('0x51')]));if(_0x162e17[_0x9c19('0x48')][_0x9c19('0x53')]){_0x2f9fdc[_0x9c19('0x50')]=_[_0x9c19('0x54')](_0x2f9fdc[_0x9c19('0x50')],{'$or':_['map'](_0x2f9fdc['attributes'],function(_0x5024f3){var _0x36365b={};_0x36365b[_0x5024f3]={'$like':'%'+_0x162e17[_0x9c19('0x48')]['filter']+'%'};return _0x36365b;})});}_0x2f9fdc=_[_0x9c19('0x54')]({},_0x2f9fdc,_0x162e17[_0x9c19('0x56')]);return _0x207f30[_0x9c19('0xc8')](_0x2f9fdc);}})[_0x9c19('0x35')](function(_0x409f65){if(_0x409f65){_0x1d47a6=_0x409f65[_0x9c19('0x4d')];if(!_0x162e17[_0x9c19('0x48')][_0x9c19('0x4e')](_0x9c19('0x69'))){_0x2f9fdc['limit']=qs[_0x9c19('0x2f')](_0x162e17['query']['limit']);_0x2f9fdc['offset']=qs[_0x9c19('0x2e')](_0x162e17[_0x9c19('0x48')][_0x9c19('0x2e')]);}return _0x207f30[_0x9c19('0xc8')](_0x2f9fdc);}})['then'](function(_0x4f60ac){if(_0x4f60ac){return _0x4f60ac?{'count':_0x1d47a6,'rows':_0x4f60ac}:null;}})['then'](respondWithResult(_0x188043,null))[_0x9c19('0x5a')](handleError(_0x188043,null));};