From 32a9d008a4391cd159f1a9697e5db7d0cef6aeb2 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 24 Sep 2026 12:02:08 +0200 Subject: [PATCH] feat(api): add Scalar API reference with independent toggle Decouple Scalar from Swagger so each can be enabled/disabled separately via the UseScalar config flag. When Scalar is enabled without Swagger, the bare OpenAPI JSON endpoint is still registered so Scalar has a spec to load from. - Add UseScalar flag to appsettings.json (default: true) - Resolve useScalar from config in Program.cs - Map Scalar only when useScalar is true - Ensure UseSwagger() is called if Scalar needs it but Swagger UI is off --- .../EnvelopeGenerator.Server/Program.cs | 9 +++++++++ .../EnvelopeGenerator.Server/appsettings.json | 1 + 2 files changed, 10 insertions(+) diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs index 9bc365ff..584049e6 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs @@ -391,10 +391,19 @@ try } var useSwagger = app.Environment.IsDevelopment() || config.GetValue("UseSwagger"); + var useScalar = app.Environment.IsDevelopment() || config.GetValue("UseScalar"); + if (useSwagger) { app.UseSwagger(); app.UseSwaggerUI(); + } + + if (useScalar) + { + if (!useSwagger) + app.UseSwagger(); // Scalar requires the OpenAPI JSON endpoint + app.MapScalarApiReference(); } diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/appsettings.json b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/appsettings.json index bba7a285..9dadd643 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/appsettings.json +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/appsettings.json @@ -1,5 +1,6 @@ { "UseSwagger": true, + "UseScalar": true, "UseDbMigration": false, "DiPMode": true, "Logging": {