update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b third try
[osm/UI.git] / skyquake / plugins / composer / routes.js
index 3782209..db0b7aa 100644 (file)
@@ -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,
@@ -103,58 +95,90 @@ router.put('/api/catalog/:catalogType/:id', cors(), function(req, res) {
         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);