From a28efdc26c834ce1d3a46841ca540b1fe2f40597 Mon Sep 17 00:00:00 2001 From: Julien Barreau Date: Wed, 3 Jan 2024 17:56:12 +0100 Subject: [PATCH] fix(json_api): find id before retrieving related_url --- .../agent_toolkit/services/serializers/json_api.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/agent_toolkit/forestadmin/agent_toolkit/services/serializers/json_api.py b/src/agent_toolkit/forestadmin/agent_toolkit/services/serializers/json_api.py index 181b00515..a40a3f645 100644 --- a/src/agent_toolkit/forestadmin/agent_toolkit/services/serializers/json_api.py +++ b/src/agent_toolkit/forestadmin/agent_toolkit/services/serializers/json_api.py @@ -155,10 +155,12 @@ def schema(self) -> "ForestSchema": ) def get_related_url(self, obj: Any): - if "data" in obj: + if "id" in obj: + obj["__forest_id__"] = obj["id"] + elif "data" in obj: obj["__forest_id__"] = obj["data"]["id"] else: - obj["__forest_id__"] = obj["id"] + raise JsonApiException("Cannot find json api 'id' in given obj.") res: Any = super(ForestRelationShip, self).get_related_url(obj) # type: ignore del obj["__forest_id__"] return {"href": res}