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

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
2026-08-01 14:15:36 +02:00
co-authored by Cursor
parent 580972c0a0
commit 9aa4f331bf
40 changed files with 1259 additions and 927 deletions
+9 -9
View File
@@ -1,23 +1,23 @@
// Public REST API — list of currently-online users (username + look only).
//
// `online` is stored by the emulator as the string "1" / "0" (see User model in
// prisma/schema.prisma). Capped at 100 rows. Returns empty data (never 500) on
// DB failure.
// `online` is stored by the emulator as the string "1" / "0" (see User model).
// Capped at 100 rows. Returns empty data (never 500) on DB failure.
import { eq } from "drizzle-orm";
import { apiJson } from "@/lib/api";
import { cached } from "@/lib/cache";
import { prisma } from "@/lib/prisma";
import { db, User } from "@/lib/db";
export const dynamic = "force-dynamic";
export async function GET(_req: Request) {
try {
const users = await cached("online_users", 10_000, async () =>
prisma.user.findMany({
where: { online: "1" },
select: { username: true, look: true },
take: 100,
}),
db
.select({ username: User.username, look: User.look })
.from(User)
.where(eq(User.online, "1"))
.limit(100),
);
return apiJson({ users });