diff --git a/src/backups.js b/src/backups.js index 9b21a6057..999477a0a 100644 --- a/src/backups.js +++ b/src/backups.js @@ -30,6 +30,7 @@ var addons = require('./addons.js'), debug = require('debug')('box:backups'), eventlog = require('./eventlog.js'), locker = require('./locker.js'), + filesystem = require('./storage/filesystem.js'), path = require('path'), paths = require('./paths.js'), progress = require('./progress.js'), @@ -83,6 +84,7 @@ function api(provider) { switch (provider) { case 'caas': return caas; case 's3': return s3; + case 'fs': return filesystem; default: return null; } } diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js new file mode 100644 index 000000000..0e86bc582 --- /dev/null +++ b/src/storage/filesystem.js @@ -0,0 +1,45 @@ +'use strict'; + +exports = module.exports = { + getRestoreUrl: getRestoreUrl, + + copyObject: copyObject, + getAllPaged: getAllPaged, + + getBackupCredentials: getBackupCredentials +}; + +var assert = require('assert'); + +function getBackupCredentials(apiConfig, callback) { + assert.strictEqual(typeof apiConfig, 'object'); + assert.strictEqual(typeof callback, 'function'); + + callback(null, {}); +} + +function getAllPaged(apiConfig, page, perPage, callback) { + assert.strictEqual(typeof apiConfig, 'object'); + assert.strictEqual(typeof page, 'number'); + assert.strictEqual(typeof perPage, 'number'); + assert.strictEqual(typeof callback, 'function'); + + return callback(null, []); +} + +function getRestoreUrl(apiConfig, filename, callback) { + assert.strictEqual(typeof apiConfig, 'object'); + assert.strictEqual(typeof filename, 'string'); + assert.strictEqual(typeof callback, 'function'); + + callback(null, { url: '' }); +} + +function copyObject(apiConfig, from, to, callback) { + assert.strictEqual(typeof apiConfig, 'object'); + assert.strictEqual(typeof from, 'string'); + assert.strictEqual(typeof to, 'string'); + assert.strictEqual(typeof callback, 'function'); + + callback(null); +}