"use server"; import { ServerFetchError, serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil"; import { revalidateTag } from "next/cache"; import { BASE_API_URL } from "@/config/api"; import { HTMLInputTypeAttribute } from "react"; import { CreateItemResponse } from "../../utils"; export type TypeInputs = { id: number; name: string } export type UomInputs = { uom: string } export type WeightUnitInputs = { weightUnit: string conversion: number } export type CreateItemInputs = { id?: string | number code: string; name: string; description?: string | undefined; remarks?: string | undefined; shelfLife?: Number | undefined; countryOfOrigin?: string | undefined; minHumid?: number | undefined; maxHumid?: number | undefined; minTemp?: number | undefined; maxTemp?: number | undefined; sampleRate?: number | undefined; passingRate?: number | undefined; netWeight: number; typeId: number; } export const saveItem = async (data: CreateItemInputs) => { // try { const item = await serverFetchJson>(`${BASE_API_URL}/items/new`, { method: "POST", body: JSON.stringify(data), headers: { "Content-Type": "application/json" }, }); revalidateTag("items"); return item };