@@ -53,27 +53,13 @@ func (f *ExtensionFilter) Apply() error {
5353 updateExtensionToDateString (operation .Extensions )
5454 deleteIpaExceptionExtension (operation .Extensions )
5555
56- for _ , parameter := range operation .Parameters {
57- if parameter .Value == nil || parameter .Value .Schema == nil {
58- continue
59- }
60- deleteIpaExceptionExtension (parameter .Value .Schema .Extensions )
61- if parameter .Value .Schema .Value == nil {
62- continue
63- }
64- deleteIpaExceptionExtension (parameter .Value .Schema .Value .Extensions )
56+ if operation .Parameters != nil {
57+ updateExtensionsForOperationParameters (operation .Parameters )
6558 }
6659
67- latestVersionMatch := apiversion . FindLatestContentVersionMatched (operation , f . metadata . targetVersion )
60+ updateExtensionsForRequestBody (operation . RequestBody )
6861
69- if operation .RequestBody != nil {
70- deleteIpaExceptionExtension (operation .RequestBody .Extensions )
71- _ , contentsInVersion := getVersionsInContentType (operation .RequestBody .Value .Content )
72- for _ , content := range contentsInVersion {
73- deleteIpaExceptionExtension (content .Extensions )
74- updateExtensionsForSchema (content .Schema )
75- }
76- }
62+ latestVersionMatch := apiversion .FindLatestContentVersionMatched (operation , f .metadata .targetVersion )
7763
7864 for _ , response := range operation .Responses .Map () {
7965 if response == nil {
@@ -115,20 +101,28 @@ func (f *ExtensionFilter) Apply() error {
115101 return nil
116102}
117103
118- func updateExtensionToDateString ( extensions map [ string ] any ) {
119- if extensions == nil {
104+ func updateExtensionsForRequestBody ( requestBody * openapi3. RequestBodyRef ) {
105+ if requestBody == nil {
120106 return
121107 }
108+ deleteIpaExceptionExtension (requestBody .Extensions )
109+ _ , contentsInVersion := getVersionsInContentType (requestBody .Value .Content )
110+ for _ , content := range contentsInVersion {
111+ deleteIpaExceptionExtension (content .Extensions )
112+ updateExtensionsForSchema (content .Schema )
113+ }
114+ }
122115
123- for k , v := range extensions {
124- if k != sunsetExtension && k != xGenExtension {
116+ func updateExtensionsForOperationParameters (parameters openapi3.Parameters ) {
117+ for _ , parameter := range parameters {
118+ if parameter .Value == nil || parameter .Value .Schema == nil {
125119 continue
126120 }
127- date , err := time . Parse ( format , v .( string ) )
128- if err ! = nil {
121+ deleteIpaExceptionExtension ( parameter . Value . Schema . Extensions )
122+ if parameter . Value . Schema . Value = = nil {
129123 continue
130124 }
131- extensions [ k ] = date . Format ( "2006-01-02" )
125+ deleteIpaExceptionExtension ( parameter . Value . Schema . Value . Extensions )
132126 }
133127}
134128
@@ -203,6 +197,23 @@ func deleteIpaExceptionExtension(extensions map[string]any) {
203197 delete (extensions , ipaExceptionExtension )
204198}
205199
200+ func updateExtensionToDateString (extensions map [string ]any ) {
201+ if extensions == nil {
202+ return
203+ }
204+
205+ for k , v := range extensions {
206+ if k != sunsetExtension && k != xGenExtension {
207+ continue
208+ }
209+ date , err := time .Parse (format , v .(string ))
210+ if err != nil {
211+ continue
212+ }
213+ extensions [k ] = date .Format ("2006-01-02" )
214+ }
215+ }
216+
206217func (f * ExtensionFilter ) updateToDateString (content openapi3.Content ) {
207218 for _ , mediaType := range content {
208219 if mediaType .Extensions == nil {
0 commit comments