MCPcopy
hub / github.com/QuantumNous/new-api / parseHeaderNavAccess

Function parseHeaderNavAccess

middleware/header_nav.go:39–68  ·  view source on GitHub ↗
(raw any, fallback headerNavAccess)

Source from the content-addressed store, hash-verified

37}
38
39func parseHeaderNavAccess(raw any, fallback headerNavAccess) headerNavAccess {
40 switch value := raw.(type) {
41 case bool:
42 return headerNavAccess{
43 Enabled: value,
44 RequireAuth: fallback.RequireAuth,
45 }
46 case string:
47 return headerNavAccess{
48 Enabled: parseHeaderNavBool(value, fallback.Enabled),
49 RequireAuth: fallback.RequireAuth,
50 }
51 case float64:
52 return headerNavAccess{
53 Enabled: parseHeaderNavBool(value, fallback.Enabled),
54 RequireAuth: fallback.RequireAuth,
55 }
56 case map[string]any:
57 access := fallback
58 if enabled, ok := value["enabled"]; ok {
59 access.Enabled = parseHeaderNavBool(enabled, fallback.Enabled)
60 }
61 if requireAuth, ok := value["requireAuth"]; ok {
62 access.RequireAuth = parseHeaderNavBool(requireAuth, fallback.RequireAuth)
63 }
64 return access
65 default:
66 return fallback
67 }
68}
69
70func parseHeaderNavBool(value any, fallback bool) bool {
71 switch v := value.(type) {

Callers 1

getHeaderNavAccessFunction · 0.85

Calls 1

parseHeaderNavBoolFunction · 0.85

Tested by

no test coverage detected