5e10667576468aea88e95634bb9e3eaa2ee72634
[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 _0x10be=['./plugin.socket','register','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','destroy','then','get','Plugins','UserProfileResource','end','error','stack','name','send','index','map','Plugin','rawAttributes','fieldName','type','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','includeAll','findAll','rows','params','intersection','include','options','find','catch','download','join','root','server/files/plugins','format','%s.zip','zip','warning','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','dirname','basename','node_modules/**/*','attachments/**/*','finalize','close','existsSync','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','upload','file','filename','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','chmodSync','0777','Invalid\x20plugin\x20structure','lstatSync','isFile','Plugin\x20manifest\x20missing','readFileSync','parse','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','Invalid\x20manifest:\x20parameters\x20missing','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','script','scriptName','scriptPath','description','always','html','plugins','Warning:\x20admin\x20view\x20not\x20specified','test','Warning:\x20agent\x20view\x20not\x20specified','create','body','role','userProfileId','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','update','delete','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','port','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','encoding','headers','content-length','content-type','set','endsWith','statusCode','webhookPost','method','%s%s','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','archiver','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter'];(function(_0x318410,_0x451962){var _0x2898a3=function(_0x58e572){while(--_0x58e572){_0x318410['push'](_0x318410['shift']());}};_0x2898a3(++_0x451962);}(_0x10be,0x1dd));var _0xe10b=function(_0x2de7f8,_0x4af1ff){_0x2de7f8=_0x2de7f8-0x0;var _0x59022b=_0x10be[_0x2de7f8];return _0x59022b;};'use strict';var emlformat=require(_0xe10b('0x0'));var rimraf=require(_0xe10b('0x1'));var zipdir=require(_0xe10b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xe10b('0x3'));var BPromise=require(_0xe10b('0x4'));var Mustache=require(_0xe10b('0x5'));var util=require(_0xe10b('0x6'));var path=require(_0xe10b('0x7'));var sox=require(_0xe10b('0x8'));var csv=require(_0xe10b('0x9'));var ejs=require(_0xe10b('0xa'));var fs=require('fs');var fs_extra=require(_0xe10b('0xb'));var _=require(_0xe10b('0xc'));var squel=require(_0xe10b('0xd'));var crypto=require(_0xe10b('0xe'));var jsforce=require(_0xe10b('0xf'));var deskjs=require(_0xe10b('0x10'));var toCsv=require(_0xe10b('0x9'));var querystring=require(_0xe10b('0x11'));var Papa=require(_0xe10b('0x12'));var extract=require('extract-zip');var rimraf=require(_0xe10b('0x1'));var archiver=require(_0xe10b('0x13'));var Redis=require('ioredis');var authService=require(_0xe10b('0x14'));var qs=require(_0xe10b('0x15'));var as=require(_0xe10b('0x16'));var hardwareService=require(_0xe10b('0x17'));var logger=require('../../config/logger')('api');var utils=require(_0xe10b('0x18'));var config=require(_0xe10b('0x19'));var licenseUtil=require(_0xe10b('0x1a'));var db=require('../../mysqldb')['db'];config[_0xe10b('0x1b')]=_['defaults'](config[_0xe10b('0x1b')],{'host':_0xe10b('0x1c'),'port':0x18eb});var socket=require(_0xe10b('0x1d'))(new Redis(config[_0xe10b('0x1b')]));require(_0xe10b('0x1e'))[_0xe10b('0x1f')](socket);function respondWithStatusCode(_0x47b2c9,_0x4c6b55){_0x4c6b55=_0x4c6b55||0xcc;return function(_0x3e685c){if(_0x3e685c){return _0x47b2c9[_0xe10b('0x20')](_0x4c6b55);}return _0x47b2c9[_0xe10b('0x21')](_0x4c6b55)['end']();};}function respondWithResult(_0x445e6a,_0x1141bd){_0x1141bd=_0x1141bd||0xc8;return function(_0x18aee1){if(_0x18aee1){return _0x445e6a[_0xe10b('0x21')](_0x1141bd)[_0xe10b('0x22')](_0x18aee1);}};}function respondWithFilteredResult(_0x387559,_0x3c88dc){return function(_0x291f12){if(_0x291f12){var _0xe869c9=typeof _0x3c88dc[_0xe10b('0x23')]===_0xe10b('0x24')&&typeof _0x3c88dc[_0xe10b('0x25')]===_0xe10b('0x24');var _0x6c08d=_0x291f12[_0xe10b('0x26')];var _0x1a838f=_0xe869c9?0x0:_0x3c88dc[_0xe10b('0x23')];var _0x2119fe=_0xe869c9?_0x291f12['count']:_0x3c88dc[_0xe10b('0x23')]+_0x3c88dc[_0xe10b('0x25')];var _0x3644db;if(_0x2119fe>=_0x6c08d){_0x2119fe=_0x6c08d;_0x3644db=0xc8;}else{_0x3644db=0xce;}_0x387559[_0xe10b('0x21')](_0x3644db);return _0x387559['set'](_0xe10b('0x27'),_0x1a838f+'-'+_0x2119fe+'/'+_0x6c08d)[_0xe10b('0x22')](_0x291f12);}return null;};}function patchUpdates(_0x131fc2){return function(_0xb1755c){try{jsonpatch[_0xe10b('0x28')](_0xb1755c,_0x131fc2,!![]);}catch(_0x3ea606){return BPromise[_0xe10b('0x29')](_0x3ea606);}return _0xb1755c[_0xe10b('0x2a')]();};}function saveUpdates(_0x2066c1,_0x119a80){return function(_0x6688cd){if(_0x6688cd){return _0x6688cd['update'](_0x2066c1)['then'](function(_0x1f4278){return _0x1f4278;});}return null;};}function removeEntity(_0x1809ef,_0x31fda7){return function(_0xc894c6){if(_0xc894c6){return _0xc894c6[_0xe10b('0x2b')]()[_0xe10b('0x2c')](function(){var _0x11aaa8=_0xc894c6[_0xe10b('0x2d')]({'plain':!![]});var _0x3c517e=_0xe10b('0x2e');return db[_0xe10b('0x2f')][_0xe10b('0x2b')]({'where':{'type':_0x3c517e,'resourceId':_0x11aaa8['id']}})[_0xe10b('0x2c')](function(){return _0xc894c6;});})[_0xe10b('0x2c')](function(){_0x1809ef['status'](0xcc)[_0xe10b('0x30')]();});}};}function handleEntityNotFound(_0x536d09,_0x5472aa){return function(_0xad2a25){if(!_0xad2a25){_0x536d09['sendStatus'](0x194);}return _0xad2a25;};}function handleError(_0x1ec48c,_0x238b1f){_0x238b1f=_0x238b1f||0x1f4;return function(_0x4cc158){logger[_0xe10b('0x31')](_0x4cc158[_0xe10b('0x32')]);if(_0x4cc158[_0xe10b('0x33')]){delete _0x4cc158[_0xe10b('0x33')];}_0x1ec48c[_0xe10b('0x21')](_0x238b1f)[_0xe10b('0x34')](_0x4cc158);};}exports[_0xe10b('0x35')]=function(_0x446b04,_0xd2ad83){var _0x44e02b={},_0x435238={},_0xbe3217={'count':0x0,'rows':[]};var _0x3199db=_[_0xe10b('0x36')](db[_0xe10b('0x37')][_0xe10b('0x38')],function(_0x37c65a){return{'name':_0x37c65a[_0xe10b('0x39')],'type':_0x37c65a[_0xe10b('0x3a')]['key']};});_0x435238[_0xe10b('0x3b')]=_[_0xe10b('0x36')](_0x3199db,'name');_0x435238[_0xe10b('0x3c')]=_[_0xe10b('0x3d')](_0x446b04[_0xe10b('0x3c')]);_0x435238['filters']=_['intersection'](_0x435238[_0xe10b('0x3b')],_0x435238['query']);_0x44e02b[_0xe10b('0x3e')]=_['intersection'](_0x435238[_0xe10b('0x3b')],qs['fields'](_0x446b04[_0xe10b('0x3c')][_0xe10b('0x3f')]));_0x44e02b[_0xe10b('0x3e')]=_0x44e02b['attributes'][_0xe10b('0x40')]?_0x44e02b[_0xe10b('0x3e')]:_0x435238[_0xe10b('0x3b')];if(!_0x446b04[_0xe10b('0x3c')][_0xe10b('0x41')](_0xe10b('0x42'))){_0x44e02b[_0xe10b('0x25')]=qs[_0xe10b('0x25')](_0x446b04[_0xe10b('0x3c')][_0xe10b('0x25')]);_0x44e02b['offset']=qs[_0xe10b('0x23')](_0x446b04[_0xe10b('0x3c')]['offset']);}_0x44e02b['order']=qs[_0xe10b('0x43')](_0x446b04['query'][_0xe10b('0x43')]);_0x44e02b[_0xe10b('0x44')]=qs[_0xe10b('0x45')](_[_0xe10b('0x46')](_0x446b04[_0xe10b('0x3c')],_0x435238['filters']),_0x3199db);if(_0x446b04[_0xe10b('0x3c')][_0xe10b('0x47')]){_0x44e02b[_0xe10b('0x44')]=_['merge'](_0x44e02b['where'],{'$or':_[_0xe10b('0x36')](_0x3199db,function(_0x4c1842){if(_0x4c1842[_0xe10b('0x3a')]!==_0xe10b('0x48')){var _0xd38ae0={};_0xd38ae0[_0x4c1842['name']]={'$like':'%'+_0x446b04[_0xe10b('0x3c')][_0xe10b('0x47')]+'%'};return _0xd38ae0;}})});}_0x44e02b=_[_0xe10b('0x49')]({},_0x44e02b,_0x446b04['options']);var _0x33296d={'where':_0x44e02b[_0xe10b('0x44')]};return db['Plugin'][_0xe10b('0x26')](_0x33296d)[_0xe10b('0x2c')](function(_0xcec3d2){_0xbe3217[_0xe10b('0x26')]=_0xcec3d2;if(_0x446b04[_0xe10b('0x3c')][_0xe10b('0x4a')]){_0x44e02b['include']=[{'all':!![]}];}return db[_0xe10b('0x37')][_0xe10b('0x4b')](_0x44e02b);})[_0xe10b('0x2c')](function(_0x3f799e){_0xbe3217[_0xe10b('0x4c')]=_0x3f799e;return _0xbe3217;})[_0xe10b('0x2c')](respondWithFilteredResult(_0xd2ad83,_0x44e02b))['catch'](handleError(_0xd2ad83,null));};exports['show']=function(_0x1e5427,_0x3017c9){var _0xf5de79={'raw':!![],'where':{'id':_0x1e5427[_0xe10b('0x4d')]['id']}},_0x4627ea={};_0x4627ea[_0xe10b('0x3b')]=_[_0xe10b('0x3d')](db['Plugin'][_0xe10b('0x38')]);_0x4627ea[_0xe10b('0x3c')]=_[_0xe10b('0x3d')](_0x1e5427[_0xe10b('0x3c')]);_0x4627ea['filters']=_[_0xe10b('0x4e')](_0x4627ea['model'],_0x4627ea[_0xe10b('0x3c')]);_0xf5de79[_0xe10b('0x3e')]=_[_0xe10b('0x4e')](_0x4627ea[_0xe10b('0x3b')],qs[_0xe10b('0x3f')](_0x1e5427['query'][_0xe10b('0x3f')]));_0xf5de79['attributes']=_0xf5de79[_0xe10b('0x3e')]['length']?_0xf5de79[_0xe10b('0x3e')]:_0x4627ea[_0xe10b('0x3b')];if(_0x1e5427[_0xe10b('0x3c')]['includeAll']){_0xf5de79[_0xe10b('0x4f')]=[{'all':!![]}];}_0xf5de79=_[_0xe10b('0x49')]({},_0xf5de79,_0x1e5427[_0xe10b('0x50')]);return db[_0xe10b('0x37')][_0xe10b('0x51')](_0xf5de79)[_0xe10b('0x2c')](handleEntityNotFound(_0x3017c9,null))[_0xe10b('0x2c')](respondWithResult(_0x3017c9,null))[_0xe10b('0x52')](handleError(_0x3017c9,null));};exports[_0xe10b('0x53')]=function(_0x149dd8,_0x48f006,_0x55580c){return db[_0xe10b('0x37')][_0xe10b('0x51')]({'where':{'id':_0x149dd8[_0xe10b('0x4d')]['id']},'attributes':[_0xe10b('0x33'),_0xe10b('0x7')],'raw':!![]})[_0xe10b('0x2c')](handleEntityNotFound(_0x48f006,null))[_0xe10b('0x2c')](function(_0x32474e){if(_0x32474e){var _0x3df118=path[_0xe10b('0x54')](config[_0xe10b('0x55')],_0xe10b('0x56'),util[_0xe10b('0x57')](_0xe10b('0x58'),path['basename'](_0x32474e['path'])));var _0x5a54b3=fs['createWriteStream'](_0x3df118);var _0x4c39dc=archiver(_0xe10b('0x59'),{'zlib':{'level':0x9}});_0x4c39dc['on'](_0xe10b('0x5a'),function(_0x508996){if(_0x508996['code']==='ENOENT'){logger[_0xe10b('0x31')](_0x508996);}else{throw new db[(_0xe10b('0x5b'))][(_0xe10b('0x5c'))](_0xe10b('0x5d'));}});_0x4c39dc['on'](_0xe10b('0x31'),function(_0x2ad746){throw new db[(_0xe10b('0x5b'))][(_0xe10b('0x5c'))](_0xe10b('0x5d'));});_0x4c39dc[_0xe10b('0x5e')](_0x5a54b3);_0x4c39dc[_0xe10b('0x5f')](_0xe10b('0x60'),{'cwd':path[_0xe10b('0x54')](config[_0xe10b('0x55')],_0xe10b('0x56'),path[_0xe10b('0x61')](_0x32474e[_0xe10b('0x7')])),'ignore':[path['join'](path[_0xe10b('0x62')](_0x32474e['path']),_0xe10b('0x63')),path[_0xe10b('0x54')](path[_0xe10b('0x62')](_0x32474e['path']),_0xe10b('0x64'))],'nodir':!![]})[_0xe10b('0x65')]();_0x5a54b3['on'](_0xe10b('0x66'),function(){if(!fs[_0xe10b('0x67')](_0x3df118)){throw new db['Sequelize'][(_0xe10b('0x5c'))]('Plugin\x20not\x20found');}return _0x48f006['download'](_0x3df118,util[_0xe10b('0x57')](_0xe10b('0x58'),path[_0xe10b('0x62')](_0x32474e[_0xe10b('0x7')])),function(_0x3ba3c9){if(_0x3ba3c9){throw new db[(_0xe10b('0x5b'))][(_0xe10b('0x5c'))](_0xe10b('0x68'));}fs[_0xe10b('0x69')](_0x3df118);logger[_0xe10b('0x6a')](_0xe10b('0x6b'));logger['info']('Temporary\x20file\x20removed');});});}return null;})['catch'](handleError(_0x48f006,null));};exports[_0xe10b('0x6c')]=function(_0x5453af,_0x1c4d80,_0x3e60b5){var _0x3814b5=path['basename'](_0x5453af['file']['filename'],path['extname'](_0x5453af[_0xe10b('0x6d')][_0xe10b('0x6e')]));var _0x242adb=path[_0xe10b('0x54')](config[_0xe10b('0x55')],_0xe10b('0x56'),_0x5453af[_0xe10b('0x6d')]['filename']);var _0x16fc90=path[_0xe10b('0x54')](config[_0xe10b('0x55')],_0xe10b('0x56'),_0x3814b5);logger[_0xe10b('0x6a')](_0xe10b('0x6f'),_0x242adb);logger['info'](_0xe10b('0x70'),_0x16fc90);try{fs[_0xe10b('0x71')](_0x242adb,parseInt(_0xe10b('0x72'),0x8));extract(_0x242adb,{'dir':_0x16fc90},function(_0x137307){if(_0x137307){logger[_0xe10b('0x31')](_0x137307);handleError(_0x137307,!![]);};var _0x434057=fs['readdirSync'](_0x16fc90);if(_0x434057[_0xe10b('0x40')]>0x1){removeReferences(_0x242adb,_0x16fc90);logger['error'](_0xe10b('0x73'));return _0x3e60b5(new Error(_0xe10b('0x73')));}var _0xee812f=fs[_0xe10b('0x74')](path[_0xe10b('0x54')](_0x16fc90,_0x434057[0x0]));if(_0xee812f[_0xe10b('0x75')]()){removeReferences(_0x242adb,_0x16fc90);logger[_0xe10b('0x31')](_0xe10b('0x73'));return _0x3e60b5(new Error('Invalid\x20plugin\x20structure'));}if(_0xee812f['isDirectory']()){var _0x5b0f49=fs['readdirSync'](path[_0xe10b('0x54')](_0x16fc90,_0x434057[0x0]));if(_0x5b0f49[_0xe10b('0x40')]===0x0){removeReferences(_0x242adb,_0x16fc90);logger[_0xe10b('0x31')](_0xe10b('0x73'));return _0x3e60b5(new Error(_0xe10b('0x73')));}var _0x156cc0=_0x5b0f49['some'](function(_0x2495cb){return _0x2495cb==='manifest.json';});if(!_0x156cc0){return _0x3e60b5(new Error(_0xe10b('0x76')));}var _0x18ab4e=fs[_0xe10b('0x77')](path[_0xe10b('0x54')](_0x16fc90,_0x434057[0x0],'manifest.json'));var _0x4645e5=JSON[_0xe10b('0x78')](_0x18ab4e);if(_0xe10b('0x24')==typeof _0x4645e5[_0xe10b('0x33')]){return _0x3e60b5(new Error(_0xe10b('0x79')));}if('undefined'==typeof _0x4645e5[_0xe10b('0x3a')]){return _0x3e60b5(new Error(_0xe10b('0x7a')));}if(_0xe10b('0x24')==typeof _0x4645e5['version']){return _0x3e60b5(new Error(_0xe10b('0x7b')));}if(_0xe10b('0x24')==typeof _0x4645e5[_0xe10b('0x7c')]){return _0x3e60b5(new Error(_0xe10b('0x7d')));}if(_0x4645e5[_0xe10b('0x3a')]==='html'){if('undefined'==typeof _0x4645e5[_0xe10b('0x7c')][_0xe10b('0x7e')]){return _0x3e60b5(new Error(_0xe10b('0x7f')));}if(_0xe10b('0x24')==typeof _0x4645e5['parameters']['views'][_0xe10b('0x80')]&&_0xe10b('0x24')==typeof _0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x81')]){return _0x3e60b5(new Error(_0xe10b('0x82')));}}else if(_0x4645e5[_0xe10b('0x3a')]===_0xe10b('0x83')){if(_0xe10b('0x24')==typeof _0x4645e5['parameters'][_0xe10b('0x84')]){return _0x3e60b5(new Error('Invalid\x20manifest:\x20script\x20name\x20missing'));}if('undefined'==typeof _0x4645e5[_0xe10b('0x7c')][_0xe10b('0x85')]){return _0x3e60b5(new Error('Invalid\x20manifest:\x20script\x20path\x20missing'));}}else{return _0x3e60b5(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x1bddc5=_0x4645e5[_0xe10b('0x33')];var _0x5b8df9=_0x4645e5[_0xe10b('0x86')];var _0x496ed8=_0x4645e5['type'];var _0x3c2cdb=_0x4645e5['sidebar']?_0x4645e5['sidebar']:_0xe10b('0x87');var _0xe119c2=_0x4645e5['icon']?_0x4645e5['icon']:'icon-apps';var _0x1f8a56='';var _0x51845e='';var _0x47048f='';var _0x15dd28='';var _0x361dae=_0x4645e5['version'];if(_0x496ed8===_0xe10b('0x88')){if(_0xe10b('0x24')!=typeof _0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x80')]){var _0xd19202=_0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x80')];if(!/^(f|ht)tps?:\/\//i['test'](_0xd19202)){_0x1f8a56=path[_0xe10b('0x54')](_0xe10b('0x89'),_0x3814b5,_0x434057[0x0],_0xd19202);}else{_0x1f8a56=_0xd19202;}}else{logger[_0xe10b('0x6a')](_0xe10b('0x8a'));}if('undefined'!=typeof _0x4645e5[_0xe10b('0x7c')][_0xe10b('0x7e')][_0xe10b('0x81')]){var _0x25aa90=_0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x81')];if(!/^(f|ht)tps?:\/\//i[_0xe10b('0x8b')](_0x25aa90)){_0x51845e=path[_0xe10b('0x54')](_0xe10b('0x89'),_0x3814b5,_0x434057[0x0],_0x25aa90);}else{_0x51845e=_0x25aa90;}}else{logger[_0xe10b('0x6a')](_0xe10b('0x8c'));}}else if(_0x496ed8===_0xe10b('0x83')){_0x47048f=_0x4645e5['parameters'][_0xe10b('0x84')];_0x15dd28=_0x4645e5['parameters'][_0xe10b('0x85')];if(_0xe10b('0x24')!=typeof _0x4645e5[_0xe10b('0x7c')][_0xe10b('0x7e')]){if('undefined'!=typeof _0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x80')]){var _0xd19202=_0x4645e5['parameters'][_0xe10b('0x7e')][_0xe10b('0x80')];if(!/^(f|ht)tps?:\/\//i[_0xe10b('0x8b')](_0xd19202)){_0x1f8a56=path['join'](_0xe10b('0x89'),_0x3814b5,_0x434057[0x0],_0xd19202);}else{_0x1f8a56=_0xd19202;}}if(_0xe10b('0x24')!=typeof _0x4645e5[_0xe10b('0x7c')][_0xe10b('0x7e')][_0xe10b('0x81')]){var _0x25aa90=_0x4645e5[_0xe10b('0x7c')][_0xe10b('0x7e')]['agent'];if(!/^(f|ht)tps?:\/\//i[_0xe10b('0x8b')](_0x25aa90)){_0x51845e=path['join'](_0xe10b('0x89'),_0x3814b5,_0x434057[0x0],_0x25aa90);}else{_0x51845e=_0x25aa90;}}}}var _0x2f64be={'name':_0x1bddc5,'description':_0x5b8df9,'path':path[_0xe10b('0x54')](_0x3814b5,_0x434057[0x0]),'type':_0x496ed8,'sidebar':_0x3c2cdb,'icon':_0xe119c2,'adminUrl':_0x1f8a56,'agentUrl':_0x51845e,'scriptName':_0x47048f,'scriptPath':_0x15dd28,'version':_0x361dae};removeReferences(_0x242adb,null);return db[_0xe10b('0x37')][_0xe10b('0x8d')](_0x2f64be)['then'](function(_0x2f186c){var _0x7b6d69={'role':_0x5453af[_0xe10b('0x8e')][_0xe10b('0x8f')],'userProfileId':_0x5453af[_0xe10b('0x8e')][_0xe10b('0x90')]};if(!_0x7b6d69)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x7b6d69[_0xe10b('0x8f')]===_0xe10b('0x91')){var _0x4b5f4d=_0x2f186c[_0xe10b('0x2d')]({'plain':!![]});return db[_0xe10b('0x92')][_0xe10b('0x51')]({'where':{'name':_0xe10b('0x2e'),'userProfileId':_0x7b6d69[_0xe10b('0x90')]},'raw':!![]})[_0xe10b('0x2c')](function(_0x152f12){if(_0x152f12&&_0x152f12[_0xe10b('0x93')]===0x0){return db['UserProfileResource'][_0xe10b('0x8d')]({'name':_0x4b5f4d[_0xe10b('0x33')],'resourceId':_0x4b5f4d['id'],'type':_0x152f12[_0xe10b('0x33')],'sectionId':_0x152f12['id']},{})[_0xe10b('0x2c')](function(){return _0x2f186c;});}else{return _0x2f186c;}})[_0xe10b('0x52')](function(_0x20df2a){logger[_0xe10b('0x31')](_0xe10b('0x94'),_0x20df2a);throw _0x20df2a;});}return _0x2f186c;})[_0xe10b('0x2c')](respondWithResult(_0x1c4d80,null))['catch'](handleError(_0x1c4d80,null));}});}catch(_0x6b3761){_0x1c4d80[_0xe10b('0x21')](0x1f4)['send'](_0x6b3761);}};function removeReferences(_0x57c851,_0x3bd753){try{if(_0x57c851){fs[_0xe10b('0x69')](_0x57c851);logger[_0xe10b('0x6a')](_0xe10b('0x95'));}if(_0x3bd753){rimraf(_0x3bd753,function(){});logger[_0xe10b('0x6a')](_0xe10b('0x96'));}}catch(_0x172cf1){logger[_0xe10b('0x31')](_0x172cf1);}}exports[_0xe10b('0x97')]=function(_0x107317,_0x1f21c8,_0x45aa4f){return db[_0xe10b('0x37')]['find']({'where':{'id':_0x107317[_0xe10b('0x4d')]['id']}})[_0xe10b('0x2c')](handleEntityNotFound(_0x1f21c8,null))['then'](saveUpdates(_0x107317['body'],null))[_0xe10b('0x2c')](respondWithResult(_0x1f21c8,null))[_0xe10b('0x52')](handleError(_0x1f21c8,null));};exports[_0xe10b('0x98')]=function(_0x523904,_0x5b38d6,_0x15a5bb){return db[_0xe10b('0x37')][_0xe10b('0x51')]({'where':{'id':_0x523904[_0xe10b('0x4d')]['id']}})['then'](function(_0x4299de){if(_0x4299de){return _0x4299de[_0xe10b('0x2b')]();}})[_0xe10b('0x2c')](function(_0x226563){rimraf(path['join'](config[_0xe10b('0x55')],'server/files/plugins',path[_0xe10b('0x61')](_0x226563[_0xe10b('0x7')])),function(){});return _0x226563;})[_0xe10b('0x2c')](handleEntityNotFound(_0x5b38d6,null))[_0xe10b('0x2c')](respondWithStatusCode(_0x5b38d6,null))[_0xe10b('0x52')](handleError(_0x5b38d6,null));};exports['webhookGet']=function(_0x58e922,_0x560f8c,_0x42ebae){return BPromise[_0xe10b('0x99')]()[_0xe10b('0x2c')](function(){if(!_0x58e922[_0xe10b('0x3c')][_0xe10b('0x7')]){throw new Error(_0xe10b('0x9a'));}if(!_0x58e922[_0xe10b('0x3c')][_0xe10b('0x9b')]){throw new Error(_0xe10b('0x9c'));}var _0x3af05f=_0x58e922['query'][_0xe10b('0x9d')]?_0x58e922['query']['hostname']+':'+_0x58e922[_0xe10b('0x3c')][_0xe10b('0x9b')]:_0xe10b('0x9e')+_0x58e922['query'][_0xe10b('0x9b')];var _0x4428aa=_0x58e922[_0xe10b('0x3c')]['json']?_0x58e922['query']['json']:!![];var _0x143054=_0x58e922[_0xe10b('0x3c')][_0xe10b('0x9f')]?_0x58e922[_0xe10b('0x3c')][_0xe10b('0x9f')]:null;var _0x35ba60={'method':_0x58e922['method'],'uri':util['format']('%s%s',_0x3af05f,_0x58e922[_0xe10b('0x3c')][_0xe10b('0x7')]),'json':_0x4428aa,'resolveWithFullResponse':!![],'encoding':_0x143054,'qs':_0x58e922[_0xe10b('0x3c')]};if(_0x58e922[_0xe10b('0xa0')]){_0x35ba60[_0xe10b('0xa0')]=_0x58e922[_0xe10b('0xa0')];if(_0x35ba60[_0xe10b('0xa0')]['content-length']){delete _0x35ba60[_0xe10b('0xa0')][_0xe10b('0xa1')];}}if(_0x35ba60['headers']['content-type']){delete _0x35ba60[_0xe10b('0xa0')][_0xe10b('0xa2')];}return rp(_0x35ba60);})[_0xe10b('0x2c')](function(_0x55998e){if(_0x55998e){_0x560f8c[_0xe10b('0xa3')](_0x55998e[_0xe10b('0xa0')]);logger['info'](_0x55998e['body']);if(_[_0xe10b('0xa4')](_0x58e922['query'][_0xe10b('0x7')],_0xe10b('0x53'))&&_0x55998e[_0xe10b('0xa5')]==0x1f4){return _0x560f8c['sendStatus'](_0x55998e[_0xe10b('0xa5')]);}else{return _0x560f8c[_0xe10b('0x21')](_0x55998e[_0xe10b('0xa5')])['send'](_0x55998e['body']);}}else{return _0x560f8c[_0xe10b('0x20')](0xc8);}})[_0xe10b('0x52')](handleError(_0x560f8c,null));};exports[_0xe10b('0xa6')]=function(_0x6559ac,_0xf44724,_0x5e8375){return BPromise[_0xe10b('0x99')]()['then'](function(){if(!_0x6559ac[_0xe10b('0x3c')]['path']){throw new Error(_0xe10b('0x9a'));}if(!_0x6559ac['query']['port']){throw new Error(_0xe10b('0x9c'));}var _0x5ecfa3=_0x6559ac[_0xe10b('0x3c')][_0xe10b('0x9d')]?_0x6559ac[_0xe10b('0x3c')][_0xe10b('0x9d')]+':'+_0x6559ac[_0xe10b('0x3c')]['port']:_0xe10b('0x9e')+_0x6559ac[_0xe10b('0x3c')]['port'];var _0x3c2c24=_0x6559ac[_0xe10b('0x3c')]['json']?_0x6559ac[_0xe10b('0x3c')][_0xe10b('0x22')]:!![];var _0x2dbb62=_0x6559ac[_0xe10b('0x3c')][_0xe10b('0x9f')]?_0x6559ac[_0xe10b('0x3c')]['encoding']:null;var _0x526edd={'method':_0x6559ac[_0xe10b('0xa7')],'uri':util[_0xe10b('0x57')](_0xe10b('0xa8'),_0x5ecfa3,_0x6559ac[_0xe10b('0x3c')]['path']),'json':_0x3c2c24,'resolveWithFullResponse':!![],'encoding':_0x2dbb62,'body':_0x6559ac[_0xe10b('0x8e')]};if(_0x6559ac[_0xe10b('0xa0')]){_0x526edd[_0xe10b('0xa0')]=_0x6559ac[_0xe10b('0xa0')];if(_0x526edd[_0xe10b('0xa0')][_0xe10b('0xa1')]){delete _0x526edd[_0xe10b('0xa0')][_0xe10b('0xa1')];}}if(_0x526edd[_0xe10b('0xa0')][_0xe10b('0xa2')]){delete _0x526edd['headers'][_0xe10b('0xa2')];}return rp(_0x526edd);})['then'](function(_0x5675e2){if(_0x5675e2){_0xf44724['set'](_0x5675e2['headers']);logger[_0xe10b('0x6a')](_0x5675e2[_0xe10b('0x8e')]);return _0xf44724['status'](_0x5675e2[_0xe10b('0xa5')])[_0xe10b('0x34')](_0x5675e2[_0xe10b('0x8e')]);}else{return _0xf44724[_0xe10b('0x20')](0xc8);}})[_0xe10b('0x52')](handleError(_0xf44724,null));};