summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-06-28 22:01:04 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-06-28 22:01:04 -0400
commit3f5a5e54041a641e30fc5cc899046953d9763da4 (patch)
treeca02735544614b85cfc75201823b3dd8d36f2b8a /src/SMAPI
parent89ad599561a058289d8ea44e0c345f1a30a3a6ac (diff)
downloadSMAPI-3f5a5e54041a641e30fc5cc899046953d9763da4.tar.gz
SMAPI-3f5a5e54041a641e30fc5cc899046953d9763da4.tar.bz2
SMAPI-3f5a5e54041a641e30fc5cc899046953d9763da4.zip
use more structured API response for update checks (#532)
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Program.cs16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/SMAPI/Program.cs b/src/SMAPI/Program.cs
index 150ed34a..a1180474 100644
--- a/src/SMAPI/Program.cs
+++ b/src/SMAPI/Program.cs
@@ -596,8 +596,8 @@ namespace StardewModdingAPI
try
{
ModEntryModel response = client.GetModInfo(new ModSearchEntryModel("Pathoschild.SMAPI", new[] { $"GitHub:{this.Settings.GitHubProjectName}" })).Single().Value;
- ISemanticVersion latestStable = response.Version != null ? new SemanticVersion(response.Version) : null;
- ISemanticVersion latestBeta = response.PreviewVersion != null ? new SemanticVersion(response.PreviewVersion) : null;
+ ISemanticVersion latestStable = response.Main?.Version;
+ ISemanticVersion latestBeta = response.Optional?.Version;
if (latestStable == null && response.Errors.Any())
{
@@ -673,18 +673,14 @@ namespace StardewModdingAPI
// parse versions
ISemanticVersion localVersion = mod.DataRecord?.GetLocalVersionForUpdateChecks(mod.Manifest.Version) ?? mod.Manifest.Version;
- ISemanticVersion latestVersion = result.Version != null
- ? mod.DataRecord?.GetRemoteVersionForUpdateChecks(result.Version) ?? new SemanticVersion(result.Version)
- : null;
- ISemanticVersion optionalVersion = result.PreviewVersion != null
- ? (mod.DataRecord?.GetRemoteVersionForUpdateChecks(result.PreviewVersion) ?? new SemanticVersion(result.PreviewVersion))
- : null;
+ ISemanticVersion latestVersion = mod.DataRecord?.GetRemoteVersionForUpdateChecks(result.Main?.Version) ?? result.Main?.Version;
+ ISemanticVersion optionalVersion = mod.DataRecord?.GetRemoteVersionForUpdateChecks(result.Optional?.Version) ?? result.Optional?.Version;
// show update alerts
if (this.IsValidUpdate(localVersion, latestVersion, useBetaChannel: true))
- updates.Add(Tuple.Create(mod, latestVersion, result.Url));
+ updates.Add(Tuple.Create(mod, latestVersion, result.Main?.Url));
else if (this.IsValidUpdate(localVersion, optionalVersion, useBetaChannel: localVersion.IsPrerelease()))
- updates.Add(Tuple.Create(mod, optionalVersion, result.Url));
+ updates.Add(Tuple.Create(mod, optionalVersion, result.Optional?.Url));
}
// show update errors