Merge pull request #757 from josepfo/feat/create-table-for-operator-ids

feat: create db table and store operator id
This commit is contained in:
Rafael Taranto 2021-11-24 17:51:04 +00:00 committed by GitHub
commit 24ed69244c
5 changed files with 89 additions and 53 deletions

View file

@ -1,34 +1,15 @@
const pify = require('pify')
const fs = pify(require('fs'))
const hkdf = require('futoin-hkdf')
const state = require('./state')
const mnemonicHelpers = require('../mnemonic-helpers')
const options = require('../options')
const logger = require('../logger')
function computeOperatorId (masterSeed) {
return hkdf(masterSeed, 16, { salt: 'lamassu-server-salt', info: 'operator-id' }).toString('hex')
}
function getMnemonic () {
if (state.mnemonic) return Promise.resolve(state.mnemonic)
return fs.readFile(options.mnemonicPath, 'utf8').then(mnemonic => {
state.mnemonic = mnemonic
return mnemonic
})
}
const { getOperatorId } = require('../operator')
function findOperatorId (req, res, next) {
return getMnemonic().then(mnemonic => {
return computeOperatorId(mnemonicHelpers.toEntropyBuffer(mnemonic))
}).then(id => {
res.locals.operatorId = id
return next()
}).catch(e => {
logger.error('Error while computing operator id\n' + e)
next(e)
})
return getOperatorId('middleware')
.then(({ operatorId }) => {
res.locals.operatorId = operatorId
return next()
})
.catch(e => {
console.error('Error while computing operator id\n' + e)
next(e)
})
}
module.exports = findOperatorId