Skip to content

Commit

Permalink
field type for discriminator
Browse files Browse the repository at this point in the history
  • Loading branch information
wuxu92 committed Jan 16, 2025
1 parent 074774c commit 009ec45
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -354,12 +354,19 @@ func (c modelsTemplater) structLinesForModel(data GeneratorData, fieldNames []st

func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDetails models.SDKField, data GeneratorData, excludeComments bool) (*string, error) {
jsonDetails := fieldDetails.JsonName
isDiscriminator := false
objectDefinition := helpers.InnerMostSDKObjectDefinition(fieldDetails.ObjectDefinition)
if refName := objectDefinition.ReferenceName; refName != nil {
if refModel, ok := data.models[*refName]; ok && refModel.IsDiscriminatedParentType() {
isDiscriminator = true
}
}

if strings.HasPrefix(fieldType, "nullable.") {
// nullable types should have the omitempty tag option and not be pointers
jsonDetails += ",omitempty"
} else {
if c.fieldIsOptional(data, fieldDetails) || fieldDetails.ReadOnly || fieldDetails.ObjectDefinition.Nullable {
if !isDiscriminator && (fieldDetails.Optional || fieldDetails.ReadOnly || fieldDetails.ObjectDefinition.Nullable) {
fieldType = fmt.Sprintf("*%s", fieldType)
}

Expand Down

0 comments on commit 009ec45

Please sign in to comment.