예제 #1
0
        public async Task <IActionResult> GetDirectNp(
            [FromQuery(Name = "s")] int setId,
            [FromQuery(Name = "b")] int beatmapId,
            [FromQuery(Name = "u")] string userName,
            [FromQuery(Name = "h")] string pass,
            [FromServices] SoraDbContext ctx,
            [FromServices] Pisstaube pisstaube
            )
        {
            Response.ContentType = "text/plain";

            var user = await DbUser.GetDbUser(ctx, userName);

            if (user == null)
            {
                return(Ok("err: pass"));
            }

            if (!user.IsPassword(pass))
            {
                return(Ok("err: pass"));
            }

            return(Ok(await(setId != 0
                ? pisstaube.FetchDirectBeatmapSetAsync(setId)
                : pisstaube.FetchDirectBeatmapAsync(beatmapId))));
        }