feat: wire QuestConfig into game settings service

This commit is contained in:
syntaxbullet
2026-03-28 15:37:38 +01:00
parent e64ffdc4cb
commit 4ead7e60b1

View File

@@ -9,6 +9,7 @@ import type {
LootdropConfig,
TriviaConfig,
ModerationConfig,
QuestConfig,
} from "@db/schema/game-settings";
export type GameSettingsData = {
@@ -18,6 +19,7 @@ export type GameSettingsData = {
lootdrop: LootdropConfig;
trivia: TriviaConfig;
moderation: ModerationConfig;
quest: QuestConfig;
commands: Record<string, boolean>;
system: Record<string, unknown>;
};
@@ -45,6 +47,7 @@ export const gameSettingsService = {
lootdrop: settings.lootdrop,
trivia: settings.trivia,
moderation: settings.moderation,
quest: settings.quest,
commands: settings.commands ?? {},
system: settings.system ?? {},
};
@@ -64,6 +67,7 @@ export const gameSettingsService = {
lootdrop: data.lootdrop ?? existing?.lootdrop ?? gameSettingsService.getDefaultLootdrop(),
trivia: data.trivia ?? existing?.trivia ?? gameSettingsService.getDefaultTrivia(),
moderation: data.moderation ?? existing?.moderation ?? gameSettingsService.getDefaultModeration(),
quest: data.quest ?? existing?.quest ?? gameSettingsService.getDefaultQuest(),
commands: data.commands ?? existing?.commands ?? {},
system: data.system ?? existing?.system ?? {},
updatedAt: new Date(),
@@ -180,6 +184,10 @@ export const gameSettingsService = {
},
}),
getDefaultQuest: (): QuestConfig => ({
maxActiveQuests: 3,
}),
getDefaults: (): GameSettingsData => ({
leveling: gameSettingsService.getDefaultLeveling(),
economy: gameSettingsService.getDefaultEconomy(),
@@ -187,6 +195,7 @@ export const gameSettingsService = {
lootdrop: gameSettingsService.getDefaultLootdrop(),
trivia: gameSettingsService.getDefaultTrivia(),
moderation: gameSettingsService.getDefaultModeration(),
quest: gameSettingsService.getDefaultQuest(),
commands: {},
system: {},
}),