From 37117478df176d23a7d718b5052f0639f7faad7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Thu, 7 Nov 2024 10:47:37 +0100 Subject: [PATCH] feature/Tweak endpoint getConsentsAtBank v5.1.0 --- obp-api/src/main/scala/code/api/util/APIUtil.scala | 7 +++++-- obp-api/src/main/scala/code/api/util/OBPParam.scala | 1 + .../src/main/scala/code/api/v5_1_0/APIMethods510.scala | 2 ++ obp-api/src/main/scala/code/consent/MappedConsent.scala | 8 +++++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/obp-api/src/main/scala/code/api/util/APIUtil.scala b/obp-api/src/main/scala/code/api/util/APIUtil.scala index 032effa69..855a4d0bb 100644 --- a/obp-api/src/main/scala/code/api/util/APIUtil.scala +++ b/obp-api/src/main/scala/code/api/util/APIUtil.scala @@ -1090,6 +1090,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ value <- tryo(values.head.toBoolean) ?~! FilterIsDeletedFormatError deleted = OBPIsDeleted(value) } yield deleted + case "status" => Full(OBPStatus(values.head)) case "consumer_id" => Full(OBPConsumerId(values.head)) case "user_id" => Full(OBPUserId(values.head)) case "bank_id" => Full(OBPBankId(values.head)) @@ -1134,6 +1135,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ limit <- getLimit(httpParams) offset <- getOffset(httpParams) //all optional fields + status <- getHttpParamValuesByName(httpParams,"status") anon <- getHttpParamValuesByName(httpParams,"anon") deletedStatus <- getHttpParamValuesByName(httpParams,"is_deleted") consumerId <- getHttpParamValuesByName(httpParams,"consumer_id") @@ -1174,7 +1176,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ val ordering = OBPOrdering(sortBy, sortDirection) //This guarantee the order List(limit, offset, ordering, fromDate, toDate, - anon, consumerId, userId, url, appName, implementedByPartialFunction, implementedInVersion, + anon, status, consumerId, userId, url, appName, implementedByPartialFunction, implementedInVersion, verb, correlationId, duration, excludeAppNames, excludeUrlPattern, excludeImplementedByPartialfunctions, includeAppNames, includeUrlPattern, includeImplementedByPartialfunctions, connectorName,functionName, bankId, accountId, customerId, lockedStatus, deletedStatus @@ -1209,6 +1211,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ val limit = getHttpRequestUrlParam(httpRequestUrl,"limit") val offset = getHttpRequestUrlParam(httpRequestUrl,"offset") val anon = getHttpRequestUrlParam(httpRequestUrl,"anon") + val status = getHttpRequestUrlParam(httpRequestUrl,"status") val isDeleted = getHttpRequestUrlParam(httpRequestUrl, "is_deleted") val consumerId = getHttpRequestUrlParam(httpRequestUrl,"consumer_id") val userId = getHttpRequestUrlParam(httpRequestUrl, "user_id") @@ -1241,7 +1244,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ Full(List( HTTPParam("sort_direction",sortDirection), HTTPParam("from_date",fromDate), HTTPParam("to_date", toDate), HTTPParam("limit",limit), HTTPParam("offset",offset), - HTTPParam("anon", anon), HTTPParam("consumer_id", consumerId), HTTPParam("user_id", userId), HTTPParam("url", url), HTTPParam("app_name", appName), + HTTPParam("anon", anon), HTTPParam("status", status), HTTPParam("consumer_id", consumerId), HTTPParam("user_id", userId), HTTPParam("url", url), HTTPParam("app_name", appName), HTTPParam("implemented_by_partial_function",implementedByPartialFunction), HTTPParam("implemented_in_version",implementedInVersion), HTTPParam("verb", verb), HTTPParam("correlation_id", correlationId), HTTPParam("duration", duration), HTTPParam("exclude_app_names", excludeAppNames), HTTPParam("exclude_url_patterns", excludeUrlPattern),HTTPParam("exclude_implemented_by_partial_functions", excludeImplementedByPartialfunctions), diff --git a/obp-api/src/main/scala/code/api/util/OBPParam.scala b/obp-api/src/main/scala/code/api/util/OBPParam.scala index 56e65ff42..0419d0951 100644 --- a/obp-api/src/main/scala/code/api/util/OBPParam.scala +++ b/obp-api/src/main/scala/code/api/util/OBPParam.scala @@ -27,6 +27,7 @@ case class OBPToDate(value: Date) extends OBPQueryParam case class OBPOrdering(field: Option[String], order: OBPOrder) extends OBPQueryParam case class OBPConsumerId(value: String) extends OBPQueryParam case class OBPUserId(value: String) extends OBPQueryParam +case class OBPStatus(value: String) extends OBPQueryParam case class OBPBankId(value: String) extends OBPQueryParam case class OBPAccountId(value: String) extends OBPQueryParam case class OBPUrl(value: String) extends OBPQueryParam diff --git a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala index bf8da88c4..dae8fea3e 100644 --- a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala +++ b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala @@ -1035,6 +1035,8 @@ trait APIMethods510 { | |4 user_id (ignore if omitted) | + |5 status (ignore if omitted) + | |eg: /management/consents/banks/BANK_ID?&consumer_id=78&limit=10&offset=10 | """.stripMargin, diff --git a/obp-api/src/main/scala/code/consent/MappedConsent.scala b/obp-api/src/main/scala/code/consent/MappedConsent.scala index 9e6c57a41..99dc59aba 100644 --- a/obp-api/src/main/scala/code/consent/MappedConsent.scala +++ b/obp-api/src/main/scala/code/consent/MappedConsent.scala @@ -1,7 +1,7 @@ package code.consent import java.util.Date -import code.api.util.{APIUtil, Consent, ErrorMessages, OBPBankId, OBPOffset, OBPQueryParam, OBPUserId, OBPLimit, OBPConsumerId, SecureRandomUtil} +import code.api.util.{APIUtil, Consent, ErrorMessages, OBPStatus, OBPOffset, OBPQueryParam, OBPUserId, OBPLimit, OBPConsumerId, SecureRandomUtil} import code.consent.ConsentStatus.ConsentStatus import code.model.Consumer import code.util.MappedUUID @@ -70,12 +70,14 @@ object MappedConsentProvider extends ConsentProvider { // he optional variables: val consumerId = queryParams.collect { case OBPConsumerId(value) => By(MappedConsent.mConsumerId, value)}.headOption val userId = queryParams.collect { case OBPUserId(value) => By(MappedConsent.mUserId, value)}.headOption + val status = queryParams.collect { case OBPStatus(value) => By(MappedConsent.mStatus, value.toUpperCase())}.headOption Seq( offset.toSeq, + limit.toSeq, + status.toSeq, userId.toSeq, - consumerId.toSeq, - limit.toSeq + consumerId.toSeq ).flatten }