feat: add ludusavi metadata import into database

WARNING: includes debug route
This commit is contained in:
DecDuck
2025-06-03 17:27:35 +10:00
parent 1bfdd73e4c
commit 951a741f3e
7 changed files with 217 additions and 0 deletions

32
server/routes/ludusavi.ts Normal file
View File

@ -0,0 +1,32 @@
/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
/* eslint-disable @typescript-eslint/no-extra-non-null-assertion */
import prisma from "../internal/db/database";
import { parsePlatform } from "../internal/utils/parseplatform";
import tsquery from "pg-tsquery";
export default defineEventHandler(async (h3) => {
const query = getQuery(h3);
const name = query.name?.toString()!!;
const platform = parsePlatform(query.platform?.toString()!!)!!;
const parser = tsquery({});
return await prisma.ludusaviEntry.findMany({
orderBy: {
_relevance: {
fields: ["name"],
search: parser(name),
sort: "desc",
},
},
include: {
entries: {
where: {
platform,
},
},
},
take: 20,
});
});