From 858813a69a887b608a919eda916fd10536283892 Mon Sep 17 00:00:00 2001 From: simonredfern Date: Wed, 31 Dec 2025 05:07:51 +0100 Subject: [PATCH] Depreciate Consumer call limits in favour of Rate Limits --- .../code/consumer/ConsumerProvider.scala | 1 + obp-api/src/main/scala/code/model/OAuth.scala | 1 + .../ratelimiting/MappedRateLimiting.scala | 19 +++++++------------ 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala b/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala index dc4098f92..a32beaa7a 100644 --- a/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala +++ b/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala @@ -56,6 +56,7 @@ trait ConsumersProvider { LogoURL: Option[String] = None, certificate: Option[String] = None, ): Box[Consumer] + @deprecated("Use RateLimitingDI.rateLimiting.vend methods instead", "v5.0.0") def updateConsumerCallLimits(id: Long, perSecond: Option[String], perMinute: Option[String], perHour: Option[String], perDay: Option[String], perWeek: Option[String], perMonth: Option[String]): Future[Box[Consumer]] def getOrCreateConsumer(consumerId: Option[String], key: Option[String], diff --git a/obp-api/src/main/scala/code/model/OAuth.scala b/obp-api/src/main/scala/code/model/OAuth.scala index f5b1b8c65..c59f63a9c 100644 --- a/obp-api/src/main/scala/code/model/OAuth.scala +++ b/obp-api/src/main/scala/code/model/OAuth.scala @@ -323,6 +323,7 @@ object MappedConsumersProvider extends ConsumersProvider with MdcLoggable { } } + @deprecated("Use RateLimitingDI.rateLimiting.vend methods instead", "v5.0.0") override def updateConsumerCallLimits(id: Long, perSecond: Option[String], perMinute: Option[String], diff --git a/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala b/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala index 198b5bc31..e9be8675e 100644 --- a/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala +++ b/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala @@ -167,8 +167,7 @@ object MappedRateLimitingProvider extends RateLimitingProviderTrait with Logger c.saveMe() } } - val result = createRateLimit(RateLimiting.create) - result + createRateLimit(RateLimiting.create) } def createOrUpdateConsumerCallLimits(consumerId: String, fromDate: Date, @@ -225,7 +224,7 @@ object MappedRateLimitingProvider extends RateLimitingProviderTrait with Logger perDay: Option[String], perWeek: Option[String], perMonth: Option[String]): Future[Box[RateLimiting]] = Future { - RateLimiting.find( + val result = RateLimiting.find( By(RateLimiting.RateLimitingId, rateLimitingId) ) map { c => c.FromDate(fromDate) @@ -246,21 +245,17 @@ object MappedRateLimitingProvider extends RateLimitingProviderTrait with Logger c.saveMe() } - } - - def deleteByRateLimitingId(rateLimitingId: String): Future[Box[Boolean]] = Future { - tryo { - RateLimiting.find(By(RateLimiting.RateLimitingId, rateLimitingId)) match { - case Full(rateLimiting) => rateLimiting.delete_! - case _ => false - } - } + result } def getByRateLimitingId(rateLimitingId: String): Future[Box[RateLimiting]] = Future { RateLimiting.find(By(RateLimiting.RateLimitingId, rateLimitingId)) } + def deleteByRateLimitingId(rateLimitingId: String): Future[Box[Boolean]] = Future { + RateLimiting.find(By(RateLimiting.RateLimitingId, rateLimitingId)).map(_.delete_!) + } + private def getActiveCallLimitsByConsumerIdAtDateCached(consumerId: String, dateWithHour: String): List[RateLimiting] = { // Cache key uses standardized prefix: rl_active_{consumerId}_{dateWithHour} // Create Date objects for start and end of the hour from the date_with_hour string