f9d504f14df9aa0c62745779bd6166f80c18d2a6
[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 _0xa1ac=['Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','server/files/plugins','dirname','node_modules/**/*','attachments/**/*','finalize','close','existsSync','%s.zip','info','Download\x20completed','Temporary\x20file\x20removed','file','extname','filename','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','0777','readdirSync','Invalid\x20plugin\x20structure','isFile','isDirectory','Plugin\x20manifest\x20missing','manifest.json','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','Invalid\x20manifest:\x20parameters\x20missing','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','sidebar','always','icon','icon-apps','html','test','plugins','script','create','role','userProfileId','user','UserProfileSection','autoAssociation','unlinkSync','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','delete','webhookGet','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','port','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','encoding','method','%s%s','headers','content-length','content-type','set','body','endsWith','statusCode','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','extract-zip','archiver','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./plugin.socket','register','sendStatus','end','json','undefined','limit','count','offset','status','Content-Range','apply','reject','save','update','then','destroy','get','Plugins','UserProfileResource','name','send','index','map','Plugin','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','findAll','catch','show','params','find','download','join','root','format','basename','zip','ENOENT','error'];(function(_0x2e95f8,_0x2a6a5c){var _0x28c4c0=function(_0x10a1fe){while(--_0x10a1fe){_0x2e95f8['push'](_0x2e95f8['shift']());}};_0x28c4c0(++_0x2a6a5c);}(_0xa1ac,0xf6));var _0xca1a=function(_0xd101ca,_0x2c1c6a){_0xd101ca=_0xd101ca-0x0;var _0x568110=_0xa1ac[_0xd101ca];return _0x568110;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xca1a('0x0'));var rp=require(_0xca1a('0x1'));var moment=require(_0xca1a('0x2'));var BPromise=require(_0xca1a('0x3'));var Mustache=require(_0xca1a('0x4'));var util=require(_0xca1a('0x5'));var path=require(_0xca1a('0x6'));var sox=require('sox');var csv=require(_0xca1a('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xca1a('0x8'));var _=require(_0xca1a('0x9'));var squel=require('squel');var crypto=require(_0xca1a('0xa'));var jsforce=require(_0xca1a('0xb'));var deskjs=require(_0xca1a('0xc'));var toCsv=require('to-csv');var querystring=require(_0xca1a('0xd'));var Papa=require('papaparse');var extract=require(_0xca1a('0xe'));var rimraf=require('rimraf');var archiver=require(_0xca1a('0xf'));var Redis=require('ioredis');var authService=require(_0xca1a('0x10'));var qs=require(_0xca1a('0x11'));var as=require(_0xca1a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xca1a('0x13'))(_0xca1a('0x14'));var utils=require(_0xca1a('0x15'));var config=require(_0xca1a('0x16'));var licenseUtil=require(_0xca1a('0x17'));var db=require(_0xca1a('0x18'))['db'];config[_0xca1a('0x19')]=_[_0xca1a('0x1a')](config[_0xca1a('0x19')],{'host':_0xca1a('0x1b'),'port':0x18eb});var socket=require(_0xca1a('0x1c'))(new Redis(config['redis']));require(_0xca1a('0x1d'))[_0xca1a('0x1e')](socket);function respondWithStatusCode(_0x470680,_0x343458){_0x343458=_0x343458||0xcc;return function(_0x156cc4){if(_0x156cc4){return _0x470680[_0xca1a('0x1f')](_0x343458);}return _0x470680['status'](_0x343458)[_0xca1a('0x20')]();};}function respondWithResult(_0x4b772f,_0x3d695c){_0x3d695c=_0x3d695c||0xc8;return function(_0x52265f){if(_0x52265f){return _0x4b772f['status'](_0x3d695c)[_0xca1a('0x21')](_0x52265f);}};}function respondWithFilteredResult(_0x54048a,_0x28e757){return function(_0x5005f0){if(_0x5005f0){var _0x248faf=typeof _0x28e757['offset']===_0xca1a('0x22')&&typeof _0x28e757[_0xca1a('0x23')]===_0xca1a('0x22');var _0x25a7f2=_0x5005f0[_0xca1a('0x24')];var _0x1a98bb=_0x248faf?0x0:_0x28e757['offset'];var _0x2b854b=_0x248faf?_0x5005f0[_0xca1a('0x24')]:_0x28e757[_0xca1a('0x25')]+_0x28e757[_0xca1a('0x23')];var _0x589bf7;if(_0x2b854b>=_0x25a7f2){_0x2b854b=_0x25a7f2;_0x589bf7=0xc8;}else{_0x589bf7=0xce;}_0x54048a[_0xca1a('0x26')](_0x589bf7);return _0x54048a['set'](_0xca1a('0x27'),_0x1a98bb+'-'+_0x2b854b+'/'+_0x25a7f2)[_0xca1a('0x21')](_0x5005f0);}return null;};}function patchUpdates(_0x42d2b2){return function(_0x5cc6a1){try{jsonpatch[_0xca1a('0x28')](_0x5cc6a1,_0x42d2b2,!![]);}catch(_0x2d0cab){return BPromise[_0xca1a('0x29')](_0x2d0cab);}return _0x5cc6a1[_0xca1a('0x2a')]();};}function saveUpdates(_0x15b2f0,_0x4f861c){return function(_0x5d7a72){if(_0x5d7a72){return _0x5d7a72[_0xca1a('0x2b')](_0x15b2f0)[_0xca1a('0x2c')](function(_0x576eb0){return _0x576eb0;});}return null;};}function removeEntity(_0x3693b5,_0x2b63fc){return function(_0x34af6a){if(_0x34af6a){return _0x34af6a[_0xca1a('0x2d')]()['then'](function(){var _0x113a4d=_0x34af6a[_0xca1a('0x2e')]({'plain':!![]});var _0x4f5523=_0xca1a('0x2f');return db[_0xca1a('0x30')][_0xca1a('0x2d')]({'where':{'type':_0x4f5523,'resourceId':_0x113a4d['id']}})[_0xca1a('0x2c')](function(){return _0x34af6a;});})[_0xca1a('0x2c')](function(){_0x3693b5[_0xca1a('0x26')](0xcc)[_0xca1a('0x20')]();});}};}function handleEntityNotFound(_0x306fd3,_0x2eba0a){return function(_0x3fa781){if(!_0x3fa781){_0x306fd3[_0xca1a('0x1f')](0x194);}return _0x3fa781;};}function handleError(_0x12bb4e,_0x12920a){_0x12920a=_0x12920a||0x1f4;return function(_0x311263){logger['error'](_0x311263['stack']);if(_0x311263[_0xca1a('0x31')]){delete _0x311263[_0xca1a('0x31')];}_0x12bb4e[_0xca1a('0x26')](_0x12920a)[_0xca1a('0x32')](_0x311263);};}exports[_0xca1a('0x33')]=function(_0x814f61,_0x327c10){var _0x59c389={},_0x5a8108={},_0x1d0204={'count':0x0,'rows':[]};var _0x325322=_[_0xca1a('0x34')](db[_0xca1a('0x35')][_0xca1a('0x36')],function(_0x5013bf){return{'name':_0x5013bf[_0xca1a('0x37')],'type':_0x5013bf[_0xca1a('0x38')][_0xca1a('0x39')]};});_0x5a8108[_0xca1a('0x3a')]=_[_0xca1a('0x34')](_0x325322,'name');_0x5a8108['query']=_[_0xca1a('0x3b')](_0x814f61[_0xca1a('0x3c')]);_0x5a8108[_0xca1a('0x3d')]=_[_0xca1a('0x3e')](_0x5a8108[_0xca1a('0x3a')],_0x5a8108[_0xca1a('0x3c')]);_0x59c389[_0xca1a('0x3f')]=_[_0xca1a('0x3e')](_0x5a8108[_0xca1a('0x3a')],qs['fields'](_0x814f61['query'][_0xca1a('0x40')]));_0x59c389[_0xca1a('0x3f')]=_0x59c389[_0xca1a('0x3f')][_0xca1a('0x41')]?_0x59c389[_0xca1a('0x3f')]:_0x5a8108[_0xca1a('0x3a')];if(!_0x814f61[_0xca1a('0x3c')]['hasOwnProperty'](_0xca1a('0x42'))){_0x59c389['limit']=qs[_0xca1a('0x23')](_0x814f61['query'][_0xca1a('0x23')]);_0x59c389[_0xca1a('0x25')]=qs['offset'](_0x814f61[_0xca1a('0x3c')][_0xca1a('0x25')]);}_0x59c389[_0xca1a('0x43')]=qs[_0xca1a('0x44')](_0x814f61[_0xca1a('0x3c')]['sort']);_0x59c389[_0xca1a('0x45')]=qs[_0xca1a('0x3d')](_[_0xca1a('0x46')](_0x814f61[_0xca1a('0x3c')],_0x5a8108[_0xca1a('0x3d')]),_0x325322);if(_0x814f61[_0xca1a('0x3c')][_0xca1a('0x47')]){_0x59c389[_0xca1a('0x45')]=_[_0xca1a('0x48')](_0x59c389[_0xca1a('0x45')],{'$or':_[_0xca1a('0x34')](_0x325322,function(_0x17d9b5){if(_0x17d9b5[_0xca1a('0x38')]!==_0xca1a('0x49')){var _0x57d001={};_0x57d001[_0x17d9b5[_0xca1a('0x31')]]={'$like':'%'+_0x814f61[_0xca1a('0x3c')][_0xca1a('0x47')]+'%'};return _0x57d001;}})});}_0x59c389=_[_0xca1a('0x48')]({},_0x59c389,_0x814f61[_0xca1a('0x4a')]);var _0x5df9c8={'where':_0x59c389[_0xca1a('0x45')]};return db[_0xca1a('0x35')][_0xca1a('0x24')](_0x5df9c8)['then'](function(_0x26ca3c){_0x1d0204[_0xca1a('0x24')]=_0x26ca3c;if(_0x814f61[_0xca1a('0x3c')]['includeAll']){_0x59c389['include']=[{'all':!![]}];}return db[_0xca1a('0x35')][_0xca1a('0x4b')](_0x59c389);})[_0xca1a('0x2c')](function(_0x30451e){_0x1d0204['rows']=_0x30451e;return _0x1d0204;})['then'](respondWithFilteredResult(_0x327c10,_0x59c389))[_0xca1a('0x4c')](handleError(_0x327c10,null));};exports[_0xca1a('0x4d')]=function(_0x59dd41,_0x48c78f){var _0x12282d={'raw':!![],'where':{'id':_0x59dd41[_0xca1a('0x4e')]['id']}},_0x4e338d={};_0x4e338d['model']=_['keys'](db[_0xca1a('0x35')][_0xca1a('0x36')]);_0x4e338d['query']=_[_0xca1a('0x3b')](_0x59dd41[_0xca1a('0x3c')]);_0x4e338d[_0xca1a('0x3d')]=_[_0xca1a('0x3e')](_0x4e338d[_0xca1a('0x3a')],_0x4e338d[_0xca1a('0x3c')]);_0x12282d['attributes']=_[_0xca1a('0x3e')](_0x4e338d[_0xca1a('0x3a')],qs[_0xca1a('0x40')](_0x59dd41[_0xca1a('0x3c')][_0xca1a('0x40')]));_0x12282d[_0xca1a('0x3f')]=_0x12282d[_0xca1a('0x3f')][_0xca1a('0x41')]?_0x12282d[_0xca1a('0x3f')]:_0x4e338d[_0xca1a('0x3a')];if(_0x59dd41[_0xca1a('0x3c')]['includeAll']){_0x12282d['include']=[{'all':!![]}];}_0x12282d=_[_0xca1a('0x48')]({},_0x12282d,_0x59dd41['options']);return db[_0xca1a('0x35')][_0xca1a('0x4f')](_0x12282d)['then'](handleEntityNotFound(_0x48c78f,null))['then'](respondWithResult(_0x48c78f,null))['catch'](handleError(_0x48c78f,null));};exports[_0xca1a('0x50')]=function(_0x49b244,_0x594341,_0x22ac3f){return db[_0xca1a('0x35')][_0xca1a('0x4f')]({'where':{'id':_0x49b244['params']['id']},'attributes':['name',_0xca1a('0x6')],'raw':!![]})[_0xca1a('0x2c')](handleEntityNotFound(_0x594341,null))[_0xca1a('0x2c')](function(_0x4d0bc6){if(_0x4d0bc6){var _0x3e8a46=path[_0xca1a('0x51')](config[_0xca1a('0x52')],'server/files/plugins',util[_0xca1a('0x53')]('%s.zip',path[_0xca1a('0x54')](_0x4d0bc6[_0xca1a('0x6')])));var _0x5a9c5a=fs['createWriteStream'](_0x3e8a46);var _0x3c6101=archiver(_0xca1a('0x55'),{'zlib':{'level':0x9}});_0x3c6101['on']('warning',function(_0x22d86c){if(_0x22d86c['code']===_0xca1a('0x56')){logger[_0xca1a('0x57')](_0x22d86c);}else{throw new db[(_0xca1a('0x58'))][(_0xca1a('0x59'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');}});_0x3c6101['on']('error',function(_0x50d2b4){throw new db[(_0xca1a('0x58'))][(_0xca1a('0x59'))](_0xca1a('0x5a'));});_0x3c6101[_0xca1a('0x5b')](_0x5a9c5a);_0x3c6101[_0xca1a('0x5c')](_0xca1a('0x5d'),{'cwd':path[_0xca1a('0x51')](config[_0xca1a('0x52')],_0xca1a('0x5e'),path[_0xca1a('0x5f')](_0x4d0bc6[_0xca1a('0x6')])),'ignore':[path[_0xca1a('0x51')](path[_0xca1a('0x54')](_0x4d0bc6[_0xca1a('0x6')]),_0xca1a('0x60')),path[_0xca1a('0x51')](path[_0xca1a('0x54')](_0x4d0bc6[_0xca1a('0x6')]),_0xca1a('0x61'))],'nodir':!![]})[_0xca1a('0x62')]();_0x5a9c5a['on'](_0xca1a('0x63'),function(){if(!fs[_0xca1a('0x64')](_0x3e8a46)){throw new db[(_0xca1a('0x58'))]['Error']('Plugin\x20not\x20found');}return _0x594341[_0xca1a('0x50')](_0x3e8a46,util[_0xca1a('0x53')](_0xca1a('0x65'),path[_0xca1a('0x54')](_0x4d0bc6[_0xca1a('0x6')])),function(_0x38d6f6){if(_0x38d6f6){throw new db[(_0xca1a('0x58'))][(_0xca1a('0x59'))]('Error\x20while\x20downloading\x20the\x20plugin');}fs['unlinkSync'](_0x3e8a46);logger[_0xca1a('0x66')](_0xca1a('0x67'));logger[_0xca1a('0x66')](_0xca1a('0x68'));});});}return null;})['catch'](handleError(_0x594341,null));};exports['upload']=function(_0x4bb245,_0x202496,_0x11d929){var _0x9f4bc7=path[_0xca1a('0x54')](_0x4bb245[_0xca1a('0x69')]['filename'],path[_0xca1a('0x6a')](_0x4bb245[_0xca1a('0x69')][_0xca1a('0x6b')]));var _0x423fd8=path['join'](config[_0xca1a('0x52')],_0xca1a('0x5e'),_0x4bb245[_0xca1a('0x69')]['filename']);var _0x3554f3=path['join'](config[_0xca1a('0x52')],_0xca1a('0x5e'),_0x9f4bc7);logger[_0xca1a('0x66')](_0xca1a('0x6c'),_0x423fd8);logger['info'](_0xca1a('0x6d'),_0x3554f3);try{fs['chmodSync'](_0x423fd8,parseInt(_0xca1a('0x6e'),0x8));extract(_0x423fd8,{'dir':_0x3554f3},function(_0x19b1ac){if(_0x19b1ac){logger[_0xca1a('0x57')](_0x19b1ac);handleError(_0x19b1ac,!![]);};var _0x29485c=fs[_0xca1a('0x6f')](_0x3554f3);if(_0x29485c[_0xca1a('0x41')]>0x1){removeReferences(_0x423fd8,_0x3554f3);logger[_0xca1a('0x57')](_0xca1a('0x70'));return _0x11d929(new Error('Invalid\x20plugin\x20structure'));}var _0x4bd26c=fs['lstatSync'](path[_0xca1a('0x51')](_0x3554f3,_0x29485c[0x0]));if(_0x4bd26c[_0xca1a('0x71')]()){removeReferences(_0x423fd8,_0x3554f3);logger[_0xca1a('0x57')](_0xca1a('0x70'));return _0x11d929(new Error('Invalid\x20plugin\x20structure'));}if(_0x4bd26c[_0xca1a('0x72')]()){var _0x5dd24f=fs['readdirSync'](path[_0xca1a('0x51')](_0x3554f3,_0x29485c[0x0]));if(_0x5dd24f[_0xca1a('0x41')]===0x0){removeReferences(_0x423fd8,_0x3554f3);logger[_0xca1a('0x57')](_0xca1a('0x70'));return _0x11d929(new Error('Invalid\x20plugin\x20structure'));}var _0x5392ef=_0x5dd24f['some'](function(_0x1d1f5f){return _0x1d1f5f==='manifest.json';});if(!_0x5392ef){return _0x11d929(new Error(_0xca1a('0x73')));}var _0x79395a=fs['readFileSync'](path[_0xca1a('0x51')](_0x3554f3,_0x29485c[0x0],_0xca1a('0x74')));var _0x339145=JSON['parse'](_0x79395a);if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x31')]){return _0x11d929(new Error(_0xca1a('0x75')));}if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x38')]){return _0x11d929(new Error(_0xca1a('0x76')));}if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x77')]){return _0x11d929(new Error(_0xca1a('0x78')));}if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x79')]){return _0x11d929(new Error(_0xca1a('0x7a')));}if(_0x339145['type']==='html'){if(_0xca1a('0x22')==typeof _0x339145['parameters'][_0xca1a('0x7b')]){return _0x11d929(new Error(_0xca1a('0x7c')));}if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7d')]&&_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7e')]){return _0x11d929(new Error(_0xca1a('0x7f')));}}else if(_0x339145[_0xca1a('0x38')]==='script'){if(_0xca1a('0x22')==typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x80')]){return _0x11d929(new Error(_0xca1a('0x81')));}if('undefined'==typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x82')]){return _0x11d929(new Error(_0xca1a('0x83')));}}else{return _0x11d929(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x5ce316=_0x339145[_0xca1a('0x31')];var _0xac6262=_0x339145['description'];var _0x132340=_0x339145['type'];var _0x1e5559=_0x339145[_0xca1a('0x84')]?_0x339145[_0xca1a('0x84')]:_0xca1a('0x85');var _0x21b510=_0x339145[_0xca1a('0x86')]?_0x339145['icon']:_0xca1a('0x87');var _0x3a3154='';var _0x41d8c3='';var _0x294cfa='';var _0x5605a1='';var _0x4ff9cb=_0x339145[_0xca1a('0x77')];if(_0x132340===_0xca1a('0x88')){if(_0xca1a('0x22')!=typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7d')]){var _0x8a0c2d=_0x339145[_0xca1a('0x79')]['views'][_0xca1a('0x7d')];if(!/^(f|ht)tps?:\/\//i[_0xca1a('0x89')](_0x8a0c2d)){_0x3a3154=path[_0xca1a('0x51')]('plugins',_0x9f4bc7,_0x29485c[0x0],_0x8a0c2d);}else{_0x3a3154=_0x8a0c2d;}}else{logger[_0xca1a('0x66')]('Warning:\x20admin\x20view\x20not\x20specified');}if(_0xca1a('0x22')!=typeof _0x339145[_0xca1a('0x79')]['views'][_0xca1a('0x7e')]){var _0x392f43=_0x339145[_0xca1a('0x79')]['views'][_0xca1a('0x7e')];if(!/^(f|ht)tps?:\/\//i['test'](_0x392f43)){_0x41d8c3=path['join'](_0xca1a('0x8a'),_0x9f4bc7,_0x29485c[0x0],_0x392f43);}else{_0x41d8c3=_0x392f43;}}else{logger[_0xca1a('0x66')]('Warning:\x20agent\x20view\x20not\x20specified');}}else if(_0x132340===_0xca1a('0x8b')){_0x294cfa=_0x339145[_0xca1a('0x79')]['scriptName'];_0x5605a1=_0x339145['parameters'][_0xca1a('0x82')];if('undefined'!=typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x7b')]){if('undefined'!=typeof _0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7d')]){var _0x8a0c2d=_0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7d')];if(!/^(f|ht)tps?:\/\//i[_0xca1a('0x89')](_0x8a0c2d)){_0x3a3154=path[_0xca1a('0x51')](_0xca1a('0x8a'),_0x9f4bc7,_0x29485c[0x0],_0x8a0c2d);}else{_0x3a3154=_0x8a0c2d;}}if(_0xca1a('0x22')!=typeof _0x339145['parameters'][_0xca1a('0x7b')][_0xca1a('0x7e')]){var _0x392f43=_0x339145[_0xca1a('0x79')][_0xca1a('0x7b')][_0xca1a('0x7e')];if(!/^(f|ht)tps?:\/\//i['test'](_0x392f43)){_0x41d8c3=path['join'](_0xca1a('0x8a'),_0x9f4bc7,_0x29485c[0x0],_0x392f43);}else{_0x41d8c3=_0x392f43;}}}}var _0x210885={'name':_0x5ce316,'description':_0xac6262,'path':path['join'](_0x9f4bc7,_0x29485c[0x0]),'type':_0x132340,'sidebar':_0x1e5559,'icon':_0x21b510,'adminUrl':_0x3a3154,'agentUrl':_0x41d8c3,'scriptName':_0x294cfa,'scriptPath':_0x5605a1,'version':_0x4ff9cb};removeReferences(_0x423fd8,null);return db[_0xca1a('0x35')][_0xca1a('0x8c')](_0x210885)[_0xca1a('0x2c')](function(_0x382935){var _0x17b336={'role':_0x4bb245['body'][_0xca1a('0x8d')],'userProfileId':_0x4bb245['body'][_0xca1a('0x8e')]};if(!_0x17b336)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x17b336[_0xca1a('0x8d')]===_0xca1a('0x8f')){var _0xae11ac=_0x382935[_0xca1a('0x2e')]({'plain':!![]});return db[_0xca1a('0x90')][_0xca1a('0x4f')]({'where':{'name':'Plugins','userProfileId':_0x17b336[_0xca1a('0x8e')]},'raw':!![]})[_0xca1a('0x2c')](function(_0xc07206){if(_0xc07206&&_0xc07206[_0xca1a('0x91')]===0x0){return db['UserProfileResource']['create']({'name':_0xae11ac[_0xca1a('0x31')],'resourceId':_0xae11ac['id'],'type':_0xc07206[_0xca1a('0x31')],'sectionId':_0xc07206['id']},{})[_0xca1a('0x2c')](function(){return _0x382935;});}else{return _0x382935;}})['catch'](function(_0x3232de){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3232de);throw _0x3232de;});}return _0x382935;})[_0xca1a('0x2c')](respondWithResult(_0x202496,null))[_0xca1a('0x4c')](handleError(_0x202496,null));}});}catch(_0x11b16c){_0x202496[_0xca1a('0x26')](0x1f4)[_0xca1a('0x32')](_0x11b16c);}};function removeReferences(_0x3e496a,_0x515802){try{if(_0x3e496a){fs[_0xca1a('0x92')](_0x3e496a);logger[_0xca1a('0x66')](_0xca1a('0x93'));}if(_0x515802){rimraf(_0x515802,function(){});logger[_0xca1a('0x66')](_0xca1a('0x94'));}}catch(_0xa00601){logger[_0xca1a('0x57')](_0xa00601);}}exports[_0xca1a('0x2b')]=function(_0x592ea0,_0x2fe3fa,_0x1611f0){return db[_0xca1a('0x35')][_0xca1a('0x4f')]({'where':{'id':_0x592ea0[_0xca1a('0x4e')]['id']}})[_0xca1a('0x2c')](handleEntityNotFound(_0x2fe3fa,null))[_0xca1a('0x2c')](saveUpdates(_0x592ea0['body'],null))[_0xca1a('0x2c')](respondWithResult(_0x2fe3fa,null))[_0xca1a('0x4c')](handleError(_0x2fe3fa,null));};exports[_0xca1a('0x95')]=function(_0x4f868e,_0x48d69a,_0x595432){return db[_0xca1a('0x35')][_0xca1a('0x4f')]({'where':{'id':_0x4f868e[_0xca1a('0x4e')]['id']}})[_0xca1a('0x2c')](function(_0x11493d){if(_0x11493d){return _0x11493d[_0xca1a('0x2d')]();}})[_0xca1a('0x2c')](function(_0x14314c){rimraf(path[_0xca1a('0x51')](config[_0xca1a('0x52')],_0xca1a('0x5e'),path[_0xca1a('0x5f')](_0x14314c[_0xca1a('0x6')])),function(){});return _0x14314c;})[_0xca1a('0x2c')](handleEntityNotFound(_0x48d69a,null))[_0xca1a('0x2c')](respondWithStatusCode(_0x48d69a,null))[_0xca1a('0x4c')](handleError(_0x48d69a,null));};exports[_0xca1a('0x96')]=function(_0x526225,_0x1dee17,_0x35e6a4){return BPromise[_0xca1a('0x97')]()[_0xca1a('0x2c')](function(){if(!_0x526225[_0xca1a('0x3c')][_0xca1a('0x6')]){throw new Error(_0xca1a('0x98'));}if(!_0x526225['query'][_0xca1a('0x99')]){throw new Error(_0xca1a('0x9a'));}var _0x4f349=_0x526225[_0xca1a('0x3c')][_0xca1a('0x9b')]?_0x526225[_0xca1a('0x3c')][_0xca1a('0x9b')]+':'+_0x526225[_0xca1a('0x3c')][_0xca1a('0x99')]:_0xca1a('0x9c')+_0x526225[_0xca1a('0x3c')]['port'];var _0x4ef33e=_0x526225[_0xca1a('0x3c')]['json']?_0x526225[_0xca1a('0x3c')][_0xca1a('0x21')]:!![];var _0x5ead80=_0x526225['query'][_0xca1a('0x9d')]?_0x526225[_0xca1a('0x3c')][_0xca1a('0x9d')]:null;var _0x1799c6={'method':_0x526225[_0xca1a('0x9e')],'uri':util['format'](_0xca1a('0x9f'),_0x4f349,_0x526225[_0xca1a('0x3c')][_0xca1a('0x6')]),'json':_0x4ef33e,'resolveWithFullResponse':!![],'encoding':_0x5ead80,'qs':_0x526225['query']};if(_0x526225['headers']){_0x1799c6[_0xca1a('0xa0')]=_0x526225[_0xca1a('0xa0')];if(_0x1799c6['headers']['content-length']){delete _0x1799c6[_0xca1a('0xa0')][_0xca1a('0xa1')];}}if(_0x1799c6['headers'][_0xca1a('0xa2')]){delete _0x1799c6[_0xca1a('0xa0')][_0xca1a('0xa2')];}return rp(_0x1799c6);})['then'](function(_0x155b6d){if(_0x155b6d){_0x1dee17[_0xca1a('0xa3')](_0x155b6d[_0xca1a('0xa0')]);logger[_0xca1a('0x66')](_0x155b6d[_0xca1a('0xa4')]);if(_[_0xca1a('0xa5')](_0x526225[_0xca1a('0x3c')]['path'],_0xca1a('0x50'))&&_0x155b6d[_0xca1a('0xa6')]==0x1f4){return _0x1dee17[_0xca1a('0x1f')](_0x155b6d[_0xca1a('0xa6')]);}else{return _0x1dee17[_0xca1a('0x26')](_0x155b6d['statusCode'])[_0xca1a('0x32')](_0x155b6d['body']);}}else{return _0x1dee17[_0xca1a('0x1f')](0xc8);}})[_0xca1a('0x4c')](handleError(_0x1dee17,null));};exports['webhookPost']=function(_0x586d14,_0x223169,_0x39669a){return BPromise[_0xca1a('0x97')]()[_0xca1a('0x2c')](function(){if(!_0x586d14[_0xca1a('0x3c')]['path']){throw new Error(_0xca1a('0x98'));}if(!_0x586d14[_0xca1a('0x3c')]['port']){throw new Error('\x27PORT\x27\x20parameter\x20not\x20specified');}var _0x198d33=_0x586d14['query'][_0xca1a('0x9b')]?_0x586d14[_0xca1a('0x3c')][_0xca1a('0x9b')]+':'+_0x586d14[_0xca1a('0x3c')][_0xca1a('0x99')]:_0xca1a('0x9c')+_0x586d14[_0xca1a('0x3c')][_0xca1a('0x99')];var _0x519642=_0x586d14['query'][_0xca1a('0x21')]?_0x586d14[_0xca1a('0x3c')][_0xca1a('0x21')]:!![];var _0x21e451=_0x586d14[_0xca1a('0x3c')]['encoding']?_0x586d14['query'][_0xca1a('0x9d')]:null;var _0x413b60={'method':_0x586d14[_0xca1a('0x9e')],'uri':util[_0xca1a('0x53')]('%s%s',_0x198d33,_0x586d14[_0xca1a('0x3c')][_0xca1a('0x6')]),'json':_0x519642,'resolveWithFullResponse':!![],'encoding':_0x21e451,'body':_0x586d14['body']};if(_0x586d14[_0xca1a('0xa0')]){_0x413b60[_0xca1a('0xa0')]=_0x586d14[_0xca1a('0xa0')];if(_0x413b60[_0xca1a('0xa0')]['content-length']){delete _0x413b60[_0xca1a('0xa0')][_0xca1a('0xa1')];}}if(_0x413b60[_0xca1a('0xa0')][_0xca1a('0xa2')]){delete _0x413b60['headers'][_0xca1a('0xa2')];}return rp(_0x413b60);})['then'](function(_0x2fd490){if(_0x2fd490){_0x223169[_0xca1a('0xa3')](_0x2fd490[_0xca1a('0xa0')]);logger[_0xca1a('0x66')](_0x2fd490[_0xca1a('0xa4')]);return _0x223169[_0xca1a('0x26')](_0x2fd490[_0xca1a('0xa6')])[_0xca1a('0x32')](_0x2fd490[_0xca1a('0xa4')]);}else{return _0x223169[_0xca1a('0x1f')](0xc8);}})[_0xca1a('0x4c')](handleError(_0x223169,null));};