From 8ef0e7c5cb15bc1c5073f0ce8ff2e67eb7dfc0c5 Mon Sep 17 00:00:00 2001 From: hongwei Date: Mon, 2 Feb 2026 11:48:24 +0100 Subject: [PATCH] Refactor/ API version handling in ApiCollector and related files Updated the ApiCollector implementations across multiple API versions to replace the deprecated ScannedApiVersion with the new ApiVersion utility. This change enhances consistency and maintainability in the API versioning approach. The affected files include ApiCollector.scala for AU, Bahrain, Polish, STET, and UK Open Banking APIs, as well as the ApiVersion.scala file where new constants were defined for these versions. --- .../scala/code/api/AUOpenBanking/v1_0_0/ApiCollector.scala | 4 ++-- .../scala/code/api/BahrainOBF/v1_0_0/ApiCollector.scala | 4 ++-- .../scala/code/api/Polish/v2_1_1_1/OBP_PAPI_2_1_1_1.scala | 4 ++-- .../src/main/scala/code/api/STET/v1_4/OBP_STET_1_4.scala | 4 ++-- .../api/UKOpenBanking/v2_0_0/OBP_UKOpenBanking_200.scala | 4 ++-- .../api/UKOpenBanking/v3_1_0/OBP_UKOpenBanking_310.scala | 4 ++-- .../scala/com/openbankproject/commons/util/ApiVersion.scala | 6 ++++++ 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ApiCollector.scala b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ApiCollector.scala index d8fea1182..e66cd1ab1 100644 --- a/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ApiCollector.scala +++ b/obp-api/src/main/scala/code/api/AUOpenBanking/v1_0_0/ApiCollector.scala @@ -35,7 +35,7 @@ import code.api.OBPRestHelper import code.api.util.APIUtil.{OBPEndpoint, ResourceDoc, getAllowedEndpoints} import code.api.util.ScannedApis import code.util.Helper.MdcLoggable -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} import scala.collection.mutable.ArrayBuffer @@ -47,7 +47,7 @@ This file defines which endpoints from all the versions are available in v1 */ object ApiCollector extends OBPRestHelper with MdcLoggable with ScannedApis { //please modify these three parameter if it is not correct. - override val apiVersion = ScannedApiVersion("cds-au", "AU", "v1.0.0") + override val apiVersion = ApiVersion.cdsAuV100 val versionStatus = ApiVersionStatus.DRAFT.toString private[this] val endpoints = diff --git a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/ApiCollector.scala b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/ApiCollector.scala index ff5422cff..5c0148ce2 100644 --- a/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/ApiCollector.scala +++ b/obp-api/src/main/scala/code/api/BahrainOBF/v1_0_0/ApiCollector.scala @@ -35,7 +35,7 @@ import code.api.OBPRestHelper import code.api.util.APIUtil.{OBPEndpoint, ResourceDoc, getAllowedEndpoints} import code.api.util.{ScannedApis} import code.util.Helper.MdcLoggable -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} import scala.collection.mutable.ArrayBuffer @@ -45,7 +45,7 @@ import scala.collection.mutable.ArrayBuffer This file defines which endpoints from all the versions are available in v1 */ object ApiCollector extends OBPRestHelper with MdcLoggable with ScannedApis { - override val apiVersion = ScannedApiVersion("BAHRAIN-OBF", "BAHRAIN-OBF", "v1.0.0") + override val apiVersion = ApiVersion.bahrainObfV100 val versionStatus = ApiVersionStatus.DRAFT.toString private[this] val endpoints = diff --git a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/OBP_PAPI_2_1_1_1.scala b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/OBP_PAPI_2_1_1_1.scala index 21552e30e..c576d2d14 100644 --- a/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/OBP_PAPI_2_1_1_1.scala +++ b/obp-api/src/main/scala/code/api/Polish/v2_1_1_1/OBP_PAPI_2_1_1_1.scala @@ -35,7 +35,7 @@ import code.api.OBPRestHelper import code.api.util.APIUtil.{OBPEndpoint, ResourceDoc, getAllowedEndpoints} import code.api.util.ScannedApis import code.util.Helper.MdcLoggable -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} import scala.collection.mutable.ArrayBuffer @@ -47,7 +47,7 @@ This file defines which endpoints from all the versions are available in v1 */ object OBP_PAPI_2_1_1_1 extends OBPRestHelper with MdcLoggable with ScannedApis { //please modify these three parameter if it is not correct. - override val apiVersion = ScannedApiVersion("polish-api", "PAPI", "v2.1.1.1") + override val apiVersion = ApiVersion.polishApiV2111 val versionStatus = ApiVersionStatus.DRAFT.toString private[this] val endpoints = diff --git a/obp-api/src/main/scala/code/api/STET/v1_4/OBP_STET_1_4.scala b/obp-api/src/main/scala/code/api/STET/v1_4/OBP_STET_1_4.scala index 68321aef6..d77c547df 100644 --- a/obp-api/src/main/scala/code/api/STET/v1_4/OBP_STET_1_4.scala +++ b/obp-api/src/main/scala/code/api/STET/v1_4/OBP_STET_1_4.scala @@ -35,7 +35,7 @@ import code.api.OBPRestHelper import code.api.util.APIUtil.{OBPEndpoint, ResourceDoc, getAllowedEndpoints} import code.api.util.ScannedApis import code.util.Helper.MdcLoggable -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} import scala.collection.mutable.ArrayBuffer @@ -47,7 +47,7 @@ This file defines which endpoints from all the versions are available in v1 */ object OBP_STET_1_4 extends OBPRestHelper with MdcLoggable with ScannedApis { //please modify these three parameter if it is not correct. - override val apiVersion = ScannedApiVersion("stet", "STET", "v1.4") + override val apiVersion = ApiVersion.stetV14 val versionStatus = ApiVersionStatus.DRAFT.toString private[this] val endpoints = diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/OBP_UKOpenBanking_200.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/OBP_UKOpenBanking_200.scala index 0a38aca4a..ebc867aa2 100644 --- a/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/OBP_UKOpenBanking_200.scala +++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v2_0_0/OBP_UKOpenBanking_200.scala @@ -33,7 +33,7 @@ import code.util.Helper.MdcLoggable import scala.collection.immutable.Nil import code.api.UKOpenBanking.v2_0_0.APIMethods_UKOpenBanking_200._ -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} /* @@ -43,7 +43,7 @@ This file defines which endpoints from all the versions are available in v1 object OBP_UKOpenBanking_200 extends OBPRestHelper with MdcLoggable with ScannedApis{ - override val apiVersion = ScannedApiVersion("open-banking", "UK", "v2.0") + override val apiVersion = ApiVersion.ukOpenBankingV20 val versionStatus = ApiVersionStatus.DRAFT.toString val allEndpoints = diff --git a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OBP_UKOpenBanking_310.scala b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OBP_UKOpenBanking_310.scala index b8e9289dd..6ea2f9742 100644 --- a/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OBP_UKOpenBanking_310.scala +++ b/obp-api/src/main/scala/code/api/UKOpenBanking/v3_1_0/OBP_UKOpenBanking_310.scala @@ -35,7 +35,7 @@ import code.api.OBPRestHelper import code.api.util.APIUtil.{OBPEndpoint, ResourceDoc, getAllowedEndpoints} import code.api.util.ScannedApis import code.util.Helper.MdcLoggable -import com.openbankproject.commons.util.{ApiVersionStatus, ScannedApiVersion} +import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus} import scala.collection.mutable.ArrayBuffer @@ -47,7 +47,7 @@ This file defines which endpoints from all the versions are available in v1 */ object OBP_UKOpenBanking_310 extends OBPRestHelper with MdcLoggable with ScannedApis { //please modify these three parameter if it is not correct. - override val apiVersion = ScannedApiVersion("open-banking", "UK", "v3.1") + override val apiVersion = ApiVersion.ukOpenBankingV31 val versionStatus = ApiVersionStatus.DRAFT.toString private[this] val endpoints = diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala index 6173ec700..000f7ebec 100644 --- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala +++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala @@ -143,6 +143,12 @@ object ApiVersion { val berlinGroupV13 = ScannedApiVersion("berlin-group", "BG", "v1.3") val mxofV100 = ScannedApiVersion("mxof", "MXOF", "v1.0.0") val cnbv9 = ScannedApiVersion("CNBV9", "CNBV9", "v1.0.0") + val ukOpenBankingV20 = ScannedApiVersion("open-banking", "UK", "v2.0") + val ukOpenBankingV31 = ScannedApiVersion("open-banking", "UK", "v3.1") + val stetV14 = ScannedApiVersion("stet", "STET", "v1.4") + val cdsAuV100 = ScannedApiVersion("cds-au", "AU", "v1.0.0") + val bahrainObfV100 = ScannedApiVersion("BAHRAIN-OBF", "BAHRAIN-OBF", "v1.0.0") + val polishApiV2111 = ScannedApiVersion("polish-api", "PAPI", "v2.1.1.1") /** * the ApiPathZero value must be got by obp-api project, so here is a workaround, let obp-api project modify this value