git.iko.soy/typeable/swagger2
on master help sign in
Add data model for Header object and fix Items and Responses
commit7a9ba26d3ce76ca3ab5f73bb6d64e095dbde15ad authorNickolay Kudasov <nickolay.kudasov@gmail.com> dateFri 6 Nov 2015, 18:01 (11 years ago) parent4540135
1 file changed+45−5
src/Data/Swagger/Internal.hs+45−5
src/Data/Swagger/Internal.hs+45−5
@@ -378,6 +378,10 @@ data SwaggerItems = SwaggerItems
378378
379379 -- | __Required if type is @'SwaggerItemsArray'@.__
380380 -- Describes the type of items in the array.
381+ , swaggerItemsItems :: SwaggerItems
382+
383+ -- | Determines the format of the array if type array is used.
384+ -- Default value is @'SwaggerItemsCollectionCSV'@.
381385 , swaggerItemsCollectionFormat :: SwaggerItemsCollectionFormat
382386
383387 -- | Declares the value of the item that the server will use if none is provided.
@@ -427,17 +431,53 @@ data SwaggerResponse = SwaggerResponse
427431 -- If this field does not exist, it means no content is returned as part of the response.
428432 -- As an extension to the Schema Object, its root type value may also be "file".
429433 -- This SHOULD be accompanied by a relevant produces mime-type.
430− , swaggerResponseSchema :: SwaggerSchema
434+ , swaggerResponseSchema :: Maybe SwaggerSchema
431435
432436 -- | A list of headers that are sent with the response.
433− , swaggerResponseHeaders :: SwaggerHeaders
437+ , swaggerResponseHeaders :: HashMap HeaderName SwaggerHeader
434438
435439 -- | An example of the response message.
436− , swaggerResponseExamples :: SwaggerExample
440+ , swaggerResponseExamples :: Maybe SwaggerExample
437441 } deriving (Show)
438442
439−data SwaggerHeaders = SwaggerHeaders
440− deriving (Show)
443+type HeaderName = Text
444+
445+data SwaggerHeader = SwaggerHeader
446+ { -- | A short description of the header.
447+ swaggerHeaderDescription :: Maybe String
448+
449+ -- | The type of the object.
450+ , swaggerHeaderType :: SwaggerItemsType
451+
452+ -- | The extending format for the previously mentioned type. See Data Type Formats for further details.
453+ , swaggerHeaderFormat :: Maybe SwaggerFormat
454+
455+ -- | __Required if type is @'SwaggerItemsArray'@__.
456+ -- Describes the type of items in the array.
457+ , swaggerHeaderItems :: SwaggerItems
458+
459+ -- | Determines the format of the array if type array is used.
460+ -- Default value is @'SwaggerItemsCollectionCSV'@.
461+ , swaggerHeaderCollectionFormat :: SwaggerItemsCollectionFormat
462+
463+ -- | Declares the value of the item that the server will use if none is provided.
464+ -- (Note: "default" has no meaning for required items.)
465+ -- Unlike JSON Schema this value MUST conform to the defined type for the data type.
466+ , swaggerHeaderDefault :: JSON.Value
467+
468+ , swaggerHeaderMaximum :: Maybe Integer
469+ , swaggerHeaderExclusiveMaximum :: Maybe Bool
470+ , swaggerHeaderMinimum :: Maybe Integer
471+ , swaggerHeaderExclusiveMinimum :: Maybe Bool
472+ , swaggerHeaderMaxLength :: Maybe Integer
473+ , swaggerHeaderMinLength :: Maybe Integer
474+ , swaggerHeaderPattern :: Maybe Text
475+ , swaggerHeaderMaxItems :: Maybe Integer
476+ , swaggerHeaderMinItems :: Maybe Integer
477+ , swaggerHeaderUniqueItems :: Maybe Bool
478+ , swaggerHeaderEnum :: Maybe [JSON.Value]
479+ , swaggerHeaderMultipleOf :: Maybe Integer
480+ } deriving (Show)
441481
442482data SwaggerExample = SwaggerExample
443483 deriving (Show)