class ErrorModel: """ this is error model """ message: str code: int = field( metadata={ 'openapi': { 'type': 'integer', 'minimum': 100, 'maximum': 600, 'required': True } }) status: typing.Optional[str] = field(metadata={ 'openapi': { 'type': 'string', 'readOnly': True, 'required': False } }) statusCode: typing.Optional[int] = field( metadata={ 'openapi': { 'type': 'integer', 'minimum': 100, 'maximum': 600, 'deprecated': True, 'required': False } })
class XXXServices: @ignore @dataclasses.dataclass class Service: name: str outdated: bool = False foo: Annotated[Service, Description("foo field")] = field(default=Service( name="foo")) bar: Service = Service(name="bar") boo: Service = field(default=Service(name="boo"))
class Index: """Index is the struct for database index""" name: str def_: str = field(metadata={ORIGINAL_NAME: "def"}) table: t.Optional[str] columns: t.List[str]
class CommitCommitAuthor: date: typing.Optional[str] = field(metadata={ 'openapi': { 'description': 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ' } }) email: typing.Optional[str] name: typing.Optional[str]
class Relation: """Relation is the struct for table relation""" table: Table columns: t.List[Column] parent_table: t.Optional[Table] parent_columns: t.List[Column] def_: str = field(metadata={ORIGINAL_NAME: "def"}) is_additional: bool
class Constraint: """Constraint is the struct for database constraint""" name: str type: str # type def_: str = field(metadata={ORIGINAL_NAME: "def"}) table: t.Optional[str] reference_table: t.Optional[str] columns: t.List[str] reference_columns: t.List[str]
class Toplevel: errors: typing.Optional[typing.List[ErrorModel]] = field( metadata={ 'openapi': { 'required': False, 'description': 'list of error model', 'type': 'array', 'minItems': 1, 'maxItems': 3 } }) errors_inline: typing.Optional[typing.List[ErrorModel]] = field( metadata={ ORIGINAL_NAME: 'errors-inline', 'openapi': { 'type': 'array', 'minItems': 1, 'maxItems': 3, 'required': False } }) date: typing.Optional[str] = field( metadata={ 'openapi': { 'required': False, 'type': 'string', 'pattern': '\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(Z|[+-]?\\d{2}:\\d{2})' } }) inline_date: typing.Optional[str] = field( metadata={ ORIGINAL_NAME: 'inline-date', 'openapi': { 'type': 'string', 'pattern': '\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(Z|[+-]?\\d{2}:\\d{2})', 'required': False } })
class Table: """Table is the struct for database table""" name: str type_: str comment: str columns: t.List[Column] indexes: t.List[Index] constraints: t.List[Constraint] triggers: t.List[Trigger] def_: str = field(metadata={ORIGINAL_NAME: "def"})
class Trigger: """ Trigger is the struct for database trigger""" name: str def_: str = field(metadata={ORIGINAL_NAME: "def"})
class X: """これはXです""" name: str = field(metadata={"description": "名前です"}) item: Item
class Person: name: str = field(default='foo') age: typing.Optional[int] = field(default=0) gender: typing.Literal['male', 'feamale', 'unknown'] = field(default='unknown')
class Value: pi: typing.Optional[float] = field(default=3.14)
class Person: name: str age: typing.Optional[int] memo: Memo optional_memo: typing.Optional[Memo] = field(metadata={ORIGINAL_NAME: 'optional-memo'})