Built motion from commit (unavailable).|2.5.4
[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 _0x804e=['webhookGet','resolve','port','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','encoding','%s%s','headers','content-length','content-type','statusCode','webhookPost','http://localhost:','method','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','extract-zip','archiver','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','./plugin.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','get','Plugins','UserProfileResource','destroy','then','error','stack','name','index','Plugin','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','keys','find','catch','path','join','root','server/files/plugins','format','%s.zip','basename','createWriteStream','zip','warning','code','ENOENT','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','attachments/**/*','finalize','close','existsSync','Plugin\x20not\x20found','download','Error\x20while\x20downloading\x20the\x20plugin','info','Download\x20completed','Temporary\x20file\x20removed','upload','file','extname','filename','Plugin\x20upload\x20destination:\x20%s','chmodSync','0777','readdirSync','Invalid\x20plugin\x20structure','isDirectory','some','manifest.json','Plugin\x20manifest\x20missing','parse','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','undefined','version','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','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','Invalid\x20manifest:\x20invalid\x20type','description','sidebar','always','icon','test','plugins','Warning:\x20admin\x20view\x20not\x20specified','Warning:\x20agent\x20view\x20not\x20specified','create','body','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','send','unlinkSync','Extracted\x20folder\x20removed','dirname'];(function(_0x59eefb,_0x2151ce){var _0x1a49e8=function(_0x5a758c){while(--_0x5a758c){_0x59eefb['push'](_0x59eefb['shift']());}};_0x1a49e8(++_0x2151ce);}(_0x804e,0xc0));var _0xe804=function(_0x2533e8,_0x11edb7){_0x2533e8=_0x2533e8-0x0;var _0x57637d=_0x804e[_0x2533e8];return _0x57637d;};'use strict';var pdf=require(_0xe804('0x0'));var emlformat=require(_0xe804('0x1'));var rimraf=require(_0xe804('0x2'));var zipdir=require(_0xe804('0x3'));var jsonpatch=require(_0xe804('0x4'));var rp=require(_0xe804('0x5'));var moment=require('moment');var BPromise=require(_0xe804('0x6'));var Mustache=require(_0xe804('0x7'));var util=require(_0xe804('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xe804('0x9'));var ejs=require(_0xe804('0xa'));var fs=require('fs');var _=require(_0xe804('0xb'));var squel=require(_0xe804('0xc'));var crypto=require(_0xe804('0xd'));var jsforce=require(_0xe804('0xe'));var deskjs=require(_0xe804('0xf'));var toCsv=require(_0xe804('0x9'));var querystring=require('querystring');var Papa=require(_0xe804('0x10'));var extract=require(_0xe804('0x11'));var rimraf=require('rimraf');var archiver=require(_0xe804('0x12'));var Redis=require(_0xe804('0x13'));var authService=require(_0xe804('0x14'));var qs=require(_0xe804('0x15'));var as=require(_0xe804('0x16'));var hardwareService=require(_0xe804('0x17'));var logger=require(_0xe804('0x18'))('api');var utils=require('../../config/utils');var config=require(_0xe804('0x19'));var db=require(_0xe804('0x1a'))['db'];config[_0xe804('0x1b')]=_[_0xe804('0x1c')](config[_0xe804('0x1b')],{'host':_0xe804('0x1d'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe804('0x1b')]));require(_0xe804('0x1e'))[_0xe804('0x1f')](socket);function respondWithStatusCode(_0x5831d7,_0x5c1ba6){_0x5c1ba6=_0x5c1ba6||0xcc;return function(_0x4cf0e7){if(_0x4cf0e7){return _0x5831d7[_0xe804('0x20')](_0x5c1ba6);}return _0x5831d7[_0xe804('0x21')](_0x5c1ba6)[_0xe804('0x22')]();};}function respondWithResult(_0x43c365,_0x5d2103){_0x5d2103=_0x5d2103||0xc8;return function(_0x5ed320){if(_0x5ed320){return _0x43c365[_0xe804('0x21')](_0x5d2103)[_0xe804('0x23')](_0x5ed320);}};}function respondWithFilteredResult(_0x16ffa4,_0x237e83){return function(_0x11ad8a){if(_0x11ad8a){var _0x440dce=_0x11ad8a[_0xe804('0x24')],_0xd8ddc0=_0x237e83[_0xe804('0x25')],_0x316cd2=_0x237e83['offset']+_0x237e83[_0xe804('0x26')],_0x49963a;if(_0x316cd2>=_0x440dce){_0x316cd2=_0x440dce;_0x49963a=0xc8;}else{_0x49963a=0xce;}_0x16ffa4[_0xe804('0x21')](_0x49963a);return _0x16ffa4[_0xe804('0x27')](_0xe804('0x28'),_0xd8ddc0+'-'+_0x316cd2+'/'+_0x440dce)[_0xe804('0x23')](_0x11ad8a);}return null;};}function patchUpdates(_0x5cf652){return function(_0x3758df){try{jsonpatch[_0xe804('0x29')](_0x3758df,_0x5cf652,!![]);}catch(_0x548714){return BPromise[_0xe804('0x2a')](_0x548714);}return _0x3758df[_0xe804('0x2b')]();};}function saveUpdates(_0x157b29,_0x3706af){return function(_0x4ee6c1){if(_0x4ee6c1){return _0x4ee6c1[_0xe804('0x2c')](_0x157b29)['then'](function(_0x4100cc){return _0x4100cc;});}return null;};}function removeEntity(_0x335fce,_0x22c6d1){return function(_0x23c817){if(_0x23c817){return _0x23c817['destroy']()['then'](function(){var _0x5a91b9=_0x23c817[_0xe804('0x2d')]({'plain':!![]});var _0x3cb9d2=_0xe804('0x2e');return db[_0xe804('0x2f')][_0xe804('0x30')]({'where':{'type':_0x3cb9d2,'resourceId':_0x5a91b9['id']}})[_0xe804('0x31')](function(){return _0x23c817;});})[_0xe804('0x31')](function(){_0x335fce[_0xe804('0x21')](0xcc)[_0xe804('0x22')]();});}};}function handleEntityNotFound(_0x268bfe,_0x1de4f9){return function(_0x5c2623){if(!_0x5c2623){_0x268bfe[_0xe804('0x20')](0x194);}return _0x5c2623;};}function handleError(_0xef06ef,_0x3406e5){_0x3406e5=_0x3406e5||0x1f4;return function(_0x3d532a){logger[_0xe804('0x32')](_0x3d532a[_0xe804('0x33')]);if(_0x3d532a[_0xe804('0x34')]){delete _0x3d532a['name'];}_0xef06ef[_0xe804('0x21')](_0x3406e5)['send'](_0x3d532a);};}exports[_0xe804('0x35')]=function(_0x4dc70f,_0x119cf0){var _0x4ee2c9={},_0x2d627b={},_0x2378b3={'count':0x0,'rows':[]};var _0x51e4be=_['map'](db[_0xe804('0x36')][_0xe804('0x37')],function(_0x58f671){return{'name':_0x58f671[_0xe804('0x38')],'type':_0x58f671[_0xe804('0x39')][_0xe804('0x3a')]};});_0x2d627b[_0xe804('0x3b')]=_[_0xe804('0x3c')](_0x51e4be,'name');_0x2d627b[_0xe804('0x3d')]=_['keys'](_0x4dc70f[_0xe804('0x3d')]);_0x2d627b[_0xe804('0x3e')]=_[_0xe804('0x3f')](_0x2d627b[_0xe804('0x3b')],_0x2d627b[_0xe804('0x3d')]);_0x4ee2c9[_0xe804('0x40')]=_['intersection'](_0x2d627b[_0xe804('0x3b')],qs[_0xe804('0x41')](_0x4dc70f['query']['fields']));_0x4ee2c9[_0xe804('0x40')]=_0x4ee2c9[_0xe804('0x40')][_0xe804('0x42')]?_0x4ee2c9['attributes']:_0x2d627b[_0xe804('0x3b')];if(!_0x4dc70f[_0xe804('0x3d')][_0xe804('0x43')](_0xe804('0x44'))){_0x4ee2c9['limit']=qs['limit'](_0x4dc70f['query'][_0xe804('0x26')]);_0x4ee2c9['offset']=qs[_0xe804('0x25')](_0x4dc70f[_0xe804('0x3d')][_0xe804('0x25')]);}_0x4ee2c9[_0xe804('0x45')]=qs[_0xe804('0x46')](_0x4dc70f[_0xe804('0x3d')][_0xe804('0x46')]);_0x4ee2c9[_0xe804('0x47')]=qs[_0xe804('0x3e')](_[_0xe804('0x48')](_0x4dc70f[_0xe804('0x3d')],_0x2d627b['filters']),_0x51e4be);if(_0x4dc70f[_0xe804('0x3d')][_0xe804('0x49')]){_0x4ee2c9[_0xe804('0x47')]=_['merge'](_0x4ee2c9[_0xe804('0x47')],{'$or':_[_0xe804('0x3c')](_0x51e4be,function(_0x1f58d4){if(_0x1f58d4[_0xe804('0x39')]!==_0xe804('0x4a')){var _0x1b5728={};_0x1b5728[_0x1f58d4[_0xe804('0x34')]]={'$like':'%'+_0x4dc70f[_0xe804('0x3d')][_0xe804('0x49')]+'%'};return _0x1b5728;}})});}_0x4ee2c9=_[_0xe804('0x4b')]({},_0x4ee2c9,_0x4dc70f[_0xe804('0x4c')]);var _0x271b86={'where':_0x4ee2c9[_0xe804('0x47')]};return db[_0xe804('0x36')][_0xe804('0x24')](_0x271b86)[_0xe804('0x31')](function(_0x3f623){_0x2378b3[_0xe804('0x24')]=_0x3f623;if(_0x4dc70f['query'][_0xe804('0x4d')]){_0x4ee2c9[_0xe804('0x4e')]=[{'all':!![]}];}return db[_0xe804('0x36')][_0xe804('0x4f')](_0x4ee2c9);})[_0xe804('0x31')](function(_0x35fe27){_0x2378b3[_0xe804('0x50')]=_0x35fe27;return _0x2378b3;})[_0xe804('0x31')](respondWithFilteredResult(_0x119cf0,_0x4ee2c9))['catch'](handleError(_0x119cf0,null));};exports[_0xe804('0x51')]=function(_0x23e268,_0x7b09d2){var _0x16a080={'raw':!![],'where':{'id':_0x23e268[_0xe804('0x52')]['id']}},_0x145757={};_0x145757[_0xe804('0x3b')]=_[_0xe804('0x53')](db[_0xe804('0x36')][_0xe804('0x37')]);_0x145757[_0xe804('0x3d')]=_[_0xe804('0x53')](_0x23e268['query']);_0x145757['filters']=_[_0xe804('0x3f')](_0x145757[_0xe804('0x3b')],_0x145757[_0xe804('0x3d')]);_0x16a080[_0xe804('0x40')]=_[_0xe804('0x3f')](_0x145757[_0xe804('0x3b')],qs[_0xe804('0x41')](_0x23e268['query'][_0xe804('0x41')]));_0x16a080['attributes']=_0x16a080[_0xe804('0x40')][_0xe804('0x42')]?_0x16a080[_0xe804('0x40')]:_0x145757[_0xe804('0x3b')];if(_0x23e268['query'][_0xe804('0x4d')]){_0x16a080['include']=[{'all':!![]}];}_0x16a080=_[_0xe804('0x4b')]({},_0x16a080,_0x23e268['options']);return db[_0xe804('0x36')][_0xe804('0x54')](_0x16a080)[_0xe804('0x31')](handleEntityNotFound(_0x7b09d2,null))[_0xe804('0x31')](respondWithResult(_0x7b09d2,null))[_0xe804('0x55')](handleError(_0x7b09d2,null));};exports['download']=function(_0x544d97,_0x570aca,_0x56ef85){return db['Plugin']['find']({'where':{'id':_0x544d97[_0xe804('0x52')]['id']},'attributes':['name',_0xe804('0x56')],'raw':!![]})['then'](handleEntityNotFound(_0x570aca,null))[_0xe804('0x31')](function(_0x3e7d87){if(_0x3e7d87){var _0x1bc5b1=path[_0xe804('0x57')](config[_0xe804('0x58')],_0xe804('0x59'),util[_0xe804('0x5a')](_0xe804('0x5b'),path[_0xe804('0x5c')](_0x3e7d87[_0xe804('0x56')])));var _0x36a805=fs[_0xe804('0x5d')](_0x1bc5b1);var _0x17ac20=archiver(_0xe804('0x5e'),{'zlib':{'level':0x9}});_0x17ac20['on'](_0xe804('0x5f'),function(_0x2d0300){if(_0x2d0300[_0xe804('0x60')]===_0xe804('0x61')){logger[_0xe804('0x32')](_0x2d0300);}else{throw new db[(_0xe804('0x62'))][(_0xe804('0x63'))](_0xe804('0x64'));}});_0x17ac20['on']('error',function(_0x1cb39c){throw new db['Sequelize']['Error'](_0xe804('0x64'));});_0x17ac20[_0xe804('0x65')](_0x36a805);_0x17ac20[_0xe804('0x66')]('**/*',{'cwd':path[_0xe804('0x57')](config[_0xe804('0x58')],_0xe804('0x59'),path['dirname'](_0x3e7d87[_0xe804('0x56')])),'ignore':[path[_0xe804('0x57')](path[_0xe804('0x5c')](_0x3e7d87['path']),'node_modules/**/*'),path[_0xe804('0x57')](path[_0xe804('0x5c')](_0x3e7d87[_0xe804('0x56')]),_0xe804('0x67'))],'nodir':!![]})[_0xe804('0x68')]();_0x36a805['on'](_0xe804('0x69'),function(){if(!fs[_0xe804('0x6a')](_0x1bc5b1)){throw new db[(_0xe804('0x62'))][(_0xe804('0x63'))](_0xe804('0x6b'));}return _0x570aca[_0xe804('0x6c')](_0x1bc5b1,util[_0xe804('0x5a')](_0xe804('0x5b'),path['basename'](_0x3e7d87['path'])),function(_0x37ff78){if(_0x37ff78){throw new db[(_0xe804('0x62'))]['Error'](_0xe804('0x6d'));}fs['unlinkSync'](_0x1bc5b1);logger[_0xe804('0x6e')](_0xe804('0x6f'));logger[_0xe804('0x6e')](_0xe804('0x70'));});});}return null;})[_0xe804('0x55')](handleError(_0x570aca,null));};exports[_0xe804('0x71')]=function(_0x2e09d8,_0x12320c,_0x59ad19){var _0x41c716=path[_0xe804('0x5c')](_0x2e09d8[_0xe804('0x72')]['filename'],path[_0xe804('0x73')](_0x2e09d8['file'][_0xe804('0x74')]));var _0x1976d6=path[_0xe804('0x57')](config[_0xe804('0x58')],_0xe804('0x59'),_0x2e09d8['file'][_0xe804('0x74')]);var _0x23d1bd=path['join'](config[_0xe804('0x58')],_0xe804('0x59'),_0x41c716);logger[_0xe804('0x6e')]('Plugin\x20upload\x20filepath:\x20%s',_0x1976d6);logger[_0xe804('0x6e')](_0xe804('0x75'),_0x23d1bd);try{fs[_0xe804('0x76')](_0x1976d6,parseInt(_0xe804('0x77'),0x8));extract(_0x1976d6,{'dir':_0x23d1bd},function(_0xcb935f){if(_0xcb935f){logger['error'](_0xcb935f);handleError(_0xcb935f,!![]);};var _0x15ecda=fs[_0xe804('0x78')](_0x23d1bd);if(_0x15ecda[_0xe804('0x42')]>0x1){removeReferences(_0x1976d6,_0x23d1bd);logger[_0xe804('0x32')](_0xe804('0x79'));return _0x59ad19(new Error(_0xe804('0x79')));}var _0xf63b17=fs['lstatSync'](path[_0xe804('0x57')](_0x23d1bd,_0x15ecda[0x0]));if(_0xf63b17['isFile']()){removeReferences(_0x1976d6,_0x23d1bd);logger[_0xe804('0x32')]('Invalid\x20plugin\x20structure');return _0x59ad19(new Error(_0xe804('0x79')));}if(_0xf63b17[_0xe804('0x7a')]()){var _0x270620=fs[_0xe804('0x78')](path[_0xe804('0x57')](_0x23d1bd,_0x15ecda[0x0]));if(_0x270620[_0xe804('0x42')]===0x0){removeReferences(_0x1976d6,_0x23d1bd);logger[_0xe804('0x32')](_0xe804('0x79'));return _0x59ad19(new Error(_0xe804('0x79')));}var _0x404cc6=_0x270620[_0xe804('0x7b')](function(_0x5885b7){return _0x5885b7===_0xe804('0x7c');});if(!_0x404cc6){return _0x59ad19(new Error(_0xe804('0x7d')));}var _0x27c7d4=fs['readFileSync'](path['join'](_0x23d1bd,_0x15ecda[0x0],_0xe804('0x7c')));var _0x364369=JSON[_0xe804('0x7e')](_0x27c7d4);if('undefined'==typeof _0x364369[_0xe804('0x34')]){return _0x59ad19(new Error(_0xe804('0x7f')));}if('undefined'==typeof _0x364369[_0xe804('0x39')]){return _0x59ad19(new Error(_0xe804('0x80')));}if(_0xe804('0x81')==typeof _0x364369[_0xe804('0x82')]){return _0x59ad19(new Error(_0xe804('0x83')));}if('undefined'==typeof _0x364369[_0xe804('0x84')]){return _0x59ad19(new Error(_0xe804('0x85')));}if(_0x364369[_0xe804('0x39')]===_0xe804('0x86')){if(_0xe804('0x81')==typeof _0x364369[_0xe804('0x84')][_0xe804('0x87')]){return _0x59ad19(new Error(_0xe804('0x88')));}if('undefined'==typeof _0x364369[_0xe804('0x84')][_0xe804('0x87')][_0xe804('0x89')]&&'undefined'==typeof _0x364369[_0xe804('0x84')][_0xe804('0x87')][_0xe804('0x8a')]){return _0x59ad19(new Error(_0xe804('0x8b')));}}else if(_0x364369[_0xe804('0x39')]===_0xe804('0x8c')){if(_0xe804('0x81')==typeof _0x364369[_0xe804('0x84')][_0xe804('0x8d')]){return _0x59ad19(new Error(_0xe804('0x8e')));}if('undefined'==typeof _0x364369[_0xe804('0x84')][_0xe804('0x8f')]){return _0x59ad19(new Error(_0xe804('0x90')));}}else{return _0x59ad19(new Error(_0xe804('0x91')));}var _0x422abe=_0x364369[_0xe804('0x34')];var _0x382345=_0x364369[_0xe804('0x92')];var _0x5a295b=_0x364369['type'];var _0x4ffdb0=_0x364369[_0xe804('0x93')]?_0x364369[_0xe804('0x93')]:_0xe804('0x94');var _0x2b6ed2=_0x364369[_0xe804('0x95')]?_0x364369[_0xe804('0x95')]:'icon-apps';var _0x524262='';var _0x205f1c='';var _0x1b5c23='';var _0x463381='';var _0x4a8bdd=_0x364369[_0xe804('0x82')];if(_0x5a295b===_0xe804('0x86')){if(_0xe804('0x81')!=typeof _0x364369[_0xe804('0x84')][_0xe804('0x87')][_0xe804('0x89')]){var _0x1a01f3=_0x364369[_0xe804('0x84')][_0xe804('0x87')][_0xe804('0x89')];if(!/^(f|ht)tps?:\/\//i[_0xe804('0x96')](_0x1a01f3)){_0x524262=path[_0xe804('0x57')](_0xe804('0x97'),_0x41c716,_0x15ecda[0x0],_0x1a01f3);}else{_0x524262=_0x1a01f3;}}else{logger['info'](_0xe804('0x98'));}if(_0xe804('0x81')!=typeof _0x364369[_0xe804('0x84')]['views'][_0xe804('0x8a')]){var _0x1bdc9a=_0x364369[_0xe804('0x84')][_0xe804('0x87')][_0xe804('0x8a')];if(!/^(f|ht)tps?:\/\//i[_0xe804('0x96')](_0x1bdc9a)){_0x205f1c=path[_0xe804('0x57')](_0xe804('0x97'),_0x41c716,_0x15ecda[0x0],_0x1bdc9a);}else{_0x205f1c=_0x1bdc9a;}}else{logger[_0xe804('0x6e')](_0xe804('0x99'));}}else if(_0x5a295b===_0xe804('0x8c')){_0x1b5c23=_0x364369[_0xe804('0x84')][_0xe804('0x8d')];_0x463381=_0x364369[_0xe804('0x84')][_0xe804('0x8f')];if(_0xe804('0x81')!=typeof _0x364369[_0xe804('0x84')][_0xe804('0x87')]){if('undefined'!=typeof _0x364369['parameters'][_0xe804('0x87')][_0xe804('0x89')]){var _0x1a01f3=_0x364369[_0xe804('0x84')]['views'][_0xe804('0x89')];if(!/^(f|ht)tps?:\/\//i['test'](_0x1a01f3)){_0x524262=path[_0xe804('0x57')]('plugins',_0x41c716,_0x15ecda[0x0],_0x1a01f3);}else{_0x524262=_0x1a01f3;}}if(_0xe804('0x81')!=typeof _0x364369[_0xe804('0x84')]['views']['agent']){var _0x1bdc9a=_0x364369[_0xe804('0x84')]['views'][_0xe804('0x8a')];if(!/^(f|ht)tps?:\/\//i['test'](_0x1bdc9a)){_0x205f1c=path[_0xe804('0x57')](_0xe804('0x97'),_0x41c716,_0x15ecda[0x0],_0x1bdc9a);}else{_0x205f1c=_0x1bdc9a;}}}}var _0x4b3a89={'name':_0x422abe,'description':_0x382345,'path':path['join'](_0x41c716,_0x15ecda[0x0]),'type':_0x5a295b,'sidebar':_0x4ffdb0,'icon':_0x2b6ed2,'adminUrl':_0x524262,'agentUrl':_0x205f1c,'scriptName':_0x1b5c23,'scriptPath':_0x463381,'version':_0x4a8bdd};removeReferences(_0x1976d6,null);return db[_0xe804('0x36')][_0xe804('0x9a')](_0x4b3a89)['then'](function(_0x3dde97){var _0x1daa62={'role':_0x2e09d8[_0xe804('0x9b')]['role'],'userProfileId':_0x2e09d8[_0xe804('0x9b')][_0xe804('0x9c')]};if(!_0x1daa62)throw new Error(_0xe804('0x9d'));if(_0x1daa62['role']==='user'){var _0x114762=_0x3dde97[_0xe804('0x2d')]({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0xe804('0x2e'),'userProfileId':_0x1daa62['userProfileId']},'raw':!![]})[_0xe804('0x31')](function(_0x5e7416){if(_0x5e7416&&_0x5e7416[_0xe804('0x9e')]===0x0){return db[_0xe804('0x2f')][_0xe804('0x9a')]({'name':_0x114762[_0xe804('0x34')],'resourceId':_0x114762['id'],'type':_0x5e7416[_0xe804('0x34')],'sectionId':_0x5e7416['id']},{})[_0xe804('0x31')](function(){return _0x3dde97;});}else{return _0x3dde97;}})[_0xe804('0x55')](function(_0xb73180){logger[_0xe804('0x32')](_0xe804('0x9f'),_0xb73180);throw _0xb73180;});}return _0x3dde97;})[_0xe804('0x31')](respondWithResult(_0x12320c,null))['catch'](handleError(_0x12320c,null));}});}catch(_0x5e4304){_0x12320c[_0xe804('0x21')](0x1f4)[_0xe804('0xa0')](_0x5e4304);}};function removeReferences(_0x28253f,_0x156392){try{if(_0x28253f){fs[_0xe804('0xa1')](_0x28253f);logger[_0xe804('0x6e')]('Zip\x20archive\x20removed');}if(_0x156392){rimraf(_0x156392,function(){});logger[_0xe804('0x6e')](_0xe804('0xa2'));}}catch(_0x18068c){logger['error'](_0x18068c);}}exports[_0xe804('0x2c')]=function(_0xd4d052,_0x1abe9a,_0x1cd70f){return db[_0xe804('0x36')][_0xe804('0x54')]({'where':{'id':_0xd4d052[_0xe804('0x52')]['id']}})[_0xe804('0x31')](handleEntityNotFound(_0x1abe9a,null))[_0xe804('0x31')](saveUpdates(_0xd4d052[_0xe804('0x9b')],null))[_0xe804('0x31')](respondWithResult(_0x1abe9a,null))[_0xe804('0x55')](handleError(_0x1abe9a,null));};exports['delete']=function(_0x45d7a9,_0x34aa58,_0x455900){return db[_0xe804('0x36')][_0xe804('0x54')]({'where':{'id':_0x45d7a9['params']['id']}})['then'](function(_0x5a600e){if(_0x5a600e){return _0x5a600e['destroy']();}})[_0xe804('0x31')](function(_0x1286a8){rimraf(path[_0xe804('0x57')](config['root'],_0xe804('0x59'),path[_0xe804('0xa3')](_0x1286a8[_0xe804('0x56')])),function(){});return _0x1286a8;})['then'](handleEntityNotFound(_0x34aa58,null))[_0xe804('0x31')](respondWithStatusCode(_0x34aa58,null))[_0xe804('0x55')](handleError(_0x34aa58,null));};exports[_0xe804('0xa4')]=function(_0x3f080c,_0x160c39,_0x5c1235){return BPromise[_0xe804('0xa5')]()[_0xe804('0x31')](function(){if(!_0x3f080c['query']['path']){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x3f080c[_0xe804('0x3d')][_0xe804('0xa6')]){throw new Error(_0xe804('0xa7'));}var _0x2cddcf=_0x3f080c[_0xe804('0x3d')][_0xe804('0xa8')]?_0x3f080c[_0xe804('0x3d')]['hostname']+':'+_0x3f080c[_0xe804('0x3d')][_0xe804('0xa6')]:'http://localhost:'+_0x3f080c['query'][_0xe804('0xa6')];var _0x5dfc2a=_0x3f080c[_0xe804('0x3d')][_0xe804('0x23')]?_0x3f080c[_0xe804('0x3d')][_0xe804('0x23')]:!![];var _0x25ade2=_0x3f080c[_0xe804('0x3d')]['encoding']?_0x3f080c[_0xe804('0x3d')][_0xe804('0xa9')]:null;var _0x333b09={'method':_0x3f080c['method'],'uri':util[_0xe804('0x5a')](_0xe804('0xaa'),_0x2cddcf,_0x3f080c[_0xe804('0x3d')]['path']),'json':_0x5dfc2a,'resolveWithFullResponse':!![],'encoding':_0x25ade2,'qs':_0x3f080c['query']};if(_0x3f080c[_0xe804('0xab')]){_0x333b09[_0xe804('0xab')]=_0x3f080c[_0xe804('0xab')];if(_0x333b09[_0xe804('0xab')][_0xe804('0xac')]){delete _0x333b09[_0xe804('0xab')][_0xe804('0xac')];}}if(_0x333b09['headers']['content-type']){delete _0x333b09[_0xe804('0xab')][_0xe804('0xad')];}return rp(_0x333b09);})[_0xe804('0x31')](function(_0x3f3174){if(_0x3f3174){_0x160c39[_0xe804('0x27')](_0x3f3174['headers']);logger[_0xe804('0x6e')](_0x3f3174[_0xe804('0x9b')]);if(_['endsWith'](_0x3f080c[_0xe804('0x3d')]['path'],_0xe804('0x6c'))&&_0x3f3174[_0xe804('0xae')]==0x1f4){return _0x160c39[_0xe804('0x20')](_0x3f3174[_0xe804('0xae')]);}else{return _0x160c39[_0xe804('0x21')](_0x3f3174[_0xe804('0xae')])[_0xe804('0xa0')](_0x3f3174[_0xe804('0x9b')]);}}else{return _0x160c39['sendStatus'](0xc8);}})['catch'](handleError(_0x160c39,null));};exports[_0xe804('0xaf')]=function(_0x1395b9,_0x36654c,_0x510181){return BPromise[_0xe804('0xa5')]()[_0xe804('0x31')](function(){if(!_0x1395b9[_0xe804('0x3d')][_0xe804('0x56')]){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x1395b9['query']['port']){throw new Error(_0xe804('0xa7'));}var _0x526df0=_0x1395b9[_0xe804('0x3d')][_0xe804('0xa8')]?_0x1395b9[_0xe804('0x3d')][_0xe804('0xa8')]+':'+_0x1395b9[_0xe804('0x3d')][_0xe804('0xa6')]:_0xe804('0xb0')+_0x1395b9[_0xe804('0x3d')][_0xe804('0xa6')];var _0x1787cd=_0x1395b9[_0xe804('0x3d')][_0xe804('0x23')]?_0x1395b9[_0xe804('0x3d')]['json']:!![];var _0x4fb9f6=_0x1395b9[_0xe804('0x3d')][_0xe804('0xa9')]?_0x1395b9[_0xe804('0x3d')]['encoding']:null;var _0x29bde1={'method':_0x1395b9[_0xe804('0xb1')],'uri':util[_0xe804('0x5a')]('%s%s',_0x526df0,_0x1395b9[_0xe804('0x3d')]['path']),'json':_0x1787cd,'resolveWithFullResponse':!![],'encoding':_0x4fb9f6,'body':_0x1395b9['body']};if(_0x1395b9[_0xe804('0xab')]){_0x29bde1[_0xe804('0xab')]=_0x1395b9[_0xe804('0xab')];if(_0x29bde1['headers'][_0xe804('0xac')]){delete _0x29bde1['headers']['content-length'];}}if(_0x29bde1['headers'][_0xe804('0xad')]){delete _0x29bde1['headers']['content-type'];}return rp(_0x29bde1);})[_0xe804('0x31')](function(_0x451b28){if(_0x451b28){_0x36654c[_0xe804('0x27')](_0x451b28[_0xe804('0xab')]);logger['info'](_0x451b28[_0xe804('0x9b')]);return _0x36654c[_0xe804('0x21')](_0x451b28[_0xe804('0xae')])[_0xe804('0xa0')](_0x451b28[_0xe804('0x9b')]);}else{return _0x36654c[_0xe804('0x20')](0xc8);}})[_0xe804('0x55')](handleError(_0x36654c,null));};