From 8b1e4fa5c2af25deda2e32e7604c7b5e5352bd08 Mon Sep 17 00:00:00 2001 From: Nikolaj Date: Thu, 22 Jun 2023 11:37:15 +0200 Subject: [PATCH] Don't leak swagger out of delivery document --- .../Filters/SwaggerDocumentationFilter.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilter.cs b/src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilter.cs index 9c9c4d8c74..e41a4b19c1 100644 --- a/src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilter.cs +++ b/src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilter.cs @@ -2,6 +2,7 @@ using Microsoft.OpenApi.Any; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; using Umbraco.Cms.Api.Delivery.Configuration; +using Umbraco.Extensions; namespace Umbraco.Cms.Api.Delivery.Filters; @@ -9,6 +10,11 @@ public class SwaggerDocumentationFilter : IOperationFilter, IParameterFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { + if (context.MethodInfo.HasMapToApiAttribute(DeliveryApiConfiguration.ApiName) == false) + { + return; + } + operation.Parameters ??= new List(); operation.Parameters.Add(new OpenApiParameter @@ -77,6 +83,11 @@ public class SwaggerDocumentationFilter : IOperationFilter, IParameterFilter public void Apply(OpenApiParameter parameter, ParameterFilterContext context) { + if (context.DocumentName != DeliveryApiConfiguration.ApiName) + { + return; + } + switch (parameter.Name) { case "fetch":