// Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; using Humanizer; using Newtonsoft.Json; using osu.Game.Scoring; namespace osu.Game.Online.API.Requests.Responses { public class APIRecentActivity { [JsonProperty("id")] public int ID; [JsonProperty("createdAt")] public DateTimeOffset CreatedAt; [JsonProperty] private string type { set => Type = (RecentActivityType)Enum.Parse(typeof(RecentActivityType), value.Pascalize()); } public RecentActivityType Type; [JsonProperty] private string scoreRank { set => ScoreRank = (ScoreRank)Enum.Parse(typeof(ScoreRank), value); } public ScoreRank ScoreRank; [JsonProperty("rank")] public int Rank; [JsonProperty("approval")] public BeatmapApproval Approval; [JsonProperty("count")] public int Count; [JsonProperty("mode")] public string Mode; [JsonProperty("beatmap")] public RecentActivityBeatmap Beatmap; [JsonProperty("beatmapset")] public RecentActivityBeatmap Beatmapset; [JsonProperty("user")] public RecentActivityUser User; [JsonProperty("achievement")] public RecentActivityAchievement Achievement; public class RecentActivityBeatmap { [JsonProperty("title")] public string Title; [JsonProperty("url")] public string Url; } public class RecentActivityUser { [JsonProperty("username")] public string Username; [JsonProperty("url")] public string Url; [JsonProperty("previousUsername")] public string PreviousUsername; } public class RecentActivityAchievement { [JsonProperty("slug")] public string Slug; [JsonProperty("name")] public string Name; } } }