node package manager


Generate Login ID

When logins are saved into the couchdb database, they need an _id to uniquely identify themselves. It is possible to let couchdb generate the _id value. However using couchdb-generated _id values means that we need to perform existance checks client-side before saving a login to ensure uniqueness

There should only every be a single record for a given login in the database. Couchdb internally requires that each document have a unique _id value. If the _id for a login is generated manually we can ensure each login only gets saved once.


Each login can be uniquely identified using the following fields.

  • supplierCode
  • username
  • password

To generate the _id this module concatenates these values and calculates the sha1 hash value of the concatenated string. The sha1 hash is then used as the _id value

var generateLoginID = require('docparse-generate-login-id')
var generateData = {
  supplierCode: 'NST',
  username: 'fooUsername',
  password: 'barPassword'
generateLoginID(generateData, function (err, loginID) {
  if (err) {
    console.dir('error generating login id')
  console.dir('generated login id', loginID)


See index.js for a implementation details


To run the tests execute in the shell

# install development dependencies
npm install
# run tests
npm test