INNER CODE UNIT · Go
func
movio/bramble · auth.go:84
func (a *AllowedFields) UnmarshalJSON(input []byte) error {
a.AllowAll = false
var str string
if err := json.Unmarshal(input, &str); err == nil && str == "*" {
a.AllowAll = true
return nil
}
var fields []string
if err := json.Unmarshal(input, &fields); err == nil {
if a.AllowedSubfields == nil {
a.AllowedSubfields = map[string]AllowedFields{}
}
for _, field := range fields {
a.AllowedSubfields[field] = AllowedFields{AllowAll: true}
}
return nil
}
return json.Unmarshal(input, &a.AllowedSubfields)