Files
ashen-realms/apps/api/src/exchanges/exchanges.module.ts
Bastian Wagner 081c9f83f9 docs
2026-08-22 16:41:47 +02:00

43 lines
1.5 KiB
TypeScript

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 {}