feat(combat): wire CombatModule into the application

Provide and export CharacterCombatStatsService from CharactersModule,
create CombatModule (registering the combat entities, controllers,
CombatService and CombatEngineService, and importing TravelModule and
CharactersModule), and register CombatModule in AppModule so the three
combat endpoints (attack, get combat, post action) are reachable from
the running app.
This commit is contained in:
Bastian Wagner
2026-08-19 16:19:06 +02:00
parent 4831dc20b0
commit bb42195ef5
3 changed files with 30 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { CharactersModule } from './characters/characters.module'; import { CharactersModule } from './characters/characters.module';
import { CombatModule } from './combat/combat.module';
import { DatabaseModule } from './database/database.module'; import { DatabaseModule } from './database/database.module';
import { HealthModule } from './health/health.module'; import { HealthModule } from './health/health.module';
import { HuntingModule } from './hunting/hunting.module'; import { HuntingModule } from './hunting/hunting.module';
@@ -14,6 +15,7 @@ import { WorldModule } from './world/world.module';
TravelModule, TravelModule,
WorldModule, WorldModule,
HuntingModule, HuntingModule,
CombatModule,
], ],
}) })
export class AppModule {} export class AppModule {}

View File

@@ -1,5 +1,6 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm'; import { TypeOrmModule } from '@nestjs/typeorm';
import { CharacterCombatStatsService } from './character-combat-stats.service';
import { CharactersController } from './characters.controller'; import { CharactersController } from './characters.controller';
import { CharactersService } from './characters.service'; import { CharactersService } from './characters.service';
import { Character } from './entities/character.entity'; import { Character } from './entities/character.entity';
@@ -7,6 +8,7 @@ import { Character } from './entities/character.entity';
@Module({ @Module({
imports: [TypeOrmModule.forFeature([Character])], imports: [TypeOrmModule.forFeature([Character])],
controllers: [CharactersController], controllers: [CharactersController],
providers: [CharactersService], providers: [CharactersService, CharacterCombatStatsService],
exports: [CharacterCombatStatsService],
}) })
export class CharactersModule {} export class CharactersModule {}

View File

@@ -0,0 +1,25 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { CharactersModule } from '../characters/characters.module';
import { Character } from '../characters/entities/character.entity';
import { Hunt } from '../hunting/entities/hunt.entity';
import { HuntEncounter } from '../hunting/entities/hunt-encounter.entity';
import { MonsterDefinition } from '../monsters/entities/monster-definition.entity';
import { TravelModule } from '../travel/travel.module';
import { CombatEngineService } from './combat-engine.service';
import { CombatController } from './combat.controller';
import { CombatService } from './combat.service';
import { Combat } from './entities/combat.entity';
import { CombatEvent } from './entities/combat-event.entity';
import { HuntEncounterAttackController } from './hunt-encounter-attack.controller';
@Module({
imports: [
TypeOrmModule.forFeature([Character, Hunt, HuntEncounter, MonsterDefinition, Combat, CombatEvent]),
TravelModule,
CharactersModule,
],
controllers: [CombatController, HuntEncounterAttackController],
providers: [CombatService, CombatEngineService],
})
export class CombatModule {}