Skip to content

Commit 57f65d5

Browse files
fix serializer
1 parent 32a5453 commit 57f65d5

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

packages/models-library/src/models_library/projects_nodes_io.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
from models_library.basic_types import ConstrainedStr, KeyIDStr
1515
from pydantic import (
16+
AfterValidator,
1617
AnyUrl,
1718
BaseModel,
1819
ConfigDict,
@@ -122,7 +123,9 @@ class PortLink(BaseModel):
122123
class DownloadLink(BaseModel):
123124
"""I/O port type to hold a generic download link to a file (e.g. S3 pre-signed link, etc)"""
124125

125-
download_link: AnyUrl = Field(..., alias="downloadLink")
126+
download_link: Annotated[AnyUrl, AfterValidator(str)] = Field(
127+
..., alias="downloadLink"
128+
)
126129
label: str | None = Field(default=None, description="Display name")
127130
model_config = ConfigDict(
128131
extra="forbid",

packages/models-library/src/models_library/utils/nodes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from copy import deepcopy
66
from typing import Any
77

8-
from pydantic import BaseModel
8+
from pydantic import BaseModel, TypeAdapter
99

1010
from ..projects import Project
1111
from ..projects_nodes_io import NodeID, PortLink, UUIDStr
@@ -20,7 +20,7 @@ def project_node_io_payload_cb(
2020

2121
async def node_io_payload_cb(node_id: NodeID) -> dict[str, Any]:
2222
node_io_payload: dict[str, Any] = {"inputs": None, "outputs": None}
23-
node = project.workbench.get(UUIDStr(node_id))
23+
node = project.workbench.get(TypeAdapter(UUIDStr).validate_python(node_id))
2424
if node:
2525
node_io_payload = {"inputs": node.inputs, "outputs": node.outputs}
2626

0 commit comments

Comments
 (0)