Files
cloudron-box/src/backupformats.js

29 lines
677 B
JavaScript
Raw Normal View History

'use strict';
exports = module.exports = {
2025-08-01 22:58:19 +02:00
api,
validateFormat,
};
const assert = require('node:assert'),
2025-08-01 22:58:19 +02:00
BoxError = require('./boxerror.js');
2025-07-24 13:19:27 +02:00
function api(format) {
2025-08-01 22:58:19 +02:00
assert.strictEqual(typeof format, 'string');
switch (format) {
case 'tgz': return require('./backupformat/tgz.js');
case 'rsync': return require('./backupformat/rsync.js');
}
2025-07-24 13:19:27 +02:00
throw new BoxError(BoxError.INTERNAL_ERROR, `Undefined format ${format}`);
}
function validateFormat(format) {
assert.strictEqual(typeof format, 'string');
if (format === 'tgz' || format == 'rsync') return null;
return new BoxError(BoxError.BAD_FIELD, 'Invalid backup format');
}