@@ -935,6 +935,18 @@ instance OVERLAPPING_ SwaggerMonoid (InsOrdHashMap FilePath PathItem) where
935 swaggerMempty = InsOrdHashMap.empty
935 swaggerMempty = InsOrdHashMap.empty
936 swaggerMappend = InsOrdHashMap.unionWith mappend
936 swaggerMappend = InsOrdHashMap.unionWith mappend
938+instance OVERLAPPING_ SwaggerMonoid (InsOrdHashMap Text SecurityScheme) where
939+ swaggerMempty = InsOrdHashMap.empty
940+ swaggerMappend = InsOrdHashMap.unionWith mergeFun
942+ mergeFun s1@(SecurityScheme (SecuritySchemeOAuth2 (OAuth2Params flow1 scopes1)) desc)
943+ s2@(SecurityScheme (SecuritySchemeOAuth2 (OAuth2Params flow2 scopes2)) _)
944+ = if flow1 == flow2 then
945+ SecurityScheme (SecuritySchemeOAuth2 (OAuth2Params flow1 (scopes1 <> scopes2))) desc
938instance Monoid a => SwaggerMonoid (Referenced a) where
950instance Monoid a => SwaggerMonoid (Referenced a) where
939 swaggerMempty = Inline mempty
951 swaggerMempty = Inline mempty
940 swaggerMappend (Inline x) (Inline y) = Inline (mappend x y)
952 swaggerMappend (Inline x) (Inline y) = Inline (mappend x y)