Files
HealthCarePregnant/pcm-platform/backend/src/modules/disposition/disposition.module.ts
T
2026-06-18 09:48:05 +08:00

31 lines
1.0 KiB
TypeScript

import { Module } from '@nestjs/common';
import { Pool } from 'pg';
import { DispositionService } from './disposition.service';
import { DispositionController } from './disposition.controller';
import {
DispositionRepository,
InMemoryDispositionRepository,
} from './disposition.repository';
import { PostgresDispositionRepository } from './postgres-disposition.repository';
import { PG_POOL } from '../../common/db/db.tokens';
import { createSealerFromEnv } from '../../common/crypto/field-sealer';
import { FollowupModule } from '../followup/followup.module';
@Module({
imports: [FollowupModule],
controllers: [DispositionController],
providers: [
DispositionService,
{
provide: DispositionRepository,
useFactory: (pool: Pool | null): DispositionRepository =>
pool
? new PostgresDispositionRepository(pool, createSealerFromEnv())
: new InMemoryDispositionRepository(),
inject: [PG_POOL],
},
],
exports: [DispositionService],
})
export class DispositionModule {}