fix casbin Adapter -> BatchAdapter
This commit is contained in:
parent
23bc361bb8
commit
8929a0ccf7
@ -118,6 +118,27 @@ func (a *adapterCasbin) RemovePolicy(sec string, ptype string, rule []string) er
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *adapterCasbin) AddPolicies(sec string, ptype string, rules [][]string) error {
|
||||||
|
lines := make([]*entity.CasbinRule, len(rules))
|
||||||
|
for k, rule := range rules {
|
||||||
|
lines[k] = savePolicyLine(ptype, rule)
|
||||||
|
}
|
||||||
|
_, err := dao.CasbinRule.Ctx(a.ctx).Data(lines).Insert()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemovePolicies removes policy rules from the storage.
|
||||||
|
// This is part of the Auto-Save feature.
|
||||||
|
func (a *adapterCasbin) RemovePolicies(sec string, ptype string, rules [][]string) error {
|
||||||
|
for _, rule := range rules {
|
||||||
|
err := a.RemovePolicy(sec, ptype, rule)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// RemoveFilteredPolicy removes policy rules that match the filter from the storage.
|
// RemoveFilteredPolicy removes policy rules that match the filter from the storage.
|
||||||
func (a *adapterCasbin) RemoveFilteredPolicy(sec string, ptype string,
|
func (a *adapterCasbin) RemoveFilteredPolicy(sec string, ptype string,
|
||||||
fieldIndex int, fieldValues ...string) error {
|
fieldIndex int, fieldValues ...string) error {
|
||||||
|
@ -105,10 +105,12 @@ func (s *sSysRole) AddRoleRule(ctx context.Context, ruleIds []uint, roleId int64
|
|||||||
enforcer, e := commonService.CasbinEnforcer(ctx)
|
enforcer, e := commonService.CasbinEnforcer(ctx)
|
||||||
liberr.ErrIsNil(ctx, e)
|
liberr.ErrIsNil(ctx, e)
|
||||||
ruleIdsStr := gconv.Strings(ruleIds)
|
ruleIdsStr := gconv.Strings(ruleIds)
|
||||||
for _, v := range ruleIdsStr {
|
rules := make([][]string, len(ruleIdsStr))
|
||||||
_, err = enforcer.AddPolicy(gconv.String(roleId), v, "All")
|
for k, v := range ruleIdsStr {
|
||||||
liberr.ErrIsNil(ctx, err)
|
rules[k] = []string{gconv.String(roleId), v, "All"}
|
||||||
}
|
}
|
||||||
|
_, err = enforcer.AddPolicies(rules)
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user