fix: value
This commit is contained in:
@@ -3,66 +3,71 @@ from typing import Optional, Annotated, Literal, Any
|
|||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
|
|
||||||
|
from pydantic import BaseModel, Field
|
||||||
|
from typing import Literal, Annotated, Union
|
||||||
|
|
||||||
|
|
||||||
class LinkPort(BaseModel):
|
class LinkPort(BaseModel):
|
||||||
id: int
|
id: int
|
||||||
label: str
|
label: str
|
||||||
is_addable: Optional[bool] = None
|
is_addable: bool | None = None
|
||||||
|
|
||||||
|
|
||||||
class LineElement(BaseModel):
|
class LineElement(BaseModel):
|
||||||
type: Literal['line']
|
type: Literal['line'] = 'line'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
placeholder: Optional[str] = None
|
placeholder: str | None = None
|
||||||
value: str = None
|
value: str | None = None
|
||||||
|
|
||||||
|
|
||||||
class AreaElement(BaseModel):
|
class AreaElement(BaseModel):
|
||||||
type: Literal['area']
|
type: Literal['area'] = 'area'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
placeholder: Optional[str] = None
|
placeholder: str | None = None
|
||||||
value: str = None
|
value: str | None = None
|
||||||
|
|
||||||
|
|
||||||
class SelectElement(BaseModel):
|
class SelectElement(BaseModel):
|
||||||
type: Literal['select']
|
type: Literal['select'] = 'select'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
data: list[str]
|
data: list[str]
|
||||||
default: Optional[str] = None
|
default: str | None = None
|
||||||
placeholder: Optional[str] = None
|
placeholder: str | None = None
|
||||||
value: Optional[Any] = None
|
value: str | None = None
|
||||||
|
|
||||||
|
|
||||||
class NumberElement(BaseModel):
|
class NumberElement(BaseModel):
|
||||||
type: Literal['number']
|
type: Literal['number'] = 'number'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
placeholder: Optional[str] = None
|
placeholder: str | None = None
|
||||||
value: int | float
|
value: int | float | None = None
|
||||||
|
|
||||||
|
|
||||||
class DateElement(BaseModel):
|
class DateElement(BaseModel):
|
||||||
type: Literal['date']
|
type: Literal['date'] = 'date'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
placeholder: Optional[str] = None
|
placeholder: str | None = None
|
||||||
value: str = None
|
value: str | None = None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FieldElement = Annotated[
|
FieldElement = Annotated[
|
||||||
LineElement | AreaElement | SelectElement | NumberElement | DateElement,
|
LineElement | AreaElement | SelectElement | NumberElement | DateElement,
|
||||||
Field(discriminator='type'),
|
Field(discriminator='type')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class RowElement(BaseModel):
|
class RowElement(BaseModel):
|
||||||
type: Literal['row']
|
type: Literal['row'] = 'row'
|
||||||
name: str
|
name: str
|
||||||
label: str
|
label: str
|
||||||
link_port: Optional[LinkPort] = None
|
link_port: LinkPort | None = None
|
||||||
elements: Optional[list[FieldElement]] = None
|
elements: list[FieldElement] | None = None
|
||||||
|
|
||||||
|
|
||||||
class FormDescriptor(BaseModel):
|
class FormDescriptor(BaseModel):
|
||||||
|
|||||||
Reference in New Issue
Block a user