git.iko.soy/typeable/openapi3
on master help sign in
Add lenses for new types
08444f2Maxim Koltsov
src/Data/Swagger/Internal.hs+8−2
@@ -348,7 +348,7 @@ data RequestBody = RequestBody
348
348
349-- | Each Media Type Object provides schema and examples for the media type identified by its key.
349-- | Each Media Type Object provides schema and examples for the media type identified by its key.
350data MediaTypeObject = MediaTypeObject
350data MediaTypeObject = MediaTypeObject
351− { _mediaTypeSchema :: Maybe (Referenced Schema)
351+ { _mediaTypeObjectSchema :: Maybe (Referenced Schema)
352
352
353-- TODO
353-- TODO
354-- , _mediaTypeExample
354-- , _mediaTypeExample
@@ -975,6 +975,12 @@ instance Monoid Response where
975 mempty = genericMempty
975 mempty = genericMempty
976 mappend = (<>)
976 mappend = (<>)
977
977
978+instance Semigroup MediaTypeObject where
979+ (<>) = genericMappend
980+instance Monoid MediaTypeObject where
981+ mempty = genericMempty
982+ mappend = (<>)
983+
978instance Semigroup ExternalDocs where
984instance Semigroup ExternalDocs where
979 (<>) = genericMappend
985 (<>) = genericMappend
980instance Monoid ExternalDocs where
986instance Monoid ExternalDocs where
@@ -1498,7 +1504,7 @@ instance HasSwaggerAesonOptions Response where
1498instance HasSwaggerAesonOptions RequestBody where
1504instance HasSwaggerAesonOptions RequestBody where
1499 swaggerAesonOptions _ = mkSwaggerAesonOptions "requestBody"
1505 swaggerAesonOptions _ = mkSwaggerAesonOptions "requestBody"
1500instance HasSwaggerAesonOptions MediaTypeObject where
1506instance HasSwaggerAesonOptions MediaTypeObject where
1501− swaggerAesonOptions _ = mkSwaggerAesonOptions "mediaType"
1507+ swaggerAesonOptions _ = mkSwaggerAesonOptions "mediaTypeObject"
1502instance HasSwaggerAesonOptions Responses where
1508instance HasSwaggerAesonOptions Responses where
1503 swaggerAesonOptions _ = mkSwaggerAesonOptions "responses" & saoSubObject ?~ "responses"
1509 swaggerAesonOptions _ = mkSwaggerAesonOptions "responses" & saoSubObject ?~ "responses"
1504instance HasSwaggerAesonOptions SecurityScheme where
1510instance HasSwaggerAesonOptions SecurityScheme where
src/Data/Swagger/Lens.hs+4
@@ -27,6 +27,10 @@ import Data.Text (Text)
27-- * Classy lenses
27-- * Classy lenses
28
28
29makeFields ''Swagger
29makeFields ''Swagger
30+makeFields ''Components
31+makeFields ''Server
32+makeFields ''RequestBody
33+makeFields ''MediaTypeObject
30makeFields ''Host
34makeFields ''Host
31makeFields ''Info
35makeFields ''Info
32makeFields ''Contact
36makeFields ''Contact