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
15 lines
589 B
TypeScript
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 {}
|