Exemplo n.º 1
0
from apistar.codecs.jsonschema import JSON_SCHEMA
from apistar.compat import dict_type
from apistar.document import Document, Field, Link, Section
from apistar.exceptions import ParseError

SCHEMA_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/schemas/')})
RESPONSE_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/responses/')})

SWAGGER = validators.Object(
    def_name='Swagger',
    title='Swagger',
    properties=[
        ('swagger', validators.String()),
        ('info', validators.Ref('Info')),
        ('paths', validators.Ref('Paths')),
        ('host', validators.String()),
        ('basePath', validators.String()),
        ('schemes', validators.Array(items=validators.String())),
        ('consumes', validators.Array(items=validators.String())),
        ('produces', validators.Array(items=validators.String())),
        ('definitions',
         validators.Object(additional_properties=validators.Any())),
        ('parameters',
         validators.Object(
             additional_properties=validators.Ref('Parameters'))),
        ('responses',
         validators.Object(additional_properties=validators.Ref('Responses'))),
        ('securityDefinitions',
         validators.Object(
Exemplo n.º 2
0
SCHEMA_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/schemas/')}
)
REQUESTBODY_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/requestBodies/')}
)
RESPONSE_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/responses/')}
)

OPEN_API = validators.Object(
    def_name='OpenAPI',
    title='OpenAPI',
    properties=[
        ('openapi', validators.String()),
        ('info', validators.Ref('Info')),
        ('servers', validators.Array(items=validators.Ref('Server'))),
        ('paths', validators.Ref('Paths')),
        ('components', validators.Ref('Components')),
        ('security', validators.Array(items=validators.Ref('SecurityRequirement'))),
        ('tags', validators.Array(items=validators.Ref('Tag'))),
        ('externalDocs', validators.Ref('ExternalDocumentation')),
    ],
    pattern_properties={
        '^x-': validators.Any(),
    },
    additional_properties=False,
    required=['openapi', 'info', 'paths'],
    definitions={
        'Info': validators.Object(
            properties=[
Exemplo n.º 3
0
import json

from apistar import types, validators
from apistar.codecs.base import BaseCodec
from apistar.compat import dict_type
from apistar.exceptions import ParseError

JSON_SCHEMA = validators.Object(
    def_name="JSONSchema",
    properties=[
        ("$ref", validators.String()),
        ("type", validators.String() | validators.Array(items=validators.String())),
        ("enum", validators.Array(unique_items=True, min_items=1)),
        (
            "definitions",
            validators.Object(additional_properties=validators.Ref("JSONSchema")),
        ),
        # String
        ("minLength", validators.Integer(minimum=0)),
        ("maxLength", validators.Integer(minimum=0)),
        ("pattern", validators.String(format="regex")),
        ("format", validators.String()),
        # Numeric
        ("minimum", validators.Number()),
        ("maximum", validators.Number()),
        ("exclusiveMinimum", validators.Boolean()),
        ("exclusiveMaximum", validators.Boolean()),
        ("multipleOf", validators.Number(minimum=0.0, exclusive_minimum=True)),
        # Object
        (
            "properties",
Exemplo n.º 4
0
from apistar import types, validators
from apistar.codecs.base import BaseCodec
from apistar.compat import dict_type
from apistar.exceptions import ParseError

JSON_SCHEMA = validators.Object(
    def_name='JSONSchema',
    properties=[
        ('$ref', validators.String()),
        ('type',
         validators.String() | validators.Array(items=validators.String())),
        ('enum', validators.Array(unique_items=True, min_items=1)),
        ('definitions',
         validators.Object(
             additional_properties=validators.Ref('JSONSchema'))),

        # String
        ('minLength', validators.Integer(minimum=0)),
        ('maxLength', validators.Integer(minimum=0)),
        ('pattern', validators.String(format='regex')),
        ('format', validators.String()),

        # Numeric
        ('minimum', validators.Number()),
        ('maximum', validators.Number()),
        ('exclusiveMinimum', validators.Boolean()),
        ('exclusiveMaximum', validators.Boolean()),
        ('multipleOf', validators.Number(minimum=0.0, exclusive_minimum=True)),

        # Object
Exemplo n.º 5
0
SCHEMA_REF = validators.Object(
    properties={"$ref": validators.String(pattern="^#/components/schemas/")})
REQUESTBODY_REF = validators.Object(
    properties={
        "$ref": validators.String(pattern="^#/components/requestBodies/")
    })
RESPONSE_REF = validators.Object(
    properties={"$ref": validators.String(pattern="^#/components/responses/")})

OPEN_API = validators.Object(
    def_name="OpenAPI",
    title="OpenAPI",
    properties=[
        ("openapi", validators.String()),
        ("info", validators.Ref("Info")),
        ("servers", validators.Array(items=validators.Ref("Server"))),
        ("paths", validators.Ref("Paths")),
        ("components", validators.Ref("Components")),
        ("security",
         validators.Array(items=validators.Ref("SecurityRequirement"))),
        ("tags", validators.Array(items=validators.Ref("Tag"))),
        ("externalDocs", validators.Ref("ExternalDocumentation")),
    ],
    pattern_properties={"^x-": validators.Any()},
    additional_properties=False,
    required=["openapi", "info", "paths"],
    definitions={
        "Info":
        validators.Object(
            properties=[
Exemplo n.º 6
0
from apistar import validators
from apistar.codecs import BaseCodec, JSONSchemaCodec
from apistar.codecs.jsonschema import JSON_SCHEMA
from apistar.compat import dict_type
from apistar.document import Document, Field, Link, Section
from apistar.exceptions import ParseError

SCHEMA_REF = validators.Object(
    properties={'$ref': validators.String(pattern='^#/components/schemas/')})

OPEN_API = validators.Object(
    def_name='OpenAPI',
    title='OpenAPI',
    properties=[
        ('openapi', validators.String()),
        ('info', validators.Ref('Info')),
        ('servers', validators.Array(items=validators.Ref('Server'))),
        ('paths', validators.Ref('Paths')),
        ('components', validators.Ref('Components')),
        ('security', validators.Ref('SecurityRequirement')),
        ('tags', validators.Array(items=validators.Ref('Tag'))),
        ('externalDocs', validators.Ref('ExternalDocumentation')),
    ],
    pattern_properties={
        '^x-': validators.Any(),
    },
    additional_properties=False,
    required=['openapi', 'info'],
    definitions={
        'Info':
        validators.Object(properties=[