Built motion from commit (unavailable).|2.2.0
[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 _0x418e=['intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','add','day','merge','map','type','key','VIRTUAL','filter','includeAll','catch','params','include','options','find','download','root','server/files/plugins','format','%s.zip','basename','createWriteStream','zip','warning','ENOENT','error','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','join','dirname','finalize','close','existsSync','Plugin\x20not\x20found','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','Download\x20completed','info','Temporary\x20file\x20removed','upload','file','filename','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','chmodSync','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isFile','isDirectory','some','manifest.json','Plugin\x20manifest\x20missing','parse','undefined','version','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','views','Invalid\x20manifest:\x20views\x20missing','admin','script','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','description','sidebar','always','icon','icon-apps','html','Warning:\x20admin\x20view\x20not\x20specified','agent','test','Warning:\x20agent\x20view\x20not\x20specified','scriptName','plugins','create','body','role','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','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','headers','content-length','statusCode','webhookPost','%s%s','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','extract-zip','archiver','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','./plugin.socket','register','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject','save','update','then','get','Plugins','UserProfileResource','destroy','stack','name','send','Plugin','rawAttributes','keys','query','dateEnd','dateStart','filters'];(function(_0x33f3c7,_0x561be4){var _0x1edbe8=function(_0xaf0dd3){while(--_0xaf0dd3){_0x33f3c7['push'](_0x33f3c7['shift']());}};_0x1edbe8(++_0x561be4);}(_0x418e,0x1d1));var _0xe418=function(_0x6f2d8b,_0x238d76){_0x6f2d8b=_0x6f2d8b-0x0;var _0x25ba54=_0x418e[_0x6f2d8b];return _0x25ba54;};'use strict';var pdf=require(_0xe418('0x0'));var emlformat=require(_0xe418('0x1'));var rimraf=require(_0xe418('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe418('0x3'));var rp=require(_0xe418('0x4'));var moment=require(_0xe418('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xe418('0x6'));var util=require(_0xe418('0x7'));var path=require(_0xe418('0x8'));var sox=require(_0xe418('0x9'));var csv=require(_0xe418('0xa'));var ejs=require(_0xe418('0xb'));var fs=require('fs');var _=require(_0xe418('0xc'));var squel=require(_0xe418('0xd'));var crypto=require('crypto');var jsforce=require(_0xe418('0xe'));var deskjs=require(_0xe418('0xf'));var toCsv=require('to-csv');var querystring=require(_0xe418('0x10'));var Papa=require('papaparse');var Redis=require(_0xe418('0x11'));var extract=require(_0xe418('0x12'));var rimraf=require(_0xe418('0x2'));var archiver=require(_0xe418('0x13'));var qs=require(_0xe418('0x14'));var logger=require(_0xe418('0x15'))(_0xe418('0x16'));var utils=require('../../config/utils');var config=require(_0xe418('0x17'));var db=require(_0xe418('0x18'))['db'];config['redis']=_[_0xe418('0x19')](config[_0xe418('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0xe418('0x1b'))(new Redis(config[_0xe418('0x1a')]));require(_0xe418('0x1c'))[_0xe418('0x1d')](socket);function respondWithStatusCode(_0x2224ae,_0x238797){_0x238797=_0x238797||0xcc;return function(_0xb67a54){if(_0xb67a54){return _0x2224ae[_0xe418('0x1e')](_0x238797);}return _0x2224ae[_0xe418('0x1f')](_0x238797)[_0xe418('0x20')]();};}function respondWithResult(_0x2c96bb,_0x3c26a3){_0x3c26a3=_0x3c26a3||0xc8;return function(_0x15d04a){if(_0x15d04a){return _0x2c96bb[_0xe418('0x1f')](_0x3c26a3)['json'](_0x15d04a);}};}function respondWithFilteredResult(_0x1c25ec,_0x3a146e){return function(_0x5cc0c0){if(_0x5cc0c0){var _0x125b30=_0x5cc0c0[_0xe418('0x21')],_0xc3405c=_0x3a146e[_0xe418('0x22')],_0x208ea3=_0x3a146e[_0xe418('0x22')]+_0x3a146e[_0xe418('0x23')],_0x1c2955;if(_0x208ea3>=_0x125b30){_0x208ea3=_0x125b30;_0x1c2955=0xc8;}else{_0x1c2955=0xce;}_0x1c25ec[_0xe418('0x1f')](_0x1c2955);return _0x1c25ec[_0xe418('0x24')](_0xe418('0x25'),_0xc3405c+'-'+_0x208ea3+'/'+_0x125b30)[_0xe418('0x26')](_0x5cc0c0);}return null;};}function patchUpdates(_0x26f2ff){return function(_0x1090e8){try{jsonpatch['apply'](_0x1090e8,_0x26f2ff,!![]);}catch(_0x92ed1e){return BPromise[_0xe418('0x27')](_0x92ed1e);}return _0x1090e8[_0xe418('0x28')]();};}function saveUpdates(_0x3db4c2,_0x2572b4){return function(_0x12af2c){if(_0x12af2c){return _0x12af2c[_0xe418('0x29')](_0x3db4c2)[_0xe418('0x2a')](function(_0x5b3b7b){return _0x5b3b7b;});}return null;};}function removeEntity(_0x41f3d2,_0x480796){return function(_0x577c11){if(_0x577c11){return _0x577c11['destroy']()[_0xe418('0x2a')](function(){var _0x1828de=_0x577c11[_0xe418('0x2b')]({'plain':!![]});var _0x1b53cb=_0xe418('0x2c');return db[_0xe418('0x2d')][_0xe418('0x2e')]({'where':{'type':_0x1b53cb,'resourceId':_0x1828de['id']}})[_0xe418('0x2a')](function(){return _0x577c11;});})[_0xe418('0x2a')](function(){_0x41f3d2[_0xe418('0x1f')](0xcc)[_0xe418('0x20')]();});}};}function handleEntityNotFound(_0x8b6fd7,_0x5bc6ff){return function(_0x1343d6){if(!_0x1343d6){_0x8b6fd7['sendStatus'](0x194);}return _0x1343d6;};}function handleError(_0x6cbbbf,_0x2d62dd){_0x2d62dd=_0x2d62dd||0x1f4;return function(_0x1c8f13){logger['error'](_0x1c8f13[_0xe418('0x2f')]);if(_0x1c8f13['name']){delete _0x1c8f13[_0xe418('0x30')];}_0x6cbbbf['status'](_0x2d62dd)[_0xe418('0x31')](_0x1c8f13);};}exports['index']=function(_0x56958f,_0x40cda9){var _0x426998={},_0x5c18be={},_0x2a7f81={'count':0x0,'rows':[]};var _0x1baa21=db[_0xe418('0x32')][_0xe418('0x33')];_0x5c18be['model']=_[_0xe418('0x34')](_0x1baa21);var _0xa7ea76={'dateStart':_0x56958f[_0xe418('0x35')]['dateStart'],'dateEnd':_0x56958f[_0xe418('0x35')][_0xe418('0x36')]};delete _0x56958f[_0xe418('0x35')][_0xe418('0x37')];delete _0x56958f[_0xe418('0x35')][_0xe418('0x36')];_0x5c18be[_0xe418('0x35')]=_[_0xe418('0x34')](_0x56958f[_0xe418('0x35')]);_0x5c18be[_0xe418('0x38')]=_[_0xe418('0x39')](_0x5c18be[_0xe418('0x3a')],_0x5c18be[_0xe418('0x35')]);_0x426998[_0xe418('0x3b')]=_[_0xe418('0x39')](_0x5c18be[_0xe418('0x3a')],qs[_0xe418('0x3c')](_0x56958f[_0xe418('0x35')][_0xe418('0x3c')]));_0x426998['attributes']=_0x426998['attributes'][_0xe418('0x3d')]?_0x426998[_0xe418('0x3b')]:_0x5c18be[_0xe418('0x3a')];if(!_0x56958f['query'][_0xe418('0x3e')](_0xe418('0x3f'))){_0x426998['limit']=qs[_0xe418('0x23')](_0x56958f[_0xe418('0x35')][_0xe418('0x23')]);_0x426998[_0xe418('0x22')]=qs[_0xe418('0x22')](_0x56958f[_0xe418('0x35')][_0xe418('0x22')]);}_0x426998[_0xe418('0x40')]=qs[_0xe418('0x41')](_0x56958f[_0xe418('0x35')][_0xe418('0x41')]);_0x426998[_0xe418('0x42')]=qs[_0xe418('0x38')](_[_0xe418('0x43')](_0x56958f['query'],_0x5c18be[_0xe418('0x38')]));if(_0xa7ea76[_0xe418('0x37')]){if(_0xa7ea76[_0xe418('0x36')]){_0xa7ea76[_0xe418('0x36')]=moment(_0xa7ea76[_0xe418('0x36')])[_0xe418('0x44')](0x1,_0xe418('0x45'));}else{_0xa7ea76[_0xe418('0x36')]=moment(_0xa7ea76[_0xe418('0x37')])[_0xe418('0x44')](0x1,_0xe418('0x45'));}_['merge'](_0x426998[_0xe418('0x42')],{'createdAt':{'$gte':_0xa7ea76['dateStart'],'$lte':_0xa7ea76[_0xe418('0x36')]}});}if(_0x56958f[_0xe418('0x35')]['filter']){_0x426998[_0xe418('0x42')]=_[_0xe418('0x46')](_0x426998['where'],{'$or':_[_0xe418('0x47')](_0x1baa21,function(_0x287214){if(_0x287214[_0xe418('0x48')][_0xe418('0x49')]!==_0xe418('0x4a')){var _0x708149={};_0x708149[_0x287214['field']]={'$like':'%'+_0x56958f[_0xe418('0x35')][_0xe418('0x4b')]+'%'};return _0x708149;}})});}_0x426998=_['merge']({},_0x426998,_0x56958f['options']);var _0x55aa1e={'where':_0x426998['where']};return db[_0xe418('0x32')][_0xe418('0x21')](_0x55aa1e)['then'](function(_0x1d4d87){_0x2a7f81[_0xe418('0x21')]=_0x1d4d87;if(_0x56958f['query'][_0xe418('0x4c')]){_0x426998['include']=[{'all':!![]}];}return db['Plugin']['findAll'](_0x426998);})[_0xe418('0x2a')](function(_0x367c77){_0x2a7f81['rows']=_0x367c77;return _0x2a7f81;})[_0xe418('0x2a')](respondWithFilteredResult(_0x40cda9,_0x426998))[_0xe418('0x4d')](handleError(_0x40cda9,null));};exports['show']=function(_0x4e3f7b,_0x5e15a5){var _0x466061={'raw':!![],'where':{'id':_0x4e3f7b[_0xe418('0x4e')]['id']}},_0x5ddd12={};_0x5ddd12[_0xe418('0x3a')]=_[_0xe418('0x34')](db[_0xe418('0x32')][_0xe418('0x33')]);_0x5ddd12[_0xe418('0x35')]=_[_0xe418('0x34')](_0x4e3f7b[_0xe418('0x35')]);_0x5ddd12[_0xe418('0x38')]=_[_0xe418('0x39')](_0x5ddd12[_0xe418('0x3a')],_0x5ddd12['query']);_0x466061[_0xe418('0x3b')]=_[_0xe418('0x39')](_0x5ddd12[_0xe418('0x3a')],qs['fields'](_0x4e3f7b[_0xe418('0x35')][_0xe418('0x3c')]));_0x466061['attributes']=_0x466061['attributes']['length']?_0x466061['attributes']:_0x5ddd12[_0xe418('0x3a')];if(_0x4e3f7b[_0xe418('0x35')][_0xe418('0x4c')]){_0x466061[_0xe418('0x4f')]=[{'all':!![]}];}_0x466061=_['merge']({},_0x466061,_0x4e3f7b[_0xe418('0x50')]);return db[_0xe418('0x32')][_0xe418('0x51')](_0x466061)['then'](handleEntityNotFound(_0x5e15a5,null))[_0xe418('0x2a')](respondWithResult(_0x5e15a5,null))[_0xe418('0x4d')](handleError(_0x5e15a5,null));};exports[_0xe418('0x52')]=function(_0x2a5ebf,_0x13a818,_0xd6839a){return db[_0xe418('0x32')][_0xe418('0x51')]({'where':{'id':_0x2a5ebf['params']['id']},'attributes':[_0xe418('0x30'),_0xe418('0x8')],'raw':!![]})['then'](handleEntityNotFound(_0x13a818,null))['then'](function(_0x4d3016){if(_0x4d3016){var _0x18158d=path['join'](config[_0xe418('0x53')],_0xe418('0x54'),util[_0xe418('0x55')](_0xe418('0x56'),path[_0xe418('0x57')](_0x4d3016['path'])));var _0x2f654a=fs[_0xe418('0x58')](_0x18158d);var _0x59d3ba=archiver(_0xe418('0x59'),{'zlib':{'level':0x9}});_0x59d3ba['on'](_0xe418('0x5a'),function(_0x1d9bfd){if(_0x1d9bfd['code']===_0xe418('0x5b')){logger[_0xe418('0x5c')](_0x1d9bfd);}else{throw new db[(_0xe418('0x5d'))][(_0xe418('0x5e'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');}});_0x59d3ba['on'](_0xe418('0x5c'),function(_0x60e06b){throw new db[(_0xe418('0x5d'))][(_0xe418('0x5e'))](_0xe418('0x5f'));});_0x59d3ba[_0xe418('0x60')](_0x2f654a);_0x59d3ba[_0xe418('0x61')](_0xe418('0x62'),{'cwd':path[_0xe418('0x63')](config[_0xe418('0x53')],'server/files/plugins',path[_0xe418('0x64')](_0x4d3016[_0xe418('0x8')])),'ignore':[path[_0xe418('0x63')](path[_0xe418('0x57')](_0x4d3016[_0xe418('0x8')]),'node_modules/**/*'),path[_0xe418('0x63')](path[_0xe418('0x57')](_0x4d3016['path']),'attachments/**/*')],'nodir':!![]})[_0xe418('0x65')]();_0x2f654a['on'](_0xe418('0x66'),function(){if(!fs[_0xe418('0x67')](_0x18158d)){throw new db[(_0xe418('0x5d'))][(_0xe418('0x5e'))](_0xe418('0x68'));}return _0x13a818[_0xe418('0x52')](_0x18158d,util[_0xe418('0x55')]('%s.zip',path[_0xe418('0x57')](_0x4d3016['path'])),function(_0x4a2925){if(_0x4a2925){throw new db['Sequelize']['Error'](_0xe418('0x69'));}fs[_0xe418('0x6a')](_0x18158d);logger['info'](_0xe418('0x6b'));logger[_0xe418('0x6c')](_0xe418('0x6d'));});});}return null;})[_0xe418('0x4d')](handleError(_0x13a818,null));};exports[_0xe418('0x6e')]=function(_0x26aa52,_0x6e435b,_0x175469){var _0x47c9de=path[_0xe418('0x57')](_0x26aa52[_0xe418('0x6f')]['filename'],path['extname'](_0x26aa52[_0xe418('0x6f')][_0xe418('0x70')]));var _0x526d09=path[_0xe418('0x63')](config['root'],_0xe418('0x54'),_0x26aa52[_0xe418('0x6f')]['filename']);var _0x5833ad=path[_0xe418('0x63')](config[_0xe418('0x53')],'server/files/plugins',_0x47c9de);logger[_0xe418('0x6c')](_0xe418('0x71'),_0x526d09);logger[_0xe418('0x6c')](_0xe418('0x72'),_0x5833ad);try{fs[_0xe418('0x73')](_0x526d09,parseInt('0777',0x8));extract(_0x526d09,{'dir':_0x5833ad},function(_0x27cbee){if(_0x27cbee){logger['error'](_0x27cbee);handleError(_0x27cbee,!![]);};var _0x5aad54=fs[_0xe418('0x74')](_0x5833ad);if(_0x5aad54[_0xe418('0x3d')]>0x1){removeReferences(_0x526d09,_0x5833ad);logger[_0xe418('0x5c')](_0xe418('0x75'));return _0x175469(new Error('Invalid\x20plugin\x20structure'));}var _0x4e8730=fs[_0xe418('0x76')](path[_0xe418('0x63')](_0x5833ad,_0x5aad54[0x0]));if(_0x4e8730[_0xe418('0x77')]()){removeReferences(_0x526d09,_0x5833ad);logger['error'](_0xe418('0x75'));return _0x175469(new Error('Invalid\x20plugin\x20structure'));}if(_0x4e8730[_0xe418('0x78')]()){var _0x17449d=fs['readdirSync'](path[_0xe418('0x63')](_0x5833ad,_0x5aad54[0x0]));if(_0x17449d[_0xe418('0x3d')]===0x0){removeReferences(_0x526d09,_0x5833ad);logger['error']('Invalid\x20plugin\x20structure');return _0x175469(new Error(_0xe418('0x75')));}var _0x1ec9b3=_0x17449d[_0xe418('0x79')](function(_0xd9ac21){return _0xd9ac21===_0xe418('0x7a');});if(!_0x1ec9b3){return _0x175469(new Error(_0xe418('0x7b')));}var _0x446cba=fs['readFileSync'](path[_0xe418('0x63')](_0x5833ad,_0x5aad54[0x0],_0xe418('0x7a')));var _0x409e8f=JSON[_0xe418('0x7c')](_0x446cba);if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x30')]){return _0x175469(new Error('Invalid\x20manifest:\x20name\x20missing'));}if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x48')]){return _0x175469(new Error('Invalid\x20manifest:\x20type\x20missing'));}if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x7e')]){return _0x175469(new Error(_0xe418('0x7f')));}if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x80')]){return _0x175469(new Error('Invalid\x20manifest:\x20parameters\x20missing'));}if(_0x409e8f[_0xe418('0x48')]==='html'){if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x80')][_0xe418('0x81')]){return _0x175469(new Error(_0xe418('0x82')));}if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x80')]['views'][_0xe418('0x83')]&&_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x80')]['views']['agent']){return _0x175469(new Error('Invalid\x20manifest:\x20no\x20view\x20specified'));}}else if(_0x409e8f[_0xe418('0x48')]===_0xe418('0x84')){if('undefined'==typeof _0x409e8f[_0xe418('0x80')]['scriptName']){return _0x175469(new Error(_0xe418('0x85')));}if(_0xe418('0x7d')==typeof _0x409e8f[_0xe418('0x80')][_0xe418('0x86')]){return _0x175469(new Error(_0xe418('0x87')));}}else{return _0x175469(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x850f74=_0x409e8f['name'];var _0x9140b1=_0x409e8f[_0xe418('0x88')];var _0x23be95=_0x409e8f[_0xe418('0x48')];var _0x2f2385=_0x409e8f[_0xe418('0x89')]?_0x409e8f[_0xe418('0x89')]:_0xe418('0x8a');var _0x49d5af=_0x409e8f['icon']?_0x409e8f[_0xe418('0x8b')]:_0xe418('0x8c');var _0x9bb414='';var _0x301e44='';var _0x5a1823='';var _0x236272='';var _0x5639b1=_0x409e8f[_0xe418('0x7e')];if(_0x23be95===_0xe418('0x8d')){if('undefined'!=typeof _0x409e8f[_0xe418('0x80')][_0xe418('0x81')]['admin']){var _0x1d3479=_0x409e8f[_0xe418('0x80')][_0xe418('0x81')][_0xe418('0x83')];if(!/^(f|ht)tps?:\/\//i['test'](_0x1d3479)){_0x9bb414=path['join']('plugins',_0x47c9de,_0x5aad54[0x0],_0x1d3479);}else{_0x9bb414=_0x1d3479;}}else{logger[_0xe418('0x6c')](_0xe418('0x8e'));}if(_0xe418('0x7d')!=typeof _0x409e8f['parameters'][_0xe418('0x81')]['agent']){var _0x1f6bd7=_0x409e8f[_0xe418('0x80')][_0xe418('0x81')][_0xe418('0x8f')];if(!/^(f|ht)tps?:\/\//i[_0xe418('0x90')](_0x1f6bd7)){_0x301e44=path[_0xe418('0x63')]('plugins',_0x47c9de,_0x5aad54[0x0],_0x1f6bd7);}else{_0x301e44=_0x1f6bd7;}}else{logger['info'](_0xe418('0x91'));}}else if(_0x23be95==='script'){_0x5a1823=_0x409e8f[_0xe418('0x80')][_0xe418('0x92')];_0x236272=_0x409e8f[_0xe418('0x80')][_0xe418('0x86')];if(_0xe418('0x7d')!=typeof _0x409e8f[_0xe418('0x80')][_0xe418('0x81')]){if(_0xe418('0x7d')!=typeof _0x409e8f[_0xe418('0x80')][_0xe418('0x81')][_0xe418('0x83')]){var _0x1d3479=_0x409e8f[_0xe418('0x80')]['views']['admin'];if(!/^(f|ht)tps?:\/\//i[_0xe418('0x90')](_0x1d3479)){_0x9bb414=path[_0xe418('0x63')](_0xe418('0x93'),_0x47c9de,_0x5aad54[0x0],_0x1d3479);}else{_0x9bb414=_0x1d3479;}}if(_0xe418('0x7d')!=typeof _0x409e8f['parameters']['views'][_0xe418('0x8f')]){var _0x1f6bd7=_0x409e8f[_0xe418('0x80')]['views'][_0xe418('0x8f')];if(!/^(f|ht)tps?:\/\//i[_0xe418('0x90')](_0x1f6bd7)){_0x301e44=path[_0xe418('0x63')](_0xe418('0x93'),_0x47c9de,_0x5aad54[0x0],_0x1f6bd7);}else{_0x301e44=_0x1f6bd7;}}}}var _0x2440a6={'name':_0x850f74,'description':_0x9140b1,'path':path[_0xe418('0x63')](_0x47c9de,_0x5aad54[0x0]),'type':_0x23be95,'sidebar':_0x2f2385,'icon':_0x49d5af,'adminUrl':_0x9bb414,'agentUrl':_0x301e44,'scriptName':_0x5a1823,'scriptPath':_0x236272,'version':_0x5639b1};removeReferences(_0x526d09,null);return db['Plugin'][_0xe418('0x94')](_0x2440a6)[_0xe418('0x2a')](function(_0x2774a6){var _0x44ef73={'role':_0x26aa52[_0xe418('0x95')][_0xe418('0x96')],'userProfileId':_0x26aa52['body']['userProfileId']};if(!_0x44ef73)throw new Error(_0xe418('0x97'));if(_0x44ef73[_0xe418('0x96')]===_0xe418('0x98')){var _0x32e5d4=_0x2774a6['get']({'plain':!![]});return db[_0xe418('0x99')]['find']({'where':{'name':'Plugins','userProfileId':_0x44ef73[_0xe418('0x9a')]},'raw':!![]})[_0xe418('0x2a')](function(_0x2fa2d3){if(_0x2fa2d3&&_0x2fa2d3[_0xe418('0x9b')]===0x0){return db[_0xe418('0x2d')]['create']({'name':_0x32e5d4['name'],'resourceId':_0x32e5d4['id'],'type':_0x2fa2d3[_0xe418('0x30')],'sectionId':_0x2fa2d3['id']},{})[_0xe418('0x2a')](function(){return _0x2774a6;});}else{return _0x2774a6;}})['catch'](function(_0x3f5bde){logger[_0xe418('0x5c')](_0xe418('0x9c'),_0x3f5bde);throw _0x3f5bde;});}return _0x2774a6;})[_0xe418('0x2a')](respondWithResult(_0x6e435b,null))[_0xe418('0x4d')](handleError(_0x6e435b,null));}});}catch(_0x3b7c80){_0x6e435b[_0xe418('0x1f')](0x1f4)['send'](_0x3b7c80);}};function removeReferences(_0x1e8b6c,_0x11e803){try{if(_0x1e8b6c){fs['unlinkSync'](_0x1e8b6c);logger[_0xe418('0x6c')](_0xe418('0x9d'));}if(_0x11e803){rimraf(_0x11e803,function(){});logger[_0xe418('0x6c')](_0xe418('0x9e'));}}catch(_0x43df8d){logger[_0xe418('0x5c')](_0x43df8d);}}exports[_0xe418('0x29')]=function(_0x146acb,_0x21a971,_0x117296){return db[_0xe418('0x32')]['find']({'where':{'id':_0x146acb[_0xe418('0x4e')]['id']}})[_0xe418('0x2a')](handleEntityNotFound(_0x21a971,null))[_0xe418('0x2a')](saveUpdates(_0x146acb[_0xe418('0x95')],null))['then'](respondWithResult(_0x21a971,null))[_0xe418('0x4d')](handleError(_0x21a971,null));};exports[_0xe418('0x9f')]=function(_0x493b0e,_0x2a0f1c,_0x6701da){return db[_0xe418('0x32')][_0xe418('0x51')]({'where':{'id':_0x493b0e[_0xe418('0x4e')]['id']}})[_0xe418('0x2a')](function(_0xfb26a3){if(_0xfb26a3){return _0xfb26a3[_0xe418('0x2e')]();}})[_0xe418('0x2a')](function(_0x440dc9){rimraf(path[_0xe418('0x63')](config[_0xe418('0x53')],_0xe418('0x54'),path[_0xe418('0x64')](_0x440dc9[_0xe418('0x8')])),function(){});return _0x440dc9;})[_0xe418('0x2a')](handleEntityNotFound(_0x2a0f1c,null))[_0xe418('0x2a')](respondWithStatusCode(_0x2a0f1c,null))[_0xe418('0x4d')](handleError(_0x2a0f1c,null));};exports[_0xe418('0xa0')]=function(_0x281a3d,_0x34d54f,_0x2bc190){return BPromise[_0xe418('0xa1')]()[_0xe418('0x2a')](function(){if(!_0x281a3d[_0xe418('0x35')][_0xe418('0x8')]){throw new Error(_0xe418('0xa2'));}if(!_0x281a3d[_0xe418('0x35')][_0xe418('0xa3')]){throw new Error(_0xe418('0xa4'));}var _0x189b35=_0x281a3d['query'][_0xe418('0xa5')]?_0x281a3d[_0xe418('0x35')]['hostname']+':'+_0x281a3d['query'][_0xe418('0xa3')]:_0xe418('0xa6')+_0x281a3d[_0xe418('0x35')][_0xe418('0xa3')];var _0x4f64f1=_0x281a3d[_0xe418('0x35')]['json']?_0x281a3d[_0xe418('0x35')][_0xe418('0x26')]:!![];var _0x3f10d5=_0x281a3d[_0xe418('0x35')][_0xe418('0xa7')]?_0x281a3d[_0xe418('0x35')][_0xe418('0xa7')]:null;var _0x510c5b={'method':_0x281a3d[_0xe418('0xa8')],'uri':util[_0xe418('0x55')]('%s%s',_0x189b35,_0x281a3d[_0xe418('0x35')][_0xe418('0x8')]),'json':_0x4f64f1,'resolveWithFullResponse':!![],'encoding':_0x3f10d5,'qs':_0x281a3d[_0xe418('0x35')]};if(_0x281a3d['headers']){_0x510c5b[_0xe418('0xa9')]=_0x281a3d['headers'];if(_0x510c5b[_0xe418('0xa9')][_0xe418('0xaa')]){delete _0x510c5b[_0xe418('0xa9')][_0xe418('0xaa')];}}return rp(_0x510c5b);})[_0xe418('0x2a')](function(_0x19fd70){if(_0x19fd70){_0x34d54f[_0xe418('0x24')](_0x19fd70[_0xe418('0xa9')]);logger[_0xe418('0x6c')](_0x19fd70['body']);if(_['endsWith'](_0x281a3d[_0xe418('0x35')][_0xe418('0x8')],_0xe418('0x52'))&&_0x19fd70[_0xe418('0xab')]==0x1f4){return _0x34d54f[_0xe418('0x1e')](_0x19fd70[_0xe418('0xab')]);}else{return _0x34d54f[_0xe418('0x1f')](_0x19fd70['statusCode'])[_0xe418('0x31')](_0x19fd70['body']);}}else{return _0x34d54f[_0xe418('0x1e')](0xc8);}})[_0xe418('0x4d')](handleError(_0x34d54f,null));};exports[_0xe418('0xac')]=function(_0xf11f2a,_0x18fc6b,_0x67757e){return BPromise[_0xe418('0xa1')]()[_0xe418('0x2a')](function(){if(!_0xf11f2a[_0xe418('0x35')]['path']){throw new Error(_0xe418('0xa2'));}if(!_0xf11f2a[_0xe418('0x35')]['port']){throw new Error(_0xe418('0xa4'));}var _0x22e003=_0xf11f2a['query']['hostname']?_0xf11f2a[_0xe418('0x35')][_0xe418('0xa5')]+':'+_0xf11f2a['query'][_0xe418('0xa3')]:_0xe418('0xa6')+_0xf11f2a[_0xe418('0x35')][_0xe418('0xa3')];var _0x144425=_0xf11f2a['query']['json']?_0xf11f2a[_0xe418('0x35')][_0xe418('0x26')]:!![];var _0x22e434=_0xf11f2a['query'][_0xe418('0xa7')]?_0xf11f2a['query'][_0xe418('0xa7')]:null;var _0x174075={'method':_0xf11f2a[_0xe418('0xa8')],'uri':util['format'](_0xe418('0xad'),_0x22e003,_0xf11f2a[_0xe418('0x35')][_0xe418('0x8')]),'json':_0x144425,'resolveWithFullResponse':!![],'encoding':_0x22e434,'body':_0xf11f2a[_0xe418('0x95')]};if(_0xf11f2a['headers']){_0x174075[_0xe418('0xa9')]=_0xf11f2a[_0xe418('0xa9')];if(_0x174075['headers']['content-length']){delete _0x174075[_0xe418('0xa9')][_0xe418('0xaa')];}}return rp(_0x174075);})[_0xe418('0x2a')](function(_0x198ab5){if(_0x198ab5){_0x18fc6b[_0xe418('0x24')](_0x198ab5[_0xe418('0xa9')]);logger[_0xe418('0x6c')](_0x198ab5[_0xe418('0x95')]);return _0x18fc6b[_0xe418('0x1f')](_0x198ab5[_0xe418('0xab')])[_0xe418('0x31')](_0x198ab5[_0xe418('0x95')]);}else{return _0x18fc6b[_0xe418('0x1e')](0xc8);}})[_0xe418('0x4d')](handleError(_0x18fc6b,null));};