diff --git a/src/MissionControl.Server/Endpoints/Missions/Contract.cs b/src/MissionControl.Server/Endpoints/Missions/Contract.cs index e7b55a1..d5f8062 100644 --- a/src/MissionControl.Server/Endpoints/Missions/Contract.cs +++ b/src/MissionControl.Server/Endpoints/Missions/Contract.cs @@ -1,4 +1,5 @@ using MissionControl.Domain.Entities; +using MissionControl.Server.Endpoints.Missions.MissionLaunches; namespace MissionControl.Server.Endpoints.Missions; @@ -14,6 +15,8 @@ public record MissionResponse public required DateTimeOffset CreatedAt { get; init; } + public MissionLaunchResponse? MissionLaunch { get; set; } + public static MissionResponse FromDomain(Mission mission) => new() { @@ -22,5 +25,6 @@ public record MissionResponse Description = mission.Description, Status = mission.Status, CreatedAt = mission.CreatedAt, + MissionLaunch = mission.MissionLaunch != null ? MissionLaunchResponse.FromDomain(mission.MissionLaunch) : null, }; } diff --git a/src/MissionControl.Server/Endpoints/Missions/ListMissions.cs b/src/MissionControl.Server/Endpoints/Missions/ListMissions.cs index f74ed73..ef20adb 100644 --- a/src/MissionControl.Server/Endpoints/Missions/ListMissions.cs +++ b/src/MissionControl.Server/Endpoints/Missions/ListMissions.cs @@ -14,8 +14,9 @@ public class ListMissions(MissionControlContext dbContext) public override async Task HandleAsync(CancellationToken ct) { - var missions = await dbContext - .Missions.AsNoTracking() + var missions = await dbContext.Missions + .AsNoTracking() + .Include(m => m.MissionLaunch) .OrderByDescending(m => m.CreatedAt) .ToListAsync(ct);