Merge branch 'cz/mergeAll' into fix/minor_ui_adjustments
This commit is contained in:
commit
965b18a4de
1 changed files with 24 additions and 21 deletions
|
|
@ -7,7 +7,26 @@ from pydantic import BaseModel, Field, field_serializer, field_validator
|
|||
from langflow.schema.message import Message
|
||||
|
||||
|
||||
class TransactionModel(BaseModel):
|
||||
class DefaultModel(BaseModel):
|
||||
class Config:
|
||||
from_attributes = True
|
||||
populate_by_name = True
|
||||
json_encoders = {
|
||||
datetime: lambda v: v.isoformat(),
|
||||
}
|
||||
|
||||
def json(self, **kwargs):
|
||||
# Usa a função de serialização personalizada
|
||||
return super().json(**kwargs, encoder=self.custom_encoder)
|
||||
|
||||
@staticmethod
|
||||
def custom_encoder(obj):
|
||||
if isinstance(obj, datetime):
|
||||
return obj.isoformat()
|
||||
raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable")
|
||||
|
||||
|
||||
class TransactionModel(DefaultModel):
|
||||
index: Optional[int] = Field(default=None)
|
||||
timestamp: Optional[datetime] = Field(default_factory=datetime.now, alias="timestamp")
|
||||
vertex_id: str
|
||||
|
|
@ -18,10 +37,6 @@ class TransactionModel(BaseModel):
|
|||
error: Optional[str] = None
|
||||
flow_id: Optional[str] = Field(default=None, alias="flow_id")
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
populate_by_name = True
|
||||
|
||||
# validate target_args in case it is a JSON
|
||||
@field_validator("outputs", "inputs", mode="before")
|
||||
def validate_target_args(cls, v):
|
||||
|
|
@ -36,7 +51,7 @@ class TransactionModel(BaseModel):
|
|||
return v
|
||||
|
||||
|
||||
class TransactionModelResponse(BaseModel):
|
||||
class TransactionModelResponse(DefaultModel):
|
||||
index: Optional[int] = Field(default=None)
|
||||
timestamp: Optional[datetime] = Field(default_factory=datetime.now, alias="timestamp")
|
||||
vertex_id: str
|
||||
|
|
@ -48,10 +63,6 @@ class TransactionModelResponse(BaseModel):
|
|||
source: Optional[str] = None
|
||||
target: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
populate_by_name = True
|
||||
|
||||
# validate target_args in case it is a JSON
|
||||
@field_validator("outputs", "inputs", mode="before")
|
||||
def validate_target_args(cls, v):
|
||||
|
|
@ -69,7 +80,7 @@ class TransactionModelResponse(BaseModel):
|
|||
return v
|
||||
|
||||
|
||||
class MessageModel(BaseModel):
|
||||
class MessageModel(DefaultModel):
|
||||
index: Optional[int] = Field(default=None)
|
||||
flow_id: Optional[str] = Field(default=None, alias="flow_id")
|
||||
timestamp: datetime = Field(default_factory=datetime.now)
|
||||
|
|
@ -79,10 +90,6 @@ class MessageModel(BaseModel):
|
|||
text: str
|
||||
files: list[str] = []
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
populate_by_name = True
|
||||
|
||||
@field_validator("files", mode="before")
|
||||
def validate_files(cls, v):
|
||||
if isinstance(v, str):
|
||||
|
|
@ -125,7 +132,7 @@ class MessageModelRequest(MessageModel):
|
|||
session_id: str = Field(default="")
|
||||
|
||||
|
||||
class VertexBuildModel(BaseModel):
|
||||
class VertexBuildModel(DefaultModel):
|
||||
index: Optional[int] = Field(default=None, alias="index", exclude=True)
|
||||
id: Optional[str] = Field(default=None, alias="id")
|
||||
flow_id: str
|
||||
|
|
@ -135,10 +142,6 @@ class VertexBuildModel(BaseModel):
|
|||
artifacts: dict
|
||||
timestamp: datetime = Field(default_factory=datetime.now)
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
populate_by_name = True
|
||||
|
||||
@field_serializer("data", "artifacts")
|
||||
def serialize_dict(v):
|
||||
if isinstance(v, dict):
|
||||
|
|
@ -148,7 +151,7 @@ class VertexBuildModel(BaseModel):
|
|||
v[key] = value.model_dump()
|
||||
elif isinstance(value, list) and all(isinstance(i, BaseModel) for i in value):
|
||||
v[key] = [i.model_dump() for i in value]
|
||||
return json.dumps(v)
|
||||
return json.dumps(v, default=str)
|
||||
elif isinstance(v, BaseModel):
|
||||
return v.model_dump_json()
|
||||
return v
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue