diff --git a/apps/api/src/routes/problem.ts b/apps/api/src/routes/problem.ts index 4fbabf5..117352f 100644 --- a/apps/api/src/routes/problem.ts +++ b/apps/api/src/routes/problem.ts @@ -3,7 +3,6 @@ import { problemDetailSchema, problemListItemSchema, problemListSchema, - problemSummarySchema, tagSchema, yearlyAcSchema, } from "@oj2/contract" @@ -228,25 +227,6 @@ problemRoutes.get("/problems/:displayId/yearly-ac", async (c) => { return success(c, rows.map((row) => yearlyAcSchema.parse({ ...row, acRate: row.total > 0 ? Math.round(row.accepted / row.total * 10_000) / 100 : 0 }))) }) -problemRoutes.get("/dev/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) - .where(and(eq(schema.problem.visible, true), isNull(schema.problem.contestId))) - .orderBy(desc(schema.problem.id)) - .limit(20) - - const data = rows.map((row) => problemSummarySchema.parse(row)) - return success(c, data) -}) - problemRoutes.get("/problems/:displayId", optionalAuth, async (c) => { const [row] = await db .select({ diff --git a/apps/web/src/oj/dev-problems.vue b/apps/web/src/oj/dev-problems.vue deleted file mode 100644 index 3003da1..0000000 --- a/apps/web/src/oj/dev-problems.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - 阶段 1 链路验证(临时页,阶段 3 删除) - {{ error }} - 共 {{ problems.length }} 道题 - - - {{ problem._id }} — {{ problem.title }}({{ problem.difficulty }},通过 - {{ problem.acceptedNumber }}/{{ problem.submissionNumber }}) - - - - diff --git a/apps/web/src/routes.ts b/apps/web/src/routes.ts index 197674a..b815626 100644 --- a/apps/web/src/routes.ts +++ b/apps/web/src/routes.ts @@ -5,7 +5,6 @@ export const ojs: RouteRecordRaw = { component: () => import("shared/layout/default.vue"), children: [ { path: "", component: () => import("oj/problem/list.vue") }, - { path: "dev-problems", component: () => import("oj/dev-problems.vue") }, { path: "problem/:problemID", component: () => import("oj/problem/detail.vue"), diff --git a/packages/contract/src/problem.ts b/packages/contract/src/problem.ts index dd93fa8..a533302 100644 --- a/packages/contract/src/problem.ts +++ b/packages/contract/src/problem.ts @@ -2,18 +2,6 @@ import { z } from "zod" import { paginatedSchema, sampleUserSchema } from "./common" -/** 题目列表项。字段取自 problem 表,只含列表页需要的列。 */ -export const problemSummarySchema = z.object({ - id: z.number().int(), - _id: z.string(), // 展示用编号,与自增 id 不同 - title: z.string(), - difficulty: z.string(), - submissionNumber: z.number().int(), - acceptedNumber: z.number().int(), -}) - -export type ProblemSummary = z.infer - export const problemDetailSchema = z.object({ id: z.number().int(), _id: z.string(),
{{ error }}
共 {{ problems.length }} 道题