Пример #1
0
class Link(JsonModel):
    operationRef = JsonModel.field(str)
    operationid = JsonModel.field(str)
    parameters = JsonModel.dict(Any)
    requestBody = JsonModel.field(Any)
    description = JsonModel.field(str)
    server = JsonModel.field(Server)
Пример #2
0
class Type1(JsonModel, RefItem):
    ref = JsonModel.field(str)
    name = JsonModel.field(str)
    description = JsonModel.field(str)

    class Meta():
        required_fields = ['ref', 'name']
        reference_field = 'ref'
Пример #3
0
class OpenApi(JsonModel):
    openapi = JsonModel.field(str, required=True)
    info = JsonModel.field(Info, required=True)
    servers = JsonModel.list(Server)
    paths = JsonModel.dict(PathItem, required=True)
    components = JsonModel.field(Components)
    security = JsonModel.list(SecurityRequirement)
    tags = JsonModel.list(Tag)
    externalDocs = JsonModel.field(ExternalDocs)
Пример #4
0
class Parameters(JsonModel):
    name = JsonModel.field(str, required=True)
    _in = JsonModel.field(str,
                          alias='in',
                          required=True,
                          choices=['query', 'header', 'path', 'cookie'])
    description = JsonModel.field(str)
    required = JsonModel.field(bool)
    deprecated = JsonModel.field(bool)
    allowEmptyValue = JsonModel.field(bool)
    style = JsonModel.field(str)
    explode = JsonModel.field(bool)
    allowReserved = JsonModel.field(bool)
    schema = JsonModel.field(oneOf=[Schema, Reference])
Пример #5
0
class SecurityScheme(JsonModel):
    type = JsonModel.field(str, required=True)
    description = JsonModel.field(str)
    name = JsonModel.field(str)
    _in = JsonModel.field(str, alias='in')
    scheme = JsonModel.field(str)
    bearerFormat = JsonModel.field(str)
    flows = JsonModel.field(OAuthFlows)
    openIdConnectUrl = JsonModel.field(str)
Пример #6
0
class Header(JsonModel):
    description = JsonModel.field(str)
    required = JsonModel.field(bool)
    deprecated = JsonModel.field(bool)
    allowEmptyValue = JsonModel.field(bool)
    style = JsonModel.field(str)
    explode = JsonModel.field(bool)
    allowReserved = JsonModel.field(bool)
    schema = JsonModel.field('Schema')
    content = JsonModel.dict('MediaType')
Пример #7
0
class MetaType(JsonModel):
    name = JsonModel.field(str)
    ref_type = JsonModel.field(str)
    
    class Meta():
        required_fields = ['name']
    
    def __init__(self, *args, **kw):
        super(MetaType, self).__init__(*args, **kw)
        if not self.ref_type:
            self.ref_type = self.name.split('.')[-1]
        self.type = import_class(self.name)
    
            
    @staticmethod
    def from_class(cls):
        return MetaType(name=cls.__name__)
    
        
Пример #8
0
class Info(JsonModel):
    title = JsonModel.field(str, required=True)
    description = JsonModel.field(str)
    termsOfService = JsonModel.field(str)
    contact = JsonModel.field(Contact)
    license = JsonModel.field(License)
    version = JsonModel.field(str, required=True)
Пример #9
0
class Operation(JsonModel):
    tags = JsonModel.list(str)
    summary = JsonModel.field(str)
    description = JsonModel.field(str)
    externalDocs = JsonModel.field(ExternalDocs)
    operationid = JsonModel.field(str)
    parameters = JsonModel.list(Parameter)
    requestBody = JsonModel.field(RequestBody)
    responses = JsonModel.dict(Response, required=True)
    callbacks = JsonModel.dict(Callback, required=True)
    deprecated = JsonModel.field(bool)
    security = JsonModel.list(Any)
    servers = JsonModel.list(Server)
Пример #10
0
class Reference(JsonModel):
    _ref = JsonModel.field(str, '$ref')
Пример #11
0
class MediaType(JsonModel):
    schema = JsonModel.field('Schema')
    example = JsonModel.field(Any)
    examples = JsonModel.list(Example)
    encoding = JsonModel.dict(Encoding)
Пример #12
0
class Xml(JsonModel):
    name = JsonModel.field(str)
    namespace = JsonModel.field(str)
    prefix = JsonModel.field(str)
    attribute = JsonModel.field(bool)
    wrapped = JsonModel.field(bool)
Пример #13
0
class Parameter(JsonModel):
    name = JsonModel.field(str, required=True)
    _in = JsonModel.field(str,
                          alias='in',
                          required=True,
                          choices=['query', 'header', 'path', 'cookie'])
    description = JsonModel.field(str)
    required = JsonModel.field(bool)
    deprecated = JsonModel.field(bool)
    allowEmptyValue = JsonModel.field(bool)
    style = JsonModel.field(str)
    explode = JsonModel.field(bool)
    allowReserved = JsonModel.field(bool)
    schema = JsonModel.field(Schema)
    example = JsonModel.field(Any)
    examples = JsonModel.dict(Example)
    content = JsonModel.dict(MediaType)
Пример #14
0
class OAuthFlows(JsonModel):
    implicit = JsonModel.field(OAuthFlow)
    password = JsonModel.field(OAuthFlow)
    clientCredentials = JsonModel.field(OAuthFlow)
    authorizationCode = JsonModel.field(OAuthFlow)
Пример #15
0
class Server(JsonModel):
    url = JsonModel.field(str)
    description = JsonModel.field(str)
    variables = JsonModel.dict(ServerVariable)
Пример #16
0
class OAuthFlow(JsonModel):
    authorizationUrl = JsonModel.field(str)
    tokenUrl = JsonModel.field(str)
    refreshUrl = JsonModel.field(str)
    scopes = JsonModel.dict(str)
Пример #17
0
class Contact(JsonModel):
    name = JsonModel.field(str)
    url = JsonModel.field(str)
    email = JsonModel.field(str)
Пример #18
0
class License(JsonModel):
    name = JsonModel.field(str)
    url = JsonModel.field(str)
Пример #19
0
class RequestBody(JsonModel):
    description = JsonModel.field(str)
    content = JsonModel.dict(MediaType, required=True)
    required = JsonModel.field(bool)
Пример #20
0
class Schema(JsonModel):
    id = JsonModel.field(str)
    title = JsonModel.field(str)
    multipleOf = JsonModel.field(int)
    maximum = JsonModel.field(int)
    exclusiveMaximum = JsonModel.field(int)
    minimum = JsonModel.field(int)
    exclusiveMinimum = JsonModel.field(int)
    maxLength = JsonModel.field(int)
    minLength = JsonModel.field(int)
    pattern = JsonModel.field(str)
    maxItems = JsonModel.field(int)
    minItems = JsonModel.field(int)
    uniqueItems = JsonModel.field(bool)
    maxProperties = JsonModel.field(int)
    minPropoerties = JsonModel.field(int)
    required = JsonModel.list(str)
    enum = JsonModel.list(str)
    allOf = JsonModel.list('json_api.model.Schema')
    anyOf = JsonModel.list('json_api.model.Schema')
    oneOf = JsonModel.list('json_api.model.Schema')
    _not = JsonModel.list('json_api.model.Schema', 'not')
    items = JsonModel.field('json_api.model.Schema')
    properties = JsonModel.dict('json_api.model.Schema')
    additionalProperties = JsonModel.dict('json_api.model.Schema')
    description = JsonModel.field(str)
    format = JsonModel.field(str)
    nullable = JsonModel.field(bool)
    readOnly = JsonModel.field(bool)
    writeOnly = JsonModel.field(bool)
    xml = JsonModel.field(Xml)
    externalDocs = JsonModel.field(ExternalDocs)
    deprecated = JsonModel.field(bool)
Пример #21
0
class ExternalDocs(JsonModel):
    description = JsonModel.field(str)
    url = JsonModel.field(str, required=True)
Пример #22
0
class Encoding(JsonModel):
    contentType = JsonModel.field(str)
    headers = JsonModel.dict(Header)
    style = JsonModel.field(str)
    explode = JsonModel.field(bool)
    allowReserved = JsonModel.field(bool)
Пример #23
0
class Discriminator(JsonModel):
    propertyName = JsonModel.field(str)
    mapping = JsonModel.dict(str)
Пример #24
0
class PathItem(JsonModel):
    _ref = JsonModel.field(str, '$ref')
    summary = JsonModel.field(str)
    description = JsonModel.field(str)
    get = JsonModel.field(Operation)
    put = JsonModel.field(Operation)
    post = JsonModel.field(Operation)
    delete = JsonModel.field(Operation)
    options = JsonModel.field(Operation)
    head = JsonModel.field(Operation)
    patch = JsonModel.field(Operation)
    trace = JsonModel.field(Operation)
    servers = JsonModel.list(Server)
    parameters = JsonModel.list(Parameter)
Пример #25
0
class Example(JsonModel):
    summary = JsonModel.field(str)
    description = JsonModel.field(str)
    value = JsonModel.field(Any)
    externalValue = JsonModel.field(str)
Пример #26
0
class Response(JsonModel):
    description = JsonModel.field(str, required=True)
    headers = JsonModel.dict(Header)
    content = JsonModel.dict(MediaType)
    links = JsonModel.dict(Link)
Пример #27
0
class Tag(JsonModel):
    name = JsonModel.field(str, required=True)
    description = JsonModel.field(str)
    externalDocs = JsonModel.field(ExternalDocs)