d4a26df83b6665fc13035a7a7945f58966636923
[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 _0x54ef=['includeAll','findAll','rows','catch','show','params','rawAttributes','keys','include','find','download','join','root','server/files/plugins','format','%s.zip','basename','createWriteStream','warning','code','ENOENT','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','Sequelize','**/*','node_modules/**/*','close','existsSync','Plugin\x20not\x20found','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','Temporary\x20file\x20removed','filename','extname','file','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','0777','Invalid\x20plugin\x20structure','isFile','readdirSync','manifest.json','Plugin\x20manifest\x20missing','readFileSync','parse','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','Invalid\x20manifest:\x20parameters\x20missing','html','views','Invalid\x20manifest:\x20views\x20missing','admin','Invalid\x20manifest:\x20no\x20view\x20specified','script','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','Invalid\x20manifest:\x20script\x20path\x20missing','Invalid\x20manifest:\x20invalid\x20type','description','sidebar','always','icon-apps','test','plugins','Warning:\x20admin\x20view\x20not\x20specified','Warning:\x20agent\x20view\x20not\x20specified','scriptPath','create','body','role','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','get','UserProfileSection','Plugins','Extracted\x20folder\x20removed','delete','dirname','webhookGet','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','encoding','method','%s%s','headers','content-length','content-type','endsWith','statusCode','webhookPost','port','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','to-csv','querystring','extract-zip','archiver','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','redis','defaults','socket.io-emitter','./plugin.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','UserProfileResource','end','error','stack','name','send','render','merge','contact','message','agent','interaction','map','fieldName','type','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','options','Plugin'];(function(_0x4b2cc6,_0x29ef43){var _0x3e0b08=function(_0x3b4131){while(--_0x3b4131){_0x4b2cc6['push'](_0x4b2cc6['shift']());}};_0x3e0b08(++_0x29ef43);}(_0x54ef,0x112));var _0xf54e=function(_0x113822,_0xcc0ff3){_0x113822=_0x113822-0x0;var _0x5942c2=_0x54ef[_0x113822];return _0x5942c2;};'use strict';var emlformat=require(_0xf54e('0x0'));var rimraf=require(_0xf54e('0x1'));var zipdir=require(_0xf54e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf54e('0x3'));var moment=require(_0xf54e('0x4'));var BPromise=require(_0xf54e('0x5'));var Mustache=require(_0xf54e('0x6'));var util=require(_0xf54e('0x7'));var path=require(_0xf54e('0x8'));var sox=require(_0xf54e('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf54e('0xa'));var _=require(_0xf54e('0xb'));var squel=require(_0xf54e('0xc'));var crypto=require('crypto');var jsforce=require(_0xf54e('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf54e('0xe'));var querystring=require(_0xf54e('0xf'));var Papa=require('papaparse');var extract=require(_0xf54e('0x10'));var rimraf=require(_0xf54e('0x1'));var archiver=require(_0xf54e('0x11'));var Redis=require(_0xf54e('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xf54e('0x13'));var as=require(_0xf54e('0x14'));var hardwareService=require(_0xf54e('0x15'));var logger=require(_0xf54e('0x16'))('api');var utils=require(_0xf54e('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xf54e('0x18'))['db'];config[_0xf54e('0x19')]=_[_0xf54e('0x1a')](config[_0xf54e('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0xf54e('0x1b'))(new Redis(config[_0xf54e('0x19')]));require(_0xf54e('0x1c'))[_0xf54e('0x1d')](socket);function respondWithStatusCode(_0x56828e,_0x2366ee){_0x2366ee=_0x2366ee||0xcc;return function(_0x389abc){if(_0x389abc){return _0x56828e[_0xf54e('0x1e')](_0x2366ee);}return _0x56828e['status'](_0x2366ee)['end']();};}function respondWithResult(_0xd87020,_0x41fb35){_0x41fb35=_0x41fb35||0xc8;return function(_0x1c02e7){if(_0x1c02e7){return _0xd87020[_0xf54e('0x1f')](_0x41fb35)[_0xf54e('0x20')](_0x1c02e7);}};}function respondWithFilteredResult(_0x3e7d96,_0x2e27b6){return function(_0x1ef06e){if(_0x1ef06e){var _0x1dcc04=typeof _0x2e27b6[_0xf54e('0x21')]===_0xf54e('0x22')&&typeof _0x2e27b6['limit']==='undefined';var _0x23e14=_0x1ef06e['count'];var _0x3e1556=_0x1dcc04?0x0:_0x2e27b6[_0xf54e('0x21')];var _0x106362=_0x1dcc04?_0x1ef06e[_0xf54e('0x23')]:_0x2e27b6[_0xf54e('0x21')]+_0x2e27b6[_0xf54e('0x24')];var _0x388aa0;if(_0x106362>=_0x23e14){_0x106362=_0x23e14;_0x388aa0=0xc8;}else{_0x388aa0=0xce;}_0x3e7d96[_0xf54e('0x1f')](_0x388aa0);return _0x3e7d96[_0xf54e('0x25')](_0xf54e('0x26'),_0x3e1556+'-'+_0x106362+'/'+_0x23e14)[_0xf54e('0x20')](_0x1ef06e);}return null;};}function patchUpdates(_0x5b83df){return function(_0x6f6d29){try{jsonpatch['apply'](_0x6f6d29,_0x5b83df,!![]);}catch(_0x264a8f){return BPromise[_0xf54e('0x27')](_0x264a8f);}return _0x6f6d29[_0xf54e('0x28')]();};}function saveUpdates(_0x474b61,_0x3805a7){return function(_0x160160){if(_0x160160){return _0x160160[_0xf54e('0x29')](_0x474b61)[_0xf54e('0x2a')](function(_0x2342a9){return _0x2342a9;});}return null;};}function removeEntity(_0x33457f,_0xf6cdd7){return function(_0x39c0ae){if(_0x39c0ae){return _0x39c0ae[_0xf54e('0x2b')]()['then'](function(){var _0xb3706e=_0x39c0ae['get']({'plain':!![]});var _0x282c63='Plugins';return db[_0xf54e('0x2c')][_0xf54e('0x2b')]({'where':{'type':_0x282c63,'resourceId':_0xb3706e['id']}})[_0xf54e('0x2a')](function(){return _0x39c0ae;});})[_0xf54e('0x2a')](function(){_0x33457f[_0xf54e('0x1f')](0xcc)[_0xf54e('0x2d')]();});}};}function handleEntityNotFound(_0x36f985,_0x54bd8f){return function(_0x4b3c73){if(!_0x4b3c73){_0x36f985[_0xf54e('0x1e')](0x194);}return _0x4b3c73;};}function handleError(_0x258d29,_0x2ec92e){_0x2ec92e=_0x2ec92e||0x1f4;return function(_0x16d00f){logger[_0xf54e('0x2e')](_0x16d00f[_0xf54e('0x2f')]);if(_0x16d00f[_0xf54e('0x30')]){delete _0x16d00f[_0xf54e('0x30')];}_0x258d29[_0xf54e('0x1f')](_0x2ec92e)[_0xf54e('0x31')](_0x16d00f);};}function getMustacheRender(_0x5ea0cc,_0x5f29d3){return Mustache[_0xf54e('0x32')](_0x5ea0cc,_[_0xf54e('0x33')](_0x5f29d3['body'],{'contact':_0x5f29d3[_0xf54e('0x34')],'message':_0x5f29d3[_0xf54e('0x35')],'agent':_0x5f29d3[_0xf54e('0x36')],'interaction':_0x5f29d3[_0xf54e('0x37')],'account':_0x5f29d3['account']}))||'';}exports['index']=function(_0x4bb173,_0x3c0cca){var _0xe7e042={},_0x210d6d={},_0x399e68={'count':0x0,'rows':[]};var _0x29dc39=_[_0xf54e('0x38')](db['Plugin']['rawAttributes'],function(_0x530cee){return{'name':_0x530cee[_0xf54e('0x39')],'type':_0x530cee[_0xf54e('0x3a')]['key']};});_0x210d6d['model']=_[_0xf54e('0x38')](_0x29dc39,_0xf54e('0x30'));_0x210d6d[_0xf54e('0x3b')]=_['keys'](_0x4bb173[_0xf54e('0x3b')]);_0x210d6d[_0xf54e('0x3c')]=_['intersection'](_0x210d6d[_0xf54e('0x3d')],_0x210d6d[_0xf54e('0x3b')]);_0xe7e042[_0xf54e('0x3e')]=_[_0xf54e('0x3f')](_0x210d6d[_0xf54e('0x3d')],qs[_0xf54e('0x40')](_0x4bb173['query']['fields']));_0xe7e042[_0xf54e('0x3e')]=_0xe7e042[_0xf54e('0x3e')][_0xf54e('0x41')]?_0xe7e042['attributes']:_0x210d6d[_0xf54e('0x3d')];if(!_0x4bb173[_0xf54e('0x3b')][_0xf54e('0x42')](_0xf54e('0x43'))){_0xe7e042[_0xf54e('0x24')]=qs[_0xf54e('0x24')](_0x4bb173[_0xf54e('0x3b')][_0xf54e('0x24')]);_0xe7e042[_0xf54e('0x21')]=qs[_0xf54e('0x21')](_0x4bb173[_0xf54e('0x3b')][_0xf54e('0x21')]);}_0xe7e042[_0xf54e('0x44')]=qs[_0xf54e('0x45')](_0x4bb173[_0xf54e('0x3b')]['sort']);_0xe7e042['where']=qs['filters'](_[_0xf54e('0x46')](_0x4bb173[_0xf54e('0x3b')],_0x210d6d['filters']),_0x29dc39);if(_0x4bb173[_0xf54e('0x3b')][_0xf54e('0x47')]){_0xe7e042[_0xf54e('0x48')]=_['merge'](_0xe7e042[_0xf54e('0x48')],{'$or':_[_0xf54e('0x38')](_0x29dc39,function(_0x1e016e){if(_0x1e016e[_0xf54e('0x3a')]!==_0xf54e('0x49')){var _0x143a39={};_0x143a39[_0x1e016e[_0xf54e('0x30')]]={'$like':'%'+_0x4bb173[_0xf54e('0x3b')][_0xf54e('0x47')]+'%'};return _0x143a39;}})});}_0xe7e042=_['merge']({},_0xe7e042,_0x4bb173[_0xf54e('0x4a')]);var _0x3447fd={'where':_0xe7e042[_0xf54e('0x48')]};return db[_0xf54e('0x4b')][_0xf54e('0x23')](_0x3447fd)[_0xf54e('0x2a')](function(_0x52c47d){_0x399e68[_0xf54e('0x23')]=_0x52c47d;if(_0x4bb173['query'][_0xf54e('0x4c')]){_0xe7e042['include']=[{'all':!![]}];}return db[_0xf54e('0x4b')][_0xf54e('0x4d')](_0xe7e042);})[_0xf54e('0x2a')](function(_0x57371d){_0x399e68[_0xf54e('0x4e')]=_0x57371d;return _0x399e68;})[_0xf54e('0x2a')](respondWithFilteredResult(_0x3c0cca,_0xe7e042))[_0xf54e('0x4f')](handleError(_0x3c0cca,null));};exports[_0xf54e('0x50')]=function(_0x3a5a87,_0x478809){var _0x427799={'raw':!![],'where':{'id':_0x3a5a87[_0xf54e('0x51')]['id']}},_0x297737={};_0x297737[_0xf54e('0x3d')]=_['keys'](db[_0xf54e('0x4b')][_0xf54e('0x52')]);_0x297737['query']=_[_0xf54e('0x53')](_0x3a5a87[_0xf54e('0x3b')]);_0x297737[_0xf54e('0x3c')]=_[_0xf54e('0x3f')](_0x297737['model'],_0x297737[_0xf54e('0x3b')]);_0x427799[_0xf54e('0x3e')]=_[_0xf54e('0x3f')](_0x297737[_0xf54e('0x3d')],qs[_0xf54e('0x40')](_0x3a5a87[_0xf54e('0x3b')][_0xf54e('0x40')]));_0x427799[_0xf54e('0x3e')]=_0x427799[_0xf54e('0x3e')][_0xf54e('0x41')]?_0x427799[_0xf54e('0x3e')]:_0x297737[_0xf54e('0x3d')];if(_0x3a5a87[_0xf54e('0x3b')][_0xf54e('0x4c')]){_0x427799[_0xf54e('0x54')]=[{'all':!![]}];}_0x427799=_[_0xf54e('0x33')]({},_0x427799,_0x3a5a87[_0xf54e('0x4a')]);return db[_0xf54e('0x4b')][_0xf54e('0x55')](_0x427799)[_0xf54e('0x2a')](handleEntityNotFound(_0x478809,null))['then'](respondWithResult(_0x478809,null))['catch'](handleError(_0x478809,null));};exports[_0xf54e('0x56')]=function(_0x1106bb,_0x45861b,_0x40557d){return db[_0xf54e('0x4b')][_0xf54e('0x55')]({'where':{'id':_0x1106bb[_0xf54e('0x51')]['id']},'attributes':[_0xf54e('0x30'),_0xf54e('0x8')],'raw':!![]})[_0xf54e('0x2a')](handleEntityNotFound(_0x45861b,null))[_0xf54e('0x2a')](function(_0x59c313){if(_0x59c313){var _0x2aacf6=path[_0xf54e('0x57')](config[_0xf54e('0x58')],_0xf54e('0x59'),util[_0xf54e('0x5a')](_0xf54e('0x5b'),path[_0xf54e('0x5c')](_0x59c313['path'])));var _0x3ad2e3=fs[_0xf54e('0x5d')](_0x2aacf6);var _0x294fa1=archiver('zip',{'zlib':{'level':0x9}});_0x294fa1['on'](_0xf54e('0x5e'),function(_0x54ac1a){if(_0x54ac1a[_0xf54e('0x5f')]===_0xf54e('0x60')){logger[_0xf54e('0x2e')](_0x54ac1a);}else{throw new db['Sequelize'][(_0xf54e('0x61'))](_0xf54e('0x62'));}});_0x294fa1['on'](_0xf54e('0x2e'),function(_0x4e5059){throw new db[(_0xf54e('0x63'))][(_0xf54e('0x61'))](_0xf54e('0x62'));});_0x294fa1['pipe'](_0x3ad2e3);_0x294fa1['glob'](_0xf54e('0x64'),{'cwd':path[_0xf54e('0x57')](config['root'],_0xf54e('0x59'),path['dirname'](_0x59c313[_0xf54e('0x8')])),'ignore':[path['join'](path[_0xf54e('0x5c')](_0x59c313[_0xf54e('0x8')]),_0xf54e('0x65')),path[_0xf54e('0x57')](path[_0xf54e('0x5c')](_0x59c313[_0xf54e('0x8')]),'attachments/**/*')],'nodir':!![]})['finalize']();_0x3ad2e3['on'](_0xf54e('0x66'),function(){if(!fs[_0xf54e('0x67')](_0x2aacf6)){throw new db['Sequelize']['Error'](_0xf54e('0x68'));}return _0x45861b['download'](_0x2aacf6,util[_0xf54e('0x5a')](_0xf54e('0x5b'),path[_0xf54e('0x5c')](_0x59c313[_0xf54e('0x8')])),function(_0x1d7c52){if(_0x1d7c52){throw new db[(_0xf54e('0x63'))][(_0xf54e('0x61'))](_0xf54e('0x69'));}fs[_0xf54e('0x6a')](_0x2aacf6);logger[_0xf54e('0x6b')](_0xf54e('0x6c'));logger[_0xf54e('0x6b')](_0xf54e('0x6d'));});});}return null;})[_0xf54e('0x4f')](handleError(_0x45861b,null));};exports['upload']=function(_0x302f3d,_0x5d5dd7,_0xb7ff4d){var _0x11908b=path[_0xf54e('0x5c')](_0x302f3d['file'][_0xf54e('0x6e')],path[_0xf54e('0x6f')](_0x302f3d['file']['filename']));var _0x2818cf=path['join'](config[_0xf54e('0x58')],_0xf54e('0x59'),_0x302f3d[_0xf54e('0x70')][_0xf54e('0x6e')]);var _0x47a84f=path[_0xf54e('0x57')](config['root'],_0xf54e('0x59'),_0x11908b);logger[_0xf54e('0x6b')](_0xf54e('0x71'),_0x2818cf);logger['info'](_0xf54e('0x72'),_0x47a84f);try{fs['chmodSync'](_0x2818cf,parseInt(_0xf54e('0x73'),0x8));extract(_0x2818cf,{'dir':_0x47a84f},function(_0x3e2101){if(_0x3e2101){logger['error'](_0x3e2101);handleError(_0x3e2101,!![]);};var _0x380b4f=fs['readdirSync'](_0x47a84f);if(_0x380b4f[_0xf54e('0x41')]>0x1){removeReferences(_0x2818cf,_0x47a84f);logger[_0xf54e('0x2e')](_0xf54e('0x74'));return _0xb7ff4d(new Error(_0xf54e('0x74')));}var _0x21159f=fs['lstatSync'](path[_0xf54e('0x57')](_0x47a84f,_0x380b4f[0x0]));if(_0x21159f[_0xf54e('0x75')]()){removeReferences(_0x2818cf,_0x47a84f);logger['error'](_0xf54e('0x74'));return _0xb7ff4d(new Error(_0xf54e('0x74')));}if(_0x21159f['isDirectory']()){var _0x8e7a38=fs[_0xf54e('0x76')](path[_0xf54e('0x57')](_0x47a84f,_0x380b4f[0x0]));if(_0x8e7a38['length']===0x0){removeReferences(_0x2818cf,_0x47a84f);logger[_0xf54e('0x2e')]('Invalid\x20plugin\x20structure');return _0xb7ff4d(new Error(_0xf54e('0x74')));}var _0x314f36=_0x8e7a38['some'](function(_0x12c6c6){return _0x12c6c6===_0xf54e('0x77');});if(!_0x314f36){return _0xb7ff4d(new Error(_0xf54e('0x78')));}var _0x3bdf23=fs[_0xf54e('0x79')](path[_0xf54e('0x57')](_0x47a84f,_0x380b4f[0x0],_0xf54e('0x77')));var _0x44b6e5=JSON[_0xf54e('0x7a')](_0x3bdf23);if(_0xf54e('0x22')==typeof _0x44b6e5[_0xf54e('0x30')]){return _0xb7ff4d(new Error('Invalid\x20manifest:\x20name\x20missing'));}if(_0xf54e('0x22')==typeof _0x44b6e5[_0xf54e('0x3a')]){return _0xb7ff4d(new Error(_0xf54e('0x7b')));}if('undefined'==typeof _0x44b6e5[_0xf54e('0x7c')]){return _0xb7ff4d(new Error(_0xf54e('0x7d')));}if(_0xf54e('0x22')==typeof _0x44b6e5[_0xf54e('0x7e')]){return _0xb7ff4d(new Error(_0xf54e('0x7f')));}if(_0x44b6e5[_0xf54e('0x3a')]===_0xf54e('0x80')){if('undefined'==typeof _0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x81')]){return _0xb7ff4d(new Error(_0xf54e('0x82')));}if('undefined'==typeof _0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x81')][_0xf54e('0x83')]&&_0xf54e('0x22')==typeof _0x44b6e5['parameters']['views'][_0xf54e('0x36')]){return _0xb7ff4d(new Error(_0xf54e('0x84')));}}else if(_0x44b6e5[_0xf54e('0x3a')]===_0xf54e('0x85')){if(_0xf54e('0x22')==typeof _0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x86')]){return _0xb7ff4d(new Error(_0xf54e('0x87')));}if(_0xf54e('0x22')==typeof _0x44b6e5[_0xf54e('0x7e')]['scriptPath']){return _0xb7ff4d(new Error(_0xf54e('0x88')));}}else{return _0xb7ff4d(new Error(_0xf54e('0x89')));}var _0x2b026a=_0x44b6e5[_0xf54e('0x30')];var _0x56223a=_0x44b6e5[_0xf54e('0x8a')];var _0x1de6dd=_0x44b6e5[_0xf54e('0x3a')];var _0x213206=_0x44b6e5['sidebar']?_0x44b6e5[_0xf54e('0x8b')]:_0xf54e('0x8c');var _0x2c5a7a=_0x44b6e5['icon']?_0x44b6e5['icon']:_0xf54e('0x8d');var _0x1a5a77='';var _0x1e2834='';var _0x20ed38='';var _0x21e9c1='';var _0x14b7fc=_0x44b6e5[_0xf54e('0x7c')];if(_0x1de6dd===_0xf54e('0x80')){if(_0xf54e('0x22')!=typeof _0x44b6e5['parameters'][_0xf54e('0x81')][_0xf54e('0x83')]){var _0x35da10=_0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x81')][_0xf54e('0x83')];if(!/^(f|ht)tps?:\/\//i[_0xf54e('0x8e')](_0x35da10)){_0x1a5a77=path[_0xf54e('0x57')](_0xf54e('0x8f'),_0x11908b,_0x380b4f[0x0],_0x35da10);}else{_0x1a5a77=_0x35da10;}}else{logger[_0xf54e('0x6b')](_0xf54e('0x90'));}if(_0xf54e('0x22')!=typeof _0x44b6e5['parameters'][_0xf54e('0x81')][_0xf54e('0x36')]){var _0x331e1f=_0x44b6e5['parameters'][_0xf54e('0x81')][_0xf54e('0x36')];if(!/^(f|ht)tps?:\/\//i[_0xf54e('0x8e')](_0x331e1f)){_0x1e2834=path[_0xf54e('0x57')](_0xf54e('0x8f'),_0x11908b,_0x380b4f[0x0],_0x331e1f);}else{_0x1e2834=_0x331e1f;}}else{logger[_0xf54e('0x6b')](_0xf54e('0x91'));}}else if(_0x1de6dd===_0xf54e('0x85')){_0x20ed38=_0x44b6e5[_0xf54e('0x7e')]['scriptName'];_0x21e9c1=_0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x92')];if(_0xf54e('0x22')!=typeof _0x44b6e5['parameters'][_0xf54e('0x81')]){if('undefined'!=typeof _0x44b6e5[_0xf54e('0x7e')]['views'][_0xf54e('0x83')]){var _0x35da10=_0x44b6e5['parameters']['views'][_0xf54e('0x83')];if(!/^(f|ht)tps?:\/\//i[_0xf54e('0x8e')](_0x35da10)){_0x1a5a77=path[_0xf54e('0x57')](_0xf54e('0x8f'),_0x11908b,_0x380b4f[0x0],_0x35da10);}else{_0x1a5a77=_0x35da10;}}if(_0xf54e('0x22')!=typeof _0x44b6e5['parameters']['views'][_0xf54e('0x36')]){var _0x331e1f=_0x44b6e5[_0xf54e('0x7e')][_0xf54e('0x81')][_0xf54e('0x36')];if(!/^(f|ht)tps?:\/\//i[_0xf54e('0x8e')](_0x331e1f)){_0x1e2834=path[_0xf54e('0x57')](_0xf54e('0x8f'),_0x11908b,_0x380b4f[0x0],_0x331e1f);}else{_0x1e2834=_0x331e1f;}}}}var _0x145906={'name':_0x2b026a,'description':_0x56223a,'path':path[_0xf54e('0x57')](_0x11908b,_0x380b4f[0x0]),'type':_0x1de6dd,'sidebar':_0x213206,'icon':_0x2c5a7a,'adminUrl':_0x1a5a77,'agentUrl':_0x1e2834,'scriptName':_0x20ed38,'scriptPath':_0x21e9c1,'version':_0x14b7fc};removeReferences(_0x2818cf,null);return db['Plugin'][_0xf54e('0x93')](_0x145906)[_0xf54e('0x2a')](function(_0x4d4667){var _0x4fd274={'role':_0x302f3d[_0xf54e('0x94')][_0xf54e('0x95')],'userProfileId':_0x302f3d[_0xf54e('0x94')][_0xf54e('0x96')]};if(!_0x4fd274)throw new Error(_0xf54e('0x97'));if(_0x4fd274['role']===_0xf54e('0x98')){var _0x1fce55=_0x4d4667[_0xf54e('0x99')]({'plain':!![]});return db[_0xf54e('0x9a')]['find']({'where':{'name':_0xf54e('0x9b'),'userProfileId':_0x4fd274[_0xf54e('0x96')]},'raw':!![]})[_0xf54e('0x2a')](function(_0x1d91fe){if(_0x1d91fe&&_0x1d91fe['autoAssociation']===0x0){return db[_0xf54e('0x2c')][_0xf54e('0x93')]({'name':_0x1fce55[_0xf54e('0x30')],'resourceId':_0x1fce55['id'],'type':_0x1d91fe[_0xf54e('0x30')],'sectionId':_0x1d91fe['id']},{})[_0xf54e('0x2a')](function(){return _0x4d4667;});}else{return _0x4d4667;}})['catch'](function(_0x2cb0cd){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2cb0cd);throw _0x2cb0cd;});}return _0x4d4667;})[_0xf54e('0x2a')](respondWithResult(_0x5d5dd7,null))[_0xf54e('0x4f')](handleError(_0x5d5dd7,null));}});}catch(_0x242f5c){_0x5d5dd7[_0xf54e('0x1f')](0x1f4)[_0xf54e('0x31')](_0x242f5c);}};function removeReferences(_0x239fe7,_0x448726){try{if(_0x239fe7){fs[_0xf54e('0x6a')](_0x239fe7);logger[_0xf54e('0x6b')]('Zip\x20archive\x20removed');}if(_0x448726){rimraf(_0x448726,function(){});logger[_0xf54e('0x6b')](_0xf54e('0x9c'));}}catch(_0x259a3e){logger[_0xf54e('0x2e')](_0x259a3e);}}exports[_0xf54e('0x29')]=function(_0x29868a,_0x485597,_0x9a1897){return db[_0xf54e('0x4b')][_0xf54e('0x55')]({'where':{'id':_0x29868a[_0xf54e('0x51')]['id']}})[_0xf54e('0x2a')](handleEntityNotFound(_0x485597,null))[_0xf54e('0x2a')](saveUpdates(_0x29868a['body'],null))[_0xf54e('0x2a')](respondWithResult(_0x485597,null))[_0xf54e('0x4f')](handleError(_0x485597,null));};exports[_0xf54e('0x9d')]=function(_0x8b797f,_0x4b2b29,_0x4787ea){return db[_0xf54e('0x4b')][_0xf54e('0x55')]({'where':{'id':_0x8b797f[_0xf54e('0x51')]['id']}})[_0xf54e('0x2a')](function(_0x3005f0){if(_0x3005f0){return _0x3005f0[_0xf54e('0x2b')]();}})['then'](function(_0x45fb52){rimraf(path[_0xf54e('0x57')](config[_0xf54e('0x58')],_0xf54e('0x59'),path[_0xf54e('0x9e')](_0x45fb52[_0xf54e('0x8')])),function(){});return _0x45fb52;})['then'](handleEntityNotFound(_0x4b2b29,null))[_0xf54e('0x2a')](respondWithStatusCode(_0x4b2b29,null))['catch'](handleError(_0x4b2b29,null));};exports[_0xf54e('0x9f')]=function(_0x5302aa,_0x21d974,_0x27c584){return BPromise[_0xf54e('0xa0')]()[_0xf54e('0x2a')](function(){if(!_0x5302aa[_0xf54e('0x3b')]['path']){throw new Error(_0xf54e('0xa1'));}if(!_0x5302aa[_0xf54e('0x3b')]['port']){throw new Error(_0xf54e('0xa2'));}var _0x1b3ca4=_0x5302aa[_0xf54e('0x3b')][_0xf54e('0xa3')]?_0x5302aa['query'][_0xf54e('0xa3')]+':'+_0x5302aa[_0xf54e('0x3b')]['port']:_0xf54e('0xa4')+_0x5302aa['query']['port'];var _0xb78b36=_0x5302aa['query'][_0xf54e('0x20')]?_0x5302aa[_0xf54e('0x3b')][_0xf54e('0x20')]:!![];var _0x1f1ab0=_0x5302aa[_0xf54e('0x3b')]['encoding']?_0x5302aa[_0xf54e('0x3b')][_0xf54e('0xa5')]:null;var _0x9f9b2d={'method':_0x5302aa[_0xf54e('0xa6')],'uri':util['format'](_0xf54e('0xa7'),_0x1b3ca4,_0x5302aa['query'][_0xf54e('0x8')]),'json':_0xb78b36,'resolveWithFullResponse':!![],'encoding':_0x1f1ab0,'qs':_0x5302aa[_0xf54e('0x3b')]};if(_0x5302aa['headers']){_0x9f9b2d[_0xf54e('0xa8')]=_0x5302aa[_0xf54e('0xa8')];if(_0x9f9b2d[_0xf54e('0xa8')][_0xf54e('0xa9')]){delete _0x9f9b2d['headers'][_0xf54e('0xa9')];}}if(_0x9f9b2d[_0xf54e('0xa8')][_0xf54e('0xaa')]){delete _0x9f9b2d['headers']['content-type'];}return rp(_0x9f9b2d);})[_0xf54e('0x2a')](function(_0x5e33bc){if(_0x5e33bc){_0x21d974['set'](_0x5e33bc['headers']);logger[_0xf54e('0x6b')](_0x5e33bc[_0xf54e('0x94')]);if(_[_0xf54e('0xab')](_0x5302aa[_0xf54e('0x3b')][_0xf54e('0x8')],_0xf54e('0x56'))&&_0x5e33bc[_0xf54e('0xac')]==0x1f4){return _0x21d974[_0xf54e('0x1e')](_0x5e33bc[_0xf54e('0xac')]);}else{return _0x21d974['status'](_0x5e33bc[_0xf54e('0xac')])['send'](_0x5e33bc[_0xf54e('0x94')]);}}else{return _0x21d974[_0xf54e('0x1e')](0xc8);}})['catch'](handleError(_0x21d974,null));};exports[_0xf54e('0xad')]=function(_0x510606,_0x45f5d5,_0x406e28){return BPromise[_0xf54e('0xa0')]()[_0xf54e('0x2a')](function(){if(!_0x510606[_0xf54e('0x3b')][_0xf54e('0x8')]){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x510606['query']['port']){throw new Error(_0xf54e('0xa2'));}var _0x52194c=_0x510606[_0xf54e('0x3b')][_0xf54e('0xa3')]?_0x510606[_0xf54e('0x3b')][_0xf54e('0xa3')]+':'+_0x510606[_0xf54e('0x3b')]['port']:_0xf54e('0xa4')+_0x510606[_0xf54e('0x3b')][_0xf54e('0xae')];var _0x17fd68=_0x510606[_0xf54e('0x3b')][_0xf54e('0x20')]?_0x510606['query'][_0xf54e('0x20')]:!![];var _0x811fa7=_0x510606[_0xf54e('0x3b')][_0xf54e('0xa5')]?_0x510606[_0xf54e('0x3b')]['encoding']:null;var _0x2492a4={'method':_0x510606[_0xf54e('0xa6')],'uri':util[_0xf54e('0x5a')](_0xf54e('0xa7'),_0x52194c,_0x510606[_0xf54e('0x3b')][_0xf54e('0x8')]),'json':_0x17fd68,'resolveWithFullResponse':!![],'encoding':_0x811fa7,'body':_0x510606[_0xf54e('0x94')]};if(_0x510606[_0xf54e('0xa8')]){_0x2492a4[_0xf54e('0xa8')]=_0x510606['headers'];if(_0x2492a4[_0xf54e('0xa8')][_0xf54e('0xa9')]){delete _0x2492a4['headers']['content-length'];}}if(_0x2492a4[_0xf54e('0xa8')]['content-type']){delete _0x2492a4[_0xf54e('0xa8')][_0xf54e('0xaa')];}return rp(_0x2492a4);})[_0xf54e('0x2a')](function(_0x1db7bd){if(_0x1db7bd){_0x45f5d5['set'](_0x1db7bd[_0xf54e('0xa8')]);logger[_0xf54e('0x6b')](_0x1db7bd['body']);return _0x45f5d5[_0xf54e('0x1f')](_0x1db7bd[_0xf54e('0xac')])[_0xf54e('0x31')](_0x1db7bd[_0xf54e('0x94')]);}else{return _0x45f5d5[_0xf54e('0x1e')](0xc8);}})[_0xf54e('0x4f')](handleError(_0x45f5d5,null));};