use the backupdb config to determine bucket and prefix

This commit is contained in:
Girish Ramakrishnan
2016-03-31 00:50:53 -07:00
parent f3a05931df
commit 39cc5d07d1
3 changed files with 23 additions and 23 deletions
+14 -10
View File
@@ -164,19 +164,23 @@ function getRestoreUrl(backupId, callback) {
settings.getBackupConfig(function (error, backupConfig) { settings.getBackupConfig(function (error, backupConfig) {
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error)); if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
api(backupConfig.provider).getSignedDownloadUrl(backupConfig, backupId, function (error, result) { backupdb.get(backupId, function (error, backupInfo) {
if (error) return callback(error); if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
var obj = { api(backupInfo.provider).getSignedDownloadUrl(backupConfig, backupInfo, function (error, result) {
id: backupId, if (error) return callback(error);
url: result.url,
sessionToken: result.sessionToken,
backupKey: backupConfig.key
};
debug('getRestoreUrl: id:%s url:%s sessionToken:%s backupKey:%s', obj.id, obj.url, obj.sessionToken, obj.backupKey); var obj = {
id: backupId,
url: result.url,
sessionToken: result.sessionToken,
backupKey: backupInfo.key
};
callback(null, obj); debug('getRestoreUrl: id:%s url:%s sessionToken:%s backupKey:%s', obj.id, obj.url, obj.sessionToken, obj.backupKey);
callback(null, obj);
});
}); });
}); });
} }
+5 -7
View File
@@ -1,5 +1,3 @@
/* jslint node:true */
'use strict'; 'use strict';
exports = module.exports = { exports = module.exports = {
@@ -81,12 +79,12 @@ function getSignedUploadUrl(backupConfig, filename, callback) {
}); });
} }
function getSignedDownloadUrl(backupConfig, filename, callback) { function getSignedDownloadUrl(backupConfig, info, callback) {
assert.strictEqual(typeof backupConfig, 'object'); assert.strictEqual(typeof backupConfig, 'object');
assert.strictEqual(typeof filename, 'string'); assert.strictEqual(typeof info, 'object');
assert.strictEqual(typeof callback, 'function'); assert.strictEqual(typeof callback, 'function');
if (!backupConfig.bucket || !backupConfig.prefix) return new Error('Invalid configuration'); // prevent error in s3 if (!info.bucket || !info.prefix) return new Error('Invalid configuration'); // prevent error in s3
getBackupCredentials(backupConfig, function (error, credentials) { getBackupCredentials(backupConfig, function (error, credentials) {
if (error) return callback(error); if (error) return callback(error);
@@ -94,8 +92,8 @@ function getSignedDownloadUrl(backupConfig, filename, callback) {
var s3 = new AWS.S3(credentials); var s3 = new AWS.S3(credentials);
var params = { var params = {
Bucket: backupConfig.bucket, Bucket: info.bucket,
Key: backupConfig.prefix + '/' + filename, Key: info.prefix + '/' + info.filename,
Expires: 60 * 30 /* 30 minutes */ Expires: 60 * 30 /* 30 minutes */
}; };
+4 -6
View File
@@ -1,5 +1,3 @@
/* jslint node:true */
'use strict'; 'use strict';
exports = module.exports = { exports = module.exports = {
@@ -87,9 +85,9 @@ function getSignedUploadUrl(backupConfig, filename, callback) {
}); });
} }
function getSignedDownloadUrl(backupConfig, filename, callback) { function getSignedDownloadUrl(backupConfig, info, callback) {
assert.strictEqual(typeof backupConfig, 'object'); assert.strictEqual(typeof backupConfig, 'object');
assert.strictEqual(typeof filename, 'string'); assert.strictEqual(typeof info, 'object');
assert.strictEqual(typeof callback, 'function'); assert.strictEqual(typeof callback, 'function');
getBackupCredentials(backupConfig, function (error, credentials) { getBackupCredentials(backupConfig, function (error, credentials) {
@@ -98,8 +96,8 @@ function getSignedDownloadUrl(backupConfig, filename, callback) {
var s3 = new AWS.S3(credentials); var s3 = new AWS.S3(credentials);
var params = { var params = {
Bucket: backupConfig.bucket, Bucket: info.bucket,
Key: backupConfig.prefix + '/' + filename, Key: info.prefix + '/' + info.filename,
Expires: 60 * 30 /* 30 minutes */ Expires: 60 * 30 /* 30 minutes */
}; };