added admin system

This commit is contained in:
averel10
2026-03-08 10:27:23 +01:00
parent 4d8040a674
commit 445a429be7
9 changed files with 297 additions and 16 deletions

View File

@@ -0,0 +1,36 @@
"use server";
import db from "@/lib/db";
import { user } from "@/lib/model/auth-schema";
import { eq } from "drizzle-orm";
import { requireAdmin } from "@/lib/auth";
export async function deleteUser(userId: string) {
const result = await requireAdmin();
if (!result.authenticated || !result.admin) {
throw new Error("Unauthorized");
}
await db.delete(user).where(eq(user.id, userId));
}
export async function setUserAdmin(userId: string, isAdmin: boolean) {
const result = await requireAdmin();
if (!result.authenticated || !result.admin) {
throw new Error("Unauthorized");
}
await db.update(user).set({ admin: isAdmin }).where(eq(user.id, userId));
}
export async function getAllUsers() {
const result = await requireAdmin();
if (!result.authenticated || !result.admin) {
throw new Error("Unauthorized");
}
return db.select().from(user);
}