58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Deploymentcenter.Client.Models
|
|
{
|
|
/// <summary>
|
|
/// Model for channel-level latest.json served by LEMP / Nginx or Deploymentcenter API.
|
|
/// </summary>
|
|
public class ReleaseManifest
|
|
{
|
|
[JsonPropertyName("projectId")]
|
|
public string ProjectId { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("channel")]
|
|
public string Channel { get; set; } = "prod";
|
|
|
|
[JsonPropertyName("latest")]
|
|
public VersionInfo? Latest { get; set; }
|
|
|
|
[JsonPropertyName("versions")]
|
|
public List<VersionInfo> Versions { get; set; } = new List<VersionInfo>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Individual release version details.
|
|
/// </summary>
|
|
public class VersionInfo
|
|
{
|
|
[JsonPropertyName("version")]
|
|
public string Version { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("buildDate")]
|
|
public string BuildDate { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("gitCommit")]
|
|
public string GitCommit { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("gitCommitShort")]
|
|
public string GitCommitShort { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("packageUrl")]
|
|
public string PackageUrl { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("sha256")]
|
|
public string Sha256 { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("sizeBytes")]
|
|
public long SizeBytes { get; set; }
|
|
|
|
[JsonPropertyName("changelog")]
|
|
public string Changelog { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("isCritical")]
|
|
public bool IsCritical { get; set; }
|
|
}
|
|
}
|