Skip to content

Commit 2f82fb0

Browse files
committed
update data transformer
1 parent 4721610 commit 2f82fb0

File tree

13 files changed

+244
-1872
lines changed

13 files changed

+244
-1872
lines changed

apps/api/src/api/assignment/attempt/attempt.service.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2350,15 +2350,25 @@ export class AttemptServiceV1 {
23502350
learnerResponse: string;
23512351
} {
23522352
const choices = this.parseChoices(question.choices);
2353+
console.log(
2354+
`Handling single correct question response for question ID: ${question.id}`,
2355+
);
23532356
const learnerChoice =
23542357
createQuestionResponseAttemptRequestDto.learnerChoices[0];
2355-
2358+
console.log(
2359+
`Learner choice: ${learnerChoice}, Choices: ${JSON.stringify(choices)}`,
2360+
);
23562361
const normalizedLearnerChoice = this.normalizeText(learnerChoice);
23572362
const correctChoice = choices.find((choice) => choice.isCorrect);
2358-
2363+
console.log(
2364+
`Correct choice: ${correctChoice ? correctChoice.choice : "None"}`,
2365+
);
23592366
const selectedChoice = choices.find(
23602367
(choice) => this.normalizeText(choice.choice) === normalizedLearnerChoice,
23612368
);
2369+
console.log(
2370+
`Selected choice: ${selectedChoice ? selectedChoice.choice : "None"}`,
2371+
);
23622372

23632373
const data = {
23642374
learnerChoice,

apps/api/src/api/attempt/common/strategies/choice-grading.strategy.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ export class ChoiceGradingStrategy extends AbstractGradingStrategy<string[]> {
154154
}> {
155155
await this.validateResponse(question, requestDto);
156156

157+
console.log("request dto:", requestDto);
158+
157159
const learnerResponse = await this.extractLearnerResponse(requestDto);
158160

159161
return this.gradeSingleChoice(question, learnerResponse, context);
@@ -170,6 +172,7 @@ export class ChoiceGradingStrategy extends AbstractGradingStrategy<string[]> {
170172
responseDto: CreateQuestionResponseAttemptResponseDto;
171173
learnerResponse: string[];
172174
}> {
175+
console.log("learner response:", learnerResponse);
173176
const choices = this.parseChoices(question.choices);
174177

175178
if (!learnerResponse || learnerResponse.length === 0) {
@@ -187,12 +190,25 @@ export class ChoiceGradingStrategy extends AbstractGradingStrategy<string[]> {
187190
}
188191

189192
const learnerChoice = learnerResponse[0];
193+
console.log("learner response:", learnerResponse);
190194
const normalizedLearnerChoice = this.normalizeText(learnerChoice);
191195
const correctChoice = choices.find((choice) => choice.isCorrect);
192196

197+
console.log("learner choice:", normalizedLearnerChoice);
198+
console.log(
199+
"all choices:",
200+
choices.map((c) => c.choice),
201+
);
202+
203+
console.log(
204+
"correct answer:",
205+
correctChoice ? correctChoice.choice : "none",
206+
);
207+
193208
const selectedChoice = choices.find(
194209
(choice) => this.normalizeText(choice.choice) === normalizedLearnerChoice,
195210
);
211+
console.log("selected choice:", selectedChoice);
196212

197213
const data = {
198214
learnerChoice,

apps/api/src/app.module.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,20 @@ import { AppService } from "./app.service";
1313
import { AdminAuthModule } from "./auth/admin-auth.module";
1414
import { AuthModule } from "./auth/auth.module";
1515
import { UserSessionMiddleware } from "./auth/middleware/user.session.middleware";
16+
import { CommonModule } from "./common/common.module";
1617
import { DatabaseModule } from "./database/database.module";
1718
import { HealthModule } from "./health/health.module";
1819
import { winstonOptions } from "./logger/config";
1920
import { LoggerMiddleware } from "./logger/logger.middleware";
2021
import { MessagingModule } from "./messaging/messaging.module";
21-
import { DataTransformMiddleware } from "./middleware/data-transform.middleware";
2222
import { routes } from "./routes";
2323

2424
@Module({
2525
imports: [
2626
ConfigModule.forRoot(),
2727
WinstonModule.forRoot(winstonOptions),
2828
HealthModule,
29+
CommonModule,
2930
ApiModule,
3031
ScheduledTasksModule,
3132
RouterModule.register(routes),
@@ -39,7 +40,7 @@ import { routes } from "./routes";
3940
export class AppModule implements NestModule {
4041
configure(consumer: MiddlewareConsumer) {
4142
consumer
42-
.apply(DataTransformMiddleware, LoggerMiddleware)
43+
.apply(LoggerMiddleware)
4344
.forRoutes({ path: "*", method: RequestMethod.ALL })
4445
.apply(UserSessionMiddleware)
4546
.forRoutes(

apps/api/src/common/common.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Module, Global } from "@nestjs/common";
2-
import { APP_INTERCEPTOR } from "@nestjs/core";
2+
import { APP_INTERCEPTOR, Reflector } from "@nestjs/core";
33
import { DataTransformInterceptor } from "./interceptors/data-transform.interceptor";
44

55
/**
@@ -8,6 +8,8 @@ import { DataTransformInterceptor } from "./interceptors/data-transform.intercep
88
@Global()
99
@Module({
1010
providers: [
11+
Reflector,
12+
DataTransformInterceptor,
1113
{
1214
provide: APP_INTERCEPTOR,
1315
useClass: DataTransformInterceptor,

0 commit comments

Comments
 (0)