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
|
||||
}
|
||||
|
||||
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.
|
||||
func (a *adapterCasbin) RemoveFilteredPolicy(sec string, ptype string,
|
||||
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)
|
||||
liberr.ErrIsNil(ctx, e)
|
||||
ruleIdsStr := gconv.Strings(ruleIds)
|
||||
for _, v := range ruleIdsStr {
|
||||
_, err = enforcer.AddPolicy(gconv.String(roleId), v, "All")
|
||||
liberr.ErrIsNil(ctx, err)
|
||||
rules := make([][]string, len(ruleIdsStr))
|
||||
for k, v := range ruleIdsStr {
|
||||
rules[k] = []string{gconv.String(roleId), v, "All"}
|
||||
}
|
||||
_, err = enforcer.AddPolicies(rules)
|
||||
liberr.ErrIsNil(ctx, err)
|
||||
})
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user