Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions obp-api/src/main/scala/bootstrap/liftweb/Boot.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -1041,7 +1041,7 @@ object ToSchemify {
MappedRegulatedEntity,
AtmAttribute,
Admin,
MappedAbacRule,
AbacRule,
MappedBank,
MappedBankAccount,
BankAccountRouting,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -18,32 +18,20 @@ 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()
override def dbColumnName = "abac_rule_id"
}
object RuleName extends MappedString(this, 255) {
override def dbColumnName = "rule_name"
}
object RuleCode extends MappedText(this) {
override def dbColumnName = "rule_code"
}
object RuleName extends MappedString(this, 255)
object RuleCode extends MappedText(this)
object IsActive extends MappedBoolean(this) {
override def defaultValue = true
override def dbColumnName = "is_active"
}
object Description extends MappedText(this) {
override def dbColumnName = "description"
}
object CreatedByUserId extends MappedString(this, 255) {
override def dbColumnName = "created_by_user_id"
}
object UpdatedByUserId extends MappedString(this, 255) {
override def dbColumnName = "updated_by_user_id"
}
object Description extends MappedText(this)
object CreatedByUserId extends MappedString(this, 255)
object UpdatedByUserId extends MappedString(this, 255)

override def abacRuleId: String = AbacRuleId.get
override def ruleName: String = RuleName.get
Expand All @@ -54,50 +42,49 @@ class MappedAbacRule extends AbacRule with LongKeyedMapper[MappedAbacRule] with
override def updatedByUserId: String = UpdatedByUserId.get
}

object MappedAbacRule extends MappedAbacRule with LongKeyedMetaMapper[MappedAbacRule] {
override def dbTableName = "abac_rule"
override def dbIndexes: List[BaseIndex[MappedAbacRule]] = Index(AbacRuleId) :: Index(RuleName) :: Index(CreatedByUserId) :: super.dbIndexes
object AbacRule extends AbacRule with LongKeyedMetaMapper[AbacRule] {
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,
ruleCode: String,
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(
Expand All @@ -106,9 +93,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)
Expand All @@ -126,9 +113,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)
Expand All @@ -143,7 +130,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
}
Expand Down
4 changes: 2 additions & 2 deletions obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
Original file line number Diff line number Diff line change
Expand Up @@ -779,7 +779,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,
Expand All @@ -791,7 +791,7 @@ case class UpdateViewJsonV600(
)
}

def createAbacRulesJsonV600(rules: List[code.abacrule.AbacRule]): AbacRulesJsonV600 = {
def createAbacRulesJsonV600(rules: List[code.abacrule.AbacRuleTrait]): AbacRulesJsonV600 = {
AbacRulesJsonV600(rules.map(createAbacRuleJsonV600))
}
}
6 changes: 3 additions & 3 deletions obp-api/src/test/scala/code/api/v6_0_0/SystemViewsTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,9 @@ class SystemViewsTest extends V600ServerSetup with DefaultUsers {
val isSystem = (json \ "is_system").values.asInstanceOf[Boolean]
isSystem should equal(true)

And("View should have permissions defined")
val canSeeBalance = (json \ "can_see_bank_account_balance").values.asInstanceOf[Boolean]
canSeeBalance should be(true)
And("View should have permissions defined in allowed_actions")
val allowedActions = (json \ "allowed_actions").values.asInstanceOf[List[String]]
allowedActions should contain("can_see_bank_account_balance")
}

scenario("We try to get different system views by ID - Authorized access", ApiEndpoint2, VersionOfApi) {
Expand Down