import { Module } from '@nestjs/common';
import { PersonaController } from './persona.controller';
import { PersonaService } from './persona.service';
import { FeatureRegistry } from './features/feature.registry';
import { DoNotContactStatusFeatureExtractor } from './features/do-not-contact-status.feature';
import { EntitlementStatusFeatureExtractor } from './features/entitlement-status.feature';
import { RfmFeatureExtractor } from './features/rfm.feature';
import { AgeBracketFeatureExtractor } from './features/age-bracket.feature';
import { GenderFeatureExtractor } from './features/gender.feature';
import { AcquisitionChannelFeatureExtractor } from './features/acquisition-channel.feature';

@Module({
  controllers: [PersonaController],
  providers: [
    PersonaService,
    FeatureRegistry,
    // W7:rfm 统一了旧 value/recall_risk/treatment_chain_status,三个旧 extractor 已摘除。
    RfmFeatureExtractor,
    AgeBracketFeatureExtractor,
    GenderFeatureExtractor,
    AcquisitionChannelFeatureExtractor,
    DoNotContactStatusFeatureExtractor,
    EntitlementStatusFeatureExtractor,
  ],
  exports: [PersonaService],
})
export class PersonaModule {}
