From 31ac4b97bc1e2191f8f2d03952daa8cd5c90e0fa Mon Sep 17 00:00:00 2001 From: hongwei Date: Tue, 16 Dec 2025 13:27:27 +0100 Subject: [PATCH] refactor/ abacrule-Rename MappedAbacRule to AbacRule and extract trait - Rename MappedAbacRule class to AbacRule for cleaner naming convention - Extract AbacRuleTrait as the base trait for ABAC rule contracts - Update AbacRuleProvider to return AbacRuleTrait instead of concrete class - Update all references in Boot.scala to use new AbacRule naming - Update JSONFactory6.0.0.scala to accept AbacRuleTrait in factory methods - Simplify object singleton naming from MappedAbacRule to AbacRule - Improves code clarity by separating trait definition from implementation --- .../main/scala/bootstrap/liftweb/Boot.scala | 4 +- .../{AbacRule.scala => AbacRuleTrait.scala} | 48 +++++++++---------- .../code/api/v6_0_0/JSONFactory6.0.0.scala | 4 +- 3 files changed, 28 insertions(+), 28 deletions(-) rename obp-api/src/main/scala/code/abacrule/{AbacRule.scala => AbacRuleTrait.scala} (71%) diff --git a/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala b/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala index ca41978cd..00ffcecad 100644 --- a/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala +++ b/obp-api/src/main/scala/bootstrap/liftweb/Boot.scala @@ -30,7 +30,7 @@ import code.CustomerDependants.MappedCustomerDependant import code.DynamicData.DynamicData import code.DynamicEndpoint.DynamicEndpoint import code.UserRefreshes.MappedUserRefreshes -import code.abacrule.MappedAbacRule +import code.abacrule.AbacRule import code.accountapplication.MappedAccountApplication import code.accountattribute.MappedAccountAttribute import code.accountholders.MapperAccountHolders @@ -1041,7 +1041,7 @@ object ToSchemify { MappedRegulatedEntity, AtmAttribute, Admin, - MappedAbacRule, + AbacRule, MappedBank, MappedBankAccount, BankAccountRouting, diff --git a/obp-api/src/main/scala/code/abacrule/AbacRule.scala b/obp-api/src/main/scala/code/abacrule/AbacRuleTrait.scala similarity index 71% rename from obp-api/src/main/scala/code/abacrule/AbacRule.scala rename to obp-api/src/main/scala/code/abacrule/AbacRuleTrait.scala index 1f5a711b5..6c04b406d 100644 --- a/obp-api/src/main/scala/code/abacrule/AbacRule.scala +++ b/obp-api/src/main/scala/code/abacrule/AbacRuleTrait.scala @@ -8,7 +8,7 @@ import net.liftweb.util.Helpers.tryo import java.util.Date -trait AbacRule { +trait AbacRuleTrait { def abacRuleId: String def ruleName: String def ruleCode: String @@ -18,8 +18,8 @@ trait AbacRule { def updatedByUserId: String } -class MappedAbacRule extends AbacRule with LongKeyedMapper[MappedAbacRule] with IdPK with CreatedUpdated { - def getSingleton = MappedAbacRule +class AbacRule extends AbacRuleTrait with LongKeyedMapper[AbacRule] with IdPK with CreatedUpdated { + def getSingleton = AbacRule object AbacRuleId extends MappedString(this, 255) { override def defaultValue = APIUtil.generateUUID() @@ -54,23 +54,23 @@ class MappedAbacRule extends AbacRule with LongKeyedMapper[MappedAbacRule] with override def updatedByUserId: String = UpdatedByUserId.get } -object MappedAbacRule extends MappedAbacRule with LongKeyedMetaMapper[MappedAbacRule] { +object AbacRule extends AbacRule with LongKeyedMetaMapper[AbacRule] { override def dbTableName = "abac_rule" - override def dbIndexes: List[BaseIndex[MappedAbacRule]] = Index(AbacRuleId) :: Index(RuleName) :: Index(CreatedByUserId) :: super.dbIndexes + override def dbIndexes: List[BaseIndex[AbacRule]] = Index(AbacRuleId) :: Index(RuleName) :: Index(CreatedByUserId) :: super.dbIndexes } trait AbacRuleProvider { - def getAbacRuleById(ruleId: String): Box[AbacRule] - def getAbacRuleByName(ruleName: String): Box[AbacRule] - def getAllAbacRules(): List[AbacRule] - def getActiveAbacRules(): List[AbacRule] + def getAbacRuleById(ruleId: String): Box[AbacRuleTrait] + def getAbacRuleByName(ruleName: String): Box[AbacRuleTrait] + def getAllAbacRules(): List[AbacRuleTrait] + def getActiveAbacRules(): List[AbacRuleTrait] def createAbacRule( ruleName: String, ruleCode: String, description: String, isActive: Boolean, createdBy: String - ): Box[AbacRule] + ): Box[AbacRuleTrait] def updateAbacRule( ruleId: String, ruleName: String, @@ -78,26 +78,26 @@ trait AbacRuleProvider { description: String, isActive: Boolean, updatedBy: String - ): Box[AbacRule] + ): Box[AbacRuleTrait] def deleteAbacRule(ruleId: String): Box[Boolean] } object MappedAbacRuleProvider extends AbacRuleProvider { - override def getAbacRuleById(ruleId: String): Box[AbacRule] = { - MappedAbacRule.find(By(MappedAbacRule.AbacRuleId, ruleId)) + override def getAbacRuleById(ruleId: String): Box[AbacRuleTrait] = { + AbacRule.find(By(AbacRule.AbacRuleId, ruleId)) } - override def getAbacRuleByName(ruleName: String): Box[AbacRule] = { - MappedAbacRule.find(By(MappedAbacRule.RuleName, ruleName)) + override def getAbacRuleByName(ruleName: String): Box[AbacRuleTrait] = { + AbacRule.find(By(AbacRule.RuleName, ruleName)) } - override def getAllAbacRules(): List[AbacRule] = { - MappedAbacRule.findAll() + override def getAllAbacRules(): List[AbacRuleTrait] = { + AbacRule.findAll() } - override def getActiveAbacRules(): List[AbacRule] = { - MappedAbacRule.findAll(By(MappedAbacRule.IsActive, true)) + override def getActiveAbacRules(): List[AbacRuleTrait] = { + AbacRule.findAll(By(AbacRule.IsActive, true)) } override def createAbacRule( @@ -106,9 +106,9 @@ object MappedAbacRuleProvider extends AbacRuleProvider { description: String, isActive: Boolean, createdBy: String - ): Box[AbacRule] = { + ): Box[AbacRuleTrait] = { tryo { - MappedAbacRule.create + AbacRule.create .RuleName(ruleName) .RuleCode(ruleCode) .Description(description) @@ -126,9 +126,9 @@ object MappedAbacRuleProvider extends AbacRuleProvider { description: String, isActive: Boolean, updatedBy: String - ): Box[AbacRule] = { + ): Box[AbacRuleTrait] = { for { - rule <- MappedAbacRule.find(By(MappedAbacRule.AbacRuleId, ruleId)) + rule <- AbacRule.find(By(AbacRule.AbacRuleId, ruleId)) updatedRule <- tryo { rule .RuleName(ruleName) @@ -143,7 +143,7 @@ object MappedAbacRuleProvider extends AbacRuleProvider { override def deleteAbacRule(ruleId: String): Box[Boolean] = { for { - rule <- MappedAbacRule.find(By(MappedAbacRule.AbacRuleId, ruleId)) + rule <- AbacRule.find(By(AbacRule.AbacRuleId, ruleId)) deleted <- tryo(rule.delete_!) } yield deleted } 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 aee2c3369..90e052d8e 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 @@ -777,7 +777,7 @@ case class UpdateViewJsonV600( ViewsJsonV600(views.map(createViewJsonV600)) } - def createAbacRuleJsonV600(rule: code.abacrule.AbacRule): AbacRuleJsonV600 = { + def createAbacRuleJsonV600(rule: code.abacrule.AbacRuleTrait): AbacRuleJsonV600 = { AbacRuleJsonV600( abac_rule_id = rule.abacRuleId, rule_name = rule.ruleName, @@ -789,7 +789,7 @@ case class UpdateViewJsonV600( ) } - def createAbacRulesJsonV600(rules: List[code.abacrule.AbacRule]): AbacRulesJsonV600 = { + def createAbacRulesJsonV600(rules: List[code.abacrule.AbacRuleTrait]): AbacRulesJsonV600 = { AbacRulesJsonV600(rules.map(createAbacRuleJsonV600)) } }