diff --git a/alws/schemas/platform_schema.py b/alws/schemas/platform_schema.py index d7b886b7..c2d42a7b 100644 --- a/alws/schemas/platform_schema.py +++ b/alws/schemas/platform_schema.py @@ -1,6 +1,6 @@ import typing -from pydantic import BaseModel +from pydantic import BaseModel, root_validator from alws.schemas.repository_schema import RepositoryCreate @@ -54,6 +54,16 @@ class Platform(BaseModel): pgp_key: typing.Optional[str] = None arch_list: typing.List[str] modularity: typing.Optional[typing.Dict] = None + # We're only going to take versions from 'data' column + data: typing.Optional[typing.Dict[str, typing.Any]] = None + + @root_validator(pre=True) + def filter_data_to_versions_only(cls, values): + if hasattr(values, 'data'): + raw_data = values.data + versions = raw_data.get("versions") + values.data = {"versions": versions} if versions else {} + return values class Config: from_attributes = True