refactor(grades,diagnostic): 成绩和学情诊断模块审计修复
P0-1: 10 个页面补充 requirePermission 权限校验 P0-2: diagnostic/data-access-reports.ts 移除直查 users 表,改用 getUserNamesByIds P0-3: 新增 grade/grades/diagnostic 三组 i18n 翻译文件(zh-CN/en) P0-4: 新增 /management/grade 重定向页面 P1-2: 抽取 toNumber/normalize/buildScopeClassFilter 到 lib/grade-utils.ts P1-3: 为 12 个 Action 新增 Zod safeParse 校验(schema.ts +12 查询 schema) P1-4: 修复 as 断言违规,改用类型守卫函数 P2-2: 移除 diagnostic 组件中 Tailwind 任意值 同步更新架构图文档 004 和 005
This commit is contained in:
@@ -7941,6 +7941,102 @@
|
||||
"usedBy": [
|
||||
"updateGradeRecordAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DeleteGradeRecordSchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"deleteGradeRecordAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "GetGradeRecordByIdSchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getGradeRecordByIdAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "GradeQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getGradeRecordsAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ClassGradeStatsQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getClassGradeStatsAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "StudentGradeSummaryQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getStudentGradeSummaryAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ClassRankingQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getClassRankingAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ExportGradesSchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"exportGradesAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "GradeTrendQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getGradeTrendAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ClassComparisonQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getClassComparisonAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "SubjectComparisonQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getSubjectComparisonAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "GradeDistributionQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getGradeDistributionAction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "RankingTrendQuerySchema",
|
||||
"type": "ZodSchema",
|
||||
"file": "schema.ts",
|
||||
"usedBy": [
|
||||
"getRankingTrendAction"
|
||||
]
|
||||
}
|
||||
],
|
||||
"types": [
|
||||
@@ -8154,6 +8250,48 @@
|
||||
"migratedTo": "shared/lib/utils.formatDateForFile"
|
||||
}
|
||||
],
|
||||
"lib": [
|
||||
{
|
||||
"name": "toNumber",
|
||||
"signature": "(v: unknown) => number",
|
||||
"file": "lib/grade-utils.ts",
|
||||
"purpose": "安全将 unknown 值转换为有限数字,非有限值返回 0(P1-2 新增:从 data-access/data-access-analytics/data-access-ranking 抽取)",
|
||||
"usedBy": [
|
||||
"data-access.serializeRecord",
|
||||
"data-access.getClassGradeStats",
|
||||
"data-access-analytics.getGradeTrend",
|
||||
"data-access-analytics.getClassComparison",
|
||||
"data-access-analytics.getSubjectComparison",
|
||||
"data-access-analytics.getGradeDistribution",
|
||||
"data-access-ranking.getRankingTrend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "normalize",
|
||||
"signature": "(score: number, fullScore: number) => number",
|
||||
"file": "lib/grade-utils.ts",
|
||||
"purpose": "将原始分数归一化到 0-100 分制(P1-2 新增:从 data-access-analytics/data-access-ranking 抽取)",
|
||||
"usedBy": [
|
||||
"data-access-analytics.getGradeTrend",
|
||||
"data-access-analytics.getSubjectComparison",
|
||||
"data-access-analytics.getGradeDistribution",
|
||||
"data-access-ranking.getRankingTrend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "buildScopeClassFilter",
|
||||
"signature": "(scope: DataScope) => SQL | null",
|
||||
"file": "lib/grade-utils.ts",
|
||||
"purpose": "根据 DataScope 构建 gradeRecords 表的行级权限过滤条件(P1-2 新增:从 data-access/data-access-analytics 抽取)",
|
||||
"usedBy": [
|
||||
"data-access.getGradeRecords",
|
||||
"data-access-analytics.getGradeTrend",
|
||||
"data-access-analytics.getClassComparison",
|
||||
"data-access-analytics.getSubjectComparison",
|
||||
"data-access-analytics.getGradeDistribution"
|
||||
]
|
||||
}
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"name": "GradeRecordForm",
|
||||
|
||||
Reference in New Issue
Block a user