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