Skip to content

Commit

Permalink
optimized roles
Browse files Browse the repository at this point in the history
  • Loading branch information
kdivanov committed Jul 9, 2024
1 parent 206c225 commit 48f175d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 12 deletions.
2 changes: 1 addition & 1 deletion pkg/entity/privilege_entity.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ type PrivilegeEntity struct {
CreatedAt time.Time `orm:"time=true"`
FakeDelete bool `orm:"unique=RoleID_ResourceID_FakeDelete:3"`

CachedQueryRoleIDResourceID *beeorm.CachedQuery `query:":RoleID = ? AND :ResourceID = ?"`
CachedQueryRoleIDResourceID *beeorm.CachedQuery `queryOne:":RoleID = ? AND :ResourceID = ?"`
}
19 changes: 8 additions & 11 deletions pkg/view/acl/acl.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,20 @@ func ACL(ormService *beeorm.Engine, roleEntity *entity.RoleEntity, resource stri
permissionIDs[i] = permissionEntity.ID
}

privilegeEntities := make([]*entity.PrivilegeEntity, 0)
ormService.CachedSearch(
&privilegeEntities,
privilegeEntity := &entity.PrivilegeEntity{}
ormService.CachedSearchOne(
privilegeEntity,
"CachedQueryRoleIDResourceID",
beeorm.NewPager(1, 1000),
roleEntity.ID,
resourceEntity.ID,
)

hasPrivilege := false
for _, privilegeEntity := range privilegeEntities {
for _, permissionEntity := range privilegeEntity.PermissionIDs {
for _, permissionID := range permissionIDs {
if permissionEntity.ID == permissionID {
hasPrivilege = true
break
}
for _, permissionEntity := range privilegeEntity.PermissionIDs {
for _, permissionID := range permissionIDs {
if permissionEntity.ID == permissionID {
hasPrivilege = true
break
}
}
}
Expand Down

0 comments on commit 48f175d

Please sign in to comment.