Skip to content

Commit 8dc841b

Browse files
committed
Update
1 parent a73bf48 commit 8dc841b

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

tools/cli/internal/openapi/filter/hidden_envs.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,3 +195,17 @@ func isHiddenExtensionEqualToTargetEnv(extension any, target string) bool {
195195
}
196196
return false
197197
}
198+
199+
// isContentTypeHiddenForEnv returns true if the content type is hidden for the target environment.
200+
func isContentTypeHiddenForEnv(contentType *openapi3.MediaType, targetEnv string) bool {
201+
if contentType == nil {
202+
return false
203+
}
204+
205+
if extension, ok := contentType.Extensions[hiddenEnvsExtension]; ok {
206+
log.Printf("Found x-hidden-envs: K: %q, V: %q", hiddenEnvsExtension, extension)
207+
return isHiddenExtensionEqualToTargetEnv(extension, targetEnv)
208+
}
209+
210+
return false
211+
}

tools/cli/internal/openapi/filter/versioning_extension.go

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ func (f *VersioningExtensionFilter) Apply() error {
6868
continue
6969
}
7070

71-
updateToDateString(response.Value.Content)
7271
f.deleteSunsetIfDeprecatedByHiddenVersions(latestVersionMatch, response.Value.Content)
72+
updateToDateString(response.Value.Content)
7373
}
7474

7575
request := operation.RequestBody
@@ -102,20 +102,13 @@ func (f *VersioningExtensionFilter) deleteSunsetIfDeprecatedByHiddenVersions(lat
102102
}
103103
}
104104
}
105-
}
106105

107-
// isContentTypeHiddenForEnv returns true if the content type is hidden for the target environment.
108-
func isContentTypeHiddenForEnv(contentType *openapi3.MediaType, targetEnv string) bool {
109-
if contentType == nil {
110-
return false
111-
}
112-
113-
if extension, ok := contentType.Extensions[hiddenEnvsExtension]; ok {
114-
log.Printf("Found x-hidden-envs: K: %q, V: %q", hiddenEnvsExtension, extension)
115-
return isHiddenExtensionEqualToTargetEnv(extension, targetEnv)
106+
// If the exact requested version is marked for sunset for a list of hidden versions
107+
if value, ok := versionToContentType[latestMatchedVersion.String()]; ok {
108+
if len(deprecatedByHiddenVersions) > 0 && len(deprecatedByVersions) == 0 && value.Extensions != nil {
109+
delete(value.Extensions, sunsetExtension)
110+
}
116111
}
117-
118-
return false
119112
}
120113

121114
// getVersionsInContentType returns a list of versions and a map of versions to content types.

0 commit comments

Comments
 (0)