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

+19 -18
View File
@@ -1,7 +1,8 @@
import { desc, inArray } from "drizzle-orm";
import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard";
import { db, RadioHistory, User } from "@/lib/db";
import { formatDate } from "@/lib/format-date";
import { prisma } from "@/lib/prisma";
type History = {
id: bigint;
@@ -31,28 +32,28 @@ export default async function AdminRadioHistoryPage() {
let dbError = false;
try {
history = await prisma.radioHistory.findMany({
select: {
id: true,
userId: true,
showName: true,
startedAt: true,
endedAt: true,
listenersCount: true,
notes: true,
},
orderBy: { startedAt: "desc" },
take: 100,
});
history = await db
.select({
id: RadioHistory.id,
userId: RadioHistory.userId,
showName: RadioHistory.showName,
startedAt: RadioHistory.startedAt,
endedAt: RadioHistory.endedAt,
listenersCount: RadioHistory.listenersCount,
notes: RadioHistory.notes,
})
.from(RadioHistory)
.orderBy(desc(RadioHistory.startedAt))
.limit(100);
const ids = Array.from(
new Set(history.map((h) => Number(h.userId))),
).filter((n) => Number.isFinite(n) && n > 0);
if (ids.length > 0) {
const users = await prisma.user.findMany({
where: { id: { in: ids } },
select: { id: true, username: true },
});
const users = await db
.select({ id: User.id, username: User.username })
.from(User)
.where(inArray(User.id, ids));
names = new Map(users.map((u) => [String(u.id), u.username]));
}
} catch {