feat(activitypub): allow simple text for address field

Closes #1387

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2023-12-19 10:52:31 +01:00
parent 8544278c9a
commit 64237cfc26
3 changed files with 93 additions and 12 deletions

View File

@@ -24,16 +24,23 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Address do
}
res =
if is_nil(object["address"]) or not is_map(object["address"]) do
res
else
Map.merge(res, %{
"country" => object["address"]["addressCountry"],
"postal_code" => object["address"]["postalCode"],
"region" => object["address"]["addressRegion"],
"street" => object["address"]["streetAddress"],
"locality" => object["address"]["addressLocality"]
})
cond do
is_binary(object["address"]) ->
Map.merge(res, %{
"street" => object["address"]
})
is_map(object["address"]) ->
Map.merge(res, %{
"country" => object["address"]["addressCountry"],
"postal_code" => object["address"]["postalCode"],
"region" => object["address"]["addressRegion"],
"street" => object["address"]["streetAddress"],
"locality" => object["address"]["addressLocality"]
})
is_nil(object["address"]) ->
res
end
latitude = Map.get(object, "latitude")