Add new types for integration configuration

This commit is contained in:
Meierschlumpf
2022-12-11 19:16:31 +01:00
parent 68a97e5f27
commit ed64d138c5
10 changed files with 153 additions and 66 deletions

View File

@@ -1,9 +1,9 @@
import { ConfigType } from '../../types/config';
import { BackendConfigType, ConfigType } from '../../types/config';
import { configExists } from './configExists';
import { getFallbackConfig } from './getFallbackConfig';
import { readConfig } from './readConfig';
export const getConfig = (name: string): ConfigType => {
export const getConfig = (name: string): BackendConfigType => {
if (!configExists(name)) return getFallbackConfig();
return readConfig(name);
};

View File

@@ -1,6 +1,6 @@
import { ConfigType } from '../../types/config';
import { BackendConfigType } from '../../types/config';
export const getFallbackConfig = (name?: string): ConfigType => ({
export const getFallbackConfig = (name?: string): BackendConfigType => ({
schemaVersion: '1.0.0',
configProperties: {
name: name ?? 'default',
@@ -12,7 +12,12 @@ export const getFallbackConfig = (name?: string): ConfigType => ({
common: {
searchEngine: {
type: 'google',
properties: {
enabled: true,
openInNewTab: true,
},
},
defaultConfig: 'default',
},
customization: {
colors: {},

View File

@@ -0,0 +1,23 @@
import { ConfigType } from '../../types/config';
import { getConfig } from './getConfig';
export const getFrontendConfig = (name: string): ConfigType => {
const config = getConfig(name);
return {
...config,
services: config.services.map((s) => ({
...s,
integration: s.integration
? {
...s.integration,
properties: s.integration?.properties.map((p) => ({
...p,
value: p.type === 'private' ? null : p.value,
isDefined: p.value != null,
})),
}
: null,
})),
};
};