diff --git a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
index 0ccc9a924c..e88def6321 100644
--- a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
+++ b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
@@ -65,6 +65,11 @@ namespace osu.Game.Beatmaps
/// The amount of people who have favourited this beatmap set.
///
public int FavouriteCount { get; set; }
+
+ ///
+ /// The availability of this beatmap set.
+ ///
+ public BeatmapSetOnlineAvailability Availability { get; set; }
}
public class BeatmapSetOnlineCovers
@@ -73,7 +78,7 @@ namespace osu.Game.Beatmaps
[JsonProperty(@"cover@2x")]
public string Cover { get; set; }
-
+
public string CardLowRes { get; set; }
[JsonProperty(@"card@2x")]
@@ -84,4 +89,13 @@ namespace osu.Game.Beatmaps
[JsonProperty(@"list@2x")]
public string List { get; set; }
}
+
+ public class BeatmapSetOnlineAvailability
+ {
+ [JsonProperty(@"download_disabled")]
+ public bool DownloadDisabled { get; set; }
+
+ [JsonProperty(@"more_information")]
+ public string ExternalLink { get; set; }
+ }
}
diff --git a/osu.Game/Online/API/Requests/Responses/APIBeatmapSet.cs b/osu.Game/Online/API/Requests/Responses/APIBeatmapSet.cs
index 1abb7c1a7d..2b8a783e2e 100644
--- a/osu.Game/Online/API/Requests/Responses/APIBeatmapSet.cs
+++ b/osu.Game/Online/API/Requests/Responses/APIBeatmapSet.cs
@@ -60,6 +60,12 @@ namespace osu.Game.Online.API.Requests.Responses
set => Author.Id = value;
}
+ [JsonProperty(@"availability")]
+ private BeatmapSetOnlineAvailability availability { get; set; }
+
+ [JsonProperty(@"download_unavailable")]
+ private bool test { get; set; }
+
[JsonProperty(@"beatmaps")]
private IEnumerable beatmaps { get; set; }
@@ -83,6 +89,7 @@ namespace osu.Game.Online.API.Requests.Responses
Submitted = submitted,
Ranked = ranked,
LastUpdated = lastUpdated,
+ Availability = availability,
},
Beatmaps = beatmaps?.Select(b => b.ToBeatmap(rulesets)).ToList(),
};