diff --git a/openapi-maven-plugin/pom.xml b/openapi-maven-plugin/pom.xml
index 8f28542d..09af2207 100644
--- a/openapi-maven-plugin/pom.xml
+++ b/openapi-maven-plugin/pom.xml
@@ -5,7 +5,7 @@
org.openapitools
openapi-generator-maven-plugin
- 0.0.31-dbeaver
+ 0.0.32-dbeaver
maven-plugin
openapi-maven-plugin Maven Plugin
diff --git a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/ApiConfiguration.java b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/ApiConfiguration.java
index bca9faf8..0fc05c96 100644
--- a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/ApiConfiguration.java
+++ b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/ApiConfiguration.java
@@ -68,6 +68,8 @@ public ApiConfiguration mergeWithCommonApiConfiguration(final CommonApiConfigura
merged.pathPrefix = copy.pathPrefix;
merged.fileFormat = copy.fileFormat;
merged.loopbackOperationName = copy.loopbackOperationName;
+ merged.badges = copy.badges;
+ merged.badgeColor = copy.badgeColor;
merged.enumListDescriptionEnabled = copy.enumListDescriptionEnabled;
merged.enumNameExtensionEnabled = copy.enumNameExtensionEnabled;
merged.enumNameExtensionValue = copy.enumNameExtensionValue;
@@ -127,6 +129,12 @@ public ApiConfiguration mergeWithCommonApiConfiguration(final CommonApiConfigura
if(loopbackOperationName != null) {
merged.setLoopbackOperationName(loopbackOperationName);
}
+ if(badges != null) {
+ merged.setBadges(badges);
+ }
+ if(badgeColor != null) {
+ merged.setBadgeColor(badgeColor);
+ }
if(enumListDescriptionEnabled != null) {
merged.setEnumListDescriptionEnabled(enumListDescriptionEnabled);
}
diff --git a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/CommonApiConfiguration.java b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/CommonApiConfiguration.java
index 4d2e9c76..a8509f27 100644
--- a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/CommonApiConfiguration.java
+++ b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/configuration/CommonApiConfiguration.java
@@ -71,6 +71,18 @@ public class CommonApiConfiguration {
@Parameter
protected Boolean loopbackOperationName;
+ /**
+ * If true, expose the operationId as an "x-badges" extension on every operation.
+ */
+ @Parameter
+ protected Boolean badges;
+
+ /**
+ * Color used for the generated x-badges entry. Defaults "grey"
+ */
+ @Parameter
+ protected String badgeColor;
+
/**
* Write in the description the complete list of enum value / description
*/
@@ -171,6 +183,8 @@ public CommonApiConfiguration(final CommonApiConfiguration commonApiConfiguratio
this.pathPrefix = commonApiConfiguration.pathPrefix;
this.fileFormat = commonApiConfiguration.fileFormat;
this.loopbackOperationName = commonApiConfiguration.loopbackOperationName;
+ this.badges = commonApiConfiguration.badges;
+ this.badgeColor = commonApiConfiguration.badgeColor;
this.enumListDescriptionEnabled = commonApiConfiguration.enumListDescriptionEnabled;
this.enumNameExtensionEnabled = commonApiConfiguration.enumNameExtensionEnabled;
this.enumNameExtensionValue = commonApiConfiguration.enumNameExtensionValue;
@@ -231,6 +245,12 @@ public void initDefaultValues() {
if(loopbackOperationName == null) {
loopbackOperationName = true;
}
+ if(badges == null) {
+ badges = false;
+ }
+ if(badgeColor == null) {
+ badgeColor = "grey";
+ }
if(enumListDescriptionEnabled == null) {
enumListDescriptionEnabled = true;
}
@@ -346,6 +366,22 @@ public void setLoopbackOperationName(final boolean loopbackOperationName) {
this.loopbackOperationName = loopbackOperationName;
}
+ public boolean isBadges() {
+ return badges != null && badges;
+ }
+
+ public void setBadges(final boolean badges) {
+ this.badges = badges;
+ }
+
+ public String getBadgeColor() {
+ return badgeColor;
+ }
+
+ public void setBadgeColor(final String badgeColor) {
+ this.badgeColor = badgeColor;
+ }
+
public Boolean getEnumListDescriptionEnabled() {
return enumListDescriptionEnabled;
}
diff --git a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/yaml/YamlWriter.java b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/yaml/YamlWriter.java
index fe503eb9..a884783f 100644
--- a/openapi-maven-plugin/src/main/java/io/github/kbuntrock/yaml/YamlWriter.java
+++ b/openapi-maven-plugin/src/main/java/io/github/kbuntrock/yaml/YamlWriter.java
@@ -280,6 +280,15 @@ private Map> createPaths(final TagLibrary tagLibr
operation.setOperationId(operation.getOperationId() + nbEncounteredOperationId);
}
+ if(apiConfiguration.isBadges()) {
+ Map badge = new LinkedHashMap<>();
+ badge.put("name", operation.getOperationId());
+ badge.put("color", apiConfiguration.getBadgeColor());
+ List