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
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
import { jobs } from "./jobs";
|
||||
import { seedServerSettingsAsync } from "./seed-server-settings";
|
||||
|
||||
jobs.startAll();
|
||||
|
||||
void seedServerSettingsAsync();
|
||||
|
||||
33
apps/tasks/src/seed-server-settings.ts
Normal file
33
apps/tasks/src/seed-server-settings.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
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`);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user