From 6abebacaf8e016c72ced7358d5399f298f163f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Thu, 31 Aug 2023 15:59:32 +0200 Subject: [PATCH] refactor/Write getResourceDocsSwagger as a new style endpoint --- .../ResourceDocsAPIMethods.scala | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala index e772faa7be..aded4d68d0 100644 --- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala +++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala @@ -1,8 +1,8 @@ package code.api.ResourceDocs1_4_0 import code.api.Constant.PARAM_LOCALE - import java.util.UUID.randomUUID + import code.api.OBPRestHelper import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.canGetCustomersJson import code.api.builder.OBP_APIBuilder @@ -36,11 +36,12 @@ import net.liftweb.json.JsonAST.{JField, JString, JValue} import net.liftweb.json._ import net.liftweb.util.Helpers.tryo import net.liftweb.util.Props - import java.util.concurrent.ConcurrentHashMap + +import code.api.util.FutureUtil.EndpointContext import code.api.util.NewStyle.HttpCode import code.api.v5_0_0.OBPAPI5_0_0 -import code.api.v5_1_0.OBPAPI5_1_0 +import code.api.v5_1_0.{OBPAPI5_1_0, UserAttributeJsonV510} import code.util.Helper import scala.collection.immutable.{List, Nil} @@ -692,15 +693,20 @@ trait ResourceDocsAPIMethods extends MdcLoggable with APIMethods220 with APIMeth def getResourceDocsSwagger : OBPEndpoint = { case "resource-docs" :: requestedApiVersionString :: "swagger" :: Nil JsonGet _ => { - cc =>{ + cc => { + implicit val ec = EndpointContext(Some(cc)) + val (resourceDocTags, partialFunctions, _, _, _, _) = ResourceDocsAPIMethodsUtil.getParams() for { - (resourceDocTags, partialFunctions, locale, contentParam, apiCollectionIdParam, cacheModifierParam) <- tryo(ResourceDocsAPIMethodsUtil.getParams()) - requestedApiVersion <- tryo(ApiVersionUtils.valueOf(requestedApiVersionString)) ?~! s"$InvalidApiVersionString Current Version is $requestedApiVersionString" - _ <- booleanToBox(versionIsAllowed(requestedApiVersion), s"$ApiVersionNotSupported Current Version is $requestedApiVersionString") - staticJson <- getResourceDocsSwaggerCached(requestedApiVersionString, resourceDocTags, partialFunctions) - dynamicJson <- getResourceDocsSwagger(requestedApiVersionString, resourceDocTags, partialFunctions) + requestedApiVersion <- NewStyle.function.tryons(s"$InvalidApiVersionString Current Version is $requestedApiVersionString", 400, cc.callContext) { + ApiVersionUtils.valueOf(requestedApiVersionString) + } + _ <- Helper.booleanToFuture(failMsg = s"$ApiVersionNotSupported Current Version is $requestedApiVersionString", cc=cc.callContext) { + versionIsAllowed(requestedApiVersion) + } + staticJson <- Future(getResourceDocsSwaggerCached(requestedApiVersionString, resourceDocTags, partialFunctions).getOrElse(JNull)) + dynamicJson <- Future(getResourceDocsSwagger(requestedApiVersionString, resourceDocTags, partialFunctions).getOrElse(JNull)) } yield { - successJsonResponse(staticJson.merge(dynamicJson)) + (staticJson.merge(dynamicJson), HttpCode.`200`(cc.callContext)) } } }