Built motion from commit e0fa946e.|2.6.5
[motion2.git] / server / api / plugin / plugin.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 _0x181c=['%s%s','headers','content-length','content-type','endsWith','statusCode','webhookPost','resolve','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','papaparse','extract-zip','archiver','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','defaults','socket.io-emitter','redis','./plugin.socket','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','Plugins','UserProfileResource','destroy','name','index','Plugin','fieldName','type','key','map','query','keys','intersection','attributes','model','fields','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','find','download','join','root','server/files/plugins','format','%s.zip','createWriteStream','zip','warning','code','ENOENT','error','Sequelize','Error','pipe','glob','**/*','basename','attachments/**/*','finalize','close','existsSync','Plugin\x20not\x20found','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','upload','file','filename','Plugin\x20upload\x20filepath:\x20%s','0777','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isFile','manifest.json','Plugin\x20manifest\x20missing','readFileSync','Invalid\x20manifest:\x20type\x20missing','version','parameters','html','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','script','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','description','sidebar','always','icon','Warning:\x20admin\x20view\x20not\x20specified','test','plugins','Warning:\x20agent\x20view\x20not\x20specified','create','body','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','send','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','delete','\x27PATH\x27\x20parameter\x20not\x20specified','port','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','encoding','method'];(function(_0xb09132,_0x392b11){var _0xf5c47e=function(_0x5d4d15){while(--_0x5d4d15){_0xb09132['push'](_0xb09132['shift']());}};_0xf5c47e(++_0x392b11);}(_0x181c,0xb0));var _0xc181=function(_0x3efe87,_0x35ad48){_0x3efe87=_0x3efe87-0x0;var _0x56a4cc=_0x181c[_0x3efe87];return _0x56a4cc;};'use strict';var emlformat=require(_0xc181('0x0'));var rimraf=require(_0xc181('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc181('0x2'));var rp=require(_0xc181('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc181('0x4'));var util=require(_0xc181('0x5'));var path=require(_0xc181('0x6'));var sox=require(_0xc181('0x7'));var csv=require('to-csv');var ejs=require(_0xc181('0x8'));var fs=require('fs');var fs_extra=require(_0xc181('0x9'));var _=require(_0xc181('0xa'));var squel=require(_0xc181('0xb'));var crypto=require(_0xc181('0xc'));var jsforce=require(_0xc181('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xc181('0xe'));var querystring=require('querystring');var Papa=require(_0xc181('0xf'));var extract=require(_0xc181('0x10'));var rimraf=require('rimraf');var archiver=require(_0xc181('0x11'));var Redis=require('ioredis');var authService=require(_0xc181('0x12'));var qs=require(_0xc181('0x13'));var as=require(_0xc181('0x14'));var hardwareService=require(_0xc181('0x15'));var logger=require(_0xc181('0x16'))('api');var utils=require(_0xc181('0x17'));var config=require(_0xc181('0x18'));var licenseUtil=require(_0xc181('0x19'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xc181('0x1a')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc181('0x1b'))(new Redis(config[_0xc181('0x1c')]));require(_0xc181('0x1d'))['register'](socket);function respondWithStatusCode(_0x151241,_0x58abd7){_0x58abd7=_0x58abd7||0xcc;return function(_0x50fa14){if(_0x50fa14){return _0x151241[_0xc181('0x1e')](_0x58abd7);}return _0x151241['status'](_0x58abd7)[_0xc181('0x1f')]();};}function respondWithResult(_0x39e174,_0x17439d){_0x17439d=_0x17439d||0xc8;return function(_0x984cb6){if(_0x984cb6){return _0x39e174['status'](_0x17439d)[_0xc181('0x20')](_0x984cb6);}};}function respondWithFilteredResult(_0x329c89,_0x5733bb){return function(_0x1a2619){if(_0x1a2619){var _0x3e7363=typeof _0x5733bb[_0xc181('0x21')]===_0xc181('0x22')&&typeof _0x5733bb[_0xc181('0x23')]===_0xc181('0x22');var _0x2a2075=_0x1a2619[_0xc181('0x24')];var _0x2d988d=_0x3e7363?0x0:_0x5733bb['offset'];var _0x2ecfee=_0x3e7363?_0x1a2619[_0xc181('0x24')]:_0x5733bb[_0xc181('0x21')]+_0x5733bb[_0xc181('0x23')];var _0x519ff7;if(_0x2ecfee>=_0x2a2075){_0x2ecfee=_0x2a2075;_0x519ff7=0xc8;}else{_0x519ff7=0xce;}_0x329c89[_0xc181('0x25')](_0x519ff7);return _0x329c89[_0xc181('0x26')](_0xc181('0x27'),_0x2d988d+'-'+_0x2ecfee+'/'+_0x2a2075)[_0xc181('0x20')](_0x1a2619);}return null;};}function patchUpdates(_0x50b386){return function(_0x19e8fb){try{jsonpatch[_0xc181('0x28')](_0x19e8fb,_0x50b386,!![]);}catch(_0x2bad3b){return BPromise[_0xc181('0x29')](_0x2bad3b);}return _0x19e8fb[_0xc181('0x2a')]();};}function saveUpdates(_0x1c3e20,_0xf5bc1c){return function(_0x397c27){if(_0x397c27){return _0x397c27[_0xc181('0x2b')](_0x1c3e20)[_0xc181('0x2c')](function(_0x59eb0a){return _0x59eb0a;});}return null;};}function removeEntity(_0x3aba76,_0x87b5f6){return function(_0x9a78c4){if(_0x9a78c4){return _0x9a78c4['destroy']()[_0xc181('0x2c')](function(){var _0x9ea9f=_0x9a78c4['get']({'plain':!![]});var _0x302c24=_0xc181('0x2d');return db[_0xc181('0x2e')][_0xc181('0x2f')]({'where':{'type':_0x302c24,'resourceId':_0x9ea9f['id']}})[_0xc181('0x2c')](function(){return _0x9a78c4;});})[_0xc181('0x2c')](function(){_0x3aba76[_0xc181('0x25')](0xcc)[_0xc181('0x1f')]();});}};}function handleEntityNotFound(_0x1a42ba,_0x213fcf){return function(_0x4ffd19){if(!_0x4ffd19){_0x1a42ba[_0xc181('0x1e')](0x194);}return _0x4ffd19;};}function handleError(_0x16287d,_0x2a0021){_0x2a0021=_0x2a0021||0x1f4;return function(_0x3c52c1){logger['error'](_0x3c52c1['stack']);if(_0x3c52c1[_0xc181('0x30')]){delete _0x3c52c1['name'];}_0x16287d[_0xc181('0x25')](_0x2a0021)['send'](_0x3c52c1);};}exports[_0xc181('0x31')]=function(_0x186f85,_0x2aa510){var _0x210f48={},_0x4ffada={},_0x574b26={'count':0x0,'rows':[]};var _0x1878cf=_['map'](db[_0xc181('0x32')]['rawAttributes'],function(_0x3185e7){return{'name':_0x3185e7[_0xc181('0x33')],'type':_0x3185e7[_0xc181('0x34')][_0xc181('0x35')]};});_0x4ffada['model']=_[_0xc181('0x36')](_0x1878cf,_0xc181('0x30'));_0x4ffada[_0xc181('0x37')]=_[_0xc181('0x38')](_0x186f85['query']);_0x4ffada['filters']=_[_0xc181('0x39')](_0x4ffada['model'],_0x4ffada[_0xc181('0x37')]);_0x210f48[_0xc181('0x3a')]=_[_0xc181('0x39')](_0x4ffada[_0xc181('0x3b')],qs[_0xc181('0x3c')](_0x186f85[_0xc181('0x37')][_0xc181('0x3c')]));_0x210f48[_0xc181('0x3a')]=_0x210f48[_0xc181('0x3a')]['length']?_0x210f48[_0xc181('0x3a')]:_0x4ffada[_0xc181('0x3b')];if(!_0x186f85[_0xc181('0x37')]['hasOwnProperty'](_0xc181('0x3d'))){_0x210f48[_0xc181('0x23')]=qs[_0xc181('0x23')](_0x186f85[_0xc181('0x37')][_0xc181('0x23')]);_0x210f48['offset']=qs[_0xc181('0x21')](_0x186f85['query'][_0xc181('0x21')]);}_0x210f48[_0xc181('0x3e')]=qs[_0xc181('0x3f')](_0x186f85[_0xc181('0x37')][_0xc181('0x3f')]);_0x210f48[_0xc181('0x40')]=qs[_0xc181('0x41')](_[_0xc181('0x42')](_0x186f85[_0xc181('0x37')],_0x4ffada[_0xc181('0x41')]),_0x1878cf);if(_0x186f85[_0xc181('0x37')][_0xc181('0x43')]){_0x210f48[_0xc181('0x40')]=_[_0xc181('0x44')](_0x210f48[_0xc181('0x40')],{'$or':_['map'](_0x1878cf,function(_0x238b21){if(_0x238b21[_0xc181('0x34')]!==_0xc181('0x45')){var _0xc0250f={};_0xc0250f[_0x238b21['name']]={'$like':'%'+_0x186f85[_0xc181('0x37')]['filter']+'%'};return _0xc0250f;}})});}_0x210f48=_[_0xc181('0x44')]({},_0x210f48,_0x186f85[_0xc181('0x46')]);var _0x5f3d05={'where':_0x210f48['where']};return db[_0xc181('0x32')][_0xc181('0x24')](_0x5f3d05)[_0xc181('0x2c')](function(_0x5c449f){_0x574b26[_0xc181('0x24')]=_0x5c449f;if(_0x186f85['query'][_0xc181('0x47')]){_0x210f48[_0xc181('0x48')]=[{'all':!![]}];}return db[_0xc181('0x32')][_0xc181('0x49')](_0x210f48);})[_0xc181('0x2c')](function(_0x1db0f9){_0x574b26[_0xc181('0x4a')]=_0x1db0f9;return _0x574b26;})['then'](respondWithFilteredResult(_0x2aa510,_0x210f48))[_0xc181('0x4b')](handleError(_0x2aa510,null));};exports[_0xc181('0x4c')]=function(_0x4dbaca,_0x26b7d0){var _0x4bc3aa={'raw':!![],'where':{'id':_0x4dbaca[_0xc181('0x4d')]['id']}},_0x3ae75f={};_0x3ae75f[_0xc181('0x3b')]=_['keys'](db[_0xc181('0x32')][_0xc181('0x4e')]);_0x3ae75f[_0xc181('0x37')]=_[_0xc181('0x38')](_0x4dbaca[_0xc181('0x37')]);_0x3ae75f[_0xc181('0x41')]=_[_0xc181('0x39')](_0x3ae75f[_0xc181('0x3b')],_0x3ae75f[_0xc181('0x37')]);_0x4bc3aa['attributes']=_[_0xc181('0x39')](_0x3ae75f['model'],qs[_0xc181('0x3c')](_0x4dbaca['query'][_0xc181('0x3c')]));_0x4bc3aa[_0xc181('0x3a')]=_0x4bc3aa['attributes'][_0xc181('0x4f')]?_0x4bc3aa[_0xc181('0x3a')]:_0x3ae75f[_0xc181('0x3b')];if(_0x4dbaca[_0xc181('0x37')]['includeAll']){_0x4bc3aa[_0xc181('0x48')]=[{'all':!![]}];}_0x4bc3aa=_['merge']({},_0x4bc3aa,_0x4dbaca[_0xc181('0x46')]);return db['Plugin'][_0xc181('0x50')](_0x4bc3aa)['then'](handleEntityNotFound(_0x26b7d0,null))[_0xc181('0x2c')](respondWithResult(_0x26b7d0,null))[_0xc181('0x4b')](handleError(_0x26b7d0,null));};exports[_0xc181('0x51')]=function(_0x2cb6c7,_0xaab869,_0x2047f0){return db[_0xc181('0x32')][_0xc181('0x50')]({'where':{'id':_0x2cb6c7[_0xc181('0x4d')]['id']},'attributes':[_0xc181('0x30'),'path'],'raw':!![]})[_0xc181('0x2c')](handleEntityNotFound(_0xaab869,null))[_0xc181('0x2c')](function(_0x243c29){if(_0x243c29){var _0x5b757d=path[_0xc181('0x52')](config[_0xc181('0x53')],_0xc181('0x54'),util[_0xc181('0x55')](_0xc181('0x56'),path['basename'](_0x243c29[_0xc181('0x6')])));var _0x2aeb89=fs[_0xc181('0x57')](_0x5b757d);var _0x101b26=archiver(_0xc181('0x58'),{'zlib':{'level':0x9}});_0x101b26['on'](_0xc181('0x59'),function(_0x592d6f){if(_0x592d6f[_0xc181('0x5a')]===_0xc181('0x5b')){logger[_0xc181('0x5c')](_0x592d6f);}else{throw new db[(_0xc181('0x5d'))][(_0xc181('0x5e'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');}});_0x101b26['on'](_0xc181('0x5c'),function(_0x27fd01){throw new db[(_0xc181('0x5d'))][(_0xc181('0x5e'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');});_0x101b26[_0xc181('0x5f')](_0x2aeb89);_0x101b26[_0xc181('0x60')](_0xc181('0x61'),{'cwd':path[_0xc181('0x52')](config['root'],_0xc181('0x54'),path['dirname'](_0x243c29[_0xc181('0x6')])),'ignore':[path['join'](path[_0xc181('0x62')](_0x243c29[_0xc181('0x6')]),'node_modules/**/*'),path[_0xc181('0x52')](path[_0xc181('0x62')](_0x243c29['path']),_0xc181('0x63'))],'nodir':!![]})[_0xc181('0x64')]();_0x2aeb89['on'](_0xc181('0x65'),function(){if(!fs[_0xc181('0x66')](_0x5b757d)){throw new db[(_0xc181('0x5d'))]['Error'](_0xc181('0x67'));}return _0xaab869['download'](_0x5b757d,util[_0xc181('0x55')](_0xc181('0x56'),path['basename'](_0x243c29[_0xc181('0x6')])),function(_0x2267a8){if(_0x2267a8){throw new db['Sequelize'][(_0xc181('0x5e'))](_0xc181('0x68'));}fs[_0xc181('0x69')](_0x5b757d);logger[_0xc181('0x6a')](_0xc181('0x6b'));logger[_0xc181('0x6a')]('Temporary\x20file\x20removed');});});}return null;})[_0xc181('0x4b')](handleError(_0xaab869,null));};exports[_0xc181('0x6c')]=function(_0x1fad20,_0x1bcc71,_0x5702bd){var _0x5f2af7=path[_0xc181('0x62')](_0x1fad20[_0xc181('0x6d')][_0xc181('0x6e')],path['extname'](_0x1fad20[_0xc181('0x6d')][_0xc181('0x6e')]));var _0x4b5b50=path[_0xc181('0x52')](config[_0xc181('0x53')],_0xc181('0x54'),_0x1fad20[_0xc181('0x6d')][_0xc181('0x6e')]);var _0x138f66=path[_0xc181('0x52')](config[_0xc181('0x53')],_0xc181('0x54'),_0x5f2af7);logger[_0xc181('0x6a')](_0xc181('0x6f'),_0x4b5b50);logger[_0xc181('0x6a')]('Plugin\x20upload\x20destination:\x20%s',_0x138f66);try{fs['chmodSync'](_0x4b5b50,parseInt(_0xc181('0x70'),0x8));extract(_0x4b5b50,{'dir':_0x138f66},function(_0x4c69c5){if(_0x4c69c5){logger['error'](_0x4c69c5);handleError(_0x4c69c5,!![]);};var _0x21f552=fs[_0xc181('0x71')](_0x138f66);if(_0x21f552[_0xc181('0x4f')]>0x1){removeReferences(_0x4b5b50,_0x138f66);logger[_0xc181('0x5c')](_0xc181('0x72'));return _0x5702bd(new Error(_0xc181('0x72')));}var _0x3926e1=fs[_0xc181('0x73')](path[_0xc181('0x52')](_0x138f66,_0x21f552[0x0]));if(_0x3926e1[_0xc181('0x74')]()){removeReferences(_0x4b5b50,_0x138f66);logger[_0xc181('0x5c')](_0xc181('0x72'));return _0x5702bd(new Error(_0xc181('0x72')));}if(_0x3926e1['isDirectory']()){var _0x20936e=fs[_0xc181('0x71')](path[_0xc181('0x52')](_0x138f66,_0x21f552[0x0]));if(_0x20936e[_0xc181('0x4f')]===0x0){removeReferences(_0x4b5b50,_0x138f66);logger[_0xc181('0x5c')](_0xc181('0x72'));return _0x5702bd(new Error(_0xc181('0x72')));}var _0xbf25e9=_0x20936e['some'](function(_0x1f3e33){return _0x1f3e33===_0xc181('0x75');});if(!_0xbf25e9){return _0x5702bd(new Error(_0xc181('0x76')));}var _0x51e899=fs[_0xc181('0x77')](path[_0xc181('0x52')](_0x138f66,_0x21f552[0x0],_0xc181('0x75')));var _0x465c89=JSON['parse'](_0x51e899);if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x30')]){return _0x5702bd(new Error('Invalid\x20manifest:\x20name\x20missing'));}if('undefined'==typeof _0x465c89['type']){return _0x5702bd(new Error(_0xc181('0x78')));}if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x79')]){return _0x5702bd(new Error('Invalid\x20manifest:\x20version\x20not\x20specified'));}if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x7a')]){return _0x5702bd(new Error('Invalid\x20manifest:\x20parameters\x20missing'));}if(_0x465c89['type']===_0xc181('0x7b')){if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x7c')]){return _0x5702bd(new Error(_0xc181('0x7d')));}if(_0xc181('0x22')==typeof _0x465c89['parameters'][_0xc181('0x7c')][_0xc181('0x7e')]&&_0xc181('0x22')==typeof _0x465c89['parameters'][_0xc181('0x7c')][_0xc181('0x7f')]){return _0x5702bd(new Error(_0xc181('0x80')));}}else if(_0x465c89[_0xc181('0x34')]===_0xc181('0x81')){if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x82')]){return _0x5702bd(new Error(_0xc181('0x83')));}if(_0xc181('0x22')==typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x84')]){return _0x5702bd(new Error('Invalid\x20manifest:\x20script\x20path\x20missing'));}}else{return _0x5702bd(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0xa2bcca=_0x465c89['name'];var _0x700043=_0x465c89[_0xc181('0x85')];var _0x2bc51b=_0x465c89['type'];var _0x2768a3=_0x465c89[_0xc181('0x86')]?_0x465c89['sidebar']:_0xc181('0x87');var _0x133363=_0x465c89[_0xc181('0x88')]?_0x465c89['icon']:'icon-apps';var _0x3f8d5b='';var _0x2fadec='';var _0x29f27a='';var _0xd005ca='';var _0x5825e5=_0x465c89[_0xc181('0x79')];if(_0x2bc51b==='html'){if(_0xc181('0x22')!=typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x7c')][_0xc181('0x7e')]){var _0x3dba46=_0x465c89[_0xc181('0x7a')][_0xc181('0x7c')][_0xc181('0x7e')];if(!/^(f|ht)tps?:\/\//i['test'](_0x3dba46)){_0x3f8d5b=path[_0xc181('0x52')]('plugins',_0x5f2af7,_0x21f552[0x0],_0x3dba46);}else{_0x3f8d5b=_0x3dba46;}}else{logger[_0xc181('0x6a')](_0xc181('0x89'));}if(_0xc181('0x22')!=typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x7c')][_0xc181('0x7f')]){var _0x455518=_0x465c89[_0xc181('0x7a')][_0xc181('0x7c')]['agent'];if(!/^(f|ht)tps?:\/\//i[_0xc181('0x8a')](_0x455518)){_0x2fadec=path[_0xc181('0x52')](_0xc181('0x8b'),_0x5f2af7,_0x21f552[0x0],_0x455518);}else{_0x2fadec=_0x455518;}}else{logger[_0xc181('0x6a')](_0xc181('0x8c'));}}else if(_0x2bc51b===_0xc181('0x81')){_0x29f27a=_0x465c89['parameters'][_0xc181('0x82')];_0xd005ca=_0x465c89[_0xc181('0x7a')][_0xc181('0x84')];if(_0xc181('0x22')!=typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x7c')]){if(_0xc181('0x22')!=typeof _0x465c89[_0xc181('0x7a')][_0xc181('0x7c')]['admin']){var _0x3dba46=_0x465c89['parameters']['views']['admin'];if(!/^(f|ht)tps?:\/\//i[_0xc181('0x8a')](_0x3dba46)){_0x3f8d5b=path[_0xc181('0x52')](_0xc181('0x8b'),_0x5f2af7,_0x21f552[0x0],_0x3dba46);}else{_0x3f8d5b=_0x3dba46;}}if('undefined'!=typeof _0x465c89['parameters'][_0xc181('0x7c')][_0xc181('0x7f')]){var _0x455518=_0x465c89[_0xc181('0x7a')][_0xc181('0x7c')][_0xc181('0x7f')];if(!/^(f|ht)tps?:\/\//i['test'](_0x455518)){_0x2fadec=path[_0xc181('0x52')](_0xc181('0x8b'),_0x5f2af7,_0x21f552[0x0],_0x455518);}else{_0x2fadec=_0x455518;}}}}var _0x412f09={'name':_0xa2bcca,'description':_0x700043,'path':path['join'](_0x5f2af7,_0x21f552[0x0]),'type':_0x2bc51b,'sidebar':_0x2768a3,'icon':_0x133363,'adminUrl':_0x3f8d5b,'agentUrl':_0x2fadec,'scriptName':_0x29f27a,'scriptPath':_0xd005ca,'version':_0x5825e5};removeReferences(_0x4b5b50,null);return db[_0xc181('0x32')][_0xc181('0x8d')](_0x412f09)[_0xc181('0x2c')](function(_0xe2e157){var _0x205b3d={'role':_0x1fad20[_0xc181('0x8e')]['role'],'userProfileId':_0x1fad20[_0xc181('0x8e')][_0xc181('0x8f')]};if(!_0x205b3d)throw new Error(_0xc181('0x90'));if(_0x205b3d['role']===_0xc181('0x91')){var _0x2e7560=_0xe2e157['get']({'plain':!![]});return db[_0xc181('0x92')][_0xc181('0x50')]({'where':{'name':_0xc181('0x2d'),'userProfileId':_0x205b3d[_0xc181('0x8f')]},'raw':!![]})[_0xc181('0x2c')](function(_0x533f04){if(_0x533f04&&_0x533f04[_0xc181('0x93')]===0x0){return db[_0xc181('0x2e')][_0xc181('0x8d')]({'name':_0x2e7560[_0xc181('0x30')],'resourceId':_0x2e7560['id'],'type':_0x533f04[_0xc181('0x30')],'sectionId':_0x533f04['id']},{})[_0xc181('0x2c')](function(){return _0xe2e157;});}else{return _0xe2e157;}})[_0xc181('0x4b')](function(_0x5598a2){logger[_0xc181('0x5c')](_0xc181('0x94'),_0x5598a2);throw _0x5598a2;});}return _0xe2e157;})['then'](respondWithResult(_0x1bcc71,null))[_0xc181('0x4b')](handleError(_0x1bcc71,null));}});}catch(_0x120f81){_0x1bcc71[_0xc181('0x25')](0x1f4)[_0xc181('0x95')](_0x120f81);}};function removeReferences(_0x3dee26,_0x57af9e){try{if(_0x3dee26){fs[_0xc181('0x69')](_0x3dee26);logger['info'](_0xc181('0x96'));}if(_0x57af9e){rimraf(_0x57af9e,function(){});logger['info'](_0xc181('0x97'));}}catch(_0x7ecaeb){logger[_0xc181('0x5c')](_0x7ecaeb);}}exports[_0xc181('0x2b')]=function(_0x87e16f,_0x436380,_0x39b67a){return db[_0xc181('0x32')][_0xc181('0x50')]({'where':{'id':_0x87e16f[_0xc181('0x4d')]['id']}})[_0xc181('0x2c')](handleEntityNotFound(_0x436380,null))[_0xc181('0x2c')](saveUpdates(_0x87e16f[_0xc181('0x8e')],null))[_0xc181('0x2c')](respondWithResult(_0x436380,null))['catch'](handleError(_0x436380,null));};exports[_0xc181('0x98')]=function(_0x1cb8a3,_0x2662c6,_0x401ac2){return db['Plugin'][_0xc181('0x50')]({'where':{'id':_0x1cb8a3[_0xc181('0x4d')]['id']}})[_0xc181('0x2c')](function(_0x2ca5fe){if(_0x2ca5fe){return _0x2ca5fe[_0xc181('0x2f')]();}})[_0xc181('0x2c')](function(_0x50d02e){rimraf(path[_0xc181('0x52')](config[_0xc181('0x53')],'server/files/plugins',path['dirname'](_0x50d02e[_0xc181('0x6')])),function(){});return _0x50d02e;})['then'](handleEntityNotFound(_0x2662c6,null))[_0xc181('0x2c')](respondWithStatusCode(_0x2662c6,null))[_0xc181('0x4b')](handleError(_0x2662c6,null));};exports['webhookGet']=function(_0x13df85,_0x4762de,_0x6640a2){return BPromise['resolve']()[_0xc181('0x2c')](function(){if(!_0x13df85[_0xc181('0x37')][_0xc181('0x6')]){throw new Error(_0xc181('0x99'));}if(!_0x13df85[_0xc181('0x37')][_0xc181('0x9a')]){throw new Error(_0xc181('0x9b'));}var _0x20a35b=_0x13df85['query'][_0xc181('0x9c')]?_0x13df85[_0xc181('0x37')][_0xc181('0x9c')]+':'+_0x13df85[_0xc181('0x37')][_0xc181('0x9a')]:_0xc181('0x9d')+_0x13df85[_0xc181('0x37')][_0xc181('0x9a')];var _0x2ec78a=_0x13df85[_0xc181('0x37')][_0xc181('0x20')]?_0x13df85[_0xc181('0x37')][_0xc181('0x20')]:!![];var _0x125618=_0x13df85['query'][_0xc181('0x9e')]?_0x13df85[_0xc181('0x37')]['encoding']:null;var _0x456cc3={'method':_0x13df85[_0xc181('0x9f')],'uri':util[_0xc181('0x55')](_0xc181('0xa0'),_0x20a35b,_0x13df85[_0xc181('0x37')][_0xc181('0x6')]),'json':_0x2ec78a,'resolveWithFullResponse':!![],'encoding':_0x125618,'qs':_0x13df85[_0xc181('0x37')]};if(_0x13df85[_0xc181('0xa1')]){_0x456cc3[_0xc181('0xa1')]=_0x13df85['headers'];if(_0x456cc3[_0xc181('0xa1')][_0xc181('0xa2')]){delete _0x456cc3[_0xc181('0xa1')][_0xc181('0xa2')];}}if(_0x456cc3[_0xc181('0xa1')][_0xc181('0xa3')]){delete _0x456cc3[_0xc181('0xa1')][_0xc181('0xa3')];}return rp(_0x456cc3);})['then'](function(_0x4044aa){if(_0x4044aa){_0x4762de[_0xc181('0x26')](_0x4044aa[_0xc181('0xa1')]);logger[_0xc181('0x6a')](_0x4044aa[_0xc181('0x8e')]);if(_[_0xc181('0xa4')](_0x13df85[_0xc181('0x37')][_0xc181('0x6')],_0xc181('0x51'))&&_0x4044aa['statusCode']==0x1f4){return _0x4762de[_0xc181('0x1e')](_0x4044aa[_0xc181('0xa5')]);}else{return _0x4762de['status'](_0x4044aa[_0xc181('0xa5')])[_0xc181('0x95')](_0x4044aa['body']);}}else{return _0x4762de[_0xc181('0x1e')](0xc8);}})[_0xc181('0x4b')](handleError(_0x4762de,null));};exports[_0xc181('0xa6')]=function(_0x32d61f,_0x56e780,_0x303d95){return BPromise[_0xc181('0xa7')]()[_0xc181('0x2c')](function(){if(!_0x32d61f['query'][_0xc181('0x6')]){throw new Error(_0xc181('0x99'));}if(!_0x32d61f[_0xc181('0x37')][_0xc181('0x9a')]){throw new Error('\x27PORT\x27\x20parameter\x20not\x20specified');}var _0x5eea4e=_0x32d61f[_0xc181('0x37')]['hostname']?_0x32d61f[_0xc181('0x37')][_0xc181('0x9c')]+':'+_0x32d61f[_0xc181('0x37')]['port']:_0xc181('0x9d')+_0x32d61f['query'][_0xc181('0x9a')];var _0x2b273a=_0x32d61f[_0xc181('0x37')]['json']?_0x32d61f[_0xc181('0x37')][_0xc181('0x20')]:!![];var _0x1ef8ef=_0x32d61f[_0xc181('0x37')]['encoding']?_0x32d61f['query']['encoding']:null;var _0x114a01={'method':_0x32d61f['method'],'uri':util['format'](_0xc181('0xa0'),_0x5eea4e,_0x32d61f[_0xc181('0x37')]['path']),'json':_0x2b273a,'resolveWithFullResponse':!![],'encoding':_0x1ef8ef,'body':_0x32d61f[_0xc181('0x8e')]};if(_0x32d61f[_0xc181('0xa1')]){_0x114a01['headers']=_0x32d61f['headers'];if(_0x114a01[_0xc181('0xa1')][_0xc181('0xa2')]){delete _0x114a01[_0xc181('0xa1')][_0xc181('0xa2')];}}if(_0x114a01[_0xc181('0xa1')][_0xc181('0xa3')]){delete _0x114a01[_0xc181('0xa1')][_0xc181('0xa3')];}return rp(_0x114a01);})[_0xc181('0x2c')](function(_0x315a96){if(_0x315a96){_0x56e780[_0xc181('0x26')](_0x315a96[_0xc181('0xa1')]);logger['info'](_0x315a96[_0xc181('0x8e')]);return _0x56e780[_0xc181('0x25')](_0x315a96[_0xc181('0xa5')])['send'](_0x315a96[_0xc181('0x8e')]);}else{return _0x56e780['sendStatus'](0xc8);}})[_0xc181('0x4b')](handleError(_0x56e780,null));};