From 7ee13b34996bde10c8a92c0a307c9fbb9acb9921 Mon Sep 17 00:00:00 2001 From: Developer Date: Fri, 15 May 2026 10:09:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=B4=E5=90=88=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D9=E4=B8=AA=E4=BB=A3=E7=A0=81=E7=BC=BA?= =?UTF-8?q?=E5=8F=A3=20-=20=E5=8E=86=E5=8F=B2=E9=99=90=E5=88=B63=E6=9D=A1?= =?UTF-8?q?=E3=80=81=E8=AF=81=E4=B9=A6=E5=85=AC=E5=BC=80=E7=AB=AF=E7=82=B9?= =?UTF-8?q?=E3=80=81=E9=A2=98=E5=BA=93=E9=BB=98=E8=AE=A4DRAFT=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E3=80=81Admin=E7=A1=AC=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/assessment/assessment.controller.ts | 4 +++- server/src/assessment/assessment.service.ts | 2 +- server/src/assessment/entities/question-bank.entity.ts | 1 + web/components/views/AssessmentStatsView.tsx | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/src/assessment/assessment.controller.ts b/server/src/assessment/assessment.controller.ts index a2801d8..9c58c77 100644 --- a/server/src/assessment/assessment.controller.ts +++ b/server/src/assessment/assessment.controller.ts @@ -18,6 +18,7 @@ import { map } from 'rxjs/operators'; import { AssessmentService } from './assessment.service'; import { ExportService } from './services/export.service'; import { CombinedAuthGuard } from '../auth/combined-auth.guard'; +import { Public } from '../auth/public.decorator'; import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; @ApiTags('Assessment') @@ -134,7 +135,7 @@ export class AssessmentController { @Get('certificate/verify/:certificateId') @ApiOperation({ summary: 'Verify certificate by ID (public)' }) - @UseGuards() + @Public() async verifyCertificate( @Param('certificateId') certificateId: string, ) { @@ -143,6 +144,7 @@ export class AssessmentController { @Get('certificate/public/:sessionId') @ApiOperation({ summary: 'Get public certificate info for verification' }) + @Public() async getPublicCertificate( @Param('sessionId') sessionId: string, ) { diff --git a/server/src/assessment/assessment.service.ts b/server/src/assessment/assessment.service.ts index f8b9070..531727e 100644 --- a/server/src/assessment/assessment.service.ts +++ b/server/src/assessment/assessment.service.ts @@ -1578,7 +1578,7 @@ const initialState: Partial = { const sessions = await this.sessionRepository.find({ where: { userId, status: AssessmentStatus.COMPLETED }, order: { createdAt: 'DESC' }, - take: 100, + take: 3, relations: ['template'], }); return sessions; diff --git a/server/src/assessment/entities/question-bank.entity.ts b/server/src/assessment/entities/question-bank.entity.ts index 640e3b8..52687ef 100644 --- a/server/src/assessment/entities/question-bank.entity.ts +++ b/server/src/assessment/entities/question-bank.entity.ts @@ -50,6 +50,7 @@ export class QuestionBank { @Column({ type: 'simple-enum', enum: QuestionBankStatus, + default: QuestionBankStatus.DRAFT, }) status: QuestionBankStatus; diff --git a/web/components/views/AssessmentStatsView.tsx b/web/components/views/AssessmentStatsView.tsx index 5c6d1ac..3e8dfe6 100644 --- a/web/components/views/AssessmentStatsView.tsx +++ b/web/components/views/AssessmentStatsView.tsx @@ -42,7 +42,7 @@ export const AssessmentStatsView: React.FC = () => { const [groups, setGroups] = useState([]); const [showFilters, setShowFilters] = useState(false); - const isAdmin = true; // Temporarily allow all users + const isAdmin = user?.role === 'SUPER_ADMIN'; useEffect(() => { const fetchData = async () => {