import { db } from "$lib/server/db"; import * as table from "$lib/server/db/schema"; import { fail } from "@sveltejs/kit"; import { eq } from "drizzle-orm"; export const load = async (event) => { const floors = await db.select().from(table.floors).orderBy(table.floors.floor); return { floors: floors }; }; export const actions = { newfloor: async (event) => { const formData = await event.request.formData(); const newFloorNumber = await formData.get("number"); const n = Number(newFloorNumber); if (isNaN(n)) return fail(400, { message: "Invalid number!" }); const exists = await db .select({ floor: table.floors.floor }) .from(table.floors) .where(eq(table.floors.floor, n)) .execute(); console.log(n); console.log(exists); if (exists.length == 1) return fail(400, { message: "Floor " + n + " already exists!" }); await db.insert(table.floors).values({ floor: n, url: "/" }); }, rmfloor: async (event) => { const formData = await event.request.formData(); const rmFloorNumber = await formData.get("number"); const n = Number(rmFloorNumber); if (isNaN(n)) return fail(400, { message: "Invalid number!" }); const floors = await db.select().from(table.floors); if (floors.length == 1) return fail(400, { message: "Cannot delete last floor!" }); await db.delete(table.floors).where(eq(table.floors.floor, n)); }, };