import http from "@/api/http-client" /** Keep in sync with api/src/models/user-preference.ts */ export enum PreferenceKeys { FLASHCARDS_DAY_STREAK = "flashcards.day_streak", } export type PreferenceValueMap = { [PreferenceKeys.FLASHCARDS_DAY_STREAK]: number } export type Preference = { key: PreferenceKeys value: unknown | null } export type PreferenceAsShow = Preference export const preferencesApi = { async upsert( userId: number, key: K, value: PreferenceValueMap[K] | null ): Promise<{ message: string }> { const { data } = await http.patch(`/api/users/${userId}/preferences/${key}`, { value, }) return data }, } export default preferencesApi