Tools for suitable snapshot manipulation
At first you should install npm package by:
$ npm install --save bem-site-snapshot-master
2 different strategies can be used via this package:
- Simple
- YDisk (snapshot operations performs also on Yandex Disk)
Both strategies have the same API.
You should create instance of snapshot master API class before using its methods.
var API = require('bem-site-snapshot-master').Simple,
api = new API(options);
// here you can call instance methods of API class
api.getSnapshots(function (err) {
// TODO implement your handler
});
options
- is object with available fields:
path
- full path to operation folder. (required).symlinks
- array with available symlink names (required).logger
- settings for logger module. See Logger for more details.
For YDisk API also yandex-disk
options section needed:
'yandex-disk': {
user: 'john.smith',
password: '12345678',
namespace: 'test'
}
Returns list of snapshot folder names.
Arguments:
- {Function}
callback
function
Returns name of snapshot which given symlink is pointed to
Arguments:
- {String}
symlink
- name of symlink - {Function}
callback
function
Retrieves data of snapshot which given symlink is pointed to and pipes it to destination stream
Arguments:
- {String}
symlink
- name of symlink - {Stream}
destination
- destination stream - {Function}
callback
function
Reads content of data.json file of given snapshot
Arguments:
- {String}
snapshot
- name of given snapshot - {Function}
callback
function
Switch symlink to folder with given snapshot name
Arguments:
- {String}
symlink
- name of symlink - {String}
snapshot
- name of given snapshot - {Function}
callback
function
Removes snapshot by given snapshot name
Arguments:
- {String}
snapshot
- name of given snapshot - {Function}
callback
function
Run tests:
npm run mocha
Run tests with istanbul coverage calculation:
npm run istanbul
Run codestyle verification (jshint and jscs)
npm run codestyle
Special thanks to:
- Nikolay Ilchenko (http://github.com/tavriaforever)
- Konstantinova Gela (http://github.com/gela-d)
Maintainer @tormozz48 Please send your questions and proposals to: [email protected]