feat(阶段1): Hono 应用与题目列表接口,读通本地真实数据

This commit is contained in:
2026-08-06 21:14:58 -06:00
parent 0a8fcef3f2
commit 3c975e85ee
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import { problemSummarySchema } from "@oj2/contract"
import { desc } from "drizzle-orm"
import { Hono } from "hono"
import { db, schema } from "../db"
export const problemRoutes = new Hono()
problemRoutes.get("/problems", async (c) => {
const rows = await db
.select({
id: schema.problem.id,
_id: schema.problem.displayId,
title: schema.problem.title,
difficulty: schema.problem.difficulty,
submissionNumber: schema.problem.submissionNumber,
acceptedNumber: schema.problem.acceptedNumber,
})
.from(schema.problem)
.orderBy(desc(schema.problem.id))
.limit(20)
const data = rows.map((row) => problemSummarySchema.parse(row))
return c.json({ data })
})