31 lines
1.2 KiB
TypeScript
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}`);
|
|
}
|