mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 17:17:09 +00:00
refactor/tweaked the RefreshUser-->UserRefreshes
This commit is contained in:
parent
7183dae0fc
commit
e2219bfea2
@ -32,6 +32,7 @@ import java.util.{Locale, TimeZone}
|
||||
import code.CustomerDependants.MappedCustomerDependant
|
||||
import code.DynamicData.DynamicData
|
||||
import code.DynamicEndpoint.DynamicEndpoint
|
||||
import code.UserRefreshes.MappedUserRefreshes
|
||||
import code.accountapplication.MappedAccountApplication
|
||||
import code.accountattribute.MappedAccountAttribute
|
||||
import code.accountholders.MapperAccountHolders
|
||||
@ -90,7 +91,6 @@ import code.productcollection.MappedProductCollection
|
||||
import code.productcollectionitem.MappedProductCollectionItem
|
||||
import code.products.MappedProduct
|
||||
import code.ratelimiting.RateLimiting
|
||||
import code.refreshuser.MappedRefreshUser
|
||||
import code.remotedata.RemotedataActors
|
||||
import code.scheduler.DatabaseDriverScheduler
|
||||
import code.scope.{MappedScope, MappedUserScope}
|
||||
@ -815,7 +815,7 @@ object ToSchemify {
|
||||
AccountIdMapping,
|
||||
DirectDebit,
|
||||
StandingOrder,
|
||||
MappedRefreshUser
|
||||
MappedUserRefreshes
|
||||
)++ APIBuilder_Connector.allAPIBuilderModels
|
||||
|
||||
// start grpc server
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package code.refreshuser
|
||||
package code.UserRefreshes
|
||||
|
||||
import java.util.{Calendar, Date}
|
||||
|
||||
@ -7,22 +7,22 @@ import code.util.UUIDString
|
||||
import net.liftweb.common.Full
|
||||
import net.liftweb.mapper._
|
||||
|
||||
object MappedRefreshUserProvider extends RefreshUserProvider {
|
||||
object MappedUserRefreshesProvider extends UserRefreshesProvider {
|
||||
|
||||
//This method will check if we need to refresh user or not..
|
||||
//1st: check if last update is empty or not,
|
||||
// if empty --> RefreshUser/true
|
||||
// if empty --> UserRefreshes/true
|
||||
// if not empty, compare last update and the props interval-->
|
||||
// --> if (lastUpdate + interval) >= current --> RefreshUser/true
|
||||
// --> if (lastUpdate + interval) >= current --> UserRefreshes/true
|
||||
// --> if (lastUpdate + interval) < current --> false
|
||||
override def needToRefreshUser(userId: String) = {
|
||||
MappedRefreshUser.find(By(MappedRefreshUser.mUserId, userId)) match {
|
||||
MappedUserRefreshes.find(By(MappedUserRefreshes.mUserId, userId)) match {
|
||||
case Full(user) =>{
|
||||
val refreshUserInterval = APIUtil.getPropsAsIntValue("refresh_user.interval", 43200)
|
||||
val UserRefreshesInterval = APIUtil.getPropsAsIntValue("refresh_user.interval", 43200)
|
||||
val lastUpdate: Date = user.updatedAt.get
|
||||
val lastUpdatePlusInterval: Calendar = Calendar.getInstance()
|
||||
lastUpdatePlusInterval.setTime(lastUpdate)
|
||||
lastUpdatePlusInterval.add(Calendar.MINUTE, refreshUserInterval)
|
||||
lastUpdatePlusInterval.add(Calendar.MINUTE, UserRefreshesInterval)
|
||||
val currentDate = Calendar.getInstance()
|
||||
lastUpdatePlusInterval.before(currentDate)
|
||||
}
|
||||
@ -32,14 +32,14 @@ object MappedRefreshUserProvider extends RefreshUserProvider {
|
||||
|
||||
}
|
||||
|
||||
class MappedRefreshUser extends RefreshUser with LongKeyedMapper[MappedRefreshUser] with IdPK with CreatedUpdated {
|
||||
class MappedUserRefreshes extends UserRefreshes with LongKeyedMapper[MappedUserRefreshes] with IdPK with CreatedUpdated {
|
||||
|
||||
def getSingleton = MappedRefreshUser
|
||||
def getSingleton = MappedUserRefreshes
|
||||
|
||||
object mUserId extends UUIDString(this)
|
||||
override def userId: String = mUserId.get
|
||||
}
|
||||
|
||||
object MappedRefreshUser extends MappedRefreshUser with LongKeyedMetaMapper[MappedRefreshUser] {
|
||||
object MappedUserRefreshes extends MappedUserRefreshes with LongKeyedMetaMapper[MappedUserRefreshes] {
|
||||
override def dbIndexes = UniqueIndex(mUserId) :: super.dbIndexes
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package code.refreshuser
|
||||
|
||||
import code.api.util.APIUtil
|
||||
import net.liftweb.util.SimpleInjector
|
||||
|
||||
object RefreshUser extends SimpleInjector {
|
||||
|
||||
val RefreshUser = new Inject(buildOne _) {}
|
||||
|
||||
def buildOne: RefreshUserProvider =
|
||||
APIUtil.getPropsAsBoolValue("use_akka", false) match {
|
||||
case false => MappedRefreshUserProvider
|
||||
case true => MappedRefreshUserProvider //RemotedataScopes // We will use Akka as a middleware
|
||||
}
|
||||
}
|
||||
|
||||
//This is used to control the refresh user process.
|
||||
// refresh_user.interval props will control how often to make it
|
||||
trait RefreshUser {
|
||||
def userId : String
|
||||
}
|
||||
|
||||
trait RefreshUserProvider {
|
||||
def needToRefreshUser(userId: String):Boolean
|
||||
|
||||
}
|
||||
|
||||
class RemotedataRefreshUserCaseClasses {
|
||||
case class needToRefreshUser(userId: String)
|
||||
}
|
||||
|
||||
object RemotedataRefreshUserCaseClasses extends RemotedataRefreshUserCaseClasses
|
||||
32
obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala
Normal file
32
obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala
Normal file
@ -0,0 +1,32 @@
|
||||
package code.UserRefreshes
|
||||
|
||||
import code.api.util.APIUtil
|
||||
import net.liftweb.util.SimpleInjector
|
||||
|
||||
object UserRefreshes extends SimpleInjector {
|
||||
|
||||
val UserRefreshes = new Inject(buildOne _) {}
|
||||
|
||||
def buildOne: UserRefreshesProvider =
|
||||
APIUtil.getPropsAsBoolValue("use_akka", false) match {
|
||||
case false => MappedUserRefreshesProvider
|
||||
case true => MappedUserRefreshesProvider //RemotedataScopes // We will use Akka as a middleware
|
||||
}
|
||||
}
|
||||
|
||||
//This is used to control the refresh user process.
|
||||
// refresh_user.interval props will control how often to make it
|
||||
trait UserRefreshes {
|
||||
def userId : String
|
||||
}
|
||||
|
||||
trait UserRefreshesProvider {
|
||||
def needToRefreshUser(userId: String):Boolean
|
||||
|
||||
}
|
||||
|
||||
class RemotedataUserRefreshesCaseClasses {
|
||||
case class needToUserRefreshes(userId: String)
|
||||
}
|
||||
|
||||
object RemotedataUserRefreshesCaseClasses extends RemotedataUserRefreshesCaseClasses
|
||||
Loading…
Reference in New Issue
Block a user