mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 13:07:02 +00:00
commit
16dbcd8800
@ -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,
|
||||
|
||||
@ -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,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
|
||||
@ -54,23 +42,22 @@ 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,
|
||||
@ -78,26 +65,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 +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)
|
||||
@ -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)
|
||||
@ -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
|
||||
}
|
||||
@ -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,
|
||||
@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user