feat: roles system backend
This commit is contained in:
1 parent
44cca46d5e
commit
8c6c6456da
50 files changed
+2578
-22
No files matched your search
@@ -0,0 +1,27 @@
|
||||
package useCases
|
||||
|
||||
import "RenewCMS/internal/domain/role"
|
||||
|
||||
type PermissionGroup struct {
|
||||
Key string
|
||||
Items []role.Permission
|
||||
}
|
||||
|
||||
type ListPermissionsUseCase struct{}
|
||||
|
||||
func NewListPermissionsUseCase() *ListPermissionsUseCase {
|
||||
return &ListPermissionsUseCase{}
|
||||
}
|
||||
|
||||
func (u *ListPermissionsUseCase) List() []PermissionGroup {
|
||||
groups := []PermissionGroup{}
|
||||
for _, permission := range role.Catalogue() {
|
||||
last := len(groups) - 1
|
||||
if last < 0 || groups[last].Key != permission.Group {
|
||||
groups = append(groups, PermissionGroup{Key: permission.Group})
|
||||
last++
|
||||
}
|
||||
groups[last].Items = append(groups[last].Items, permission)
|
||||
}
|
||||
return groups
|
||||
}
|
||||
Reference in new issue
Block a user