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) {
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
api(backupConfig.provider).getSignedDownloadUrl(backupConfig, backupId, function (error, result) {
if (error) return callback(error);
backupdb.get(backupId, function (error, backupInfo) {
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
var obj = {
id: backupId,
url: result.url,
sessionToken: result.sessionToken,
backupKey: backupConfig.key
};
api(backupInfo.provider).getSignedDownloadUrl(backupConfig, backupInfo, function (error, result) {
if (error) return callback(error);
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';
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 filename, 'string');
assert.strictEqual(typeof info, 'object');
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) {
if (error) return callback(error);
@@ -94,8 +92,8 @@ function getSignedDownloadUrl(backupConfig, filename, callback) {
var s3 = new AWS.S3(credentials);
var params = {
Bucket: backupConfig.bucket,
Key: backupConfig.prefix + '/' + filename,
Bucket: info.bucket,
Key: info.prefix + '/' + info.filename,
Expires: 60 * 30 /* 30 minutes */
};
+4 -6
View File
@@ -1,5 +1,3 @@
/* jslint node:true */
'use strict';
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 filename, 'string');
assert.strictEqual(typeof info, 'object');
assert.strictEqual(typeof callback, 'function');
getBackupCredentials(backupConfig, function (error, credentials) {
@@ -98,8 +96,8 @@ function getSignedDownloadUrl(backupConfig, filename, callback) {
var s3 = new AWS.S3(credentials);
var params = {
Bucket: backupConfig.bucket,
Key: backupConfig.prefix + '/' + filename,
Bucket: info.bucket,
Key: info.prefix + '/' + info.filename,
Expires: 60 * 30 /* 30 minutes */
};