import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Character } from '../characters/entities/character.entity'; import { ConditionsModule } from '../conditions/conditions.module'; import { CharacterItem } from '../items/entities/character-item.entity'; import { LootBagsModule } from '../loot-bags/loot-bags.module'; import { NpcsModule } from '../npcs/npcs.module'; import { RenownModule } from '../renown/renown.module'; import { ReputationFaction } from '../reputation/entities/reputation-faction.entity'; import { ReputationModule } from '../reputation/reputation.module'; import { ExchangeRule } from './entities/exchange-rule.entity'; import { NpcExchangeProfile } from './entities/npc-exchange-profile.entity'; import { ExchangeController } from './exchange.controller'; import { ExchangeService } from './exchange.service'; /** * Materials in, progression out (NPC spec §17; Playable Slice 0.8). * * Pulls in reputation and renown rather than reimplementing either, so the * trade-in feeds the progression systems that already exist instead of * inventing a competing one (slice §6). */ @Module({ imports: [ TypeOrmModule.forFeature([ Character, CharacterItem, ExchangeRule, NpcExchangeProfile, ReputationFaction, ]), ConditionsModule, LootBagsModule, NpcsModule, RenownModule, ReputationModule, ], controllers: [ExchangeController], providers: [ExchangeService], exports: [ExchangeService], }) export class ExchangesModule {}