diff options
Diffstat (limited to 'src/SMAPI.Web/ViewModels')
-rw-r--r-- | src/SMAPI.Web/ViewModels/IndexModel.cs | 28 | ||||
-rw-r--r-- | src/SMAPI.Web/ViewModels/IndexVersionModel.cs | 41 |
2 files changed, 50 insertions, 19 deletions
diff --git a/src/SMAPI.Web/ViewModels/IndexModel.cs b/src/SMAPI.Web/ViewModels/IndexModel.cs index 6d3da91e..4268c878 100644 --- a/src/SMAPI.Web/ViewModels/IndexModel.cs +++ b/src/SMAPI.Web/ViewModels/IndexModel.cs @@ -6,17 +6,11 @@ namespace StardewModdingAPI.Web.ViewModels /********* ** Accessors *********/ - /// <summary>The latest SMAPI version.</summary> - public string LatestVersion { get; set; } + /// <summary>The latest stable SMAPI version.</summary> + public IndexVersionModel StableVersion { get; set; } - /// <summary>The Markdown description for the release.</summary> - public string Description { get; set; } - - /// <summary>The main download URL.</summary> - public string DownloadUrl { get; set; } - - /// <summary>The for-developers download URL.</summary> - public string DevDownloadUrl { get; set; } + /// <summary>The latest prerelease SMAPI version (if newer than <see cref="StableVersion"/>).</summary> + public IndexVersionModel BetaVersion { get; set; } /********* @@ -26,16 +20,12 @@ namespace StardewModdingAPI.Web.ViewModels public IndexModel() { } /// <summary>Construct an instance.</summary> - /// <param name="latestVersion">The latest SMAPI version.</param> - /// <param name="description">The Markdown description for the release.</param> - /// <param name="downloadUrl">The main download URL.</param> - /// <param name="devDownloadUrl">The for-developers download URL.</param> - internal IndexModel(string latestVersion, string description, string downloadUrl, string devDownloadUrl) + /// <param name="stableVersion">The latest stable SMAPI version.</param> + /// <param name="betaVersion">The latest prerelease SMAPI version (if newer than <paramref name="stableVersion"/>).</param> + internal IndexModel(IndexVersionModel stableVersion, IndexVersionModel betaVersion) { - this.LatestVersion = latestVersion; - this.Description = description; - this.DownloadUrl = downloadUrl; - this.DevDownloadUrl = devDownloadUrl; + this.StableVersion = stableVersion; + this.BetaVersion = betaVersion; } } } diff --git a/src/SMAPI.Web/ViewModels/IndexVersionModel.cs b/src/SMAPI.Web/ViewModels/IndexVersionModel.cs new file mode 100644 index 00000000..4f63b979 --- /dev/null +++ b/src/SMAPI.Web/ViewModels/IndexVersionModel.cs @@ -0,0 +1,41 @@ +namespace StardewModdingAPI.Web.ViewModels +{ + /// <summary>The fields for a SMAPI version.</summary> + public class IndexVersionModel + { + /********* + ** Accessors + *********/ + /// <summary>The release version.</summary> + public string Version { get; set; } + + /// <summary>The Markdown description for the release.</summary> + public string Description { get; set; } + + /// <summary>The main download URL.</summary> + public string DownloadUrl { get; set; } + + /// <summary>The for-developers download URL (not applicable for prerelease versions).</summary> + public string DevDownloadUrl { get; set; } + + + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + public IndexVersionModel() { } + + /// <summary>Construct an instance.</summary> + /// <param name="version">The release number.</param> + /// <param name="description">The Markdown description for the release.</param> + /// <param name="downloadUrl">The main download URL.</param> + /// <param name="devDownloadUrl">The for-developers download URL (not applicable for prerelease versions).</param> + internal IndexVersionModel(string version, string description, string downloadUrl, string devDownloadUrl) + { + this.Version = version; + this.Description = description; + this.DownloadUrl = downloadUrl; + this.DevDownloadUrl = devDownloadUrl; + } + } +} |