git.iko.soy/typeable/openapi3
on master help sign in
Add data model for Schema object
commit88ba5c90e535cea6938da11184af52308c3dc3da authorNickolay Kudasov <nickolay.kudasov@gmail.com> dateFri 6 Nov 2015, 18:20 (11 years ago) parentc669cf1
1 file changed+55
src/Data/Swagger/Internal.hs+55
src/Data/Swagger/Internal.hs+55
@@ -355,6 +355,16 @@ data SwaggerItemsType
355355 | SwaggerItemsArray
356356 deriving (Show)
357357
358+data SwaggerSchemaType
359+ = SwaggerSchemaArray
360+ | SwaggerSchemaBoolean
361+ | SwaggerSchemaInteger
362+ | SwaggerSchemaNumber
363+ | SwaggerSchemaNull
364+ | SwaggerSchemaObject
365+ | SwaggerSchemaString
366+ deriving (Show)
367+
358368-- | Determines the format of the nested array.
359369data SwaggerItemsCollectionFormat
360370 = SwaggerItemsCollectionCSV -- ^ Comma separated values: @foo,bar@.
@@ -364,6 +374,51 @@ data SwaggerItemsCollectionFormat
364374 deriving (Show)
365375
366376data SwaggerSchema = SwaggerSchema
377+ { swaggerSchemaType :: SwaggerSchemaType
378+ , swaggerSchemaFormat :: SwaggerFormat
379+ , swaggerSchemaTitle :: Maybe Text
380+ , swaggerSchemaDescription :: Maybe Text
381+ , swaggerSchemaRequired :: Maybe Bool
382+
383+ , swaggerSchemaItems :: SwaggerSchemaItems
384+ , swaggerSchemaAllOf :: [SwaggerSchema]
385+ , swaggerSchemaProperties :: HashMap Text SwaggerSchema
386+ , swaggerSchemaAdditionalProperties :: Maybe SwaggerSchema
387+
388+ , swaggerSchemaDiscriminator :: Maybe Text
389+ , swaggerSchemaReadOnly :: Maybe Bool
390+ , swaggerSchemaXML :: Maybe SwaggerXML
391+ , swaggerSchemaExternalDocs :: Maybe SwaggerExternalDocs
392+ , swaggerSchemaExample :: Maybe JSON.Value
393+
394+ , swaggerSchemaMaxProperties :: Maybe Integer
395+ , swaggerSchemaMinProperties :: Maybe Integer
396+
397+ -- | Declares the value of the parameter that the server will use if none is provided,
398+ -- for example a @"count"@ to control the number of results per page might default to @100@
399+ -- if not supplied by the client in the request.
400+ -- (Note: "default" has no meaning for required parameters.)
401+ -- Unlike JSON Schema this value MUST conform to the defined type for this parameter.
402+ , swaggerSchemaDefault :: Maybe JSON.Value
403+
404+ , swaggerSchemaMaximum :: Maybe Integer
405+ , swaggerSchemaExclusiveMaximum :: Maybe Bool
406+ , swaggerSchemaMinimum :: Maybe Integer
407+ , swaggerSchemaExclusiveMinimum :: Maybe Bool
408+ , swaggerSchemaMaxLength :: Maybe Integer
409+ , swaggerSchemaMinLength :: Maybe Integer
410+ , swaggerSchemaPattern :: Maybe Text
411+ , swaggerSchemaMaxItems :: Maybe Integer
412+ , swaggerSchemaMinItems :: Maybe Integer
413+ , swaggerSchemaUniqueItems :: Maybe Bool
414+ , swaggerSchemaEnum :: Maybe [JSON.Value]
415+ , swaggerSchemaMultipleOf :: Maybe Integer
416+ } deriving (Show)
417+
418+data SwaggerSchemaItems = SwaggerSchemaItems
419+ deriving (Show)
420+
421+data SwaggerXML = SwaggerXML
367422 deriving (Show)
368423
369424data SwaggerItems = SwaggerItems