feat: refactor the loading of the latest config so there's now two
functions, one for the server and one for the new admin web page
This commit is contained in:
parent
a0f6feeb78
commit
d6b707ff7a
2 changed files with 17 additions and 8 deletions
|
|
@ -258,7 +258,7 @@ const resolvers = {
|
|||
serverLogs.getServerLogs(from, until, limit, offset),
|
||||
transactions: (...[, { from, until, limit, offset }]) =>
|
||||
transactions.batch(from, until, limit, offset),
|
||||
config: () => settingsLoader.loadLatestConfig(),
|
||||
config: () => settingsLoader.loadLatestConfigOrNone(),
|
||||
accounts: () => settingsLoader.loadAccounts()
|
||||
},
|
||||
Mutation: {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ function loadAccounts () {
|
|||
function saveConfig (config) {
|
||||
const sql = 'insert into user_config (type, data, valid, schema_version) values ($1, $2, $3, $4)'
|
||||
|
||||
return loadLatestConfig()
|
||||
return loadLatestConfigOrNone()
|
||||
.then(currentConfig => {
|
||||
const newConfig = _.assign(currentConfig, config)
|
||||
return db.none(sql, ['config', { config: newConfig }, true, NEW_SETTINGS_LOADER_SCHEMA_VERSION])
|
||||
|
|
@ -39,7 +39,7 @@ function saveConfig (config) {
|
|||
}
|
||||
|
||||
function loadLatest () {
|
||||
return Promise.all([loadLatestConfig(), loadAccounts()])
|
||||
return Promise.all([loadLatestConfigOrNone(), loadAccounts()])
|
||||
.then(([config, accounts]) => ({
|
||||
config,
|
||||
accounts
|
||||
|
|
@ -56,16 +56,24 @@ function loadLatestConfig () {
|
|||
limit 1`
|
||||
|
||||
return db.one(sql, ['config', NEW_SETTINGS_LOADER_SCHEMA_VERSION])
|
||||
.then(row => row.data.config)
|
||||
.then(row => row ? row.data.config : {})
|
||||
.catch(err => {
|
||||
if (err.name === 'QueryResultError') {
|
||||
throw new Error('No config was found')
|
||||
}
|
||||
|
||||
throw err
|
||||
})
|
||||
}
|
||||
|
||||
function loadLatestConfigOrNone () {
|
||||
const sql = `select data
|
||||
from user_config
|
||||
where type=$1
|
||||
and schema_version=$2
|
||||
order by id desc
|
||||
limit 1`
|
||||
|
||||
return db.oneOrNone(sql, ['config', NEW_SETTINGS_LOADER_SCHEMA_VERSION])
|
||||
.then(row => row ? row.data.config : {})
|
||||
}
|
||||
|
||||
function loadConfig (versionId) {
|
||||
const sql = `select data
|
||||
from user_config
|
||||
|
|
@ -101,5 +109,6 @@ module.exports = {
|
|||
loadAccounts,
|
||||
loadLatest,
|
||||
loadLatestConfig,
|
||||
loadLatestConfigOrNone,
|
||||
load
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue