Fix oauth2 transform keys except type

This commit is contained in:
Greg Myers 2020-04-04 20:43:31 +01:00
parent bd038949b4
commit d66be41d04
2 changed files with 13 additions and 3 deletions

View File

@ -197,7 +197,10 @@ module Rswag
ActiveSupport::Deprecation.warn("Rswag::Specs: WARNING: securityDefinitions flow is replaced in OpenAPI3! Rename to components/securitySchemes/#{name}/flows[] (in swagger_helper.rb)") ActiveSupport::Deprecation.warn("Rswag::Specs: WARNING: securityDefinitions flow is replaced in OpenAPI3! Rename to components/securitySchemes/#{name}/flows[] (in swagger_helper.rb)")
flow = swagger_doc[:components][:securitySchemes][name].delete(:flow) flow = swagger_doc[:components][:securitySchemes][name].delete(:flow)
swagger_doc[:components][:securitySchemes][name].merge!(flows: [flow]) flow_elements = swagger_doc[:components][:securitySchemes][name].except(:type).each_with_object({}) do |(k, _v), a|
a[k] = swagger_doc[:components][:securitySchemes][name].delete(k)
end
swagger_doc[:components][:securitySchemes][name].merge!(flows: { flow => flow_elements })
end end
end end
end end

View File

@ -79,7 +79,9 @@ module Rswag
components: { components: {
securitySchemes: { securitySchemes: {
my_oauth: { my_oauth: {
flow: :anything type: :oauth2,
flow: :anything,
token_url: :somewhere
} }
} }
} }
@ -128,7 +130,12 @@ module Rswag
components: { components: {
securitySchemes: { securitySchemes: {
my_oauth: { my_oauth: {
flows: [:anything] type: :oauth2,
flows: {
anything: {
token_url: :somewhere
}
}
} }
} }
} }