eab91174db
Co-Authored-By: Claude <noreply@anthropic.com>
31 lines
1.0 KiB
TypeScript
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 {}
|