mirror of
https://github.com/osukey/osukey.git
synced 2025-08-03 14:46:38 +09:00
Merge dependencies
This commit is contained in:
18
osu.Game/Online/API/Requests/GetCountryRankingsRequest.cs
Normal file
18
osu.Game/Online/API/Requests/GetCountryRankingsRequest.cs
Normal file
@ -0,0 +1,18 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using osu.Game.Online.API.Requests.Responses;
|
||||
using osu.Game.Rulesets;
|
||||
|
||||
namespace osu.Game.Online.API.Requests
|
||||
{
|
||||
public class GetCountryRankingsRequest : GetRankingsRequest<APICountryRankings>
|
||||
{
|
||||
public GetCountryRankingsRequest(RulesetInfo ruleset, int page = 1)
|
||||
: base(ruleset, page)
|
||||
{
|
||||
}
|
||||
|
||||
protected override string TargetPostfix() => "country";
|
||||
}
|
||||
}
|
34
osu.Game/Online/API/Requests/GetRankingsRequest.cs
Normal file
34
osu.Game/Online/API/Requests/GetRankingsRequest.cs
Normal file
@ -0,0 +1,34 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using osu.Framework.IO.Network;
|
||||
using osu.Game.Rulesets;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace osu.Game.Online.API.Requests
|
||||
{
|
||||
public abstract class GetRankingsRequest<TModel> : APIRequest<List<TModel>>
|
||||
{
|
||||
private readonly RulesetInfo ruleset;
|
||||
private readonly int page;
|
||||
|
||||
protected GetRankingsRequest(RulesetInfo ruleset, int page = 1)
|
||||
{
|
||||
this.ruleset = ruleset;
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
protected override WebRequest CreateWebRequest()
|
||||
{
|
||||
var req = base.CreateWebRequest();
|
||||
|
||||
req.AddParameter("page", page.ToString());
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
protected override string Target => $"rankings/{ruleset.ShortName}/{TargetPostfix()}";
|
||||
|
||||
protected abstract string TargetPostfix();
|
||||
}
|
||||
}
|
40
osu.Game/Online/API/Requests/GetUserRankingsRequest.cs
Normal file
40
osu.Game/Online/API/Requests/GetUserRankingsRequest.cs
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using osu.Framework.IO.Network;
|
||||
using osu.Game.Online.API.Requests.Responses;
|
||||
using osu.Game.Rulesets;
|
||||
|
||||
namespace osu.Game.Online.API.Requests
|
||||
{
|
||||
public class GetUserRankingsRequest : GetRankingsRequest<APIUserRankings>
|
||||
{
|
||||
private readonly string country;
|
||||
private readonly UserRankingsType type;
|
||||
|
||||
public GetUserRankingsRequest(RulesetInfo ruleset, UserRankingsType type = UserRankingsType.Performance, int page = 1, string country = null)
|
||||
: base(ruleset, page)
|
||||
{
|
||||
this.type = type;
|
||||
this.country = country;
|
||||
}
|
||||
|
||||
protected override WebRequest CreateWebRequest()
|
||||
{
|
||||
var req = base.CreateWebRequest();
|
||||
|
||||
if (country != null)
|
||||
req.AddParameter("country", country);
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
protected override string TargetPostfix() => type.ToString().ToLowerInvariant();
|
||||
}
|
||||
|
||||
public enum UserRankingsType
|
||||
{
|
||||
Performance,
|
||||
Score
|
||||
}
|
||||
}
|
14
osu.Game/Online/API/Requests/Responses/APICountryRankings.cs
Normal file
14
osu.Game/Online/API/Requests/Responses/APICountryRankings.cs
Normal file
@ -0,0 +1,14 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using osu.Game.Users;
|
||||
|
||||
namespace osu.Game.Online.API.Requests.Responses
|
||||
{
|
||||
public class APICountryRankings : CountryStatistics
|
||||
{
|
||||
[JsonProperty]
|
||||
public Country Country;
|
||||
}
|
||||
}
|
14
osu.Game/Online/API/Requests/Responses/APIUserRankings.cs
Normal file
14
osu.Game/Online/API/Requests/Responses/APIUserRankings.cs
Normal file
@ -0,0 +1,14 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using osu.Game.Users;
|
||||
|
||||
namespace osu.Game.Online.API.Requests.Responses
|
||||
{
|
||||
public class APIUserRankings : UserStatistics
|
||||
{
|
||||
[JsonProperty]
|
||||
public User User;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user