git.iko.soy/typeable/openapi3
on master help sign in
Extend Schema
commit6ac35404f7c00a3801115761fdf8b46068959cc2 authorMaxim Koltsov <kolmax94@gmail.com> dateTue 23 Jun 2020, 22:16 (6 years ago) parent821654c
3 files changed+8−3
src/Data/Swagger/Internal.hs+6−2 src/Data/Swagger/Internal/Utils.hs+1 src/Data/Swagger/Lens.hs+1−1
src/Data/Swagger/Internal.hs+6−2
@@ -183,7 +183,7 @@ data ServerVariable = ServerVariable
183183-- All objects defined within the components object will have no effect on the API
184184-- unless they are explicitly referenced from properties outside the components object.
185185data Components = Components
186− { _componentsSchemas :: Definitions Schema -- TODO check Schema itself
186+ { _componentsSchemas :: Definitions Schema
187187 , _componentsResponses :: Definitions Response
188188 , _componentsParameters :: Definitions Param
189189-- , _componentsExamples
@@ -603,11 +603,15 @@ data Schema = Schema
603603 , _schemaDescription :: Maybe Text
604604 , _schemaRequired :: [ParamName]
605605
606+ , _schemaNullable :: Maybe Bool
606607 , _schemaAllOf :: Maybe [Referenced Schema]
608+ , _schemaOneOf :: Maybe [Referenced Schema]
609+ , _schemaNot :: Maybe (Referenced Schema)
610+ , _schemaAnyOf :: Maybe [Referenced Schema]
607611 , _schemaProperties :: InsOrdHashMap Text (Referenced Schema)
608612 , _schemaAdditionalProperties :: Maybe AdditionalProperties
609613
610− , _schemaDiscriminator :: Maybe Text
614+ , _schemaDiscriminator :: Maybe Text -- FIXME Discriminator object
611615 , _schemaReadOnly :: Maybe Bool
612616 , _schemaXml :: Maybe Xml
613617 , _schemaExternalDocs :: Maybe ExternalDocs
src/Data/Swagger/Internal/Utils.hs+1
@@ -44,6 +44,7 @@ swaggerFieldRules = defaultFieldRules & lensField %~ swaggerFieldNamer
4444 fixName' "maximum" = "maximum_" -- Prelude conflict
4545 fixName' "enum" = "enum_" -- Control.Lens conflict
4646 fixName' "head" = "head_" -- Prelude conflict
47+ fixName' "not" = "not_" -- Prelude conflict
4748 fixName' n = n
4849
4950gunfoldEnum :: String -> [a] -> (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a
src/Data/Swagger/Lens.hs+1−1
@@ -37,7 +37,7 @@ makeFields ''Operation
3737makeFields ''Param
3838makeLensesWith swaggerFieldRules ''ParamOtherSchema
3939makeFields ''Header
40−makeFields ''Schema
40+makeLensesWith swaggerFieldRules ''Schema
4141makeFields ''NamedSchema
4242makeLensesWith swaggerFieldRules ''ParamSchema
4343makeFields ''Xml