Built motion from commit ce03bc3d.|2.5.39
[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 _0x910a=['Plugins','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','delete','webhookGet','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','port','encoding','headers','content-length','content-type','endsWith','statusCode','method','%s%s','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','papaparse','extract-zip','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','sendStatus','status','end','limit','undefined','count','offset','set','json','apply','reject','save','update','then','destroy','get','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','keys','query','filters','attributes','intersection','fields','length','sort','pick','filter','where','merge','VIRTUAL','options','Plugin','includeAll','include','findAll','rows','catch','show','params','find','download','join','root','format','%s.zip','basename','createWriteStream','zip','warning','code','ENOENT','Error\x20while\x20generating\x20the\x20zip\x20archive','Sequelize','Error','pipe','glob','**/*','server/files/plugins','dirname','node_modules/**/*','attachments/**/*','finalize','close','existsSync','Plugin\x20not\x20found','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','Temporary\x20file\x20removed','upload','file','filename','extname','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','chmodSync','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isDirectory','some','manifest.json','Plugin\x20manifest\x20missing','readFileSync','parse','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','parameters','Invalid\x20manifest:\x20parameters\x20missing','html','views','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','description','sidebar','icon','plugins','Warning:\x20admin\x20view\x20not\x20specified','test','create','body','role','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection'];(function(_0xc9be0f,_0x3a168e){var _0x2781ba=function(_0x310241){while(--_0x310241){_0xc9be0f['push'](_0xc9be0f['shift']());}};_0x2781ba(++_0x3a168e);}(_0x910a,0x165));var _0xa910=function(_0xa30fe0,_0x32faf3){_0xa30fe0=_0xa30fe0-0x0;var _0x299088=_0x910a[_0xa30fe0];return _0x299088;};'use strict';var emlformat=require(_0xa910('0x0'));var rimraf=require(_0xa910('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa910('0x2'));var rp=require(_0xa910('0x3'));var moment=require('moment');var BPromise=require(_0xa910('0x4'));var Mustache=require(_0xa910('0x5'));var util=require(_0xa910('0x6'));var path=require(_0xa910('0x7'));var sox=require(_0xa910('0x8'));var csv=require(_0xa910('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa910('0xa'));var squel=require(_0xa910('0xb'));var crypto=require(_0xa910('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa910('0x9'));var querystring=require('querystring');var Papa=require(_0xa910('0xd'));var extract=require(_0xa910('0xe'));var rimraf=require('rimraf');var archiver=require('archiver');var Redis=require(_0xa910('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xa910('0x10'));var as=require(_0xa910('0x11'));var hardwareService=require(_0xa910('0x12'));var logger=require(_0xa910('0x13'))(_0xa910('0x14'));var utils=require(_0xa910('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xa910('0x16'));var db=require(_0xa910('0x17'))['db'];config[_0xa910('0x18')]=_['defaults'](config[_0xa910('0x18')],{'host':_0xa910('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xa910('0x18')]));require('./plugin.socket')['register'](socket);function respondWithStatusCode(_0x11f6f5,_0x47a7a0){_0x47a7a0=_0x47a7a0||0xcc;return function(_0x19be65){if(_0x19be65){return _0x11f6f5[_0xa910('0x1a')](_0x47a7a0);}return _0x11f6f5[_0xa910('0x1b')](_0x47a7a0)[_0xa910('0x1c')]();};}function respondWithResult(_0x44172a,_0x4f46a8){_0x4f46a8=_0x4f46a8||0xc8;return function(_0x1374ec){if(_0x1374ec){return _0x44172a[_0xa910('0x1b')](_0x4f46a8)['json'](_0x1374ec);}};}function respondWithFilteredResult(_0x4cc1bb,_0x1f5b3e){return function(_0x113573){if(_0x113573){var _0x332e7f=typeof _0x1f5b3e['offset']==='undefined'&&typeof _0x1f5b3e[_0xa910('0x1d')]===_0xa910('0x1e');var _0x5f1839=_0x113573[_0xa910('0x1f')];var _0x1ab551=_0x332e7f?0x0:_0x1f5b3e[_0xa910('0x20')];var _0x4025ea=_0x332e7f?_0x113573[_0xa910('0x1f')]:_0x1f5b3e[_0xa910('0x20')]+_0x1f5b3e[_0xa910('0x1d')];var _0xc331cf;if(_0x4025ea>=_0x5f1839){_0x4025ea=_0x5f1839;_0xc331cf=0xc8;}else{_0xc331cf=0xce;}_0x4cc1bb['status'](_0xc331cf);return _0x4cc1bb[_0xa910('0x21')]('Content-Range',_0x1ab551+'-'+_0x4025ea+'/'+_0x5f1839)[_0xa910('0x22')](_0x113573);}return null;};}function patchUpdates(_0x87e06d){return function(_0x59fb2a){try{jsonpatch[_0xa910('0x23')](_0x59fb2a,_0x87e06d,!![]);}catch(_0x410f9f){return BPromise[_0xa910('0x24')](_0x410f9f);}return _0x59fb2a[_0xa910('0x25')]();};}function saveUpdates(_0x355778,_0x9f576c){return function(_0x2dfd4c){if(_0x2dfd4c){return _0x2dfd4c[_0xa910('0x26')](_0x355778)[_0xa910('0x27')](function(_0x4a2b5a){return _0x4a2b5a;});}return null;};}function removeEntity(_0x31457d,_0x537906){return function(_0x29eef3){if(_0x29eef3){return _0x29eef3[_0xa910('0x28')]()[_0xa910('0x27')](function(){var _0x617c2b=_0x29eef3[_0xa910('0x29')]({'plain':!![]});var _0x879df='Plugins';return db[_0xa910('0x2a')][_0xa910('0x28')]({'where':{'type':_0x879df,'resourceId':_0x617c2b['id']}})[_0xa910('0x27')](function(){return _0x29eef3;});})[_0xa910('0x27')](function(){_0x31457d[_0xa910('0x1b')](0xcc)[_0xa910('0x1c')]();});}};}function handleEntityNotFound(_0x3cf1e1,_0x3f5891){return function(_0x285036){if(!_0x285036){_0x3cf1e1[_0xa910('0x1a')](0x194);}return _0x285036;};}function handleError(_0x1d68a4,_0x396199){_0x396199=_0x396199||0x1f4;return function(_0x4a2797){logger[_0xa910('0x2b')](_0x4a2797[_0xa910('0x2c')]);if(_0x4a2797[_0xa910('0x2d')]){delete _0x4a2797[_0xa910('0x2d')];}_0x1d68a4[_0xa910('0x1b')](_0x396199)[_0xa910('0x2e')](_0x4a2797);};}exports[_0xa910('0x2f')]=function(_0x106001,_0x55c5a3){var _0x1eadfc={},_0x2ae6ae={},_0x54bd85={'count':0x0,'rows':[]};var _0x339952=_[_0xa910('0x30')](db['Plugin'][_0xa910('0x31')],function(_0x12dc3d){return{'name':_0x12dc3d[_0xa910('0x32')],'type':_0x12dc3d[_0xa910('0x33')]['key']};});_0x2ae6ae[_0xa910('0x34')]=_[_0xa910('0x30')](_0x339952,_0xa910('0x2d'));_0x2ae6ae['query']=_[_0xa910('0x35')](_0x106001[_0xa910('0x36')]);_0x2ae6ae[_0xa910('0x37')]=_['intersection'](_0x2ae6ae[_0xa910('0x34')],_0x2ae6ae['query']);_0x1eadfc[_0xa910('0x38')]=_[_0xa910('0x39')](_0x2ae6ae[_0xa910('0x34')],qs[_0xa910('0x3a')](_0x106001[_0xa910('0x36')][_0xa910('0x3a')]));_0x1eadfc[_0xa910('0x38')]=_0x1eadfc[_0xa910('0x38')][_0xa910('0x3b')]?_0x1eadfc[_0xa910('0x38')]:_0x2ae6ae[_0xa910('0x34')];if(!_0x106001[_0xa910('0x36')]['hasOwnProperty']('nolimit')){_0x1eadfc[_0xa910('0x1d')]=qs[_0xa910('0x1d')](_0x106001[_0xa910('0x36')]['limit']);_0x1eadfc[_0xa910('0x20')]=qs[_0xa910('0x20')](_0x106001['query'][_0xa910('0x20')]);}_0x1eadfc['order']=qs[_0xa910('0x3c')](_0x106001['query']['sort']);_0x1eadfc['where']=qs[_0xa910('0x37')](_[_0xa910('0x3d')](_0x106001[_0xa910('0x36')],_0x2ae6ae[_0xa910('0x37')]),_0x339952);if(_0x106001[_0xa910('0x36')][_0xa910('0x3e')]){_0x1eadfc[_0xa910('0x3f')]=_[_0xa910('0x40')](_0x1eadfc[_0xa910('0x3f')],{'$or':_[_0xa910('0x30')](_0x339952,function(_0x522d7c){if(_0x522d7c[_0xa910('0x33')]!==_0xa910('0x41')){var _0x3f709d={};_0x3f709d[_0x522d7c[_0xa910('0x2d')]]={'$like':'%'+_0x106001[_0xa910('0x36')][_0xa910('0x3e')]+'%'};return _0x3f709d;}})});}_0x1eadfc=_['merge']({},_0x1eadfc,_0x106001[_0xa910('0x42')]);var _0x2cfd8e={'where':_0x1eadfc[_0xa910('0x3f')]};return db[_0xa910('0x43')][_0xa910('0x1f')](_0x2cfd8e)[_0xa910('0x27')](function(_0x39120f){_0x54bd85[_0xa910('0x1f')]=_0x39120f;if(_0x106001[_0xa910('0x36')][_0xa910('0x44')]){_0x1eadfc[_0xa910('0x45')]=[{'all':!![]}];}return db['Plugin'][_0xa910('0x46')](_0x1eadfc);})[_0xa910('0x27')](function(_0x1832cc){_0x54bd85[_0xa910('0x47')]=_0x1832cc;return _0x54bd85;})[_0xa910('0x27')](respondWithFilteredResult(_0x55c5a3,_0x1eadfc))[_0xa910('0x48')](handleError(_0x55c5a3,null));};exports[_0xa910('0x49')]=function(_0x4d51f5,_0x4271b1){var _0x504f96={'raw':!![],'where':{'id':_0x4d51f5[_0xa910('0x4a')]['id']}},_0x16d35c={};_0x16d35c[_0xa910('0x34')]=_[_0xa910('0x35')](db['Plugin']['rawAttributes']);_0x16d35c['query']=_[_0xa910('0x35')](_0x4d51f5[_0xa910('0x36')]);_0x16d35c['filters']=_['intersection'](_0x16d35c[_0xa910('0x34')],_0x16d35c[_0xa910('0x36')]);_0x504f96['attributes']=_[_0xa910('0x39')](_0x16d35c[_0xa910('0x34')],qs['fields'](_0x4d51f5[_0xa910('0x36')][_0xa910('0x3a')]));_0x504f96[_0xa910('0x38')]=_0x504f96[_0xa910('0x38')][_0xa910('0x3b')]?_0x504f96[_0xa910('0x38')]:_0x16d35c[_0xa910('0x34')];if(_0x4d51f5[_0xa910('0x36')]['includeAll']){_0x504f96[_0xa910('0x45')]=[{'all':!![]}];}_0x504f96=_[_0xa910('0x40')]({},_0x504f96,_0x4d51f5[_0xa910('0x42')]);return db[_0xa910('0x43')][_0xa910('0x4b')](_0x504f96)['then'](handleEntityNotFound(_0x4271b1,null))['then'](respondWithResult(_0x4271b1,null))['catch'](handleError(_0x4271b1,null));};exports[_0xa910('0x4c')]=function(_0x5b66c8,_0x1bd0d6,_0x5bae97){return db['Plugin']['find']({'where':{'id':_0x5b66c8['params']['id']},'attributes':['name',_0xa910('0x7')],'raw':!![]})[_0xa910('0x27')](handleEntityNotFound(_0x1bd0d6,null))['then'](function(_0x4b9245){if(_0x4b9245){var _0xac03c2=path[_0xa910('0x4d')](config[_0xa910('0x4e')],'server/files/plugins',util[_0xa910('0x4f')](_0xa910('0x50'),path[_0xa910('0x51')](_0x4b9245['path'])));var _0x5744ca=fs[_0xa910('0x52')](_0xac03c2);var _0x561928=archiver(_0xa910('0x53'),{'zlib':{'level':0x9}});_0x561928['on'](_0xa910('0x54'),function(_0x5c95d0){if(_0x5c95d0[_0xa910('0x55')]===_0xa910('0x56')){logger[_0xa910('0x2b')](_0x5c95d0);}else{throw new db['Sequelize']['Error'](_0xa910('0x57'));}});_0x561928['on']('error',function(_0x55b811){throw new db[(_0xa910('0x58'))][(_0xa910('0x59'))](_0xa910('0x57'));});_0x561928[_0xa910('0x5a')](_0x5744ca);_0x561928[_0xa910('0x5b')](_0xa910('0x5c'),{'cwd':path[_0xa910('0x4d')](config[_0xa910('0x4e')],_0xa910('0x5d'),path[_0xa910('0x5e')](_0x4b9245[_0xa910('0x7')])),'ignore':[path['join'](path[_0xa910('0x51')](_0x4b9245['path']),_0xa910('0x5f')),path['join'](path[_0xa910('0x51')](_0x4b9245['path']),_0xa910('0x60'))],'nodir':!![]})[_0xa910('0x61')]();_0x5744ca['on'](_0xa910('0x62'),function(){if(!fs[_0xa910('0x63')](_0xac03c2)){throw new db[(_0xa910('0x58'))][(_0xa910('0x59'))](_0xa910('0x64'));}return _0x1bd0d6[_0xa910('0x4c')](_0xac03c2,util[_0xa910('0x4f')](_0xa910('0x50'),path['basename'](_0x4b9245['path'])),function(_0x14bb30){if(_0x14bb30){throw new db[(_0xa910('0x58'))][(_0xa910('0x59'))](_0xa910('0x65'));}fs[_0xa910('0x66')](_0xac03c2);logger[_0xa910('0x67')](_0xa910('0x68'));logger[_0xa910('0x67')](_0xa910('0x69'));});});}return null;})[_0xa910('0x48')](handleError(_0x1bd0d6,null));};exports[_0xa910('0x6a')]=function(_0x4aa67f,_0x57b414,_0x1491f2){var _0x236f8c=path['basename'](_0x4aa67f[_0xa910('0x6b')][_0xa910('0x6c')],path[_0xa910('0x6d')](_0x4aa67f[_0xa910('0x6b')][_0xa910('0x6c')]));var _0x3abfb9=path[_0xa910('0x4d')](config[_0xa910('0x4e')],_0xa910('0x5d'),_0x4aa67f[_0xa910('0x6b')]['filename']);var _0x2dff91=path[_0xa910('0x4d')](config[_0xa910('0x4e')],_0xa910('0x5d'),_0x236f8c);logger['info'](_0xa910('0x6e'),_0x3abfb9);logger[_0xa910('0x67')](_0xa910('0x6f'),_0x2dff91);try{fs[_0xa910('0x70')](_0x3abfb9,parseInt('0777',0x8));extract(_0x3abfb9,{'dir':_0x2dff91},function(_0x108c78){if(_0x108c78){logger[_0xa910('0x2b')](_0x108c78);handleError(_0x108c78,!![]);};var _0x53a720=fs[_0xa910('0x71')](_0x2dff91);if(_0x53a720[_0xa910('0x3b')]>0x1){removeReferences(_0x3abfb9,_0x2dff91);logger[_0xa910('0x2b')](_0xa910('0x72'));return _0x1491f2(new Error(_0xa910('0x72')));}var _0x2af9fe=fs[_0xa910('0x73')](path[_0xa910('0x4d')](_0x2dff91,_0x53a720[0x0]));if(_0x2af9fe['isFile']()){removeReferences(_0x3abfb9,_0x2dff91);logger[_0xa910('0x2b')](_0xa910('0x72'));return _0x1491f2(new Error(_0xa910('0x72')));}if(_0x2af9fe[_0xa910('0x74')]()){var _0x423fba=fs[_0xa910('0x71')](path['join'](_0x2dff91,_0x53a720[0x0]));if(_0x423fba['length']===0x0){removeReferences(_0x3abfb9,_0x2dff91);logger[_0xa910('0x2b')](_0xa910('0x72'));return _0x1491f2(new Error(_0xa910('0x72')));}var _0x2557ad=_0x423fba[_0xa910('0x75')](function(_0x290ac8){return _0x290ac8===_0xa910('0x76');});if(!_0x2557ad){return _0x1491f2(new Error(_0xa910('0x77')));}var _0x13a9ab=fs[_0xa910('0x78')](path['join'](_0x2dff91,_0x53a720[0x0],_0xa910('0x76')));var _0x362b55=JSON[_0xa910('0x79')](_0x13a9ab);if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x2d')]){return _0x1491f2(new Error(_0xa910('0x7a')));}if(_0xa910('0x1e')==typeof _0x362b55['type']){return _0x1491f2(new Error(_0xa910('0x7b')));}if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7c')]){return _0x1491f2(new Error(_0xa910('0x7d')));}if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7e')]){return _0x1491f2(new Error(_0xa910('0x7f')));}if(_0x362b55[_0xa910('0x33')]===_0xa910('0x80')){if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x81')]){return _0x1491f2(new Error('Invalid\x20manifest:\x20views\x20missing'));}if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x82')]&&_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x83')]){return _0x1491f2(new Error(_0xa910('0x84')));}}else if(_0x362b55[_0xa910('0x33')]==='script'){if(_0xa910('0x1e')==typeof _0x362b55['parameters'][_0xa910('0x85')]){return _0x1491f2(new Error(_0xa910('0x86')));}if(_0xa910('0x1e')==typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x87')]){return _0x1491f2(new Error(_0xa910('0x88')));}}else{return _0x1491f2(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x58938e=_0x362b55[_0xa910('0x2d')];var _0x2ea417=_0x362b55[_0xa910('0x89')];var _0x3a72cb=_0x362b55[_0xa910('0x33')];var _0x483c7b=_0x362b55[_0xa910('0x8a')]?_0x362b55[_0xa910('0x8a')]:'always';var _0x3998aa=_0x362b55[_0xa910('0x8b')]?_0x362b55['icon']:'icon-apps';var _0x7bd809='';var _0x3947f0='';var _0x31f552='';var _0x1c1f47='';var _0x1e1ea0=_0x362b55['version'];if(_0x3a72cb===_0xa910('0x80')){if(_0xa910('0x1e')!=typeof _0x362b55[_0xa910('0x7e')]['views'][_0xa910('0x82')]){var _0x4f0080=_0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x82')];if(!/^(f|ht)tps?:\/\//i['test'](_0x4f0080)){_0x7bd809=path[_0xa910('0x4d')](_0xa910('0x8c'),_0x236f8c,_0x53a720[0x0],_0x4f0080);}else{_0x7bd809=_0x4f0080;}}else{logger[_0xa910('0x67')](_0xa910('0x8d'));}if(_0xa910('0x1e')!=typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x83')]){var _0x2b658d=_0x362b55[_0xa910('0x7e')][_0xa910('0x81')]['agent'];if(!/^(f|ht)tps?:\/\//i[_0xa910('0x8e')](_0x2b658d)){_0x3947f0=path[_0xa910('0x4d')]('plugins',_0x236f8c,_0x53a720[0x0],_0x2b658d);}else{_0x3947f0=_0x2b658d;}}else{logger['info']('Warning:\x20agent\x20view\x20not\x20specified');}}else if(_0x3a72cb==='script'){_0x31f552=_0x362b55['parameters'][_0xa910('0x85')];_0x1c1f47=_0x362b55[_0xa910('0x7e')][_0xa910('0x87')];if(_0xa910('0x1e')!=typeof _0x362b55['parameters'][_0xa910('0x81')]){if(_0xa910('0x1e')!=typeof _0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x82')]){var _0x4f0080=_0x362b55[_0xa910('0x7e')]['views'][_0xa910('0x82')];if(!/^(f|ht)tps?:\/\//i[_0xa910('0x8e')](_0x4f0080)){_0x7bd809=path[_0xa910('0x4d')](_0xa910('0x8c'),_0x236f8c,_0x53a720[0x0],_0x4f0080);}else{_0x7bd809=_0x4f0080;}}if(_0xa910('0x1e')!=typeof _0x362b55['parameters'][_0xa910('0x81')][_0xa910('0x83')]){var _0x2b658d=_0x362b55[_0xa910('0x7e')][_0xa910('0x81')][_0xa910('0x83')];if(!/^(f|ht)tps?:\/\//i[_0xa910('0x8e')](_0x2b658d)){_0x3947f0=path[_0xa910('0x4d')]('plugins',_0x236f8c,_0x53a720[0x0],_0x2b658d);}else{_0x3947f0=_0x2b658d;}}}}var _0x4bdc28={'name':_0x58938e,'description':_0x2ea417,'path':path[_0xa910('0x4d')](_0x236f8c,_0x53a720[0x0]),'type':_0x3a72cb,'sidebar':_0x483c7b,'icon':_0x3998aa,'adminUrl':_0x7bd809,'agentUrl':_0x3947f0,'scriptName':_0x31f552,'scriptPath':_0x1c1f47,'version':_0x1e1ea0};removeReferences(_0x3abfb9,null);return db[_0xa910('0x43')][_0xa910('0x8f')](_0x4bdc28)['then'](function(_0x40fab4){var _0x1660bc={'role':_0x4aa67f[_0xa910('0x90')][_0xa910('0x91')],'userProfileId':_0x4aa67f[_0xa910('0x90')][_0xa910('0x92')]};if(!_0x1660bc)throw new Error(_0xa910('0x93'));if(_0x1660bc[_0xa910('0x91')]===_0xa910('0x94')){var _0x2c5bd1=_0x40fab4[_0xa910('0x29')]({'plain':!![]});return db[_0xa910('0x95')][_0xa910('0x4b')]({'where':{'name':_0xa910('0x96'),'userProfileId':_0x1660bc[_0xa910('0x92')]},'raw':!![]})['then'](function(_0x1e5f29){if(_0x1e5f29&&_0x1e5f29[_0xa910('0x97')]===0x0){return db[_0xa910('0x2a')][_0xa910('0x8f')]({'name':_0x2c5bd1['name'],'resourceId':_0x2c5bd1['id'],'type':_0x1e5f29['name'],'sectionId':_0x1e5f29['id']},{})[_0xa910('0x27')](function(){return _0x40fab4;});}else{return _0x40fab4;}})[_0xa910('0x48')](function(_0x5b7866){logger[_0xa910('0x2b')](_0xa910('0x98'),_0x5b7866);throw _0x5b7866;});}return _0x40fab4;})[_0xa910('0x27')](respondWithResult(_0x57b414,null))['catch'](handleError(_0x57b414,null));}});}catch(_0x42b98f){_0x57b414[_0xa910('0x1b')](0x1f4)['send'](_0x42b98f);}};function removeReferences(_0x348c07,_0x2a2ea9){try{if(_0x348c07){fs[_0xa910('0x66')](_0x348c07);logger[_0xa910('0x67')]('Zip\x20archive\x20removed');}if(_0x2a2ea9){rimraf(_0x2a2ea9,function(){});logger[_0xa910('0x67')]('Extracted\x20folder\x20removed');}}catch(_0x3f6352){logger['error'](_0x3f6352);}}exports['update']=function(_0x17dc74,_0x3a7173,_0x2b2992){return db[_0xa910('0x43')][_0xa910('0x4b')]({'where':{'id':_0x17dc74['params']['id']}})[_0xa910('0x27')](handleEntityNotFound(_0x3a7173,null))[_0xa910('0x27')](saveUpdates(_0x17dc74[_0xa910('0x90')],null))[_0xa910('0x27')](respondWithResult(_0x3a7173,null))[_0xa910('0x48')](handleError(_0x3a7173,null));};exports[_0xa910('0x99')]=function(_0x173148,_0x4c5157,_0x1d9629){return db[_0xa910('0x43')]['find']({'where':{'id':_0x173148[_0xa910('0x4a')]['id']}})[_0xa910('0x27')](function(_0x7f1307){if(_0x7f1307){return _0x7f1307[_0xa910('0x28')]();}})['then'](function(_0x409b69){rimraf(path[_0xa910('0x4d')](config[_0xa910('0x4e')],_0xa910('0x5d'),path[_0xa910('0x5e')](_0x409b69[_0xa910('0x7')])),function(){});return _0x409b69;})['then'](handleEntityNotFound(_0x4c5157,null))['then'](respondWithStatusCode(_0x4c5157,null))[_0xa910('0x48')](handleError(_0x4c5157,null));};exports[_0xa910('0x9a')]=function(_0x2ade51,_0x6506ce,_0x48d7c7){return BPromise[_0xa910('0x9b')]()['then'](function(){if(!_0x2ade51[_0xa910('0x36')][_0xa910('0x7')]){throw new Error(_0xa910('0x9c'));}if(!_0x2ade51[_0xa910('0x36')]['port']){throw new Error(_0xa910('0x9d'));}var _0x36939f=_0x2ade51[_0xa910('0x36')][_0xa910('0x9e')]?_0x2ade51['query']['hostname']+':'+_0x2ade51[_0xa910('0x36')]['port']:_0xa910('0x9f')+_0x2ade51['query'][_0xa910('0xa0')];var _0x112cfe=_0x2ade51[_0xa910('0x36')]['json']?_0x2ade51[_0xa910('0x36')][_0xa910('0x22')]:!![];var _0x501d65=_0x2ade51[_0xa910('0x36')]['encoding']?_0x2ade51['query'][_0xa910('0xa1')]:null;var _0x4f55e0={'method':_0x2ade51['method'],'uri':util[_0xa910('0x4f')]('%s%s',_0x36939f,_0x2ade51[_0xa910('0x36')][_0xa910('0x7')]),'json':_0x112cfe,'resolveWithFullResponse':!![],'encoding':_0x501d65,'qs':_0x2ade51['query']};if(_0x2ade51['headers']){_0x4f55e0['headers']=_0x2ade51[_0xa910('0xa2')];if(_0x4f55e0['headers']['content-length']){delete _0x4f55e0[_0xa910('0xa2')][_0xa910('0xa3')];}}if(_0x4f55e0['headers'][_0xa910('0xa4')]){delete _0x4f55e0[_0xa910('0xa2')][_0xa910('0xa4')];}return rp(_0x4f55e0);})[_0xa910('0x27')](function(_0x5ccdac){if(_0x5ccdac){_0x6506ce[_0xa910('0x21')](_0x5ccdac[_0xa910('0xa2')]);logger[_0xa910('0x67')](_0x5ccdac[_0xa910('0x90')]);if(_[_0xa910('0xa5')](_0x2ade51[_0xa910('0x36')][_0xa910('0x7')],_0xa910('0x4c'))&&_0x5ccdac['statusCode']==0x1f4){return _0x6506ce[_0xa910('0x1a')](_0x5ccdac[_0xa910('0xa6')]);}else{return _0x6506ce['status'](_0x5ccdac['statusCode'])[_0xa910('0x2e')](_0x5ccdac[_0xa910('0x90')]);}}else{return _0x6506ce[_0xa910('0x1a')](0xc8);}})[_0xa910('0x48')](handleError(_0x6506ce,null));};exports['webhookPost']=function(_0x1a3bf1,_0x544d4f,_0x4197f2){return BPromise[_0xa910('0x9b')]()[_0xa910('0x27')](function(){if(!_0x1a3bf1['query']['path']){throw new Error(_0xa910('0x9c'));}if(!_0x1a3bf1[_0xa910('0x36')]['port']){throw new Error(_0xa910('0x9d'));}var _0x5b6f11=_0x1a3bf1[_0xa910('0x36')][_0xa910('0x9e')]?_0x1a3bf1[_0xa910('0x36')][_0xa910('0x9e')]+':'+_0x1a3bf1[_0xa910('0x36')][_0xa910('0xa0')]:_0xa910('0x9f')+_0x1a3bf1['query'][_0xa910('0xa0')];var _0x180f24=_0x1a3bf1[_0xa910('0x36')][_0xa910('0x22')]?_0x1a3bf1['query'][_0xa910('0x22')]:!![];var _0xa3df34=_0x1a3bf1['query'][_0xa910('0xa1')]?_0x1a3bf1[_0xa910('0x36')][_0xa910('0xa1')]:null;var _0x5d7c52={'method':_0x1a3bf1[_0xa910('0xa7')],'uri':util[_0xa910('0x4f')](_0xa910('0xa8'),_0x5b6f11,_0x1a3bf1[_0xa910('0x36')]['path']),'json':_0x180f24,'resolveWithFullResponse':!![],'encoding':_0xa3df34,'body':_0x1a3bf1[_0xa910('0x90')]};if(_0x1a3bf1[_0xa910('0xa2')]){_0x5d7c52[_0xa910('0xa2')]=_0x1a3bf1[_0xa910('0xa2')];if(_0x5d7c52[_0xa910('0xa2')][_0xa910('0xa3')]){delete _0x5d7c52[_0xa910('0xa2')][_0xa910('0xa3')];}}if(_0x5d7c52[_0xa910('0xa2')][_0xa910('0xa4')]){delete _0x5d7c52['headers']['content-type'];}return rp(_0x5d7c52);})['then'](function(_0x362873){if(_0x362873){_0x544d4f[_0xa910('0x21')](_0x362873[_0xa910('0xa2')]);logger[_0xa910('0x67')](_0x362873[_0xa910('0x90')]);return _0x544d4f['status'](_0x362873[_0xa910('0xa6')])[_0xa910('0x2e')](_0x362873[_0xa910('0x90')]);}else{return _0x544d4f[_0xa910('0x1a')](0xc8);}})[_0xa910('0x48')](handleError(_0x544d4f,null));};