From 5de567cecd310efe76673468165071e7a7329a87 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Thu, 6 Mar 2025 20:41:26 -0600 Subject: [PATCH] Add pseudoboots and model validation --- ALttPRandomizer/Model/SeedSettings.cs | 8 ++++++++ ALttPRandomizer/Program.cs | 11 ++++++----- ALttPRandomizer/SeedController.cs | 3 +++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ALttPRandomizer/Model/SeedSettings.cs b/ALttPRandomizer/Model/SeedSettings.cs index 8220d83..8c01c63 100644 --- a/ALttPRandomizer/Model/SeedSettings.cs +++ b/ALttPRandomizer/Model/SeedSettings.cs @@ -87,6 +87,9 @@ [RequiredSetting([Apr2025], PrizeShuffle.Vanilla)] [NoSettingName([Apr2025])] public PrizeShuffle PrizeShuffle { get; set; } = PrizeShuffle.Vanilla; + + [NoSettingName] + public BootsSettings StartingBoots { get; set; } = BootsSettings.None; } public enum RandomizerInstance { @@ -211,4 +214,9 @@ Nearby, Wild, } + + public enum BootsSettings { + None, + [AdditionalSetting("--pseudoboots")] Pseudoboots, + } } diff --git a/ALttPRandomizer/Program.cs b/ALttPRandomizer/Program.cs index 0744ccb..795269d 100644 --- a/ALttPRandomizer/Program.cs +++ b/ALttPRandomizer/Program.cs @@ -49,11 +49,12 @@ }); }); - builder.Services.AddControllers().AddJsonOptions(x => { - x.JsonSerializerOptions.PropertyNameCaseInsensitive = true; - x.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower; - x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower, false)); - }); + builder.Services.AddControllers() + .AddJsonOptions(x => { + x.JsonSerializerOptions.PropertyNameCaseInsensitive = true; + x.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower; + x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower, false)); + }); builder.Services.AddSwaggerGen(); var options = new DefaultAzureCredentialOptions(); diff --git a/ALttPRandomizer/SeedController.cs b/ALttPRandomizer/SeedController.cs index b579929..75f4585 100644 --- a/ALttPRandomizer/SeedController.cs +++ b/ALttPRandomizer/SeedController.cs @@ -20,6 +20,9 @@ [Route("/generate")] [HttpPost] public async Task Generate([FromBody] SeedSettings settings) { + if (!ModelState.IsValid) { + return BadRequest(ModelState); + } try { var id = await this.RandomizeService.RandomizeSeed(settings); var url = string.Format("/seed/{0}", id);