using MissionControl.Domain.Entities; using MissionControl.Server.Endpoints.Missions.MissionLaunches; namespace MissionControl.Server.Endpoints.Missions; public record MissionResponse { public required Guid Id { get; init; } public required string Name { get; init; } public string? Description { get; init; } public required MissionStatus Status { get; init; } public required DateTimeOffset CreatedAt { get; init; } public IReadOnlyList MissionLaunches { get; set; } = []; public static MissionResponse FromDomain(Mission mission) => new() { Id = mission.Id, Name = mission.Name, Description = mission.Description, Status = mission.Status, CreatedAt = mission.CreatedAt, MissionLaunches = mission.MissionLaunches.Select(MissionLaunchResponse.FromDomain).ToList(), }; }