Zone deletion

This commit is contained in:
Timothy Armes
2024-04-12 13:47:24 +02:00
parent 50943685c0
commit 860644bd9f
12 changed files with 352 additions and 139 deletions
+39
View File
@@ -0,0 +1,39 @@
"use server";
import { ObjectId } from "mongodb";
import { z } from "zod";
import { auth } from "@/auth";
import { collections, dbConnect } from "@/server/mongodb";
import { errorLog } from "@/utils/logger";
import { action } from "./safeAction";
const deleteZoneSchema = z.object({
id: z.string(),
});
export const deleteZone = action(deleteZoneSchema, async ({ id }) => {
try {
await dbConnect();
const user = await auth();
if (!user?.user) {
throw new Error("You must be logged in to create a zone");
}
const result = await collections.zones!.deleteOne({
_id: new ObjectId(id),
userId: new ObjectId(user.user!.id!),
});
if (!result || result.deletedCount !== 1) {
throw new Error("ERR_ZONE_DELETE_FAILED");
}
return true;
} catch (error) {
errorLog(error);
throw error;
}
});