From 0463cb527632f8455ae9708d44cdd0e09aae8ab7 Mon Sep 17 00:00:00 2001 From: johannes karoff Date: Tue, 14 Nov 2023 21:31:18 +0100 Subject: [PATCH] configure openapi version --- lambdaHttpApiTapir/src/main/scala/helper/DocServer.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lambdaHttpApiTapir/src/main/scala/helper/DocServer.scala b/lambdaHttpApiTapir/src/main/scala/helper/DocServer.scala index c1e326e..ec1168a 100644 --- a/lambdaHttpApiTapir/src/main/scala/helper/DocServer.scala +++ b/lambdaHttpApiTapir/src/main/scala/helper/DocServer.scala @@ -20,6 +20,7 @@ case class DocInfo( security: List[SecurityRequirement] = Nil, swaggerUIOptions: js.Object = js.Object(), filterEndpoints: EndpointInfoOps[_] with EndpointMetaOps => Boolean = _ => true, + openApiVersion: Option[String] = None, ) object DocInfo { def default = DocInfo(title = "API", version = "latest") @@ -45,9 +46,12 @@ object DocServer { Some(result(html, "text/html")) case List("openapi.json") => - val openapi = OpenAPIDocsInterpreter(docInfo.options) + val openapiBase = OpenAPIDocsInterpreter(docInfo.options) .serverEndpointsToOpenAPI[F](endpoints.filter(docInfo.filterEndpoints), docInfo.info) .copy(tags = docInfo.tags, webhooks = docInfo.webhooks, servers = docInfo.servers, security = docInfo.security) + + val openapi = docInfo.openApiVersion.fold(openapiBase)(version => openapiBase.copy(openapi = version)) + val json = openapi.asJson.spaces2SortKeys Some(result(json, "application/json"))