Update AuthorTransformer to check if the "data" attibute is available.

This commit is contained in:
2025-03-19 13:45:27 +02:00
parent d398cc1594
commit da0e5246c7
2 changed files with 32 additions and 5 deletions
@@ -3,11 +3,20 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorTransformer do
alias DecentralisedBookIndex.Metadata.Author
def from_json(json_body) do
author = %{
id: get_in(json_body, ["data", "id"]),
name: get_in(json_body, ["data", "attributes", "name"]),
description: get_in(json_body, ["data", "attributes", "description"]),
}
author =
if Map.has_key?(json_body, "data") do
%{
id: get_in(json_body, ["data", "id"]),
name: get_in(json_body, ["data", "attributes", "name"]),
description: get_in(json_body, ["data", "attributes", "description"]),
}
else
%{
id: get_in(json_body, ["id"]),
name: get_in(json_body, ["attributes", "name"]),
description: get_in(json_body, ["attributes", "description"]),
}
end
{:ok, author}
end