31 lines
926 B
C#
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(),
|
|
};
|
|
}
|