Add GetModelEx()

This commit is contained in:
Yang Luo 2023-10-13 13:45:13 +08:00
parent 77091a3ae5
commit 80a8000057
3 changed files with 15 additions and 2 deletions

View File

@ -246,7 +246,7 @@ func (enforcer *Enforcer) LoadModelCfg() error {
return nil return nil
} }
model, err := GetModel(enforcer.Model) model, err := GetModelEx(enforcer.Model)
if err != nil { if err != nil {
return err return err
} else if model == nil { } else if model == nil {

View File

@ -84,6 +84,19 @@ func GetModel(id string) (*Model, error) {
return getModel(owner, name) return getModel(owner, name)
} }
func GetModelEx(id string) (*Model, error) {
owner, name := util.GetOwnerAndNameFromId(id)
model, err := getModel(owner, name)
if err != nil {
return nil, err
}
if model != nil {
return model, nil
}
return getModel("built-in", name)
}
func UpdateModelWithCheck(id string, modelObj *Model) error { func UpdateModelWithCheck(id string, modelObj *Model) error {
// check model grammar // check model grammar
_, err := model.NewModelFromString(modelObj.ModelText) _, err := model.NewModelFromString(modelObj.ModelText)

View File

@ -151,7 +151,7 @@ func UpdatePermission(id string, permission *Permission) (bool, error) {
} }
if permission.ResourceType == "Application" { if permission.ResourceType == "Application" {
model, err := GetModel(util.GetId(owner, permission.Model)) model, err := GetModelEx(util.GetId(owner, permission.Model))
if err != nil { if err != nil {
return false, err return false, err
} else if model == nil { } else if model == nil {