2021-12-01 16:45:41 +08:00
|
|
|
// 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.
|
|
|
|
|
2022-06-17 15:37:17 +08:00
|
|
|
#nullable disable
|
|
|
|
|
2021-12-01 16:45:41 +08:00
|
|
|
using System;
|
2022-02-16 10:30:03 +08:00
|
|
|
using System.Collections.Generic;
|
2021-12-01 16:45:41 +08:00
|
|
|
|
|
|
|
namespace osu.Game.Online.API.Requests
|
|
|
|
{
|
|
|
|
public class GetBeatmapsRequest : APIRequest<GetBeatmapsResponse>
|
|
|
|
{
|
2022-02-16 10:30:03 +08:00
|
|
|
public readonly IReadOnlyList<int> BeatmapIds;
|
2021-12-01 16:45:41 +08:00
|
|
|
|
|
|
|
private const int max_ids_per_request = 50;
|
|
|
|
|
|
|
|
public GetBeatmapsRequest(int[] beatmapIds)
|
|
|
|
{
|
|
|
|
if (beatmapIds.Length > max_ids_per_request)
|
|
|
|
throw new ArgumentException($"{nameof(GetBeatmapsRequest)} calls only support up to {max_ids_per_request} IDs at once");
|
|
|
|
|
2022-02-15 21:02:33 +08:00
|
|
|
BeatmapIds = beatmapIds;
|
2021-12-01 16:45:41 +08:00
|
|
|
}
|
|
|
|
|
2022-02-15 21:02:33 +08:00
|
|
|
protected override string Target => "beatmaps/?ids[]=" + string.Join("&ids[]=", BeatmapIds);
|
2021-12-01 16:45:41 +08:00
|
|
|
}
|
|
|
|
}
|