diff --git a/OsuLazerServer/Controllers/Beatmaps/BeatmapsController.cs b/OsuLazerServer/Controllers/Beatmaps/BeatmapsController.cs index ffdff2616d41e34b4af887db928131176c6afaea..e633c3548076318b70fd4870ef436a40b00d012a 100644 --- a/OsuLazerServer/Controllers/Beatmaps/BeatmapsController.cs +++ b/OsuLazerServer/Controllers/Beatmaps/BeatmapsController.cs @@ -44,7 +44,7 @@ public class BeatmapsController : Controller [HttpGet("/api/v2/beatmaps/lookup")] [Authorization] - public async Task LookUpBeatmapAsync([FromQuery(Name = "beatmap_id")] int id, [FromQuery(Name = "checksum")] string? checksum) + public async Task LookUpBeatmapSetAsync([FromQuery(Name = "id")] int id, [FromQuery(Name = "checksum")] string? checksum) { var beatmap = await _resolver.FetchBeatmap(id); @@ -54,6 +54,22 @@ public class BeatmapsController : Controller return Json(beatmap.ToOsu()); } + [HttpGet("/api/v2/beatmapsets/lookup")] + [Authorization] + public async Task LookUpBeatmapAsync([FromQuery(Name = "beatmap_id")] int id, [FromQuery(Name = "checksum")] string? checksum) + { + var beatmap = await _resolver.FetchBeatmap(id); + + if (beatmap is null) + return NotFound(); + + var set = await _resolver.FetchSetAsync(beatmap.BeatmapsetId); + + if (set is null) + return NotFound(); + return Json(set.ToBeatmapSet()); + } + [HttpGet("scores")] [Authorization] public async Task GetScoresAsync([FromRoute(Name = "id")] int beatmapId, [FromQuery(Name = "type")] string type, [FromQuery(Name ="mode")] string mode)