tag -> prefix

This commit is contained in:
Girish Ramakrishnan
2017-01-05 22:55:27 -08:00
parent 49e299b62d
commit 20a75b7819
2 changed files with 22 additions and 21 deletions
+20 -19
View File
@@ -171,15 +171,16 @@ function getRestoreUrl(backupId, callback) {
});
}
function copyLastBackup(app, manifest, tag, callback) {
function copyLastBackup(app, manifest, prefix, callback) {
assert.strictEqual(typeof app, 'object');
assert.strictEqual(typeof app.lastBackupId, 'string');
assert(manifest && typeof manifest === 'object');
assert.strictEqual(typeof tag, 'string');
assert.strictEqual(typeof prefix, 'string');
assert.strictEqual(typeof callback, 'function');
var toFilenameArchive = util.format('%s/app_%s_%s_v%s.tar.gz', tag, app.id, tag, manifest.version);
var toFilenameConfig = util.format('%s/app_%s_%s_v%s.json', tag, app.id, tag, manifest.version);
var timestamp = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
var toFilenameArchive = util.format('%s/app_%s_%s_v%s.tar.gz', prefix, app.id, timestamp, manifest.version);
var toFilenameConfig = util.format('%s/app_%s_%s_v%s.json', prefix, app.id, timestamp, manifest.version);
settings.getBackupConfig(function (error, backupConfig) {
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
@@ -203,11 +204,12 @@ function copyLastBackup(app, manifest, tag, callback) {
});
}
function backupBoxWithAppBackupIds(appBackupIds, tag, callback) {
function backupBoxWithAppBackupIds(appBackupIds, prefix, callback) {
assert(util.isArray(appBackupIds));
assert.strictEqual(typeof tag, 'string');
assert.strictEqual(typeof prefix, 'string');
var filebase = util.format('%s/box_%s_v%s', tag, tag, config.version());
var timestamp = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
var filebase = util.format('%s/box_%s_v%s', prefix, timestamp, config.version());
var filename = filebase + '.tar.gz';
settings.getBackupConfig(function (error, backupConfig) {
@@ -245,13 +247,14 @@ function canBackupApp(app) {
app.installationState === appdb.ISTATE_PENDING_UPDATE; // called from apptask
}
function createNewAppBackup(app, manifest, tag, callback) {
function createNewAppBackup(app, manifest, prefix, callback) {
assert.strictEqual(typeof app, 'object');
assert(manifest && typeof manifest === 'object');
assert.strictEqual(typeof tag, 'string');
assert.strictEqual(typeof prefix, 'string');
assert.strictEqual(typeof callback, 'function');
var filebase = util.format('%s/app_%s_%s_v%s', tag, app.id, tag, manifest.version);
var timestamp = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
var filebase = util.format('%s/app_%s_%s_v%s', prefix, app.id, timestamp, manifest.version);
var configFilename = filebase + '.json', dataFilename = filebase + '.tar.gz';
settings.getBackupConfig(function (error, backupConfig) {
@@ -293,16 +296,14 @@ function setRestorePoint(appId, lastBackupId, callback) {
});
}
function backupApp(app, manifest, tag, callback) {
function backupApp(app, manifest, prefix, callback) {
assert.strictEqual(typeof app, 'object');
assert(manifest && typeof manifest === 'object');
assert(tag === null || typeof tag === 'string');
assert.strictEqual(typeof prefix, 'string');
assert.strictEqual(typeof callback, 'function');
var backupFunction;
if (!tag) tag = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
if (!canBackupApp(app)) {
if (!app.lastBackupId) {
debugApp(app, 'backupApp: cannot backup app');
@@ -311,11 +312,11 @@ function backupApp(app, manifest, tag, callback) {
// set the 'creation' date of lastBackup so that the backup persists across time based archival rules
// s3 does not allow changing creation time, so copying the last backup is easy way out for now
backupFunction = copyLastBackup.bind(null, app, manifest, tag);
backupFunction = copyLastBackup.bind(null, app, manifest, prefix);
} else {
var appConfig = apps.getAppConfig(app);
appConfig.manifest = manifest;
backupFunction = createNewAppBackup.bind(null, app, manifest, tag);
backupFunction = createNewAppBackup.bind(null, app, manifest, prefix);
if (!safe.fs.writeFileSync(path.join(paths.DATA_DIR, app.id + '/config.json'), JSON.stringify(appConfig), 'utf8')) {
return callback(safe.error);
@@ -341,7 +342,7 @@ function backupBoxAndApps(auditSource, callback) {
callback = callback || NOOP_CALLBACK;
var tag = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
var prefix = (new Date()).toISOString().replace(/[T.]/g, '-').replace(/[:Z]/g,'');
eventlog.add(eventlog.ACTION_BACKUP_START, auditSource, { });
@@ -356,7 +357,7 @@ function backupBoxAndApps(auditSource, callback) {
async.mapSeries(allApps, function iterator(app, iteratorCallback) {
++processed;
backupApp(app, app.manifest, tag, function (error, backupId) {
backupApp(app, app.manifest, prefix, function (error, backupId) {
if (error && error.reason !== BackupsError.BAD_STATE) {
debugApp(app, 'Unable to backup', error);
return iteratorCallback(error);
@@ -374,7 +375,7 @@ function backupBoxAndApps(auditSource, callback) {
backupIds = backupIds.filter(function (id) { return id !== null; }); // remove apps in bad state that were never backed up
backupBoxWithAppBackupIds(backupIds, tag, function (error, filename) {
backupBoxWithAppBackupIds(backupIds, prefix, function (error, filename) {
progress.set(progress.BACKUP, 100, error ? error.message : '');
eventlog.add(eventlog.ACTION_BACKUP_FINISH, auditSource, { errorMessage: error ? error.message : null, filename: filename });