Built motion from commit (unavailable).|2.3.93
[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 _0xbbb7=['hostname','http://localhost:','port','json','encoding','%s%s','headers','content-length','set','endsWith','statusCode','\x27PATH\x27\x20parameter\x20not\x20specified','method','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','ioredis','archiver','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./plugin.socket','register','sendStatus','status','end','count','offset','limit','Content-Range','reject','get','Plugins','UserProfileResource','destroy','then','stack','name','send','Plugin','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','type','key','field','merge','include','rows','catch','show','params','includeAll','options','find','download','join','root','server/files/plugins','format','%s.zip','createWriteStream','warning','code','ENOENT','Error\x20while\x20generating\x20the\x20zip\x20archive','error','Sequelize','Error','pipe','glob','**/*','dirname','basename','node_modules/**/*','attachments/**/*','finalize','close','Plugin\x20not\x20found','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','isDirectory','readdirSync','some','manifest.json','readFileSync','parse','Invalid\x20manifest:\x20name\x20missing','undefined','Invalid\x20manifest:\x20type\x20missing','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','Invalid\x20manifest:\x20parameters\x20missing','html','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','script','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','Invalid\x20manifest:\x20script\x20path\x20missing','sidebar','always','icon','icon-apps','version','test','Warning:\x20admin\x20view\x20not\x20specified','plugins','scriptPath','create','role','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','autoAssociation','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','update','body','delete','webhookGet','resolve','\x27PORT\x27\x20parameter\x20not\x20specified'];(function(_0x3333bd,_0x1d34ec){var _0x4e0b62=function(_0x48d665){while(--_0x48d665){_0x3333bd['push'](_0x3333bd['shift']());}};_0x4e0b62(++_0x1d34ec);}(_0xbbb7,0x165));var _0x7bbb=function(_0x531066,_0x36a42a){_0x531066=_0x531066-0x0;var _0x16dfc8=_0xbbb7[_0x531066];return _0x16dfc8;};'use strict';var pdf=require(_0x7bbb('0x0'));var emlformat=require(_0x7bbb('0x1'));var rimraf=require(_0x7bbb('0x2'));var zipdir=require(_0x7bbb('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7bbb('0x4'));var moment=require(_0x7bbb('0x5'));var BPromise=require(_0x7bbb('0x6'));var Mustache=require(_0x7bbb('0x7'));var util=require('util');var path=require(_0x7bbb('0x8'));var sox=require(_0x7bbb('0x9'));var csv=require(_0x7bbb('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7bbb('0xb'));var squel=require(_0x7bbb('0xc'));var crypto=require(_0x7bbb('0xd'));var jsforce=require(_0x7bbb('0xe'));var deskjs=require(_0x7bbb('0xf'));var toCsv=require(_0x7bbb('0xa'));var querystring=require(_0x7bbb('0x10'));var Papa=require(_0x7bbb('0x11'));var authService=require('../../components/auth/service');var hardwareService=require(_0x7bbb('0x12'));var Redis=require(_0x7bbb('0x13'));var extract=require('extract-zip');var rimraf=require('rimraf');var archiver=require(_0x7bbb('0x14'));var qs=require('../../components/parsers/qs');var logger=require(_0x7bbb('0x15'))(_0x7bbb('0x16'));var utils=require(_0x7bbb('0x17'));var config=require(_0x7bbb('0x18'));var db=require(_0x7bbb('0x19'))['db'];config['redis']=_[_0x7bbb('0x1a')](config[_0x7bbb('0x1b')],{'host':_0x7bbb('0x1c'),'port':0x18eb});var socket=require(_0x7bbb('0x1d'))(new Redis(config[_0x7bbb('0x1b')]));require(_0x7bbb('0x1e'))[_0x7bbb('0x1f')](socket);function respondWithStatusCode(_0x46d794,_0x327fa1){_0x327fa1=_0x327fa1||0xcc;return function(_0x330484){if(_0x330484){return _0x46d794[_0x7bbb('0x20')](_0x327fa1);}return _0x46d794[_0x7bbb('0x21')](_0x327fa1)[_0x7bbb('0x22')]();};}function respondWithResult(_0x501db5,_0x59528b){_0x59528b=_0x59528b||0xc8;return function(_0x1f3421){if(_0x1f3421){return _0x501db5['status'](_0x59528b)['json'](_0x1f3421);}};}function respondWithFilteredResult(_0x33dee8,_0x43838a){return function(_0x5904e4){if(_0x5904e4){var _0x59d8b9=_0x5904e4[_0x7bbb('0x23')],_0x298d3f=_0x43838a[_0x7bbb('0x24')],_0x5480be=_0x43838a[_0x7bbb('0x24')]+_0x43838a[_0x7bbb('0x25')],_0x31f6bf;if(_0x5480be>=_0x59d8b9){_0x5480be=_0x59d8b9;_0x31f6bf=0xc8;}else{_0x31f6bf=0xce;}_0x33dee8[_0x7bbb('0x21')](_0x31f6bf);return _0x33dee8['set'](_0x7bbb('0x26'),_0x298d3f+'-'+_0x5480be+'/'+_0x59d8b9)['json'](_0x5904e4);}return null;};}function patchUpdates(_0xad2bf4){return function(_0x550341){try{jsonpatch['apply'](_0x550341,_0xad2bf4,!![]);}catch(_0x2ebb78){return BPromise[_0x7bbb('0x27')](_0x2ebb78);}return _0x550341['save']();};}function saveUpdates(_0x18cfbd,_0x57cce0){return function(_0x4302f2){if(_0x4302f2){return _0x4302f2['update'](_0x18cfbd)['then'](function(_0x5c524c){return _0x5c524c;});}return null;};}function removeEntity(_0x1fea4f,_0x2815cf){return function(_0x3d8da2){if(_0x3d8da2){return _0x3d8da2['destroy']()['then'](function(){var _0x43b49d=_0x3d8da2[_0x7bbb('0x28')]({'plain':!![]});var _0x441b84=_0x7bbb('0x29');return db[_0x7bbb('0x2a')][_0x7bbb('0x2b')]({'where':{'type':_0x441b84,'resourceId':_0x43b49d['id']}})[_0x7bbb('0x2c')](function(){return _0x3d8da2;});})['then'](function(){_0x1fea4f[_0x7bbb('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1401b0,_0x4674bb){return function(_0x593138){if(!_0x593138){_0x1401b0[_0x7bbb('0x20')](0x194);}return _0x593138;};}function handleError(_0x54c44e,_0x3d6325){_0x3d6325=_0x3d6325||0x1f4;return function(_0x1b833e){logger['error'](_0x1b833e[_0x7bbb('0x2d')]);if(_0x1b833e[_0x7bbb('0x2e')]){delete _0x1b833e[_0x7bbb('0x2e')];}_0x54c44e[_0x7bbb('0x21')](_0x3d6325)[_0x7bbb('0x2f')](_0x1b833e);};}exports['index']=function(_0x18f152,_0x30edb7){var _0x4e811b={},_0x342cd8={},_0x19e4ce={'count':0x0,'rows':[]};var _0x13e055=db[_0x7bbb('0x30')][_0x7bbb('0x31')];_0x342cd8[_0x7bbb('0x32')]=_[_0x7bbb('0x33')](_0x13e055);_0x342cd8['query']=_[_0x7bbb('0x33')](_0x18f152[_0x7bbb('0x34')]);_0x342cd8[_0x7bbb('0x35')]=_[_0x7bbb('0x36')](_0x342cd8[_0x7bbb('0x32')],_0x342cd8[_0x7bbb('0x34')]);_0x4e811b[_0x7bbb('0x37')]=_['intersection'](_0x342cd8[_0x7bbb('0x32')],qs['fields'](_0x18f152['query'][_0x7bbb('0x38')]));_0x4e811b[_0x7bbb('0x37')]=_0x4e811b[_0x7bbb('0x37')][_0x7bbb('0x39')]?_0x4e811b[_0x7bbb('0x37')]:_0x342cd8[_0x7bbb('0x32')];if(!_0x18f152['query'][_0x7bbb('0x3a')](_0x7bbb('0x3b'))){_0x4e811b[_0x7bbb('0x25')]=qs['limit'](_0x18f152[_0x7bbb('0x34')][_0x7bbb('0x25')]);_0x4e811b[_0x7bbb('0x24')]=qs['offset'](_0x18f152[_0x7bbb('0x34')][_0x7bbb('0x24')]);}_0x4e811b['order']=qs[_0x7bbb('0x3c')](_0x18f152['query']['sort']);_0x4e811b[_0x7bbb('0x3d')]=qs[_0x7bbb('0x35')](_[_0x7bbb('0x3e')](_0x18f152[_0x7bbb('0x34')],_0x342cd8[_0x7bbb('0x35')]));if(_0x18f152['query'][_0x7bbb('0x3f')]){_0x4e811b[_0x7bbb('0x3d')]=_['merge'](_0x4e811b[_0x7bbb('0x3d')],{'$or':_['map'](_0x13e055,function(_0x4a4d9d){if(_0x4a4d9d[_0x7bbb('0x40')][_0x7bbb('0x41')]!=='VIRTUAL'){var _0x5ab6ce={};_0x5ab6ce[_0x4a4d9d[_0x7bbb('0x42')]]={'$like':'%'+_0x18f152['query']['filter']+'%'};return _0x5ab6ce;}})});}_0x4e811b=_[_0x7bbb('0x43')]({},_0x4e811b,_0x18f152['options']);var _0x35dd41={'where':_0x4e811b['where']};return db[_0x7bbb('0x30')][_0x7bbb('0x23')](_0x35dd41)[_0x7bbb('0x2c')](function(_0x1c2295){_0x19e4ce['count']=_0x1c2295;if(_0x18f152[_0x7bbb('0x34')]['includeAll']){_0x4e811b[_0x7bbb('0x44')]=[{'all':!![]}];}return db['Plugin']['findAll'](_0x4e811b);})[_0x7bbb('0x2c')](function(_0x5235a1){_0x19e4ce[_0x7bbb('0x45')]=_0x5235a1;return _0x19e4ce;})[_0x7bbb('0x2c')](respondWithFilteredResult(_0x30edb7,_0x4e811b))[_0x7bbb('0x46')](handleError(_0x30edb7,null));};exports[_0x7bbb('0x47')]=function(_0x159807,_0x6594f7){var _0x242832={'raw':!![],'where':{'id':_0x159807[_0x7bbb('0x48')]['id']}},_0x347d01={};_0x347d01['model']=_[_0x7bbb('0x33')](db[_0x7bbb('0x30')][_0x7bbb('0x31')]);_0x347d01[_0x7bbb('0x34')]=_['keys'](_0x159807['query']);_0x347d01[_0x7bbb('0x35')]=_[_0x7bbb('0x36')](_0x347d01[_0x7bbb('0x32')],_0x347d01[_0x7bbb('0x34')]);_0x242832['attributes']=_[_0x7bbb('0x36')](_0x347d01['model'],qs['fields'](_0x159807['query'][_0x7bbb('0x38')]));_0x242832[_0x7bbb('0x37')]=_0x242832[_0x7bbb('0x37')]['length']?_0x242832[_0x7bbb('0x37')]:_0x347d01['model'];if(_0x159807[_0x7bbb('0x34')][_0x7bbb('0x49')]){_0x242832[_0x7bbb('0x44')]=[{'all':!![]}];}_0x242832=_[_0x7bbb('0x43')]({},_0x242832,_0x159807[_0x7bbb('0x4a')]);return db[_0x7bbb('0x30')][_0x7bbb('0x4b')](_0x242832)[_0x7bbb('0x2c')](handleEntityNotFound(_0x6594f7,null))[_0x7bbb('0x2c')](respondWithResult(_0x6594f7,null))['catch'](handleError(_0x6594f7,null));};exports[_0x7bbb('0x4c')]=function(_0x5ac567,_0x1bb370,_0x5d4f20){return db[_0x7bbb('0x30')][_0x7bbb('0x4b')]({'where':{'id':_0x5ac567['params']['id']},'attributes':[_0x7bbb('0x2e'),_0x7bbb('0x8')],'raw':!![]})['then'](handleEntityNotFound(_0x1bb370,null))[_0x7bbb('0x2c')](function(_0x23479d){if(_0x23479d){var _0x1e26ba=path[_0x7bbb('0x4d')](config[_0x7bbb('0x4e')],_0x7bbb('0x4f'),util[_0x7bbb('0x50')](_0x7bbb('0x51'),path['basename'](_0x23479d[_0x7bbb('0x8')])));var _0x30908d=fs[_0x7bbb('0x52')](_0x1e26ba);var _0x142239=archiver('zip',{'zlib':{'level':0x9}});_0x142239['on'](_0x7bbb('0x53'),function(_0x490b59){if(_0x490b59[_0x7bbb('0x54')]===_0x7bbb('0x55')){logger['error'](_0x490b59);}else{throw new db['Sequelize']['Error'](_0x7bbb('0x56'));}});_0x142239['on'](_0x7bbb('0x57'),function(_0x5197b8){throw new db[(_0x7bbb('0x58'))][(_0x7bbb('0x59'))](_0x7bbb('0x56'));});_0x142239[_0x7bbb('0x5a')](_0x30908d);_0x142239[_0x7bbb('0x5b')](_0x7bbb('0x5c'),{'cwd':path[_0x7bbb('0x4d')](config[_0x7bbb('0x4e')],_0x7bbb('0x4f'),path[_0x7bbb('0x5d')](_0x23479d[_0x7bbb('0x8')])),'ignore':[path[_0x7bbb('0x4d')](path[_0x7bbb('0x5e')](_0x23479d[_0x7bbb('0x8')]),_0x7bbb('0x5f')),path['join'](path[_0x7bbb('0x5e')](_0x23479d[_0x7bbb('0x8')]),_0x7bbb('0x60'))],'nodir':!![]})[_0x7bbb('0x61')]();_0x30908d['on'](_0x7bbb('0x62'),function(){if(!fs['existsSync'](_0x1e26ba)){throw new db[(_0x7bbb('0x58'))][(_0x7bbb('0x59'))](_0x7bbb('0x63'));}return _0x1bb370[_0x7bbb('0x4c')](_0x1e26ba,util[_0x7bbb('0x50')](_0x7bbb('0x51'),path[_0x7bbb('0x5e')](_0x23479d[_0x7bbb('0x8')])),function(_0x3490e4){if(_0x3490e4){throw new db[(_0x7bbb('0x58'))]['Error'](_0x7bbb('0x64'));}fs[_0x7bbb('0x65')](_0x1e26ba);logger[_0x7bbb('0x66')](_0x7bbb('0x67'));logger[_0x7bbb('0x66')](_0x7bbb('0x68'));});});}return null;})[_0x7bbb('0x46')](handleError(_0x1bb370,null));};exports[_0x7bbb('0x69')]=function(_0x1f6cdc,_0x3d5310,_0x113169){var _0x410d82=path['basename'](_0x1f6cdc[_0x7bbb('0x6a')][_0x7bbb('0x6b')],path['extname'](_0x1f6cdc[_0x7bbb('0x6a')][_0x7bbb('0x6b')]));var _0x5d9128=path[_0x7bbb('0x4d')](config[_0x7bbb('0x4e')],_0x7bbb('0x4f'),_0x1f6cdc[_0x7bbb('0x6a')][_0x7bbb('0x6b')]);var _0x5bc408=path[_0x7bbb('0x4d')](config[_0x7bbb('0x4e')],_0x7bbb('0x4f'),_0x410d82);logger['info'](_0x7bbb('0x6c'),_0x5d9128);logger['info'](_0x7bbb('0x6d'),_0x5bc408);try{fs[_0x7bbb('0x6e')](_0x5d9128,parseInt(_0x7bbb('0x6f'),0x8));extract(_0x5d9128,{'dir':_0x5bc408},function(_0x56487c){if(_0x56487c){logger[_0x7bbb('0x57')](_0x56487c);handleError(_0x56487c,!![]);};var _0x53a717=fs['readdirSync'](_0x5bc408);if(_0x53a717[_0x7bbb('0x39')]>0x1){removeReferences(_0x5d9128,_0x5bc408);logger['error'](_0x7bbb('0x70'));return _0x113169(new Error(_0x7bbb('0x70')));}var _0x554361=fs[_0x7bbb('0x71')](path['join'](_0x5bc408,_0x53a717[0x0]));if(_0x554361['isFile']()){removeReferences(_0x5d9128,_0x5bc408);logger['error'](_0x7bbb('0x70'));return _0x113169(new Error('Invalid\x20plugin\x20structure'));}if(_0x554361[_0x7bbb('0x72')]()){var _0x23c3eb=fs[_0x7bbb('0x73')](path[_0x7bbb('0x4d')](_0x5bc408,_0x53a717[0x0]));if(_0x23c3eb[_0x7bbb('0x39')]===0x0){removeReferences(_0x5d9128,_0x5bc408);logger[_0x7bbb('0x57')](_0x7bbb('0x70'));return _0x113169(new Error('Invalid\x20plugin\x20structure'));}var _0x316cb0=_0x23c3eb[_0x7bbb('0x74')](function(_0x3e8ab7){return _0x3e8ab7===_0x7bbb('0x75');});if(!_0x316cb0){return _0x113169(new Error('Plugin\x20manifest\x20missing'));}var _0x5eb68f=fs[_0x7bbb('0x76')](path[_0x7bbb('0x4d')](_0x5bc408,_0x53a717[0x0],_0x7bbb('0x75')));var _0x215f34=JSON[_0x7bbb('0x77')](_0x5eb68f);if('undefined'==typeof _0x215f34[_0x7bbb('0x2e')]){return _0x113169(new Error(_0x7bbb('0x78')));}if(_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x40')]){return _0x113169(new Error(_0x7bbb('0x7a')));}if(_0x7bbb('0x79')==typeof _0x215f34['version']){return _0x113169(new Error(_0x7bbb('0x7b')));}if(_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x7c')]){return _0x113169(new Error(_0x7bbb('0x7d')));}if(_0x215f34[_0x7bbb('0x40')]===_0x7bbb('0x7e')){if(_0x7bbb('0x79')==typeof _0x215f34['parameters'][_0x7bbb('0x7f')]){return _0x113169(new Error(_0x7bbb('0x80')));}if(_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')][_0x7bbb('0x81')]&&_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')][_0x7bbb('0x82')]){return _0x113169(new Error(_0x7bbb('0x83')));}}else if(_0x215f34[_0x7bbb('0x40')]===_0x7bbb('0x84')){if(_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x85')]){return _0x113169(new Error(_0x7bbb('0x86')));}if(_0x7bbb('0x79')==typeof _0x215f34[_0x7bbb('0x7c')]['scriptPath']){return _0x113169(new Error(_0x7bbb('0x87')));}}else{return _0x113169(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x3770ea=_0x215f34[_0x7bbb('0x2e')];var _0x1e0e88=_0x215f34['description'];var _0x443053=_0x215f34[_0x7bbb('0x40')];var _0x23fc6d=_0x215f34['sidebar']?_0x215f34[_0x7bbb('0x88')]:_0x7bbb('0x89');var _0x399445=_0x215f34[_0x7bbb('0x8a')]?_0x215f34[_0x7bbb('0x8a')]:_0x7bbb('0x8b');var _0x22607b='';var _0x11cc68='';var _0x329e0f='';var _0x1ed625='';var _0x2efae6=_0x215f34[_0x7bbb('0x8c')];if(_0x443053===_0x7bbb('0x7e')){if('undefined'!=typeof _0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')][_0x7bbb('0x81')]){var _0xd2e399=_0x215f34['parameters'][_0x7bbb('0x7f')][_0x7bbb('0x81')];if(!/^(f|ht)tps?:\/\//i[_0x7bbb('0x8d')](_0xd2e399)){_0x22607b=path[_0x7bbb('0x4d')]('plugins',_0x410d82,_0x53a717[0x0],_0xd2e399);}else{_0x22607b=_0xd2e399;}}else{logger['info'](_0x7bbb('0x8e'));}if(_0x7bbb('0x79')!=typeof _0x215f34['parameters'][_0x7bbb('0x7f')][_0x7bbb('0x82')]){var _0x51c422=_0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')][_0x7bbb('0x82')];if(!/^(f|ht)tps?:\/\//i['test'](_0x51c422)){_0x11cc68=path['join'](_0x7bbb('0x8f'),_0x410d82,_0x53a717[0x0],_0x51c422);}else{_0x11cc68=_0x51c422;}}else{logger[_0x7bbb('0x66')]('Warning:\x20agent\x20view\x20not\x20specified');}}else if(_0x443053==='script'){_0x329e0f=_0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x85')];_0x1ed625=_0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x90')];if(_0x7bbb('0x79')!=typeof _0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')]){if(_0x7bbb('0x79')!=typeof _0x215f34['parameters']['views'][_0x7bbb('0x81')]){var _0xd2e399=_0x215f34[_0x7bbb('0x7c')][_0x7bbb('0x7f')][_0x7bbb('0x81')];if(!/^(f|ht)tps?:\/\//i['test'](_0xd2e399)){_0x22607b=path[_0x7bbb('0x4d')](_0x7bbb('0x8f'),_0x410d82,_0x53a717[0x0],_0xd2e399);}else{_0x22607b=_0xd2e399;}}if(_0x7bbb('0x79')!=typeof _0x215f34[_0x7bbb('0x7c')]['views'][_0x7bbb('0x82')]){var _0x51c422=_0x215f34['parameters'][_0x7bbb('0x7f')][_0x7bbb('0x82')];if(!/^(f|ht)tps?:\/\//i['test'](_0x51c422)){_0x11cc68=path[_0x7bbb('0x4d')](_0x7bbb('0x8f'),_0x410d82,_0x53a717[0x0],_0x51c422);}else{_0x11cc68=_0x51c422;}}}}var _0x2bcba1={'name':_0x3770ea,'description':_0x1e0e88,'path':path[_0x7bbb('0x4d')](_0x410d82,_0x53a717[0x0]),'type':_0x443053,'sidebar':_0x23fc6d,'icon':_0x399445,'adminUrl':_0x22607b,'agentUrl':_0x11cc68,'scriptName':_0x329e0f,'scriptPath':_0x1ed625,'version':_0x2efae6};removeReferences(_0x5d9128,null);return db['Plugin'][_0x7bbb('0x91')](_0x2bcba1)[_0x7bbb('0x2c')](function(_0x5b6689){var _0x2aa08b={'role':_0x1f6cdc['body'][_0x7bbb('0x92')],'userProfileId':_0x1f6cdc['body'][_0x7bbb('0x93')]};if(!_0x2aa08b)throw new Error(_0x7bbb('0x94'));if(_0x2aa08b[_0x7bbb('0x92')]===_0x7bbb('0x95')){var _0x4d272=_0x5b6689[_0x7bbb('0x28')]({'plain':!![]});return db['UserProfileSection'][_0x7bbb('0x4b')]({'where':{'name':_0x7bbb('0x29'),'userProfileId':_0x2aa08b[_0x7bbb('0x93')]},'raw':!![]})[_0x7bbb('0x2c')](function(_0x4e8560){if(_0x4e8560&&_0x4e8560[_0x7bbb('0x96')]===0x0){return db[_0x7bbb('0x2a')][_0x7bbb('0x91')]({'name':_0x4d272['name'],'resourceId':_0x4d272['id'],'type':_0x4e8560[_0x7bbb('0x2e')],'sectionId':_0x4e8560['id']},{})[_0x7bbb('0x2c')](function(){return _0x5b6689;});}else{return _0x5b6689;}})['catch'](function(_0x23787f){logger[_0x7bbb('0x57')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x23787f);throw _0x23787f;});}return _0x5b6689;})[_0x7bbb('0x2c')](respondWithResult(_0x3d5310,null))[_0x7bbb('0x46')](handleError(_0x3d5310,null));}});}catch(_0x3f1ea2){_0x3d5310[_0x7bbb('0x21')](0x1f4)[_0x7bbb('0x2f')](_0x3f1ea2);}};function removeReferences(_0x2d33e3,_0x517989){try{if(_0x2d33e3){fs[_0x7bbb('0x65')](_0x2d33e3);logger['info'](_0x7bbb('0x97'));}if(_0x517989){rimraf(_0x517989,function(){});logger['info'](_0x7bbb('0x98'));}}catch(_0x350a4b){logger[_0x7bbb('0x57')](_0x350a4b);}}exports[_0x7bbb('0x99')]=function(_0x360594,_0xbadebf,_0x394f0d){return db[_0x7bbb('0x30')][_0x7bbb('0x4b')]({'where':{'id':_0x360594[_0x7bbb('0x48')]['id']}})['then'](handleEntityNotFound(_0xbadebf,null))[_0x7bbb('0x2c')](saveUpdates(_0x360594[_0x7bbb('0x9a')],null))['then'](respondWithResult(_0xbadebf,null))['catch'](handleError(_0xbadebf,null));};exports[_0x7bbb('0x9b')]=function(_0x379d15,_0x33da4e,_0x4cd773){return db[_0x7bbb('0x30')]['find']({'where':{'id':_0x379d15['params']['id']}})['then'](function(_0x37b58c){if(_0x37b58c){return _0x37b58c[_0x7bbb('0x2b')]();}})['then'](function(_0x2fda97){rimraf(path[_0x7bbb('0x4d')](config[_0x7bbb('0x4e')],_0x7bbb('0x4f'),path[_0x7bbb('0x5d')](_0x2fda97['path'])),function(){});return _0x2fda97;})[_0x7bbb('0x2c')](handleEntityNotFound(_0x33da4e,null))[_0x7bbb('0x2c')](respondWithStatusCode(_0x33da4e,null))['catch'](handleError(_0x33da4e,null));};exports[_0x7bbb('0x9c')]=function(_0x27117f,_0x327730,_0x2b06e0){return BPromise[_0x7bbb('0x9d')]()[_0x7bbb('0x2c')](function(){if(!_0x27117f[_0x7bbb('0x34')]['path']){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x27117f[_0x7bbb('0x34')]['port']){throw new Error(_0x7bbb('0x9e'));}var _0x4301ff=_0x27117f[_0x7bbb('0x34')][_0x7bbb('0x9f')]?_0x27117f[_0x7bbb('0x34')][_0x7bbb('0x9f')]+':'+_0x27117f[_0x7bbb('0x34')]['port']:_0x7bbb('0xa0')+_0x27117f['query'][_0x7bbb('0xa1')];var _0xcfc1d6=_0x27117f[_0x7bbb('0x34')][_0x7bbb('0xa2')]?_0x27117f[_0x7bbb('0x34')][_0x7bbb('0xa2')]:!![];var _0x795a8d=_0x27117f[_0x7bbb('0x34')]['encoding']?_0x27117f[_0x7bbb('0x34')][_0x7bbb('0xa3')]:null;var _0x11bb52={'method':_0x27117f['method'],'uri':util['format'](_0x7bbb('0xa4'),_0x4301ff,_0x27117f[_0x7bbb('0x34')][_0x7bbb('0x8')]),'json':_0xcfc1d6,'resolveWithFullResponse':!![],'encoding':_0x795a8d,'qs':_0x27117f['query']};if(_0x27117f['headers']){_0x11bb52[_0x7bbb('0xa5')]=_0x27117f[_0x7bbb('0xa5')];if(_0x11bb52[_0x7bbb('0xa5')][_0x7bbb('0xa6')]){delete _0x11bb52[_0x7bbb('0xa5')][_0x7bbb('0xa6')];}}return rp(_0x11bb52);})[_0x7bbb('0x2c')](function(_0x387192){if(_0x387192){_0x327730[_0x7bbb('0xa7')](_0x387192['headers']);logger[_0x7bbb('0x66')](_0x387192[_0x7bbb('0x9a')]);if(_[_0x7bbb('0xa8')](_0x27117f[_0x7bbb('0x34')][_0x7bbb('0x8')],_0x7bbb('0x4c'))&&_0x387192['statusCode']==0x1f4){return _0x327730['sendStatus'](_0x387192[_0x7bbb('0xa9')]);}else{return _0x327730[_0x7bbb('0x21')](_0x387192[_0x7bbb('0xa9')])[_0x7bbb('0x2f')](_0x387192[_0x7bbb('0x9a')]);}}else{return _0x327730['sendStatus'](0xc8);}})['catch'](handleError(_0x327730,null));};exports['webhookPost']=function(_0x5f4869,_0x2c3c43,_0x2b41e2){return BPromise['resolve']()[_0x7bbb('0x2c')](function(){if(!_0x5f4869['query'][_0x7bbb('0x8')]){throw new Error(_0x7bbb('0xaa'));}if(!_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa1')]){throw new Error(_0x7bbb('0x9e'));}var _0x4e6cfb=_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0x9f')]?_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0x9f')]+':'+_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa1')]:_0x7bbb('0xa0')+_0x5f4869[_0x7bbb('0x34')]['port'];var _0x2b4d1c=_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa2')]?_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa2')]:!![];var _0xe3eaf9=_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa3')]?_0x5f4869[_0x7bbb('0x34')][_0x7bbb('0xa3')]:null;var _0x2f20e2={'method':_0x5f4869[_0x7bbb('0xab')],'uri':util[_0x7bbb('0x50')](_0x7bbb('0xa4'),_0x4e6cfb,_0x5f4869['query'][_0x7bbb('0x8')]),'json':_0x2b4d1c,'resolveWithFullResponse':!![],'encoding':_0xe3eaf9,'body':_0x5f4869[_0x7bbb('0x9a')]};if(_0x5f4869[_0x7bbb('0xa5')]){_0x2f20e2[_0x7bbb('0xa5')]=_0x5f4869[_0x7bbb('0xa5')];if(_0x2f20e2[_0x7bbb('0xa5')][_0x7bbb('0xa6')]){delete _0x2f20e2[_0x7bbb('0xa5')][_0x7bbb('0xa6')];}}return rp(_0x2f20e2);})[_0x7bbb('0x2c')](function(_0x265b60){if(_0x265b60){_0x2c3c43[_0x7bbb('0xa7')](_0x265b60['headers']);logger[_0x7bbb('0x66')](_0x265b60[_0x7bbb('0x9a')]);return _0x2c3c43[_0x7bbb('0x21')](_0x265b60[_0x7bbb('0xa9')])[_0x7bbb('0x2f')](_0x265b60['body']);}else{return _0x2c3c43['sendStatus'](0xc8);}})[_0x7bbb('0x46')](handleError(_0x2c3c43,null));};