Files
runner/src/Sdk/BuildWebApi/Api/Contracts/WorkspaceTemplate.cs
T
2019-10-10 00:52:42 -04:00

142 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
namespace GitHub.Build.WebApi
{
[EditorBrowsable(EditorBrowsableState.Never)]
[DataContract]
public sealed class WorkspaceTemplate
{
/// <summary>
/// Uri of the associated definition
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String DefinitionUri
{
get;
set;
}
/// <summary>
/// List of workspace mappings
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public List<WorkspaceMapping> Mappings
{
get;
set;
}
/// <summary>
/// The last time this template was modified
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public DateTime LastModifiedDate
{
get;
set;
}
/// <summary>
/// The identity that last modified this template
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String LastModifiedBy
{
get;
set;
}
/// <summary>
/// Id of the workspace for this template
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
internal Int32 WorkspaceId
{
get;
set;
}
}
/// <summary>
/// Mapping for a workspace
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
[DataContract]
public sealed class WorkspaceMapping
{
/// <summary>
/// Server location of the definition
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String ServerItem
{
get;
set;
}
/// <summary>
/// local location of the definition
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String LocalItem
{
get;
set;
}
/// <summary>
/// type of workspace mapping
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public WorkspaceMappingType MappingType
{
get;
set;
}
/// <summary>
/// Depth of this mapping
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public Int32 Depth
{
get;
set;
}
/// <summary>
/// Uri of the associated definition
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
internal String DefinitionUri
{
get;
set;
}
/// <summary>
/// Id of the workspace
/// </summary>
[DataMember(IsRequired = false, EmitDefaultValue = false)]
internal Int32 WorkspaceId
{
get;
set;
}
public override String ToString()
{
return String.Format(System.Globalization.CultureInfo.InvariantCulture,
"[WorkspaceMapping ServerItem={0} LocalItem={1} MappingType={2} Depth={3}]",
ServerItem,
LocalItem,
MappingType,
Depth);
}
}
}