Fixed Bitcoin RPC password generator when initialSetup is not done (updating)

This commit is contained in:
Michele Marcucci 2022-07-20 14:22:18 +02:00
parent 31c4b6ad9a
commit dae42bbe88
2 changed files with 25 additions and 3 deletions

3
.gitignore vendored
View File

@ -68,3 +68,6 @@ typings/
backend/apollo-miner/apollo-miner.*
backend/apollo-miner/*config*
backend/apollo-miner/miner.events
backend/apollo-miner/futurebit-miner
backend/node/bitcoind
backend/start_swap.sh

View File

@ -1,12 +1,15 @@
const { writeFileSync, existsSync } = require('fs')
const { writeFileSync, readFileSync, existsSync } = require('fs')
const { join } = require('path')
const crypto = require('crypto')
const generator = require('generate-password')
const utils = require('./utils')
const { knex } = require('./db')
initEnvFile()
runMigrations()
.then(startServer)
function initEnvFile () {
async function initEnvFile () {
const envPath = join(__dirname, '..', '.env')
const envExists = existsSync(envPath)
if (!envExists) {
@ -23,11 +26,27 @@ function initEnvFile () {
.map(({ name, value }) => `${name}=${value}`)
.join('\n') + '\n'
writeFileSync(envPath, envFile)
} else {
const envFile = readFileSync(envPath)
let envString = envFile.toString();
if (!envString.match(/BITCOIND_PASSWORD=.*/)) {
console.log('Generating Bitcoin RPC password')
const rpcPassword = generator.generate({
length: 12,
numbers: true
})
await knex('settings').update({
node_rpc_password: rpcPassword
})
await utils.auth.changeNodeRpcPassword(rpcPassword)
}
}
}
async function runMigrations () {
const { knex } = require('./db')
try {
const resp = await knex.migrate.latest()
} catch (err) {