fooder-app/src/lib/api/presets.ts

31 lines
1.2 KiB
TypeScript

import { apiGet, apiDelete, apiPatch, apiPost } from './client';
import type { Preset, PresetEntry } from '$lib/types/api';
export function listPresets(limit = 20, offset = 0): Promise<Preset[]> {
const params = new URLSearchParams({ limit: String(limit), offset: String(offset) });
return apiGet<Preset[]>(`/preset?${params}`);
}
export function createPreset(name: string): Promise<Preset> {
return apiPost<Preset>(`/preset/`, { name });
}
export function renamePreset(id: number, name: string): Promise<Preset> {
return apiPatch<Preset>(`/preset/${id}`, { name });
}
export function deletePreset(id: number): Promise<void> {
return apiDelete(`/preset/${id}`);
}
export function createPresetEntry(presetId: number, productId: number, grams: number): Promise<PresetEntry> {
return apiPost<PresetEntry>(`/preset/${presetId}/entry`, { product_id: productId, grams });
}
export function updatePresetEntry(presetId: number, entryId: number, grams: number): Promise<PresetEntry> {
return apiPatch<PresetEntry>(`/preset/${presetId}/entry/${entryId}`, { grams });
}
export function deletePresetEntry(presetId: number, entryId: number): Promise<void> {
return apiDelete(`/preset/${presetId}/entry/${entryId}`);
}