amati/src/features/dashboard/permissions/actions/deletePermission.ts
2024-01-28 23:12:51 +07:00

27 lines
715 B
TypeScript

"use server";
import prisma from "@/db";
import checkPermission from "@/features/auth/tools/checkPermission";
import { handleCatch, unauthorized } from "../../errors/DashboardError";
import ServerResponse from "@/types/Action";
import { revalidatePath } from "next/cache";
export default async function deletePermission(id: string): Promise<ServerResponse> {
try {
if (!(await checkPermission("permission.delete"))) return unauthorized();
const permission = await prisma.permission.delete({
where: { id },
});
revalidatePath(".")
return {
success: true,
message: "The permission has been deleted successfully",
};
} catch (e: unknown) {
return handleCatch(e)
}
}