fix: 全部TS错误修复(25->0) + 证书API 500修复 + i18n缺失key补全 + 类型定义修正

- 证书API 500修复: AssessmentCertificate实体注册到app.module.ts
- 前端TS错误25个清零: i18n key 17个, 类型定义8个
- i18n补全: 17个缺失key添加到zh/en/ja
- KnowledgeFile类型: 添加title, content字段
- importService: 改用apiClient.request替代raw fetch
- ModeSelector: 移除jsx prop
- questionBankService: .ok -> .status >= 400
- NotebookDetailView: .filter -> .items.filter
- ImportTasksDrawer: tasks.items提取
- API端点审计: 16/16通过
- 数据库Schema审计: 25表288列一致
- AGENTS.md更新
This commit is contained in:
Developer
2026-05-18 08:30:59 +08:00
parent 631e99c0e0
commit 0b0a060967
16 changed files with 310 additions and 390 deletions
@@ -91,9 +91,15 @@ export class QuestionBankService {
throw new BadRequestException('Question bank name is required');
}
if (createDto.templateId) {
const existing = await this.bankRepository.findOne({ where: { templateId: createDto.templateId } });
const existing = await this.bankRepository.findOne({
where: { templateId: createDto.templateId, tenantId: tenantId as any },
});
if (existing) {
throw new BadRequestException('该模板已关联题库,一个模板只能创建一个题库');
if (existing.status === QuestionBankStatus.DRAFT || existing.status === QuestionBankStatus.REJECTED) {
await this.bankRepository.remove(existing);
} else {
throw new BadRequestException('该模板已关联有效题库,请编辑已有题库');
}
}
}
const bankData: any = {