Skip to content
Snippets Groups Projects

Fix config value type

Merged kPherox requested to merge kphrx/admin-fe:fix-config-value-type into master
1 unresolved thread
const nonAtomsTuples = ['replace', 'match_actor', ':replace', ':match_actor']
const nonTuples = [
'digest',
'pleroma_fe',
'pleroma_fox_tan',
'pleroma_fox_tan_shy',
'masto_fe',
'poll_limits',
':digest',
':pleroma_fe',
':pleroma_fox_tan',
':pleroma_fox_tan_shy',
':masto_fe',
':poll_limits'
]
const groups = {
'cors_plug': [
'credentials',
@@ -146,16 +160,18 @@ export const wrapConfig = settings => {
} else if (key === ':rate_limit') {
return [...acc, { 'tuple': [`:${settingName}`, data] }]
} else if (settingName === 'ip') {
const ip = data.split('.')
const ip = data.split('.').map(s => parseInt(s, 10))
return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]
} else if (nonTuples.includes(settingName)) {
return [...acc, { 'tuple': [`:${settingName}`, wrapObject(data)] }]
} else if (!Array.isArray(data) && typeof data === 'object') {
return nonAtomsTuples.includes(settingName)
? [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsTuples(data)] }]
: [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]
}
return key === ':mrf_user_allowlist'
? [...acc, { 'tuple': [`${settingName}`, settings[config][settingName]] }]
: [...acc, { 'tuple': [`:${settingName}`, settings[config][settingName]] }]
? [...acc, { 'tuple': [`${settingName}`, data] }]
: [...acc, { 'tuple': [`:${settingName}`, data] }]
}, [])
return { group, key, value }
})
@@ -167,12 +183,14 @@ const wrapNestedTuples = setting => {
if (data === '') {
return acc
} else if (settingName === 'ip') {
const ip = data.split('.')
const ip = data.split('.').map(s => parseInt(s, 10))
return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]
} else if (nonTuples.includes(settingName)) {
return [...acc, { 'tuple': [`:${settingName}`, wrapObject(data)] }]
} else if (!Array.isArray(data) && typeof data === 'object') {
return [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]
}
return [...acc, { 'tuple': [`:${settingName}`, setting[settingName]] }]
return [...acc, { 'tuple': [`:${settingName}`, data] }]
}, [])
}
@@ -182,6 +200,13 @@ const wrapNonAtomsTuples = setting => {
}, [])
}
const wrapObject = setting => {
return Object.keys(setting).reduce((acc, settingName) => {
acc[`:${settingName}`] = setting[settingName]
return acc
}, {})
}
const getGroup = key => {
return Object.keys(groups).find(i => groups[i].includes(key))
}
Loading