From e35761e0a60511bfa72ff3ea79ab789bd22db8cb Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 4 Apr 2023 08:22:30 -0500 Subject: [PATCH] configurable servers; paths in swagger from root --- .../actions/GenerateOpenApiSpecAction.java | 23 ++++++----- .../model/metadata/ApiInstanceMetaData.java | 40 ++++++++++++++++++- .../resources/rapidoc/rapidoc-container.html | 1 - 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java index 235f6614..9efda835 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java @@ -56,7 +56,6 @@ import com.kingsrook.qqq.api.model.openapi.RequestBody; import com.kingsrook.qqq.api.model.openapi.Response; import com.kingsrook.qqq.api.model.openapi.Schema; import com.kingsrook.qqq.api.model.openapi.SecurityScheme; -import com.kingsrook.qqq.api.model.openapi.Server; import com.kingsrook.qqq.api.model.openapi.Tag; import com.kingsrook.qqq.backend.core.actions.AbstractQActionFunction; import com.kingsrook.qqq.backend.core.actions.permissions.PermissionsHelper; @@ -188,7 +187,8 @@ public class GenerateOpenApiSpecAction extends AbstractQActionFunction()); openAPI.setPaths(new LinkedHashMap<>()); @@ -457,7 +456,7 @@ public class GenerateOpenApiSpecAction extends AbstractQActionFunction pastVersions; private List futureVersions; + private List servers; + private boolean includeErrorTooManyRequests = true; @@ -118,7 +122,10 @@ public class ApiInstanceMetaData extends QMiddlewareInstanceMetaData ApiTableMetaData apiTableMetaData = ApiTableMetaData.of(table); if(apiTableMetaData != null) { - validator.assertCondition(allVersions.contains(new APIVersion(apiTableMetaData.getInitialVersion())), "Table " + table.getName() + "'s initial API version is not a recognized version."); + if(BooleanUtils.isNotTrue(apiTableMetaData.getIsExcluded())) + { + validator.assertCondition(allVersions.contains(new APIVersion(apiTableMetaData.getInitialVersion())), "Table " + table.getName() + "'s initial API version is not a recognized version."); + } } } @@ -373,4 +380,35 @@ public class ApiInstanceMetaData extends QMiddlewareInstanceMetaData return (this); } + + + /******************************************************************************* + ** Getter for servers + *******************************************************************************/ + public List getServers() + { + return (this.servers); + } + + + + /******************************************************************************* + ** Setter for servers + *******************************************************************************/ + public void setServers(List servers) + { + this.servers = servers; + } + + + + /******************************************************************************* + ** Fluent setter for servers + *******************************************************************************/ + public ApiInstanceMetaData withServers(List servers) + { + this.servers = servers; + return (this); + } + } diff --git a/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html b/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html index 49f1f4f1..fe4dc03a 100644 --- a/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html +++ b/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html @@ -36,7 +36,6 @@ mono-font="Monaco, Menlo, Consolas, source-code-pro, monospace" font-size="large" show-header="false" - allow-server-selection="false" allow-spec-file-download="true" primary-color="{primaryColor}" sort-endpoints-by="method"