import api from "./client"; export interface SettingsResponse { settings: Record; } export interface FeatureFlag { key: string; label: string; enabled: boolean; } export interface FeatureFlagsResponse { flags: FeatureFlag[]; note: string; } export const settingsApi = { // GET /api/settings — all runtime-editable settings as a flat key→value map. getAll: async (): Promise> => { const { data } = await api.get("/settings"); return data.settings; }, // PUT /api/settings/{key} — persist one setting; returns the full updated map. update: async (key: string, value: string): Promise> => { const { data } = await api.put(`/settings/${key}`, { value }); return data.settings; }, // GET /api/settings/feature-flags — effective flag values (override, else env). getFeatureFlags: async (): Promise => { const { data } = await api.get("/settings/feature-flags"); return data; }, // PUT /api/settings/{key} — persist a feature flag as "true"/"false". setFeatureFlag: async (key: string, enabled: boolean): Promise => { await api.put(`/settings/${key}`, { value: enabled ? "true" : "false" }); }, };