29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
|
|
// services/api/src/user-sync/user-sync.module.ts —— 用户同步域模块(P4a Task 7)。
|
|||
|
|
// 仅 cn 装配(AppCnModule import;ov 入口不碰——用户身份是 cn 单域事实)。
|
|||
|
|
// 装配:SyncLock(cn Redis 互斥)、MockUserSource(USER_SOURCE 端口实现,
|
|||
|
|
// G4 后替换 provider 即切真实源)、UserSyncEngine(批次引擎)、
|
|||
|
|
// UserSyncScheduler(setInterval 定时触发,仅 cn bootstrap 启动)、
|
|||
|
|
// UserSyncAdminService + UserSyncController(/admin/user-sync 端点)。
|
|||
|
|
// useExisting 装配端口:引擎只依赖 UserSourcePort 符号,e2e 经
|
|||
|
|
// app.get(MockUserSource) 注入场景(mock-user-source.ts 文件头)。
|
|||
|
|
import { Module } from '@nestjs/common';
|
|||
|
|
import { MockUserSource } from './mock-user-source';
|
|||
|
|
import { SyncLock } from './sync-lock';
|
|||
|
|
import { UserSyncAdminService } from './user-sync-admin.service';
|
|||
|
|
import { UserSyncController } from './user-sync.controller';
|
|||
|
|
import { UserSyncEngine, UserSyncScheduler } from './user-sync.service';
|
|||
|
|
import { USER_SOURCE } from './user-source.port';
|
|||
|
|
|
|||
|
|
@Module({
|
|||
|
|
controllers: [UserSyncController],
|
|||
|
|
providers: [
|
|||
|
|
SyncLock,
|
|||
|
|
MockUserSource,
|
|||
|
|
{ provide: USER_SOURCE, useExisting: MockUserSource },
|
|||
|
|
UserSyncEngine,
|
|||
|
|
UserSyncScheduler,
|
|||
|
|
UserSyncAdminService,
|
|||
|
|
],
|
|||
|
|
})
|
|||
|
|
export class UserSyncModule {}
|