feat: add configurable headers and instance branding (#6690)

This commit is contained in:
Thomas authored and GitHub committed 2026-08-25 17:09:47 +02:00
1 parent 97d8390b20
commit 9303dbd284
102 files changed
+12153 -609

No files matched your search

+16 -4
View File
@@ -1,7 +1,7 @@
import SuperJSON from "superjson";
import type { ServerSettings } from "@homarr/server-settings";
import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings";
import { defaultServerSettings, defaultServerSettingsKeys, parseBrandingSettings } from "@homarr/server-settings";
import type { Database } from "..";
import { eq } from "..";
@@ -18,10 +18,15 @@ export const getServerSettingsAsync = async (db: Database) => {
return acc;
}
const parsedSetting = SuperJSON.parse<Record<string, unknown>>(setting.value);
if (settingKey === "branding") {
acc[settingKey] = parseBrandingSettings(parsedSetting) as never;
return acc;
}
acc[settingKey] = {
...defaultServerSettings[settingKey],
...SuperJSON.parse(setting.value),
};
...parsedSetting,
} as never;
return acc;
}, {} as ServerSettings);
};
@@ -35,7 +40,14 @@ export const getServerSettingByKeyAsync = async <TKey extends keyof ServerSettin
return defaultServerSettings[key];
}
return SuperJSON.parse<ServerSettings[TKey]>(dbSettings.value);
const parsedSetting = SuperJSON.parse<ServerSettings[TKey]>(dbSettings.value);
if (key === "branding") {
return parseBrandingSettings(parsedSetting) as ServerSettings[TKey];
}
return {
...defaultServerSettings[key],
...parsedSetting,
} as ServerSettings[TKey];
};
export const updateServerSettingByKeyAsync = async <TKey extends keyof ServerSettings>(