refactor(db): migrate app pages and APIs from Prisma facade to Drizzle (4)
Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
580972c0a0
commit
9aa4f331bf
40 files changed
+1259
-927
No files matched your search
@@ -1,7 +1,8 @@
|
||||
import { asc, eq, like, or } from "drizzle-orm";
|
||||
import { withAdmin } from "@/lib/api-handler";
|
||||
import { apiOk } from "@/lib/api-response";
|
||||
import { db, ItemsBase } from "@/lib/db";
|
||||
import { PERMS } from "@/lib/permissions";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
|
||||
/**
|
||||
* Search items_base for Quick Add / catalog tooling.
|
||||
@@ -27,26 +28,26 @@ export const GET = withAdmin(
|
||||
}
|
||||
|
||||
const idExact = Number.parseInt(q, 10);
|
||||
const rows = await prisma.itemsBase.findMany({
|
||||
where: {
|
||||
OR: [
|
||||
{ itemName: { contains: q } },
|
||||
{ publicName: { contains: q } },
|
||||
...(Number.isFinite(idExact) && String(idExact) === q
|
||||
? [{ id: idExact }]
|
||||
: []),
|
||||
],
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
itemName: true,
|
||||
publicName: true,
|
||||
type: true,
|
||||
spriteId: true,
|
||||
},
|
||||
take: limit,
|
||||
orderBy: { id: "asc" },
|
||||
});
|
||||
const conditions = [
|
||||
like(ItemsBase.itemName, `%${q}%`),
|
||||
like(ItemsBase.publicName, `%${q}%`),
|
||||
];
|
||||
if (Number.isFinite(idExact) && String(idExact) === q) {
|
||||
conditions.push(eq(ItemsBase.id, idExact));
|
||||
}
|
||||
|
||||
const rows = await db
|
||||
.select({
|
||||
id: ItemsBase.id,
|
||||
itemName: ItemsBase.itemName,
|
||||
publicName: ItemsBase.publicName,
|
||||
type: ItemsBase.type,
|
||||
spriteId: ItemsBase.spriteId,
|
||||
})
|
||||
.from(ItemsBase)
|
||||
.where(or(...conditions))
|
||||
.orderBy(asc(ItemsBase.id))
|
||||
.limit(limit);
|
||||
|
||||
return apiOk({
|
||||
results: rows.map((r) => ({
|
||||
|
||||
Reference in new issue
Block a user