Files
Edu/services/content/src/questions/questions.module.ts
SpecialX a75527be80 feat(content): eager invalidation and optimistic lock for cqrs
M4: ADR-038 Eager Invalidation + ADR-039 Optimistic Lock

- EagerInvalidationService: Redis DEL after MySQL commit

- Cache key conventions for textbook/chapter/kp/question

- Version header check (If-Match/X-Expected-Version) on write endpoints

- 409 Conflict on version mismatch

- All write endpoints return updatedAt timestamp
2026-07-15 01:28:20 +08:00

15 lines
589 B
TypeScript

import { Module } from "@nestjs/common";
import { QuestionsController } from "./questions.controller.js";
import { QuestionsService } from "./questions.service.js";
import { QuestionsRepository } from "./questions.repository.js";
import { OutboxModule } from "../shared/outbox/outbox.module.js";
import { CacheModule } from "../shared/cache/cache.module.js";
@Module({
imports: [OutboxModule, CacheModule],
controllers: [QuestionsController],
providers: [QuestionsService, QuestionsRepository],
exports: [QuestionsService, QuestionsRepository],
})
export class QuestionsModule {}