清理掉无用的casbin缓存刷新,增加重新loadPolicy接口。

This commit is contained in:
piexlMax
2023-06-03 15:09:25 +08:00
parent a60637fb79
commit 0bed3bab98
10 changed files with 162 additions and 13 deletions

View File

@@ -44,8 +44,6 @@ func (apiService *ApiService) DeleteApi(api system.SysApi) (err error) {
return err
}
CasbinServiceApp.ClearCasbin(1, entity.Path, entity.Method)
e := CasbinServiceApp.Casbin()
err = e.InvalidateCache()
if err != nil {
return err
}
@@ -102,7 +100,7 @@ func (apiService *ApiService) GetAPIInfoList(api system.SysApi, info request.Pag
} else {
OrderStr = order
}
} else { // didn't matched any order key in `orderMap`
} else { // didn't match any order key in `orderMap`
err = fmt.Errorf("非法的排序字段: %v", order)
return apiList, total, err
}
@@ -178,11 +176,21 @@ func (apiService *ApiService) DeleteApisByIds(ids request.IdsReq) (err error) {
for _, sysApi := range apis {
CasbinServiceApp.ClearCasbin(1, sysApi.Path, sysApi.Method)
}
e := CasbinServiceApp.Casbin()
err = e.InvalidateCache()
if err != nil {
return err
}
}
return err
}
//@author: [piexlmax](https://github.com/piexlmax)
//@function: DeleteApis
//@description: 删除选中API
//@param: apis []model.SysApi
//@return: err error
func (apiService *ApiService) FreshCasbin() (err error) {
e := CasbinServiceApp.Casbin()
err = e.LoadPolicy()
return err
}