- 迁移 0022:problem_tag 加 category(knowledge / theme)和 category_confirmed; 存量 25 个题材、题集类标签归主题,其余归知识点,全部记为已确认 - 前台题目列表按两组显示标签,组内按题目数从多到少 - 后台标签管理:每行切换分类;出题时新建的标签默认知识点、标「待归类」并排在最前, 页头提示待归类数量,可点「确认」保留默认;加分类筛选 - 新接口 PUT /admin/problem-tags/:id/category,设置分类即视为确认 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e1b6a9e9fa
commit
d07459928d
12 files changed
+4226
-30
No files matched your search
@@ -52,6 +52,7 @@ import type {
|
||||
ReactionKey,
|
||||
SqlConfig,
|
||||
SqlDisplay,
|
||||
TagCategory,
|
||||
TutorialType,
|
||||
} from "@oj2/contract"
|
||||
import {
|
||||
@@ -738,6 +739,10 @@ export const problemTag = pgTable(
|
||||
{
|
||||
id: serial().primaryKey().notNull(),
|
||||
name: text().notNull(),
|
||||
category: text().notNull().default("knowledge").$type<TagCategory>(),
|
||||
// 分类有没有人确认过。出题时顺手新建的标签一律先落在「知识点」,这一列为 false,
|
||||
// 后台标签管理把它们排在最前面等老师归类;存量标签由 0022 统一标成 true
|
||||
categoryConfirmed: boolean("category_confirmed").notNull().default(false),
|
||||
},
|
||||
() => [uniqueIndex("problem_tag_name_ci_unique").using("btree", sql`lower(name)`)],
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user