diff --git a/checker/check_request_property_x_extensible_enum_value_removed.go b/checker/check_request_property_x_extensible_enum_value_removed.go index d8e2f73a..2da0dafa 100644 --- a/checker/check_request_property_x_extensible_enum_value_removed.go +++ b/checker/check_request_property_x_extensible_enum_value_removed.go @@ -4,7 +4,6 @@ import ( "encoding/json" "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" "golang.org/x/exp/slices" ) @@ -29,7 +28,6 @@ func RequestPropertyXExtensibleEnumValueRemovedCheck(diffReport *diff.Diff, oper operationItem.RequestBodyDiff.ContentDiff.MediaTypeModified == nil { continue } - source := (*operationsSources)[operationItem.Revision] modifiedMediaTypes := operationItem.RequestBodyDiff.ContentDiff.MediaTypeModified for _, mediaTypeDiff := range modifiedMediaTypes { @@ -55,28 +53,30 @@ func RequestPropertyXExtensibleEnumValueRemovedCheck(diffReport *diff.Diff, oper } var fromSlice []string if err := json.Unmarshal(from, &fromSlice); err != nil { - result = append(result, ApiChange{ - Id: UnparseablePropertyFromXExtensibleEnumId, - Level: ERR, - Args: []any{propertyFullName(propertyPath, propertyName)}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + UnparseablePropertyFromXExtensibleEnumId, + ERR, + []any{propertyFullName(propertyPath, propertyName)}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) return } var toSlice []string if err := json.Unmarshal(to, &toSlice); err != nil { - result = append(result, ApiChange{ - Id: UnparseablePropertyToXExtensibleEnumId, - Level: ERR, - Args: []any{propertyFullName(propertyPath, propertyName)}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + UnparseablePropertyToXExtensibleEnumId, + ERR, + []any{propertyFullName(propertyPath, propertyName)}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) return } @@ -91,15 +91,16 @@ func RequestPropertyXExtensibleEnumValueRemovedCheck(diffReport *diff.Diff, oper return } for _, enumVal := range deletedVals { - result = append(result, ApiChange{ - Id: RequestPropertyXExtensibleEnumValueRemovedId, - Level: ERR, - Args: []any{enumVal, propertyFullName(propertyPath, propertyName)}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + RequestPropertyXExtensibleEnumValueRemovedId, + ERR, + []any{enumVal, propertyFullName(propertyPath, propertyName)}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } }) } diff --git a/checker/check_response_discriminator_updated.go b/checker/check_response_discriminator_updated.go index 346ee744..302d61ee 100644 --- a/checker/check_response_discriminator_updated.go +++ b/checker/check_response_discriminator_updated.go @@ -2,7 +2,6 @@ package checker import ( "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" ) const ( @@ -35,18 +34,18 @@ func ResponseDiscriminatorUpdatedCheck(diffReport *diff.Diff, operationsSources if operationItem.ResponsesDiff == nil || operationItem.ResponsesDiff.Modified == nil { continue } - source := (*operationsSources)[operationItem.Revision] appendResultItem := func(messageId string, a ...any) { - result = append(result, ApiChange{ - Id: messageId, - Level: INFO, - Args: a, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + messageId, + INFO, + a, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } for responseStatus, responsesDiff := range operationItem.ResponsesDiff.Modified { diff --git a/checker/check_response_header_became_optional.go b/checker/check_response_header_became_optional.go index 4e0e5eca..66044ece 100644 --- a/checker/check_response_header_became_optional.go +++ b/checker/check_response_header_became_optional.go @@ -2,7 +2,6 @@ package checker import ( "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" ) const ( @@ -25,7 +24,6 @@ func ResponseHeaderBecameOptionalCheck(diffReport *diff.Diff, operationsSources if operationItem.ResponsesDiff.Modified == nil { continue } - source := (*operationsSources)[operationItem.Revision] for responseStatus, responseDiff := range operationItem.ResponsesDiff.Modified { if responseDiff.HeadersDiff == nil { continue @@ -40,15 +38,16 @@ func ResponseHeaderBecameOptionalCheck(diffReport *diff.Diff, operationsSources continue } - result = append(result, ApiChange{ - Id: ResponseHeaderBecameOptionalId, - Level: ERR, - Args: []any{headerName, responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponseHeaderBecameOptionalId, + ERR, + []any{headerName, responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } } } diff --git a/checker/check_response_header_removed.go b/checker/check_response_header_removed.go index c40b910f..ce78f51f 100644 --- a/checker/check_response_header_removed.go +++ b/checker/check_response_header_removed.go @@ -2,7 +2,6 @@ package checker import ( "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" ) const ( @@ -26,7 +25,6 @@ func ResponseHeaderRemovedCheck(diffReport *diff.Diff, operationsSources *diff.O if operationItem.ResponsesDiff.Modified == nil { continue } - source := (*operationsSources)[operationItem.Revision] for responseStatus, responseDiff := range operationItem.ResponsesDiff.Modified { if responseDiff.HeadersDiff == nil { continue @@ -38,25 +36,27 @@ func ResponseHeaderRemovedCheck(diffReport *diff.Diff, operationsSources *diff.O } required := responseDiff.Base.Headers[headerName].Value.Required if required { - result = append(result, ApiChange{ - Id: RequiredResponseHeaderRemovedId, - Level: ERR, - Args: []any{headerName, responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + RequiredResponseHeaderRemovedId, + ERR, + []any{headerName, responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } else { - result = append(result, ApiChange{ - Id: OptionalResponseHeaderRemovedId, - Level: WARN, - Args: []any{headerName, responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + OptionalResponseHeaderRemovedId, + WARN, + []any{headerName, responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } } } diff --git a/checker/check_response_mediatype_enum_value_removed.go b/checker/check_response_mediatype_enum_value_removed.go index 06588616..c9b4d946 100644 --- a/checker/check_response_mediatype_enum_value_removed.go +++ b/checker/check_response_mediatype_enum_value_removed.go @@ -2,7 +2,6 @@ package checker import ( "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" ) const ( @@ -25,7 +24,6 @@ func ResponseMediaTypeEnumValueRemovedCheck(diffReport *diff.Diff, operationsSou if operationItem.ResponsesDiff.Modified == nil { continue } - source := (*operationsSources)[operationItem.Revision] for _, responseItems := range operationItem.ResponsesDiff.Modified { if responseItems.ContentDiff == nil { continue @@ -45,15 +43,16 @@ func ResponseMediaTypeEnumValueRemovedCheck(diffReport *diff.Diff, operationsSou } for _, enumVal := range enumDiff.Deleted { - result = append(result, ApiChange{ - Id: ResponseMediaTypeEnumValueRemovedId, - Level: config.getLogLevel(ResponseMediaTypeEnumValueRemovedId, ERR), - Args: []any{mediaType, enumVal}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponseMediaTypeEnumValueRemovedId, + config.getLogLevel(ResponseMediaTypeEnumValueRemovedId, ERR), + []any{mediaType, enumVal}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } } } diff --git a/checker/check_response_property_became_optional.go b/checker/check_response_property_became_optional.go index 72f3d49d..55cb9d27 100644 --- a/checker/check_response_property_became_optional.go +++ b/checker/check_response_property_became_optional.go @@ -86,15 +86,16 @@ func ResponsePropertyBecameOptionalCheck(diffReport *diff.Diff, operationsSource continue } - result = append(result, ApiChange{ - Id: id, - Level: level, - Args: []any{propertyFullName(propertyPath, propertyFullName(propertyName, changedRequiredPropertyName)), responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + id, + level, + []any{propertyFullName(propertyPath, propertyFullName(propertyName, changedRequiredPropertyName)), responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } }) } diff --git a/checker/check_response_property_one_of_updated.go b/checker/check_response_property_one_of_updated.go index 19a909cb..4540deca 100644 --- a/checker/check_response_property_one_of_updated.go +++ b/checker/check_response_property_one_of_updated.go @@ -2,7 +2,6 @@ package checker import ( "github.com/tufin/oasdiff/diff" - "github.com/tufin/oasdiff/load" ) const ( @@ -27,7 +26,6 @@ func ResponsePropertyOneOfUpdated(diffReport *diff.Diff, operationsSources *diff if operationItem.ResponsesDiff == nil || operationItem.ResponsesDiff.Modified == nil { continue } - source := (*operationsSources)[operationItem.Revision] for responseStatus, responsesDiff := range operationItem.ResponsesDiff.Modified { if responsesDiff.ContentDiff == nil || responsesDiff.ContentDiff.MediaTypeModified == nil { @@ -41,27 +39,29 @@ func ResponsePropertyOneOfUpdated(diffReport *diff.Diff, operationsSources *diff } if mediaTypeDiff.SchemaDiff.OneOfDiff != nil && len(mediaTypeDiff.SchemaDiff.OneOfDiff.Added) > 0 { - result = append(result, ApiChange{ - Id: ResponseBodyOneOfAddedId, - Level: INFO, - Args: []any{mediaTypeDiff.SchemaDiff.OneOfDiff.Added.String(), responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponseBodyOneOfAddedId, + INFO, + []any{mediaTypeDiff.SchemaDiff.OneOfDiff.Added.String(), responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } if mediaTypeDiff.SchemaDiff.OneOfDiff != nil && len(mediaTypeDiff.SchemaDiff.OneOfDiff.Deleted) > 0 { - result = append(result, ApiChange{ - Id: ResponseBodyOneOfRemovedId, - Level: INFO, - Args: []any{mediaTypeDiff.SchemaDiff.OneOfDiff.Deleted.String(), responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponseBodyOneOfRemovedId, + INFO, + []any{mediaTypeDiff.SchemaDiff.OneOfDiff.Deleted.String(), responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } CheckModifiedPropertiesDiff( @@ -74,27 +74,29 @@ func ResponsePropertyOneOfUpdated(diffReport *diff.Diff, operationsSources *diff propName := propertyFullName(propertyPath, propertyName) if len(propertyDiff.OneOfDiff.Added) > 0 { - result = append(result, ApiChange{ - Id: ResponsePropertyOneOfAddedId, - Level: INFO, - Args: []any{propertyDiff.OneOfDiff.Added.String(), propName, responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponsePropertyOneOfAddedId, + INFO, + []any{propertyDiff.OneOfDiff.Added.String(), propName, responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } if len(propertyDiff.OneOfDiff.Deleted) > 0 { - result = append(result, ApiChange{ - Id: ResponsePropertyOneOfRemovedId, - Level: INFO, - Args: []any{propertyDiff.OneOfDiff.Deleted.String(), propName, responseStatus}, - Operation: operation, - OperationId: operationItem.Revision.OperationID, - Path: path, - Source: load.NewSource(source), - }) + result = append(result, NewApiChange( + ResponsePropertyOneOfRemovedId, + INFO, + []any{propertyDiff.OneOfDiff.Deleted.String(), propName, responseStatus}, + "", + operationsSources, + operationItem.Revision, + operation, + path, + )) } }) }