feat(migration): ADR-028 migration architecture refactor
- เพิ่ม POST /api/ai/jobs + GET /api/ai/jobs/:jobId endpoints (FR-001, FR-002) - เพิ่ม BullMQ Worker MigrateDocumentWorker + OCR auto-detect (FR-003, FR-004) - เพิ่ม cleanup-temp-files + expire-pending-reviews workers (FR-005, FR-005a/b) - สร้าง SQL deltas: tags, correspondence_tags, alter migration_review_queue (FR-006, ADR-009) - เพิ่ม MigrationReviewService.commitRecord() + SELECT FOR UPDATE (FR-007, FR-007a) - เพิ่ม CASL permission migration.commit + MigrationReviewController (FR-007) - สร้าง TagsModule + TagsService + TagsController (US3) - สร้าง Migration Review Queue frontend page + ReviewQueueTable (US2) - อัปเดต n8n guide: deterministic Idempotency-Key + token pre-flight (FR-001a, FR-010a/b) - สร้าง spec.md, plan.md, tasks.md, data-model.md, contracts/, quickstart.md - สร้าง ADR-028 document + validation-report.md (PASS 32/32 tasks, 173/173 tests)
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
// File: src/modules/migration/migration.module.ts
|
||||
// Change Log:
|
||||
// - 2026-05-22: นำเข้าและลงทะเบียน ExpirePendingReviewsWorker (T016b), Attachment, User, และ NotificationModule เพื่อรองรับระบบยกเลิกรีวิวที่หมดอายุ
|
||||
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { MigrationController } from './migration.controller';
|
||||
import { MigrationService } from './migration.service';
|
||||
import { MigrationReviewController } from './migration-review.controller';
|
||||
import { MigrationReviewService } from './migration-review.service';
|
||||
import { ImportTransaction } from './entities/import-transaction.entity';
|
||||
import { Correspondence } from '../correspondence/entities/correspondence.entity';
|
||||
import { CorrespondenceRevision } from '../correspondence/entities/correspondence-revision.entity';
|
||||
@@ -9,9 +15,13 @@ import { CorrespondenceType } from '../correspondence/entities/correspondence-ty
|
||||
import { CorrespondenceStatus } from '../correspondence/entities/correspondence-status.entity';
|
||||
import { Project } from '../project/entities/project.entity';
|
||||
import { FileStorageModule } from '../../common/file-storage/file-storage.module';
|
||||
import { Attachment } from '../../common/file-storage/entities/attachment.entity';
|
||||
import { User } from '../user/entities/user.entity';
|
||||
import { NotificationModule } from '../notification/notification.module';
|
||||
|
||||
import { MigrationReviewQueue } from './entities/migration-review-queue.entity';
|
||||
import { MigrationError } from './entities/migration-error.entity';
|
||||
import { ExpirePendingReviewsWorker } from './workers/expire-pending-reviews.worker';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -24,11 +34,18 @@ import { MigrationError } from './entities/migration-error.entity';
|
||||
CorrespondenceType,
|
||||
CorrespondenceStatus,
|
||||
Project,
|
||||
Attachment,
|
||||
User,
|
||||
]),
|
||||
FileStorageModule,
|
||||
NotificationModule,
|
||||
],
|
||||
controllers: [MigrationController],
|
||||
providers: [MigrationService],
|
||||
exports: [MigrationService],
|
||||
controllers: [MigrationController, MigrationReviewController],
|
||||
providers: [
|
||||
MigrationService,
|
||||
MigrationReviewService,
|
||||
ExpirePendingReviewsWorker,
|
||||
],
|
||||
exports: [MigrationService, MigrationReviewService],
|
||||
})
|
||||
export class MigrationModule {}
|
||||
|
||||
Reference in New Issue
Block a user