Files
ADCTESTAPP/lib/items.ts
T

46 lines
1.1 KiB
TypeScript

"use server";
import { executeHttpRequest } from "@sap-cloud-sdk/http-client";
export type Item = {
ItemCode: string;
ItemName: string;
};
export async function getItems(): Promise<{ items: Item[]; error: string }> {
try {
const response = await executeHttpRequest(
{ destinationName: "SAP4SL" },
{ method: "GET", url: "/b1s/v2/Items" },
);
return { items: response.data.value || [], error: "" };
} catch (error) {
console.error(error);
return {
items: [],
error: "items_request_failed",
};
}
}
export async function searchItems(query: string): Promise<{ items: Item[]; error: string }> {
const escapedQuery = query.replaceAll("'", "''");
try {
const response = await executeHttpRequest(
{ destinationName: "SAP4SL" },
{ method: "GET", url: `/b1s/v2/Items?$filter=contains(ItemName,'${escapedQuery}')` },
);
return { items: response.data.value || [], error: "" };
} catch (error) {
console.error(error);
return {
items: [],
error: "items_request_failed",
};
}
}