Documentation
¶
Index ¶
- type ContentDiff
- type DiffResponse
- type DiffResult
- type DiffSummary
- type EndpointDiff
- type MethodDiff
- type ModifiedEndpoints
- type ModifiedOperations
- type ModifiedSchemas
- type OperationMap
- type ParamDiff
- type ParamDiffs
- type ParamNames
- type PathDiff
- type PathDiffSummary
- type SchemaCollectionDiff
- type SchemaDiff
- type SchemaDiffSummary
- type ValueDiff
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContentDiff ¶
type ContentDiff struct {
MediaTypeAdded bool `json:"mediaTypeAdded,omitempty"`
MediaTypeDeleted bool `json:"mediaTypeDeleted,omitempty"`
MediaTypeDiff bool `json:"mediaTypeDiff,omitempty"`
SchemaDiff *SchemaDiff `json:"schemaDiff,omitempty"`
}
type DiffResponse ¶
type DiffResponse struct {
DiffResult *DiffResult `json:"diffResult,omitempty"`
DiffSummary *DiffSummary `json:"diffSummary,omitempty"`
}
func GetDiffResponse ¶
func GetDiffResponse(s1 *openapi3.Swagger, s2 *openapi3.Swagger, prefix string, filter string) DiffResponse
GetDiffResponse returns the diff between two OAS (swagger) specs including a diff summary
type DiffResult ¶
type DiffResult struct {
PathDiff *PathDiff `json:"pathDiff,omitempty"`
SchemaDiff *SchemaCollectionDiff `json:"schemaDiff,omitempty"`
}
func (*DiffResult) FilterByRegex ¶
func (diffResult *DiffResult) FilterByRegex(filter string)
FilterByRegex filters diff endpoints by regex
type DiffSummary ¶
type DiffSummary struct {
Diff bool `json:"diff"`
PathDiffSummary
SchemaDiffSummary
}
type EndpointDiff ¶
type EndpointDiff struct {
AddedOperations OperationMap `json:"addedMethods,omitempty"`
DeletedOperations OperationMap `json:"deletedMethods,omitempty"`
ModifiedOperations ModifiedOperations `json:"modifiedMethods,omitempty"`
}
type MethodDiff ¶
type MethodDiff struct {
AddedParams map[string]ParamNames `json:"addedParams,omitempty"` // key is param location (path, query, header or cookie)
DeletedParams map[string]ParamNames `json:"deletedParams,omitempty"` // key is param location
ModifiedParams map[string]ParamDiffs `json:"modifiedParams,omitempty"` // key is param location
}
type ModifiedEndpoints ¶
type ModifiedEndpoints map[string]*EndpointDiff // key is endpoint (path)
type ModifiedOperations ¶
type ModifiedOperations map[string]*MethodDiff // key is HTTP method
type ModifiedSchemas ¶
type ModifiedSchemas map[string]*SchemaDiff
type OperationMap ¶
type OperationMap map[string]struct{}
type ParamDiff ¶
type ParamDiff struct {
DescriptionDiff *ValueDiff `json:"descriptionDiff,omitempty"`
StyleDiff *ValueDiff `json:"styleDiff,omitempty"`
ExplodeDiff *ValueDiff `json:"explodeDiff,omitempty"`
AllowEmptyValueDiff *ValueDiff `json:"allow_empty_valueDiff,omitempty"`
AllowReservedDiff *ValueDiff `json:"allow_reservedDiff,omitempty"`
DeprecatedDiff *ValueDiff `json:"deprecatedDiff,omitempty"`
RequiredDiff *ValueDiff `json:"requiredDiff,omitempty"`
SchemaDiff *SchemaDiff `json:"schemaDiff,omitempty"`
ContentDiff *ContentDiff `json:"contentDiff,omitempty"`
}
type ParamDiffs ¶
type ParamNames ¶
type ParamNames map[string]struct{} // key is param name
type PathDiff ¶
type PathDiff struct {
AddedEndpoints []string `json:"addedEndpoints,omitempty"`
DeletedEndpoints []string `json:"deletedEndpoints,omitempty"`
ModifiedEndpoints ModifiedEndpoints `json:"modifiedEndpoints,omitempty"`
}
type PathDiffSummary ¶
type SchemaCollectionDiff ¶
type SchemaCollectionDiff struct {
AddedSchemas []string `json:"addedSchemas,omitempty"`
DeletedSchemas []string `json:"deletedSchemas,omitempty"`
ModifiedSchemas ModifiedSchemas `json:"modifiedSchemas,omitempty"`
}
type SchemaDiff ¶
type SchemaDiff struct {
SchemaAdded bool `json:"schemaAdded,omitempty"`
SchemaDeleted bool `json:"schemaDeleted,omitempty"`
ValueAdded bool `json:"valueAdded,omitempty"`
ValueDeleted bool `json:"valueDeleted,omitempty"`
OneOfDiff bool `json:"oneOfDiff,omitempty"`
AnyOfDiff bool `json:"anyOfDiff,omitempty"`
AllOfDiff bool `json:"allOfDiff,omitempty"`
NotDiff bool `json:"notDiff,omitempty"`
TypeDiff *ValueDiff `json:"typeDiff,omitempty"`
TitleDiff *ValueDiff `json:"titleDiff,omitempty"`
FormatDiff *ValueDiff `json:"formatDiff,omitempty"`
DescriptionDiff *ValueDiff `json:"descriptionDiff,omitempty"`
EnumDiff bool `json:"enumDiff,omitempty"`
AdditionalPropertiesAllowedDiff *ValueDiff `json:"additionalPropertiesAllowedDiff,omitempty"`
UniqueItemsDiff *ValueDiff `json:"uniqueItemsDiff,omitempty"`
ExclusiveMinDiff *ValueDiff `json:"exclusiveMinDiff,omitempty"`
ExclusiveMaxDiff *ValueDiff `json:"exclusiveMaxDiff,omitempty"`
NullableDiff *ValueDiff `json:"nullableDiff,omitempty"`
ReadOnlyDiff *ValueDiff `json:"readOnlyDiffDiff,omitempty"`
WriteOnlyDiff *ValueDiff `json:"writeOnlyDiffDiff,omitempty"`
AllowEmptyValueDiff *ValueDiff `json:"allowEmptyValueDiff,omitempty"`
DeprecatedDiff *ValueDiff `json:"deprecatedDiff,omitempty"`
MinDiff *ValueDiff `json:"minDiff,omitempty"`
MaxDiff *ValueDiff `json:"maxDiff,omitempty"`
MultipleOf *ValueDiff `json:"multipleOfDiff,omitempty"`
PropertiesDiff bool `json:"propertiesDiff,omitempty"`
}
type SchemaDiffSummary ¶
Click to show internal directories.
Click to hide internal directories.