-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathinfo.py
87 lines (71 loc) · 2.09 KB
/
info.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
from typing import Optional
from pydantic import BaseModel
from openapi_pydantic.compat import PYDANTIC_V2, ConfigDict, Extra
from .contact import Contact
from .license import License
_examples = [
{
"title": "Sample Pet Store App",
"summary": "A pet store manager.",
"description": "This is a sample server for a pet store.",
"termsOfService": "http://example.com/terms/",
"contact": {
"name": "API Support",
"url": "http://www.example.com/support",
"email": "[email protected]",
},
"license": {
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html",
},
"version": "1.0.1",
}
]
class Info(BaseModel):
"""
The object provides metadata about the API.
The metadata MAY be used by the clients if needed,
and MAY be presented in editing or documentation generation tools for convenience.
"""
title: str
"""
**REQUIRED**. The title of the API.
"""
summary: Optional[str] = None
"""
A short summary of the API.
"""
description: Optional[str] = None
"""
A description of the API.
[CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text
representation.
"""
termsOfService: Optional[str] = None
"""
A URL to the Terms of Service for the API.
MUST be in the form of a URL.
"""
contact: Optional[Contact] = None
"""
The contact information for the exposed API.
"""
license: Optional[License] = None
"""
The license information for the exposed API.
"""
version: str
"""
**REQUIRED**. The version of the OpenAPI document
(which is distinct from the [OpenAPI Specification version](#oasVersion) or the API
implementation version).
"""
if PYDANTIC_V2:
model_config = ConfigDict(
extra="allow",
json_schema_extra={"examples": _examples},
)
else:
class Config:
extra = Extra.allow
schema_extra = {"examples": _examples}