fix: 整合验证修复9个代码缺口 - 历史限制3条、证书公开端点、题库默认DRAFT状态、Admin硬编码

This commit is contained in:
Developer
2026-05-15 10:09:27 +08:00
parent 97287b0fc4
commit 7ee13b3499
4 changed files with 6 additions and 3 deletions
@@ -18,6 +18,7 @@ import { map } from 'rxjs/operators';
import { AssessmentService } from './assessment.service'; import { AssessmentService } from './assessment.service';
import { ExportService } from './services/export.service'; import { ExportService } from './services/export.service';
import { CombinedAuthGuard } from '../auth/combined-auth.guard'; import { CombinedAuthGuard } from '../auth/combined-auth.guard';
import { Public } from '../auth/public.decorator';
import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger';
@ApiTags('Assessment') @ApiTags('Assessment')
@@ -134,7 +135,7 @@ export class AssessmentController {
@Get('certificate/verify/:certificateId') @Get('certificate/verify/:certificateId')
@ApiOperation({ summary: 'Verify certificate by ID (public)' }) @ApiOperation({ summary: 'Verify certificate by ID (public)' })
@UseGuards() @Public()
async verifyCertificate( async verifyCertificate(
@Param('certificateId') certificateId: string, @Param('certificateId') certificateId: string,
) { ) {
@@ -143,6 +144,7 @@ export class AssessmentController {
@Get('certificate/public/:sessionId') @Get('certificate/public/:sessionId')
@ApiOperation({ summary: 'Get public certificate info for verification' }) @ApiOperation({ summary: 'Get public certificate info for verification' })
@Public()
async getPublicCertificate( async getPublicCertificate(
@Param('sessionId') sessionId: string, @Param('sessionId') sessionId: string,
) { ) {
+1 -1
View File
@@ -1578,7 +1578,7 @@ const initialState: Partial<EvaluationState> = {
const sessions = await this.sessionRepository.find({ const sessions = await this.sessionRepository.find({
where: { userId, status: AssessmentStatus.COMPLETED }, where: { userId, status: AssessmentStatus.COMPLETED },
order: { createdAt: 'DESC' }, order: { createdAt: 'DESC' },
take: 100, take: 3,
relations: ['template'], relations: ['template'],
}); });
return sessions; return sessions;
@@ -50,6 +50,7 @@ export class QuestionBank {
@Column({ @Column({
type: 'simple-enum', type: 'simple-enum',
enum: QuestionBankStatus, enum: QuestionBankStatus,
default: QuestionBankStatus.DRAFT,
}) })
status: QuestionBankStatus; status: QuestionBankStatus;
+1 -1
View File
@@ -42,7 +42,7 @@ export const AssessmentStatsView: React.FC = () => {
const [groups, setGroups] = useState<KnowledgeGroup[]>([]); const [groups, setGroups] = useState<KnowledgeGroup[]>([]);
const [showFilters, setShowFilters] = useState(false); const [showFilters, setShowFilters] = useState(false);
const isAdmin = true; // Temporarily allow all users const isAdmin = user?.role === 'SUPER_ADMIN';
useEffect(() => { useEffect(() => {
const fetchData = async () => { const fetchData = async () => {