func()

in pkg/dataplane/internal/client/models_serde.go [25:48]


func (c *CredRequestDefinition) UnmarshalJSON(data []byte) error {
	var rawMsg map[string]json.RawMessage
	if err := json.Unmarshal(data, &rawMsg); err != nil {
		return fmt.Errorf("unmarshalling type %T: %v", c, err)
	}
	for key, val := range rawMsg {
		var err error
		switch key {
		case "customClaims":
			err = unpopulate(val, "CustomClaims", &c.CustomClaims)
			delete(rawMsg, key)
		case "delegatedResources":
			err = unpopulate(val, "DelegatedResources", &c.DelegatedResources)
			delete(rawMsg, key)
		case "identityIds":
			err = unpopulate(val, "IdentityIDs", &c.IdentityIDs)
			delete(rawMsg, key)
		}
		if err != nil {
			return fmt.Errorf("unmarshalling type %T: %v", c, err)
		}
	}
	return nil
}