调整casbin为缓存模式

This commit is contained in:
piexlmax
2022-09-03 13:26:20 +08:00
parent c76eb01b68
commit f606c7c891
3 changed files with 53 additions and 13 deletions

View File

@@ -3,7 +3,6 @@ package system
import (
"errors"
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
@@ -44,7 +43,15 @@ func (apiService *ApiService) DeleteApi(api system.SysApi) (err error) {
if err != nil {
return err
}
CasbinServiceApp.ClearCasbin(1, entity.Path, entity.Method)
success := CasbinServiceApp.ClearCasbin(1, entity.Path, entity.Method)
if !success {
return errors.New(entity.Path + ":" + entity.Method + "casbin同步清理失败")
}
e := CasbinServiceApp.Casbin()
err = e.InvalidateCache()
if err != nil {
return err
}
return nil
}
@@ -166,10 +173,22 @@ func (apiService *ApiService) UpdateApi(api system.SysApi) (err error) {
//@return: err error
func (apiService *ApiService) DeleteApisByIds(ids request.IdsReq) (err error) {
err = global.GVA_DB.Delete(&[]system.SysApi{}, "id in ?", ids.Ids).Error
var apis []system.SysApi
err = global.GVA_DB.Find(&apis, "id in ?", ids.Ids).Delete(&apis).Error
if err != nil {
return err
} else {
for _, sysApi := range apis {
success := CasbinServiceApp.ClearCasbin(1, sysApi.Path, sysApi.Method)
if !success {
return errors.New(sysApi.Path + ":" + sysApi.Method + "casbin同步清理失败")
}
}
e := CasbinServiceApp.Casbin()
err = e.InvalidateCache()
if err != nil {
return err
}
}
return err
}
func (apiService *ApiService) DeleteApiByIds(ids []string) (err error) {
return global.GVA_DB.Delete(&system.SysApi{}, "id in ?", ids).Error
}