refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (3)

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-08-01 14:15:32 +02:00
1 parent 2cd0863cb8
commit 580972c0a0
40 files changed
+1089 -808

No files matched your search

+9 -7
View File
@@ -1,10 +1,11 @@
import { eq } from "drizzle-orm";
import { HelpCircle } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation";
import { deleteHelpQuestion, updateHelpQuestion } from "@/actions/admin-help";
import { Button } from "@/components/ui/button";
import { db, WebsiteHelpCenterCategories } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
export default async function EditHelpQuestion({
params,
@@ -20,13 +21,14 @@ export default async function EditHelpQuestion({
const { id } = await params;
const { error } = await searchParams;
let entry: Awaited<
ReturnType<typeof prisma.websiteHelpCenterCategories.findUnique>
> = null;
let entry: typeof WebsiteHelpCenterCategories.$inferSelect | null = null;
try {
entry = await prisma.websiteHelpCenterCategories.findUnique({
where: { id: BigInt(id) },
});
const [row] = await db
.select()
.from(WebsiteHelpCenterCategories)
.where(eq(WebsiteHelpCenterCategories.id, BigInt(id)))
.limit(1);
entry = row ?? null;
} catch {
notFound();
}
+11 -8
View File
@@ -1,10 +1,11 @@
import { asc } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard";
import { Button } from "@/components/ui/button";
import { db, WebsiteHelpCenterCategories } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
export default async function AdminHelpQuestions() {
const { session, permissions } = await getAdminContext();
@@ -13,14 +14,16 @@ export default async function AdminHelpQuestions() {
}
const t = await getTranslations("pages.admin.helpCenter");
let entries: Awaited<
ReturnType<typeof prisma.websiteHelpCenterCategories.findMany>
> = [];
let entries: (typeof WebsiteHelpCenterCategories.$inferSelect)[] = [];
try {
entries = await prisma.websiteHelpCenterCategories.findMany({
orderBy: [{ position: "asc" }, { id: "asc" }],
take: 500,
});
entries = await db
.select()
.from(WebsiteHelpCenterCategories)
.orderBy(
asc(WebsiteHelpCenterCategories.position),
asc(WebsiteHelpCenterCategories.id),
)
.limit(500);
} catch {
entries = [];
}