// 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;
}
}
}