const serverUrl = "http://localhost:8081"; function createLineObject(item, price, count, image) { return { itemsId: item, price: parseFloat(price).toFixed(2), count, sum: parseFloat(price * count).toFixed(2), image, }; } export async function getAllItemTypes() { const response = await fetch(`${serverUrl}/items`); if (!response.ok) { throw response.statusText; } return response.json(); } export async function getAllLines() { const response = await fetch(`${serverUrl}/lines?_expand=items`); if (!response.ok) { throw response.statusText; } return response.json(); } export async function getLine(id) { const response = await fetch(`${serverUrl}/lines/${id}?_expand=items`); if (!response.ok) { throw response.statusText; } return response.json(); } export async function createLine(item, price, count, image) { const itemObject = createLineObject(item, price, count, image); const options = { method: "POST", body: JSON.stringify(itemObject), headers: { "Accept": "application/json", "Content-Type": "application/json", }, }; const response = await fetch(`${serverUrl}/lines`, options); if (!response.ok) { throw response.statusText; } return response.json(); } export async function updateLine(id, item, price, count, image) { const itemObject = createLineObject(item, price, count, image); const options = { method: "PUT", body: JSON.stringify(itemObject), headers: { "Accept": "application/json", "Content-Type": "application/json", }, }; const response = await fetch(`${serverUrl}/lines/${id}`, options); if (!response.ok) { throw response.statusText; } return response.json(); } export async function deleteLine(id) { const options = { method: "DELETE", }; const response = await fetch(`${serverUrl}/lines/${id}`, options); if (!response.ok) { throw response.statusText; } return response.json(); }