From 384494562380f9cf971f9c0222a1913dc075fa73 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Thu, 16 Apr 2026 15:15:18 +0300 Subject: [PATCH] updated SwaggerConfiguration to be in sync with pe --- .../server/config/SwaggerConfiguration.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java b/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java index 867efa67cc..6bdb1ae758 100644 --- a/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java +++ b/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java @@ -600,6 +600,22 @@ public class SwaggerConfiguration { if (baseType != null) { return baseType; } + + // Check if other oneOf items extend this candidate via allOf (parent-child without discriminator) + if (candidate != null) { + boolean isParent = oneOfSchemas.stream() + .filter(s -> s.get$ref() != null && !s.get$ref().equals(ref)) + .anyMatch(s -> { + String otherName = s.get$ref().substring(s.get$ref().lastIndexOf('/') + 1); + Schema otherSchema = schemas.get(otherName); + return otherSchema != null && otherSchema.getAllOf() != null && + otherSchema.getAllOf().stream().anyMatch( + a -> a.get$ref() != null && a.get$ref().endsWith("/" + refName)); + }); + if (isParent) { + return refName; + } + } } return null; }