-- CreateEnum
CREATE TYPE "NavMenuLocation" AS ENUM ('header', 'footer');

-- CreateEnum
CREATE TYPE "NavItemVisibility" AS ENUM ('always', 'logged_in', 'logged_out');

-- CreateTable
CREATE TABLE "nav_items" (
    "id" TEXT NOT NULL,
    "menu" "NavMenuLocation" NOT NULL,
    "label" TEXT NOT NULL,
    "url" TEXT NOT NULL,
    "parent_id" TEXT,
    "order" INTEGER NOT NULL DEFAULT 0,
    "visibility" "NavItemVisibility" NOT NULL DEFAULT 'always',
    "is_button_style" BOOLEAN NOT NULL DEFAULT false,
    "seed_key" TEXT,
    "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updated_at" TIMESTAMP(3) NOT NULL,

    CONSTRAINT "nav_items_pkey" PRIMARY KEY ("id")
);

-- CreateIndex
CREATE UNIQUE INDEX "nav_items_seed_key_key" ON "nav_items"("seed_key");

-- AddForeignKey
ALTER TABLE "nav_items" ADD CONSTRAINT "nav_items_parent_id_fkey" FOREIGN KEY ("parent_id") REFERENCES "nav_items"("id") ON DELETE CASCADE ON UPDATE CASCADE;
