couchdb-mkdb
couchdb-mkdb
makes it easy to create databases and stream couchdb's response.
Installation
$ npm i -S couchdb-mkdb
Usage
Express example
This express route creates new databases on every request.
...
app.post('/', (req, res, next) => {
let name = 'mydb-' + uuid.v1();
let opts = {
security: {
admins: {names: [req.user.name], roles: []},
members: {names: [], roles: []}
},
host: app.get('couchdb'),
auth: app.get('auth')
};
mkdb(name, opts)
.on('error', next)
.on('response', function(response) {
if (!(response.statusCode in [200, 201])) {
console.log('Database wasn\'t created or security couldn\'t be updated');
}
response.pipe(
res.set(response.headers)
.status(response.statusCode)
);
})
.on('success', function() {
console.log('Database successfully created');
});
});
API
mkdb(name, [opts], callback)
name
The name of the databaseopts
Optional options object. See belowcallback
Function with the signature fn(error, response)
Available options are:
All other options are passed to the underlaying
http.request()
function.
Events
error(err)
- Emitted on request errorerrorResponse(res)
- deprecated Emitted when couchdb returns a paranormal response. See Update notesresponse(res)
- Emitted when couchdb responds to the last actionsuccess
- Emitted on success
Tests
$ git clone https://github.com/domachine/node-couchdb-mkdb.git
$ cd node-couchdb-mkdb
$ npm i
$ npm test
Update notes
The first version had an 'errorResponse' event. This has now been deprecated.
Use the 'response' event instead and check the statusCode.