fix: seed script and settings config constructor

This commit is contained in:
antonleviathan 2023-04-09 13:20:03 -04:00
parent 874d7a4856
commit 76a4e79ce4
No known key found for this signature in database
GPG Key ID: 44A86CFF1FDF0E85
3 changed files with 15 additions and 14 deletions

View File

@ -1,7 +1,7 @@
[
{
"key": "relay_url",
"value": { "url": "wss://nostream.your-domain.com"},
"value": "wss://nostream.your-domain.com",
"category": "info"
},
{

View File

@ -16,17 +16,18 @@ exports.seed = async function (knex) {
const rawConfigs = getConfigs()
const parsedConfigs = parseAll(rawConfigs)
const mergedSettings = mergeDeepLeft(defaultConfigs, parsedConfigs)
const rawMergedSettings = mergeDeepLeft(defaultConfigs, parsedConfigs)
const mergedSettings = Object.keys(rawMergedSettings).map(s => {
const setting = rawMergedSettings[s]
setting.value = JSON.stringify(setting.value)
return setting
})
for (const settingKey of Object.keys(mergedSettings)) {
for (const setting of mergedSettings) {
try {
//const res = await knex('configs').insert(setting)
const res = await knex('configs').insert([mergedSettings[settingKey]])
console.log('knex res', res)
await knex('configs').insert([setting])
} catch (err) {
// TODO remove this log when finished developing
console.log('Failed to insert config due to error: ', err)
// Nothing to log as if this fails the config already exists, which is fine
console.log('Warning: failed to insert config due to error: ', err)
}
}
}
@ -90,13 +91,10 @@ const parseOneLevelDeepConfigs = (configs, category) => {
const flattenedConfigs = Object.keys(configs).map(key => {
return {
key,
value: configs[key],
value: JSON.stringify(configs[key]),
category,
}
})
return flattenedConfigs
}
// TODO: fix the key "enabled", as it repeats

View File

@ -69,7 +69,10 @@ export class SettingsStatic {
private static constructSettingsJsonBlob(rawSettingsFromDb): any {
const settings = {}
rawSettingsFromDb.map(setting => {
rawSettingsFromDb.forEach(setting => {
if (!settings[setting.category]) {
settings[setting.category] = {}
}
settings[setting.category][setting.key] = setting.value
})