X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Froutes.js;h=db0b7aa0aa563bc4e31a79b4c35fdf48d3e8ab0c;hp=2c78cc9525b95a0ed9f26a53fc1069031ff937a6;hb=03156e335275de1dafbc2a816e98006afdf249bf;hpb=6cbc0bd30ecad2fb08d3b220904889d439579f70 diff --git a/skyquake/plugins/composer/routes.js b/skyquake/plugins/composer/routes.js index 2c78cc952..db0b7aa0a 100644 --- a/skyquake/plugins/composer/routes.js +++ b/skyquake/plugins/composer/routes.js @@ -23,6 +23,7 @@ var constants = require('../../framework/core/api_utils/constants.js'); var C = require('./api/composer.js'); var Composer = C.Composer; var FileManager = C.FileManager; +var PackageManager = C.PackageManager; var multer = require('multer'); var fs = require('fs'); var path = require('path'); @@ -32,27 +33,18 @@ var storage = multer.diskStorage({ // destination: 'upload/packages/', destination: function(req, file, cb) { var dir = constants.BASE_PACKAGE_UPLOAD_DESTINATION; - if (req.query['package_id']) { - dir += req.query['package_id'] + '/'; - } if (!fs.existsSync(dir)){ - mkdirp(dir, function(err) { + mkdirp(dir, function(err) { if (err) { console.log('Error creating folder for uploads. All systems FAIL!'); throw err; } - cb(null, dir); }); - } else { - cb(null, dir); } + cb(null, dir); }, filename: function (req, file, cb) { - if (req.query['package_id']) { - cb(null, file.originalname); - } else { - cb(null, Date.now() + '_' + file.fieldname + '_' + file.originalname); - } + cb(null, Date.now() + '_' + file.fieldname + '_' + file.originalname); }, // limits: { // fieldNameSize: 100, @@ -96,65 +88,97 @@ router.post('/api/catalog/:catalogType', cors(), function(req, res) { }); }); router.put('/api/catalog/:catalogType/:id', cors(), function(req, res) { - Composer.update(req).then(function(data) { + Composer.updateSave(req).then(function(data) { res.send(data); }, function(error) { res.status(error.statusCode); res.send(error.errorMessage); }); }); -router.post('/upload', cors(), upload.single('package'), function (req, res, next) { - Composer.upload(req).then(function(data) { + +router.post('/api/file-manager', cors(), upload.single('file'), function (req, res, next) { + FileManager.addFile(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); }); -router.use('/upload', cors(), express.static('upload/packages')); -router.post('/update', cors(), upload.single('package'), function (req, res, next) { - Composer.update(req).then(function(data) { +router.get('/api/file-manager', cors(), function(req, res) { + FileManager.get(req).then(function(data) { + utils.sendSuccessResponse(data, res); + }, function(error) { + utils.sendErrorResponse(error, res); + }); +}) +router.get('/api/file-manager/jobs/:id', cors(), function(req, res) { + FileManager.job(req).then(function(data) { + utils.sendSuccessResponse(data, res); + }, function(error) { + utils.sendErrorResponse(error, res); + }); +}); +router.delete('/api/file-manager', cors(), function(req, res) { + FileManager.get(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); }); -router.use('/update', cors(), express.static('upload/packages')); +// Catalog operations via package manager +router.post('/upload', cors(), upload.single('package'), function (req, res, next) { + PackageManager.upload(req).then(function(data) { + utils.sendSuccessResponse(data, res); + }, function(error) { + utils.sendErrorResponse(error, res); + }); +}); +router.use('/upload', cors(), function(req, res, next) { + console.log('Received request for ', req.originalUrl, ' from ', req.ip); + next(); +}, express.static(constants.BASE_PACKAGE_UPLOAD_DESTINATION)); -router.post('/api/file-manager', cors(), upload.single('package'), function (req, res, next) { - Composer.addFile(req).then(function(data) { +router.post('/update', cors(), upload.single('package'), function (req, res, next) { + PackageManager.update(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); }); +router.use('/update', cors(), express.static('upload/packages')); -router.get('/api/file-manager', cors(), function(req, res) { - FileManager.get(req).then(function(data) { +router.post('/api/package-export', cors(), function (req, res, next) { + PackageManager.export(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); -}) -router.get('/api/file-manager/jobs/:id', cors(), function(req, res) { - FileManager.job(req).then(function(data) { +}); +router.post('/api/package-copy', cors(), function (req, res, next) { + PackageManager.copy(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); }); -router.delete('/api/file-manager', cors(), function(req, res) { - FileManager.get(req).then(function(data) { +router.get('/api/package-copy/jobs/:id', cors(), function (req, res, next) { + PackageManager.getCopyJobStatus(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res); }); }); - -router.post('/api/package-export', cors(), function (req, res, next) { - Composer.exportPackage(req).then(function(data) { +router.get('/api/package-import/jobs/:id', cors(), function (req, res, next) { + PackageManager.getImportJobStatus(req).then(function(data) { + utils.sendSuccessResponse(data, res); + }, function(error) { + utils.sendErrorResponse(error, res); + }); +}); +router.get('/api/package-update/jobs/:id', cors(), function (req, res, next) { + PackageManager.getUpdateJobStatus(req).then(function(data) { utils.sendSuccessResponse(data, res); }, function(error) { utils.sendErrorResponse(error, res);