INNER CODE UNIT · Go
MergeAllowedFields
movio/bramble · auth.go:327
func MergeAllowedFields(allowedFields ...AllowedFields) AllowedFields {
res := AllowedFields{
AllowedSubfields: make(map[string]AllowedFields),
}
for _, af := range allowedFields {
if af.AllowAll {
return AllowedFields{
AllowAll: true,
}
}
for f, sf := range af.AllowedSubfields {
resSubFields, ok := res.AllowedSubfields[f]
if !ok {
res.AllowedSubfields[f] = sf
continue
}
res.AllowedSubfields[f] = MergeAllowedFields(sf, resSubFields)