Files
RenewCMS/internal/infrastructure/useCases/ListPermissions.go
T

28 lines
647 B
Go

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
}