"use server"; import { revalidatePath } from "next/cache"; import { z } from "zod"; import { executeLegacyEconomyMutation } from "@/features/housekeeping/domains/economy/services/mutations"; import { PERMS } from "@/lib/permissions"; import { adminAction } from "@/lib/safe-action"; import { actionOk } from "@/lib/safe-action-shared"; const updateSchema = z.object({ id: z.coerce.number().int().positive(), fields: z.record(z.string(), z.unknown()), }); export const updateItemsBase = adminAction( { permission: PERMS.CATALOG_EDIT, schema: updateSchema }, async (context) => { const { id, fields } = context.data; await executeLegacyEconomyMutation( { id: Number(context.session.user.id) }, "items-base.update", { id, fields }, ); revalidatePath("/admin/items"); revalidatePath(`/admin/items/${id}`); revalidatePath("/admin/catalog"); return actionOk({ id }); }, );