feat(missions): MissionAssembler — single DTO builder reused by all 4 endpoints

Tests intentionally deferred to controller integration tests (Tasks
18-21) which exercise the assembler end-to-end via the wire.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-05-27 10:31:38 -04:00
parent df65b7a9c8
commit 574e9ca58b
3 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
using SVSim.Database.Models;
using SVSim.EmulatedEntrypoint.Models.Dtos.Common.Mission;
namespace SVSim.EmulatedEntrypoint.Services;
/// <summary>
/// Builds the MissionInfoDataDto from (viewer, catalog, counters). One place — reused by
/// all four endpoints. Reads catalog through repos, batches counter reads.
/// </summary>
public interface IMissionAssembler
{
Task<MissionInfoDataDto> BuildAsync(Viewer viewer, CancellationToken ct = default);
}