From ee6b22b579b41a212978d45d0a7b1be47a80f7b0 Mon Sep 17 00:00:00 2001 From: Kraiem Taha Yassine Date: Tue, 12 Mar 2024 12:28:57 +0100 Subject: [PATCH] fix(chalice): transform array-source to single value for sessions-filters (#1943) --- api/schemas/schemas.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/api/schemas/schemas.py b/api/schemas/schemas.py index 25d315c7b..cdb71ee75 100644 --- a/api/schemas/schemas.py +++ b/api/schemas/schemas.py @@ -658,6 +658,18 @@ class SessionSearchFilterSchema(BaseModel): _transform = model_validator(mode='before')(transform_old_filter_type) _single_to_list_values = field_validator('value', mode='before')(single_to_list) + @model_validator(mode='before') + def _transform_data(cls, values): + if values.get("source") is not None: + if isinstance(values["source"], list): + if len(values["source"]) == 0: + values["source"] = None + elif len(values["source"]) == 1: + values["source"] = values["source"][0] + else: + raise ValueError(f"Unsupported multi-values source") + return values + @model_validator(mode='after') def filter_validator(cls, values): if values.type == FilterType.metadata: