import type { FastifyInstance } from "fastify";
import type { SaveSettingsRequest, SettingsResponse } from "@skola/shared";
import { getSettings, saveSettings } from "../services/settings-store.js";

export async function registerSettingsRoutes(app: FastifyInstance): Promise<void> {
  app.get<{ Reply: SettingsResponse }>("/v1/settings", async () => {
    const settings = await getSettings();
    return { settings };
  });

  app.post<{ Body: SaveSettingsRequest; Reply: SettingsResponse }>("/v1/settings", async (request) => {
    const updated = await saveSettings(request.body.settings ?? {});
    return { settings: updated };
  });
}
