Skip to content

Commit 5e69184

Browse files
fix cluster serialization
1 parent 6e0dc86 commit 5e69184

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from pathlib import Path
33
from typing import Final, Literal, TypeAlias
44

5+
from models_library.utils._original_fastapi_encoders import jsonable_encoder
56
from pydantic import (
67
AnyUrl,
78
BaseModel,
@@ -224,18 +225,24 @@ class Cluster(BaseCluster):
224225
@model_validator(mode="before")
225226
@classmethod
226227
def check_owner_has_access_rights(cls, values):
228+
values = jsonable_encoder(values)
229+
227230
is_default_cluster = bool(values["id"] == DEFAULT_CLUSTER_ID)
228231
owner_gid = values["owner"]
229232

230233
# check owner is in the access rights, if not add it
231234
access_rights = values.get("access_rights", values.get("accessRights", {}))
232235
if owner_gid not in access_rights:
233236
access_rights[owner_gid] = (
234-
CLUSTER_USER_RIGHTS if is_default_cluster else CLUSTER_ADMIN_RIGHTS
237+
CLUSTER_USER_RIGHTS.model_dump()
238+
if is_default_cluster
239+
else CLUSTER_ADMIN_RIGHTS.model_dump()
235240
)
236241
# check owner has the expected access
237242
if access_rights[owner_gid] != (
238-
CLUSTER_USER_RIGHTS if is_default_cluster else CLUSTER_ADMIN_RIGHTS
243+
CLUSTER_USER_RIGHTS.model_dump()
244+
if is_default_cluster
245+
else CLUSTER_ADMIN_RIGHTS.model_dump()
239246
):
240247
msg = f"the cluster owner access rights are incorrectly set: {access_rights[owner_gid]}"
241248
raise ValueError(msg)

0 commit comments

Comments
 (0)