From e1173efe4ce9366794980aa0e897441d83ef3413 Mon Sep 17 00:00:00 2001 From: simonredfern Date: Sat, 27 Dec 2025 22:43:27 +0100 Subject: [PATCH] consumers/current add call counters --- obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala | 7 +++++-- .../src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala | 3 ++- obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala b/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala index 8f10627b6..2b7606504 100644 --- a/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala +++ b/obp-api/src/main/scala/code/api/v6_0_0/APIMethods600.scala @@ -567,7 +567,8 @@ trait APIMethods600 { |""", EmptyBody, CurrentConsumerJsonV600( - consumer_id = "123" + consumer_id = "123", + call_counters = redisCallCountersJsonV600 ), List( UserNotLoggedIn, @@ -593,8 +594,10 @@ trait APIMethods600 { } map { unboxFullOrFail(_, cc.callContext, InvalidConsumerCredentials, 401) } + currentConsumerCallCounters <- Future(RateLimitingUtil.consumerRateLimitState(consumer.consumerId.get).toList) + callCountersJson = createRedisCallCountersJson(currentConsumerCallCounters) } yield { - (CurrentConsumerJsonV600(consumer.consumerId.get), HttpCode.`200`(callContext)) + (CurrentConsumerJsonV600(consumer.consumerId.get, callCountersJson), HttpCode.`200`(callContext)) } } } diff --git a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala index c2b26f0b2..1f57e9a79 100644 --- a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala +++ b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala @@ -68,7 +68,8 @@ case class TokenJSON( ) case class CurrentConsumerJsonV600( - consumer_id: String + consumer_id: String, + call_counters: RedisCallCountersJsonV600 ) case class CallLimitPostJsonV600( diff --git a/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala index beb8a5896..c4feee9fc 100644 --- a/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala +++ b/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala @@ -94,6 +94,13 @@ class ConsumerTest extends V600ServerSetup { consumerJson.consumer_id should not be empty consumerJson.consumer_id should not be null consumerJson.consumer_id shouldBe a[String] + consumerJson.call_counters should not be null + consumerJson.call_counters.per_second should not be null + consumerJson.call_counters.per_minute should not be null + consumerJson.call_counters.per_hour should not be null + consumerJson.call_counters.per_day should not be null + consumerJson.call_counters.per_week should not be null + consumerJson.call_counters.per_month should not be null } } }