This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import type { EntityResponse, InventoryTreeNode, ListResponse, NodeContext } from '../types/inventory';
|
||||
|
||||
async function handleResponse<T>(response: Response): Promise<T> {
|
||||
if (!response.ok) {
|
||||
throw new Error(`API error: ${response.status}`);
|
||||
}
|
||||
return response.json() as Promise<T>;
|
||||
}
|
||||
|
||||
export async function fetchInventoryTree(): Promise<InventoryTreeNode[]> {
|
||||
const response = await fetch('/api/inventory/tree');
|
||||
const data = await handleResponse<ListResponse<InventoryTreeNode>>(response);
|
||||
return data.items;
|
||||
}
|
||||
|
||||
export async function fetchNodeContext(id: string): Promise<NodeContext> {
|
||||
const response = await fetch(`/api/inventory/nodes/${id}/context`);
|
||||
const data = await handleResponse<EntityResponse<NodeContext>>(response);
|
||||
return data.item;
|
||||
}
|
||||
Reference in New Issue
Block a user