Skip to content

Commit

Permalink
Merge pull request #259 from hmrc/ITSASU-2665
Browse files Browse the repository at this point in the history
ITSASU-2665 - Add old throttle repository which will drop the collect…
  • Loading branch information
srikanthsunkara79 authored Oct 27, 2023
2 parents 76b30b5 + b979764 commit 6d5d52d
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 3 deletions.
12 changes: 11 additions & 1 deletion app/Module.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@

import com.google.inject.AbstractModule
import config.AppConfig
import repositories.{LockoutMongoRepository, SubscriptionDataRepository, ThrottlingRepository}
import repositories.{LockoutMongoRepository, OldThrottleRepository, SubscriptionDataRepository, ThrottlingRepository}

import javax.inject.{Inject, Singleton}
import scala.concurrent.ExecutionContext

class Module extends AbstractModule {

Expand All @@ -25,6 +28,13 @@ class Module extends AbstractModule {
bind(classOf[SubscriptionDataRepository]).asEagerSingleton()
bind(classOf[LockoutMongoRepository]).asEagerSingleton()
bind(classOf[ThrottlingRepository]).asEagerSingleton()
bind(classOf[OldThrottleRepository]).asEagerSingleton()
bind(classOf[AppStart]).asEagerSingleton()
}

}

@Singleton
class AppStart @Inject()(oldThrottleRepository: OldThrottleRepository)(implicit ec: ExecutionContext) {
oldThrottleRepository.drop()
}
47 changes: 47 additions & 0 deletions app/repositories/OldThrottleRepository.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright 2023 HM Revenue & Customs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package repositories

import config.AppConfig
import play.api.libs.json.{Format, JsObject}
import uk.gov.hmrc.mongo.MongoComponent
import uk.gov.hmrc.mongo.play.json.PlayMongoRepository

import javax.inject.{Inject, Singleton}
import scala.concurrent.{ExecutionContext, Future}

@Singleton
class OldThrottleRepositoryConfig @Inject()(val appConfig: AppConfig) {

def mongoComponent: MongoComponent = MongoComponent(appConfig.mongoUri)

}

@Singleton
class OldThrottleRepository @Inject()(config: OldThrottleRepositoryConfig)(implicit ec: ExecutionContext)
extends PlayMongoRepository[JsObject](
collectionName = "throttle",
mongoComponent = config.mongoComponent,
domainFormat = implicitly[Format[JsObject]],
indexes = Seq.empty
) {

def drop(): Future[Void] = {
collection.drop().toFuture()
}

}
4 changes: 2 additions & 2 deletions conf/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,13 @@

<logger name="uk.gov" level="INFO"/>

<logger name="application" level="DEBUG"/>
<logger name="application" level="INFO"/>

<logger name="connector" level="INFO">
<appender-ref ref="STDOUT"/>
</logger>

<root level="DEBUG">
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
Expand Down

0 comments on commit 6d5d52d

Please sign in to comment.