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');
// 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,
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);