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.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) }