TempMonitor/src/routes/(app)/settings/+page.server.js

45 lines
1.5 KiB
JavaScript
Raw Normal View History

2025-05-18 17:21:58 +02:00
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) => {
2025-05-18 23:58:46 +02:00
return {};
2025-05-18 17:21:58 +02:00
};
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)
2025-05-18 23:58:46 +02:00
.where(eq(table.floors.floor, n));
2025-05-18 17:21:58 +02:00
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!" });
2025-05-19 16:40:11 +02:00
const exists = await db
.select({ floor: table.floors.floor })
.from(table.floors)
.where(eq(table.floors.floor, n));
if (exists.length == 0) return fail(400, { message: "Floor " + n + " does not exist!" });
2025-05-18 17:21:58 +02:00
await db.delete(table.floors).where(eq(table.floors.floor, n));
},
};