feat: make hard-coded authz adapter editable, rename adapter to ormer (#2149)

* refactor: rename casbinAdapter to casdoorAdapter

* feat: add initEnforcer

* fix: router

* refactor: make hard-coded code configurable

* fix: data type

* feat: support sqlite3

* feat: disable delete and edit name for built in resources

* feat: optimize code

* fix: init

* fix: e2e

* fix: remove datasourcename

* fix: revert rename

* refactor: change all ORM's Adatper to Ormer

* refactor: name
This commit is contained in:
Yaodong Yu
2023-07-29 15:07:04 +08:00
committed by GitHub
parent 74b058aa3f
commit ea10f8e615
56 changed files with 1314 additions and 1031 deletions

View File

@ -40,7 +40,7 @@ func GetModelCount(owner, field, value string) (int64, error) {
func GetModels(owner string) ([]*Model, error) {
models := []*Model{}
err := adapter.Engine.Desc("created_time").Find(&models, &Model{Owner: owner})
err := ormer.Engine.Desc("created_time").Find(&models, &Model{Owner: owner})
if err != nil {
return models, err
}
@ -65,7 +65,7 @@ func getModel(owner string, name string) (*Model, error) {
}
m := Model{Owner: owner, Name: name}
existed, err := adapter.Engine.Get(&m)
existed, err := ormer.Engine.Get(&m)
if err != nil {
return &m, err
}
@ -111,7 +111,7 @@ func UpdateModel(id string, modelObj *Model) (bool, error) {
}
}
affected, err := adapter.Engine.ID(core.PK{owner, name}).AllCols().Update(modelObj)
affected, err := ormer.Engine.ID(core.PK{owner, name}).AllCols().Update(modelObj)
if err != nil {
return false, err
}
@ -120,7 +120,7 @@ func UpdateModel(id string, modelObj *Model) (bool, error) {
}
func AddModel(model *Model) (bool, error) {
affected, err := adapter.Engine.Insert(model)
affected, err := ormer.Engine.Insert(model)
if err != nil {
return false, err
}
@ -129,7 +129,7 @@ func AddModel(model *Model) (bool, error) {
}
func DeleteModel(model *Model) (bool, error) {
affected, err := adapter.Engine.ID(core.PK{model.Owner, model.Name}).Delete(&Model{})
affected, err := ormer.Engine.ID(core.PK{model.Owner, model.Name}).Delete(&Model{})
if err != nil {
return false, err
}
@ -137,12 +137,12 @@ func DeleteModel(model *Model) (bool, error) {
return affected != 0, nil
}
func (model *Model) GetId() string {
return fmt.Sprintf("%s/%s", model.Owner, model.Name)
func (m *Model) GetId() string {
return fmt.Sprintf("%s/%s", m.Owner, m.Name)
}
func modelChangeTrigger(oldName string, newName string) error {
session := adapter.Engine.NewSession()
session := ormer.Engine.NewSession()
defer session.Close()
err := session.Begin()
@ -175,3 +175,11 @@ func HasRoleDefinition(m model.Model) bool {
}
return m["g"] != nil
}
func (m *Model) initModel() (model.Model, error) {
casbinModel, err := model.NewModelFromString(m.ModelText)
if err != nil {
return nil, err
}
return casbinModel, nil
}