import type { ApiFetcher } from './fetch-utils'; import { paths } from './schema'; import { OpForPath, OpQueryParams, OpRequestBody, OpResponseBody } from './utils'; export const SETTINGS_ROUTES = { GET_SAVE: '/api/settings', } as const satisfies Record; export type SettingsResponse = OpResponseBody>; export type SaveSettingsBody = OpRequestBody>; export type GetSettingsQuery = OpQueryParams>; export async function fetchSettings( fetcher: ApiFetcher, query?: GetSettingsQuery ): Promise { const get = fetcher.path(SETTINGS_ROUTES.GET_SAVE).method('get').create(); const { data } = await (get as (params?: GetSettingsQuery) => Promise<{ data: SettingsResponse }>)( query ?? {} ); return data; } export async function saveSettings( fetcher: ApiFetcher, values: SaveSettingsBody ): Promise { const put = fetcher.path(SETTINGS_ROUTES.GET_SAVE).method('put').create(); await put(values); }