Files
mission-control/src/MissionControl.Server/Endpoints/Missions/Contract.cs
T

31 lines
926 B
C#

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<MissionLaunchResponse> 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(),
};
}