Built motion from commit (unavailable).|2.5.23
[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 _0x8a0f=['offset','limit','Content-Range','json','apply','reject','save','update','then','get','Plugins','destroy','error','stack','name','send','index','map','Plugin','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','length','download','join','root','format','%s.zip','zip','code','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','server/files/plugins','basename','attachments/**/*','finalize','close','existsSync','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','Temporary\x20file\x20removed','upload','file','filename','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','chmodSync','0777','Invalid\x20plugin\x20structure','lstatSync','isFile','isDirectory','some','manifest.json','Plugin\x20manifest\x20missing','readFileSync','parse','undefined','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','Invalid\x20manifest:\x20parameters\x20missing','parameters','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','script','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','Invalid\x20manifest:\x20invalid\x20type','description','sidebar','icon','icon-apps','html','plugins','Warning:\x20agent\x20view\x20not\x20specified','create','body','role','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','Extracted\x20folder\x20removed','find','delete','dirname','webhookGet','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','port','hostname','http://localhost:','encoding','%s%s','headers','content-length','content-type','set','endsWith','statusCode','webhookPost','\x27PORT\x27\x20parameter\x20not\x20specified','method','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','extract-zip','archiver','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./plugin.socket','register','sendStatus','status','end','count'];(function(_0x39a04c,_0x2b4002){var _0x580cb0=function(_0x138902){while(--_0x138902){_0x39a04c['push'](_0x39a04c['shift']());}};_0x580cb0(++_0x2b4002);}(_0x8a0f,0x1e6));var _0xf8a0=function(_0x89ca5,_0x260445){_0x89ca5=_0x89ca5-0x0;var _0x5dfcdc=_0x8a0f[_0x89ca5];return _0x5dfcdc;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf8a0('0x0'));var rimraf=require(_0xf8a0('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf8a0('0x2'));var rp=require(_0xf8a0('0x3'));var moment=require('moment');var BPromise=require(_0xf8a0('0x4'));var Mustache=require(_0xf8a0('0x5'));var util=require(_0xf8a0('0x6'));var path=require(_0xf8a0('0x7'));var sox=require('sox');var csv=require(_0xf8a0('0x8'));var ejs=require(_0xf8a0('0x9'));var fs=require('fs');var _=require(_0xf8a0('0xa'));var squel=require(_0xf8a0('0xb'));var crypto=require(_0xf8a0('0xc'));var jsforce=require(_0xf8a0('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf8a0('0x8'));var querystring=require(_0xf8a0('0xe'));var Papa=require(_0xf8a0('0xf'));var extract=require(_0xf8a0('0x10'));var rimraf=require(_0xf8a0('0x1'));var archiver=require(_0xf8a0('0x11'));var Redis=require(_0xf8a0('0x12'));var authService=require(_0xf8a0('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xf8a0('0x14'));var hardwareService=require(_0xf8a0('0x15'));var logger=require(_0xf8a0('0x16'))('api');var utils=require('../../config/utils');var config=require(_0xf8a0('0x17'));var licenseUtil=require(_0xf8a0('0x18'));var db=require(_0xf8a0('0x19'))['db'];config[_0xf8a0('0x1a')]=_[_0xf8a0('0x1b')](config[_0xf8a0('0x1a')],{'host':_0xf8a0('0x1c'),'port':0x18eb});var socket=require(_0xf8a0('0x1d'))(new Redis(config[_0xf8a0('0x1a')]));require(_0xf8a0('0x1e'))[_0xf8a0('0x1f')](socket);function respondWithStatusCode(_0x25d37a,_0x1f00d7){_0x1f00d7=_0x1f00d7||0xcc;return function(_0x3ead9b){if(_0x3ead9b){return _0x25d37a[_0xf8a0('0x20')](_0x1f00d7);}return _0x25d37a[_0xf8a0('0x21')](_0x1f00d7)[_0xf8a0('0x22')]();};}function respondWithResult(_0x1b6415,_0x4507a8){_0x4507a8=_0x4507a8||0xc8;return function(_0x4be9d3){if(_0x4be9d3){return _0x1b6415['status'](_0x4507a8)['json'](_0x4be9d3);}};}function respondWithFilteredResult(_0x2cd8d1,_0xc25ce8){return function(_0x2aa924){if(_0x2aa924){var _0x39d0db=_0x2aa924[_0xf8a0('0x23')],_0x141f0=_0xc25ce8[_0xf8a0('0x24')],_0x5041b6=_0xc25ce8[_0xf8a0('0x24')]+_0xc25ce8[_0xf8a0('0x25')],_0xfb7a65;if(_0x5041b6>=_0x39d0db){_0x5041b6=_0x39d0db;_0xfb7a65=0xc8;}else{_0xfb7a65=0xce;}_0x2cd8d1[_0xf8a0('0x21')](_0xfb7a65);return _0x2cd8d1['set'](_0xf8a0('0x26'),_0x141f0+'-'+_0x5041b6+'/'+_0x39d0db)[_0xf8a0('0x27')](_0x2aa924);}return null;};}function patchUpdates(_0x3b8f1d){return function(_0x5dd5d2){try{jsonpatch[_0xf8a0('0x28')](_0x5dd5d2,_0x3b8f1d,!![]);}catch(_0x44f6f4){return BPromise[_0xf8a0('0x29')](_0x44f6f4);}return _0x5dd5d2[_0xf8a0('0x2a')]();};}function saveUpdates(_0x1b7ead,_0x57686c){return function(_0x3e5e5f){if(_0x3e5e5f){return _0x3e5e5f[_0xf8a0('0x2b')](_0x1b7ead)['then'](function(_0x4fc154){return _0x4fc154;});}return null;};}function removeEntity(_0x39da48,_0x289ff1){return function(_0xd8c87a){if(_0xd8c87a){return _0xd8c87a['destroy']()[_0xf8a0('0x2c')](function(){var _0x62ef55=_0xd8c87a[_0xf8a0('0x2d')]({'plain':!![]});var _0x15c064=_0xf8a0('0x2e');return db['UserProfileResource'][_0xf8a0('0x2f')]({'where':{'type':_0x15c064,'resourceId':_0x62ef55['id']}})['then'](function(){return _0xd8c87a;});})[_0xf8a0('0x2c')](function(){_0x39da48[_0xf8a0('0x21')](0xcc)[_0xf8a0('0x22')]();});}};}function handleEntityNotFound(_0x3b6d56,_0x5c373a){return function(_0x18e231){if(!_0x18e231){_0x3b6d56[_0xf8a0('0x20')](0x194);}return _0x18e231;};}function handleError(_0x368ed4,_0x27446a){_0x27446a=_0x27446a||0x1f4;return function(_0x36c5a6){logger[_0xf8a0('0x30')](_0x36c5a6[_0xf8a0('0x31')]);if(_0x36c5a6[_0xf8a0('0x32')]){delete _0x36c5a6[_0xf8a0('0x32')];}_0x368ed4[_0xf8a0('0x21')](_0x27446a)[_0xf8a0('0x33')](_0x36c5a6);};}exports[_0xf8a0('0x34')]=function(_0xa1fc80,_0x1b0f0a){var _0x3b5a1f={},_0x3cb1c8={},_0x10a82b={'count':0x0,'rows':[]};var _0x4056ee=_[_0xf8a0('0x35')](db[_0xf8a0('0x36')][_0xf8a0('0x37')],function(_0x1b27c4){return{'name':_0x1b27c4[_0xf8a0('0x38')],'type':_0x1b27c4[_0xf8a0('0x39')][_0xf8a0('0x3a')]};});_0x3cb1c8[_0xf8a0('0x3b')]=_[_0xf8a0('0x35')](_0x4056ee,_0xf8a0('0x32'));_0x3cb1c8[_0xf8a0('0x3c')]=_[_0xf8a0('0x3d')](_0xa1fc80[_0xf8a0('0x3c')]);_0x3cb1c8['filters']=_[_0xf8a0('0x3e')](_0x3cb1c8['model'],_0x3cb1c8[_0xf8a0('0x3c')]);_0x3b5a1f[_0xf8a0('0x3f')]=_['intersection'](_0x3cb1c8[_0xf8a0('0x3b')],qs[_0xf8a0('0x40')](_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x40')]));_0x3b5a1f[_0xf8a0('0x3f')]=_0x3b5a1f[_0xf8a0('0x3f')]['length']?_0x3b5a1f[_0xf8a0('0x3f')]:_0x3cb1c8[_0xf8a0('0x3b')];if(!_0xa1fc80[_0xf8a0('0x3c')]['hasOwnProperty'](_0xf8a0('0x41'))){_0x3b5a1f[_0xf8a0('0x25')]=qs[_0xf8a0('0x25')](_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x25')]);_0x3b5a1f[_0xf8a0('0x24')]=qs[_0xf8a0('0x24')](_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x24')]);}_0x3b5a1f['order']=qs[_0xf8a0('0x42')](_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x42')]);_0x3b5a1f[_0xf8a0('0x43')]=qs[_0xf8a0('0x44')](_[_0xf8a0('0x45')](_0xa1fc80['query'],_0x3cb1c8['filters']),_0x4056ee);if(_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x46')]){_0x3b5a1f[_0xf8a0('0x43')]=_[_0xf8a0('0x47')](_0x3b5a1f[_0xf8a0('0x43')],{'$or':_[_0xf8a0('0x35')](_0x4056ee,function(_0x371334){if(_0x371334['type']!==_0xf8a0('0x48')){var _0x970b2f={};_0x970b2f[_0x371334[_0xf8a0('0x32')]]={'$like':'%'+_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x46')]+'%'};return _0x970b2f;}})});}_0x3b5a1f=_['merge']({},_0x3b5a1f,_0xa1fc80[_0xf8a0('0x49')]);var _0x101585={'where':_0x3b5a1f[_0xf8a0('0x43')]};return db[_0xf8a0('0x36')][_0xf8a0('0x23')](_0x101585)['then'](function(_0x53fd17){_0x10a82b[_0xf8a0('0x23')]=_0x53fd17;if(_0xa1fc80[_0xf8a0('0x3c')][_0xf8a0('0x4a')]){_0x3b5a1f[_0xf8a0('0x4b')]=[{'all':!![]}];}return db[_0xf8a0('0x36')][_0xf8a0('0x4c')](_0x3b5a1f);})[_0xf8a0('0x2c')](function(_0x5ea82c){_0x10a82b[_0xf8a0('0x4d')]=_0x5ea82c;return _0x10a82b;})[_0xf8a0('0x2c')](respondWithFilteredResult(_0x1b0f0a,_0x3b5a1f))[_0xf8a0('0x4e')](handleError(_0x1b0f0a,null));};exports[_0xf8a0('0x4f')]=function(_0x316577,_0x4ba6ba){var _0x535220={'raw':!![],'where':{'id':_0x316577[_0xf8a0('0x50')]['id']}},_0x3cc2fa={};_0x3cc2fa[_0xf8a0('0x3b')]=_[_0xf8a0('0x3d')](db[_0xf8a0('0x36')]['rawAttributes']);_0x3cc2fa[_0xf8a0('0x3c')]=_[_0xf8a0('0x3d')](_0x316577['query']);_0x3cc2fa['filters']=_[_0xf8a0('0x3e')](_0x3cc2fa[_0xf8a0('0x3b')],_0x3cc2fa[_0xf8a0('0x3c')]);_0x535220['attributes']=_[_0xf8a0('0x3e')](_0x3cc2fa['model'],qs[_0xf8a0('0x40')](_0x316577[_0xf8a0('0x3c')]['fields']));_0x535220['attributes']=_0x535220['attributes'][_0xf8a0('0x51')]?_0x535220[_0xf8a0('0x3f')]:_0x3cc2fa['model'];if(_0x316577[_0xf8a0('0x3c')]['includeAll']){_0x535220['include']=[{'all':!![]}];}_0x535220=_[_0xf8a0('0x47')]({},_0x535220,_0x316577[_0xf8a0('0x49')]);return db[_0xf8a0('0x36')]['find'](_0x535220)[_0xf8a0('0x2c')](handleEntityNotFound(_0x4ba6ba,null))[_0xf8a0('0x2c')](respondWithResult(_0x4ba6ba,null))[_0xf8a0('0x4e')](handleError(_0x4ba6ba,null));};exports[_0xf8a0('0x52')]=function(_0x27adfd,_0x592f24,_0x9b2a04){return db[_0xf8a0('0x36')]['find']({'where':{'id':_0x27adfd[_0xf8a0('0x50')]['id']},'attributes':[_0xf8a0('0x32'),_0xf8a0('0x7')],'raw':!![]})[_0xf8a0('0x2c')](handleEntityNotFound(_0x592f24,null))[_0xf8a0('0x2c')](function(_0x1d26c0){if(_0x1d26c0){var _0x3f7cbb=path[_0xf8a0('0x53')](config[_0xf8a0('0x54')],'server/files/plugins',util[_0xf8a0('0x55')](_0xf8a0('0x56'),path['basename'](_0x1d26c0[_0xf8a0('0x7')])));var _0x5c09d4=fs['createWriteStream'](_0x3f7cbb);var _0x1300c1=archiver(_0xf8a0('0x57'),{'zlib':{'level':0x9}});_0x1300c1['on']('warning',function(_0x1825af){if(_0x1825af[_0xf8a0('0x58')]==='ENOENT'){logger['error'](_0x1825af);}else{throw new db[(_0xf8a0('0x59'))][(_0xf8a0('0x5a'))](_0xf8a0('0x5b'));}});_0x1300c1['on'](_0xf8a0('0x30'),function(_0x5aa243){throw new db['Sequelize'][(_0xf8a0('0x5a'))](_0xf8a0('0x5b'));});_0x1300c1[_0xf8a0('0x5c')](_0x5c09d4);_0x1300c1[_0xf8a0('0x5d')](_0xf8a0('0x5e'),{'cwd':path['join'](config[_0xf8a0('0x54')],_0xf8a0('0x5f'),path['dirname'](_0x1d26c0[_0xf8a0('0x7')])),'ignore':[path[_0xf8a0('0x53')](path['basename'](_0x1d26c0[_0xf8a0('0x7')]),'node_modules/**/*'),path[_0xf8a0('0x53')](path[_0xf8a0('0x60')](_0x1d26c0['path']),_0xf8a0('0x61'))],'nodir':!![]})[_0xf8a0('0x62')]();_0x5c09d4['on'](_0xf8a0('0x63'),function(){if(!fs[_0xf8a0('0x64')](_0x3f7cbb)){throw new db[(_0xf8a0('0x59'))][(_0xf8a0('0x5a'))]('Plugin\x20not\x20found');}return _0x592f24[_0xf8a0('0x52')](_0x3f7cbb,util['format'](_0xf8a0('0x56'),path['basename'](_0x1d26c0[_0xf8a0('0x7')])),function(_0x458eef){if(_0x458eef){throw new db['Sequelize'][(_0xf8a0('0x5a'))](_0xf8a0('0x65'));}fs[_0xf8a0('0x66')](_0x3f7cbb);logger[_0xf8a0('0x67')](_0xf8a0('0x68'));logger[_0xf8a0('0x67')](_0xf8a0('0x69'));});});}return null;})[_0xf8a0('0x4e')](handleError(_0x592f24,null));};exports[_0xf8a0('0x6a')]=function(_0x6925fe,_0x3a6ea1,_0x3e04ee){var _0x14cc99=path['basename'](_0x6925fe[_0xf8a0('0x6b')][_0xf8a0('0x6c')],path['extname'](_0x6925fe[_0xf8a0('0x6b')][_0xf8a0('0x6c')]));var _0x4cc3df=path[_0xf8a0('0x53')](config[_0xf8a0('0x54')],_0xf8a0('0x5f'),_0x6925fe[_0xf8a0('0x6b')]['filename']);var _0x28a5da=path['join'](config[_0xf8a0('0x54')],_0xf8a0('0x5f'),_0x14cc99);logger[_0xf8a0('0x67')](_0xf8a0('0x6d'),_0x4cc3df);logger[_0xf8a0('0x67')](_0xf8a0('0x6e'),_0x28a5da);try{fs[_0xf8a0('0x6f')](_0x4cc3df,parseInt(_0xf8a0('0x70'),0x8));extract(_0x4cc3df,{'dir':_0x28a5da},function(_0x5539bd){if(_0x5539bd){logger['error'](_0x5539bd);handleError(_0x5539bd,!![]);};var _0x18c2a7=fs['readdirSync'](_0x28a5da);if(_0x18c2a7['length']>0x1){removeReferences(_0x4cc3df,_0x28a5da);logger[_0xf8a0('0x30')](_0xf8a0('0x71'));return _0x3e04ee(new Error(_0xf8a0('0x71')));}var _0x3ebf6c=fs[_0xf8a0('0x72')](path[_0xf8a0('0x53')](_0x28a5da,_0x18c2a7[0x0]));if(_0x3ebf6c[_0xf8a0('0x73')]()){removeReferences(_0x4cc3df,_0x28a5da);logger[_0xf8a0('0x30')](_0xf8a0('0x71'));return _0x3e04ee(new Error(_0xf8a0('0x71')));}if(_0x3ebf6c[_0xf8a0('0x74')]()){var _0x11492d=fs['readdirSync'](path[_0xf8a0('0x53')](_0x28a5da,_0x18c2a7[0x0]));if(_0x11492d['length']===0x0){removeReferences(_0x4cc3df,_0x28a5da);logger[_0xf8a0('0x30')](_0xf8a0('0x71'));return _0x3e04ee(new Error(_0xf8a0('0x71')));}var _0x436450=_0x11492d[_0xf8a0('0x75')](function(_0x3013f7){return _0x3013f7===_0xf8a0('0x76');});if(!_0x436450){return _0x3e04ee(new Error(_0xf8a0('0x77')));}var _0x2e2a27=fs[_0xf8a0('0x78')](path[_0xf8a0('0x53')](_0x28a5da,_0x18c2a7[0x0],_0xf8a0('0x76')));var _0x4bf948=JSON[_0xf8a0('0x79')](_0x2e2a27);if(_0xf8a0('0x7a')==typeof _0x4bf948['name']){return _0x3e04ee(new Error('Invalid\x20manifest:\x20name\x20missing'));}if(_0xf8a0('0x7a')==typeof _0x4bf948[_0xf8a0('0x39')]){return _0x3e04ee(new Error(_0xf8a0('0x7b')));}if(_0xf8a0('0x7a')==typeof _0x4bf948[_0xf8a0('0x7c')]){return _0x3e04ee(new Error(_0xf8a0('0x7d')));}if(_0xf8a0('0x7a')==typeof _0x4bf948['parameters']){return _0x3e04ee(new Error(_0xf8a0('0x7e')));}if(_0x4bf948['type']==='html'){if(_0xf8a0('0x7a')==typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')]){return _0x3e04ee(new Error(_0xf8a0('0x81')));}if(_0xf8a0('0x7a')==typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')][_0xf8a0('0x82')]&&'undefined'==typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')][_0xf8a0('0x83')]){return _0x3e04ee(new Error('Invalid\x20manifest:\x20no\x20view\x20specified'));}}else if(_0x4bf948[_0xf8a0('0x39')]===_0xf8a0('0x84')){if('undefined'==typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x85')]){return _0x3e04ee(new Error(_0xf8a0('0x86')));}if('undefined'==typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x87')]){return _0x3e04ee(new Error(_0xf8a0('0x88')));}}else{return _0x3e04ee(new Error(_0xf8a0('0x89')));}var _0x596cc2=_0x4bf948[_0xf8a0('0x32')];var _0x4f4361=_0x4bf948[_0xf8a0('0x8a')];var _0x1867c4=_0x4bf948[_0xf8a0('0x39')];var _0x710611=_0x4bf948[_0xf8a0('0x8b')]?_0x4bf948['sidebar']:'always';var _0x1ed3b8=_0x4bf948[_0xf8a0('0x8c')]?_0x4bf948['icon']:_0xf8a0('0x8d');var _0x2e09b5='';var _0x2002d3='';var _0x5255f0='';var _0x825d37='';var _0x4636fc=_0x4bf948[_0xf8a0('0x7c')];if(_0x1867c4===_0xf8a0('0x8e')){if(_0xf8a0('0x7a')!=typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')][_0xf8a0('0x82')]){var _0x2f40e4=_0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')]['admin'];if(!/^(f|ht)tps?:\/\//i['test'](_0x2f40e4)){_0x2e09b5=path[_0xf8a0('0x53')](_0xf8a0('0x8f'),_0x14cc99,_0x18c2a7[0x0],_0x2f40e4);}else{_0x2e09b5=_0x2f40e4;}}else{logger[_0xf8a0('0x67')]('Warning:\x20admin\x20view\x20not\x20specified');}if(_0xf8a0('0x7a')!=typeof _0x4bf948[_0xf8a0('0x7f')]['views'][_0xf8a0('0x83')]){var _0x5d5bbe=_0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')][_0xf8a0('0x83')];if(!/^(f|ht)tps?:\/\//i['test'](_0x5d5bbe)){_0x2002d3=path['join']('plugins',_0x14cc99,_0x18c2a7[0x0],_0x5d5bbe);}else{_0x2002d3=_0x5d5bbe;}}else{logger[_0xf8a0('0x67')](_0xf8a0('0x90'));}}else if(_0x1867c4==='script'){_0x5255f0=_0x4bf948[_0xf8a0('0x7f')]['scriptName'];_0x825d37=_0x4bf948['parameters'][_0xf8a0('0x87')];if(_0xf8a0('0x7a')!=typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')]){if(_0xf8a0('0x7a')!=typeof _0x4bf948[_0xf8a0('0x7f')]['views'][_0xf8a0('0x82')]){var _0x2f40e4=_0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')]['admin'];if(!/^(f|ht)tps?:\/\//i['test'](_0x2f40e4)){_0x2e09b5=path[_0xf8a0('0x53')]('plugins',_0x14cc99,_0x18c2a7[0x0],_0x2f40e4);}else{_0x2e09b5=_0x2f40e4;}}if(_0xf8a0('0x7a')!=typeof _0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')][_0xf8a0('0x83')]){var _0x5d5bbe=_0x4bf948[_0xf8a0('0x7f')][_0xf8a0('0x80')]['agent'];if(!/^(f|ht)tps?:\/\//i['test'](_0x5d5bbe)){_0x2002d3=path[_0xf8a0('0x53')](_0xf8a0('0x8f'),_0x14cc99,_0x18c2a7[0x0],_0x5d5bbe);}else{_0x2002d3=_0x5d5bbe;}}}}var _0x28911e={'name':_0x596cc2,'description':_0x4f4361,'path':path[_0xf8a0('0x53')](_0x14cc99,_0x18c2a7[0x0]),'type':_0x1867c4,'sidebar':_0x710611,'icon':_0x1ed3b8,'adminUrl':_0x2e09b5,'agentUrl':_0x2002d3,'scriptName':_0x5255f0,'scriptPath':_0x825d37,'version':_0x4636fc};removeReferences(_0x4cc3df,null);return db[_0xf8a0('0x36')][_0xf8a0('0x91')](_0x28911e)[_0xf8a0('0x2c')](function(_0x1599db){var _0x522aa2={'role':_0x6925fe[_0xf8a0('0x92')][_0xf8a0('0x93')],'userProfileId':_0x6925fe[_0xf8a0('0x92')][_0xf8a0('0x94')]};if(!_0x522aa2)throw new Error(_0xf8a0('0x95'));if(_0x522aa2[_0xf8a0('0x93')]===_0xf8a0('0x96')){var _0x542c5a=_0x1599db[_0xf8a0('0x2d')]({'plain':!![]});return db[_0xf8a0('0x97')]['find']({'where':{'name':_0xf8a0('0x2e'),'userProfileId':_0x522aa2[_0xf8a0('0x94')]},'raw':!![]})['then'](function(_0x481e69){if(_0x481e69&&_0x481e69['autoAssociation']===0x0){return db['UserProfileResource'][_0xf8a0('0x91')]({'name':_0x542c5a[_0xf8a0('0x32')],'resourceId':_0x542c5a['id'],'type':_0x481e69[_0xf8a0('0x32')],'sectionId':_0x481e69['id']},{})['then'](function(){return _0x1599db;});}else{return _0x1599db;}})[_0xf8a0('0x4e')](function(_0x37a1e7){logger[_0xf8a0('0x30')](_0xf8a0('0x98'),_0x37a1e7);throw _0x37a1e7;});}return _0x1599db;})['then'](respondWithResult(_0x3a6ea1,null))[_0xf8a0('0x4e')](handleError(_0x3a6ea1,null));}});}catch(_0x4770e6){_0x3a6ea1[_0xf8a0('0x21')](0x1f4)[_0xf8a0('0x33')](_0x4770e6);}};function removeReferences(_0x127597,_0x405f23){try{if(_0x127597){fs['unlinkSync'](_0x127597);logger[_0xf8a0('0x67')]('Zip\x20archive\x20removed');}if(_0x405f23){rimraf(_0x405f23,function(){});logger['info'](_0xf8a0('0x99'));}}catch(_0x19acdd){logger[_0xf8a0('0x30')](_0x19acdd);}}exports['update']=function(_0x1a4bea,_0xb1130f,_0x3a6f63){return db[_0xf8a0('0x36')][_0xf8a0('0x9a')]({'where':{'id':_0x1a4bea[_0xf8a0('0x50')]['id']}})['then'](handleEntityNotFound(_0xb1130f,null))[_0xf8a0('0x2c')](saveUpdates(_0x1a4bea[_0xf8a0('0x92')],null))['then'](respondWithResult(_0xb1130f,null))[_0xf8a0('0x4e')](handleError(_0xb1130f,null));};exports[_0xf8a0('0x9b')]=function(_0x26cd48,_0x46fee2,_0xa1e0ca){return db['Plugin'][_0xf8a0('0x9a')]({'where':{'id':_0x26cd48[_0xf8a0('0x50')]['id']}})[_0xf8a0('0x2c')](function(_0x528cfe){if(_0x528cfe){return _0x528cfe['destroy']();}})[_0xf8a0('0x2c')](function(_0x19ee72){rimraf(path[_0xf8a0('0x53')](config['root'],_0xf8a0('0x5f'),path[_0xf8a0('0x9c')](_0x19ee72[_0xf8a0('0x7')])),function(){});return _0x19ee72;})['then'](handleEntityNotFound(_0x46fee2,null))[_0xf8a0('0x2c')](respondWithStatusCode(_0x46fee2,null))['catch'](handleError(_0x46fee2,null));};exports[_0xf8a0('0x9d')]=function(_0x1b6381,_0x13f4e7,_0x533288){return BPromise[_0xf8a0('0x9e')]()[_0xf8a0('0x2c')](function(){if(!_0x1b6381['query'][_0xf8a0('0x7')]){throw new Error(_0xf8a0('0x9f'));}if(!_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa0')]){throw new Error('\x27PORT\x27\x20parameter\x20not\x20specified');}var _0x4ead4a=_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa1')]?_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa1')]+':'+_0x1b6381['query']['port']:_0xf8a0('0xa2')+_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa0')];var _0xc9ac8b=_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0x27')]?_0x1b6381[_0xf8a0('0x3c')]['json']:!![];var _0x45f0b8=_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa3')]?_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0xa3')]:null;var _0x208e42={'method':_0x1b6381['method'],'uri':util[_0xf8a0('0x55')](_0xf8a0('0xa4'),_0x4ead4a,_0x1b6381['query'][_0xf8a0('0x7')]),'json':_0xc9ac8b,'resolveWithFullResponse':!![],'encoding':_0x45f0b8,'qs':_0x1b6381[_0xf8a0('0x3c')]};if(_0x1b6381['headers']){_0x208e42[_0xf8a0('0xa5')]=_0x1b6381[_0xf8a0('0xa5')];if(_0x208e42[_0xf8a0('0xa5')][_0xf8a0('0xa6')]){delete _0x208e42[_0xf8a0('0xa5')]['content-length'];}}if(_0x208e42[_0xf8a0('0xa5')][_0xf8a0('0xa7')]){delete _0x208e42[_0xf8a0('0xa5')][_0xf8a0('0xa7')];}return rp(_0x208e42);})[_0xf8a0('0x2c')](function(_0x4df82b){if(_0x4df82b){_0x13f4e7[_0xf8a0('0xa8')](_0x4df82b[_0xf8a0('0xa5')]);logger[_0xf8a0('0x67')](_0x4df82b[_0xf8a0('0x92')]);if(_[_0xf8a0('0xa9')](_0x1b6381[_0xf8a0('0x3c')][_0xf8a0('0x7')],_0xf8a0('0x52'))&&_0x4df82b[_0xf8a0('0xaa')]==0x1f4){return _0x13f4e7[_0xf8a0('0x20')](_0x4df82b[_0xf8a0('0xaa')]);}else{return _0x13f4e7[_0xf8a0('0x21')](_0x4df82b[_0xf8a0('0xaa')])[_0xf8a0('0x33')](_0x4df82b[_0xf8a0('0x92')]);}}else{return _0x13f4e7[_0xf8a0('0x20')](0xc8);}})[_0xf8a0('0x4e')](handleError(_0x13f4e7,null));};exports[_0xf8a0('0xab')]=function(_0x1a0cbc,_0x57b507,_0x50efaa){return BPromise[_0xf8a0('0x9e')]()[_0xf8a0('0x2c')](function(){if(!_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0x7')]){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x1a0cbc['query']['port']){throw new Error(_0xf8a0('0xac'));}var _0x5852e6=_0x1a0cbc['query'][_0xf8a0('0xa1')]?_0x1a0cbc['query'][_0xf8a0('0xa1')]+':'+_0x1a0cbc[_0xf8a0('0x3c')]['port']:'http://localhost:'+_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0xa0')];var _0x184014=_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0x27')]?_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0x27')]:!![];var _0x4a5bbb=_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0xa3')]?_0x1a0cbc[_0xf8a0('0x3c')]['encoding']:null;var _0x401ef6={'method':_0x1a0cbc[_0xf8a0('0xad')],'uri':util['format']('%s%s',_0x5852e6,_0x1a0cbc[_0xf8a0('0x3c')][_0xf8a0('0x7')]),'json':_0x184014,'resolveWithFullResponse':!![],'encoding':_0x4a5bbb,'body':_0x1a0cbc[_0xf8a0('0x92')]};if(_0x1a0cbc[_0xf8a0('0xa5')]){_0x401ef6[_0xf8a0('0xa5')]=_0x1a0cbc[_0xf8a0('0xa5')];if(_0x401ef6[_0xf8a0('0xa5')]['content-length']){delete _0x401ef6[_0xf8a0('0xa5')][_0xf8a0('0xa6')];}}if(_0x401ef6[_0xf8a0('0xa5')][_0xf8a0('0xa7')]){delete _0x401ef6['headers']['content-type'];}return rp(_0x401ef6);})[_0xf8a0('0x2c')](function(_0x512345){if(_0x512345){_0x57b507[_0xf8a0('0xa8')](_0x512345[_0xf8a0('0xa5')]);logger[_0xf8a0('0x67')](_0x512345[_0xf8a0('0x92')]);return _0x57b507[_0xf8a0('0x21')](_0x512345[_0xf8a0('0xaa')])[_0xf8a0('0x33')](_0x512345[_0xf8a0('0x92')]);}else{return _0x57b507[_0xf8a0('0x20')](0xc8);}})[_0xf8a0('0x4e')](handleError(_0x57b507,null));};