"use server"

import { db } from "@/lib/db"
import { slugify } from "@/lib/utils"
import { revalidatePath } from "next/cache"
import { z } from "zod"

export async function createCategory(formData: FormData) {
  const name = z.string().min(1).parse(formData.get("name"))
  await db.category.create({ data: { name, slug: slugify(name) } })
  revalidatePath("/admin/categories")
}

export async function renameCategory(id: string, formData: FormData) {
  const name = z.string().min(1).parse(formData.get("name"))
  await db.category.update({ where: { id }, data: { name, slug: slugify(name) } })
  revalidatePath("/admin/categories")
}

export async function deleteCategory(id: string) {
  await db.category.delete({ where: { id } })
  revalidatePath("/admin/categories")
}
