Skip to content

Commit

Permalink
Camunda Rest OpenAPI (#171)
Browse files Browse the repository at this point in the history
* Camunda Rest OpenAPI support added
  • Loading branch information
GoodforGod authored Nov 13, 2024
1 parent 3eeb90e commit a5f1703
Show file tree
Hide file tree
Showing 11 changed files with 439 additions and 45 deletions.
1 change: 1 addition & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ dependencyResolutionManagement { DependencyResolutionManagement it ->

library('camunda7-engine', 'org.camunda.bpm', 'camunda-engine').versionRef('camunda7')
library('camunda7-rest-jakarta', 'org.camunda.bpm', 'camunda-engine-rest-jakarta').versionRef('camunda7')
library('camunda7-openapi', 'org.camunda.bpm', 'camunda-engine-rest-openapi').versionRef('camunda7')
library('fasterxml-uuidgenerator', 'com.fasterxml.uuid', 'java-uuid-generator').version('5.0.0')
library('resteasy-undertow-jakarta', 'org.jboss.resteasy', 'resteasy-undertow').version('6.2.8.Final')
library('jakarta-rs-api', 'jakarta.ws.rs', 'jakarta.ws.rs-api').version('3.1.0')
Expand Down
2 changes: 2 additions & 0 deletions experimental/camunda-rest-undertow/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ dependencies {
implementation project(":config:config-common")
implementation project(":logging:logging-common")
implementation libs.resteasy.undertow.jakarta
implementation project(":openapi:openapi-management")
implementation project(":http:http-server-undertow")

api project(":telemetry:telemetry-common")
api project(":common")
api libs.camunda7.rest.jakarta
api libs.camunda7.openapi
api libs.jakarta.rs.api
api libs.undertow.servlet
api libs.undertow.core
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import java.time.Duration;
import java.util.Collections;
import java.util.List;
import java.util.Set;

@ConfigValueExtractor
Expand All @@ -27,6 +28,8 @@ default Duration shutdownWait() {
return Duration.ofSeconds(30);
}

CamundaOpenApiConfig openapi();

CamundaRestTelemetryConfig telemetry();

@ConfigValueExtractor
Expand Down Expand Up @@ -58,4 +61,48 @@ default String mask() {
@Nullable
Boolean pathTemplate();
}

@ConfigValueExtractor
interface CamundaOpenApiConfig {

default List<String> file() {
return List.of("openapi.json");
}

default boolean enabled() {
return false;
}

default String endpoint() {
return "/openapi";
}

SwaggerUIConfig swaggerui();

RapidocConfig rapidoc();

@ConfigValueExtractor
interface SwaggerUIConfig {

default boolean enabled() {
return false;
}

default String endpoint() {
return "/swagger-ui";
}
}

@ConfigValueExtractor
interface RapidocConfig {

default boolean enabled() {
return false;
}

default String endpoint() {
return "/rapidoc";
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

public interface CamundaRestTelemetry {

CamundaRestTelemetryContext EMPTY_CTX = (s, r, h, ex) -> {};
CamundaRestTelemetry EMPTY = (s, host, m, p, pt, h, q, b) -> EMPTY_CTX;

interface CamundaRestTelemetryContext {

void close(int statusCode, HttpResultCode resultCode, HttpHeaders headers, @Nullable Throwable exception);
Expand Down
Loading

0 comments on commit a5f1703

Please sign in to comment.