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
This commit is contained in:
hongwei 2025-12-16 13:27:27 +01:00
parent 2f2c96ab6b
commit 31ac4b97bc
3 changed files with 28 additions and 28 deletions

View File

@ -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,

View File

@ -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
}

View File

@ -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))
}
}