Files
homarr/apps/tasks/src/seed-server-settings.ts
Manuel 919161798e feat: add server settings (#487)
* feat: add server settings

* feat: remove old migration

* feat: add new migrations

* refactor: format

* fix: build error

* refactor: format

* fix: lint
2024-05-19 22:29:15 +02:00

34 lines
908 B
TypeScript

import SuperJSON from "superjson";
import { db } from "@homarr/db";
import { serverSettings } from "@homarr/db/schema/sqlite";
import { logger } from "@homarr/log";
import {
defaultServerSettings,
defaultServerSettingsKeys,
} from "../../../packages/server-settings";
export const seedServerSettingsAsync = async () => {
const serverSettingsData = await db.query.serverSettings.findMany();
let insertedSettingsCount = 0;
for (const settingsKey of defaultServerSettingsKeys) {
if (
serverSettingsData.some((setting) => setting.settingKey === settingsKey)
) {
return;
}
await db.insert(serverSettings).values({
settingKey: settingsKey,
value: SuperJSON.stringify(defaultServerSettings[settingsKey]),
});
insertedSettingsCount++;
}
if (insertedSettingsCount > 0) {
logger.info(`Inserted ${insertedSettingsCount} missing settings`);
}
};