(module string)
| 15 | } |
| 16 | |
| 17 | func getHeaderNavAccess(module string) headerNavAccess { |
| 18 | fallback := headerNavAccess{ |
| 19 | Enabled: true, |
| 20 | RequireAuth: false, |
| 21 | } |
| 22 | |
| 23 | common.OptionMapRWMutex.RLock() |
| 24 | raw := common.OptionMap["HeaderNavModules"] |
| 25 | common.OptionMapRWMutex.RUnlock() |
| 26 | |
| 27 | if strings.TrimSpace(raw) == "" { |
| 28 | return fallback |
| 29 | } |
| 30 | |
| 31 | var parsed map[string]any |
| 32 | if err := common.Unmarshal([]byte(raw), &parsed); err != nil { |
| 33 | return fallback |
| 34 | } |
| 35 | |
| 36 | return parseHeaderNavAccess(parsed[module], fallback) |
| 37 | } |
| 38 | |
| 39 | func parseHeaderNavAccess(raw any, fallback headerNavAccess) headerNavAccess { |
| 40 | switch value := raw.(type) { |
no test coverage detected