46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package systempermissions
|
|
|
|
import (
|
|
"janex/admin-dashboard-backend/modules/cache"
|
|
"janex/admin-dashboard-backend/modules/utils"
|
|
"strings"
|
|
)
|
|
|
|
func InitSystemPermissions() {
|
|
cache.AddSystemPermissions([]string{
|
|
utils.PermissionGroupTasksHistory,
|
|
utils.PermissionAllUsersActionChangeRole,
|
|
utils.PermissionAllUsersCreateNewUser,
|
|
utils.PermissionScannerUseScanners,
|
|
utils.PermissionAdminAreaCreateNewRole,
|
|
utils.PermissionAdminAreaUpdateRole,
|
|
utils.PermissionAdminAreaDeleteRole,
|
|
utils.PermissionAdminAreaMoveRoleUpDown,
|
|
utils.PermissionAdminAreaLogs,
|
|
})
|
|
}
|
|
|
|
// dynamic permissions like group_tasks.overview.XY.new_task are replaced with the category to group_tasks.overview.test.new_task
|
|
func AddDynamicGroupTasksPermissions() {
|
|
var groupTasksPermissions []string
|
|
|
|
var dynamicGroupTasksPermissions = []string{
|
|
utils.PermissionGroupTasksOverviewXYNewTask,
|
|
utils.PermissionGroupTasksOverviewXYReloadGroupConfig,
|
|
utils.PermissionGroupTasksOverviewXYView,
|
|
utils.PermissionGroupTasksHistory,
|
|
}
|
|
|
|
for _, categoryGroup := range cache.GetCategoryGroups() {
|
|
for _, dynamicGroupTasksPermission := range dynamicGroupTasksPermissions {
|
|
groupTasksPermissions = append(groupTasksPermissions, ConvertXYPermission(dynamicGroupTasksPermission, categoryGroup.Category))
|
|
}
|
|
}
|
|
|
|
cache.AddSystemPermissions(groupTasksPermissions)
|
|
}
|
|
|
|
func ConvertXYPermission(permission string, category string) string {
|
|
return strings.Replace(permission, "XY", strings.ToLower(category), 1)
|
|
}
|