Skip to content

Commit b7b25f0

Browse files
datalogics-kamdatalogics-cgreen
authored andcommitted
models: Add serializer for first URL in list
- Implemented `_serialize_as_first_url` to extract the first URL from a list. - Updated `url` in `ConvertToPdfPayload` to accept a list of `HttpUrl` with enforced length of 1. - Applied `PlainSerializer` to ensure only the first URL is serialized. Assisted-by: Codex
1 parent 2b60f45 commit b7b25f0

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/pdfrest/models/_internal.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,10 @@ def _serialize_as_first_file_id(value: list[PdfRestFile]) -> str:
120120
return str(value[0].id)
121121

122122

123+
def _serialize_as_first_url(value: list[HttpUrl]) -> str:
124+
return str(value[0])
125+
126+
123127
def _serialize_as_comma_separated_string(value: list[Any] | None) -> str | None:
124128
if value is None:
125129
return None
@@ -797,8 +801,10 @@ class ConvertUrlToPdfPayload(BaseModel):
797801
"""Adapt caller options into a pdfRest-ready convert-to-pdf payload for one URL."""
798802

799803
url: Annotated[
800-
HttpUrl,
801-
Field(serialization_alias="url"),
804+
list[HttpUrl],
805+
Field(serialization_alias="url", min_length=1, max_length=1),
806+
BeforeValidator(_ensure_list),
807+
PlainSerializer(_serialize_as_first_url),
802808
]
803809
output: Annotated[
804810
str | None,

0 commit comments

Comments
 (0)