// Copyright Epic Games, Inc. All Rights Reserved. using System.Collections.Generic; using System.Diagnostics; #pragma warning disable CA2227 // Collection properties should be read only namespace EpicGames.Horde.Projects { /// /// Response describing a project /// [DebuggerDisplay("{Id,nq}")] public class GetProjectResponse { /// /// Unique id of the project /// public ProjectId Id { get; set; } /// /// Name of the project /// public string Name { get; set; } /// /// Order to display this project on the dashboard /// public int Order { get; set; } /// /// List of streams that are in this project /// public List? Streams { get; set; } /// /// List of stream categories to display /// public List? Categories { get; set; } /// /// Constructor /// /// Unique id of the project /// Name of the project /// Order to show this project on the dashboard public GetProjectResponse(ProjectId id, string name, int order) { Id = id; Name = name; Order = order; } } /// /// Information about a stream within a project /// [DebuggerDisplay("{Id,nq} ({Name})")] public class GetProjectStreamResponse { /// /// The stream id /// public string Id { get; set; } /// /// The stream name /// public string Name { get; set; } /// /// Constructor /// public GetProjectStreamResponse(string id, string name) { Id = id; Name = name; } } /// /// Information about a category to display for a stream /// [DebuggerDisplay("{Name}")] public class GetProjectCategoryResponse { /// /// Heading for this column /// public string Name { get; set; } /// /// Index of the row to display this category on /// public int Row { get; set; } /// /// Whether to show this category on the nav menu /// public bool ShowOnNavMenu { get; set; } /// /// Patterns for stream names to include /// public List IncludePatterns { get; init; } = new List(); /// /// Patterns for stream names to exclude /// public List ExcludePatterns { get; init; } = new List(); /// /// Streams to include in this category /// public List Streams { get; init; } = new List(); /// /// Constructor /// public GetProjectCategoryResponse(string name, int row) { Name = name; Row = row; } } }