Cleaned up FEP-fffd commits a bit
Some checks are pending
ci/woodpecker/push/build-amd64 Pipeline is pending
ci/woodpecker/push/build-arm64 Pipeline is pending
ci/woodpecker/push/docs Pipeline is pending
ci/woodpecker/push/lint Pipeline is pending
ci/woodpecker/push/test Pipeline is pending

This commit is contained in:
Floatingghost 2024-04-12 18:50:57 +01:00
parent 4887df12d7
commit df25d86999
3 changed files with 14 additions and 11 deletions

View file

@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased
## Added
- Support for [FEP-fffd](https://codeberg.org/fediverse/fep/src/branch/main/fep/fffd/fep-fffd.md) (proxy objects)
## Changed

View file

@ -53,12 +53,11 @@ def cast_data(data) do
defp fix_url(%{"url" => url} = data) when is_bitstring(url), do: data
defp fix_url(%{"url" => url} = data) when is_map(url), do: Map.put(data, "url", url["href"])
defp fix_url(%{"url" => url} = data) when is_list(url) do
if is_map(List.first(url)) do
Map.put(data, "url", List.first(url)["href"])
else
Map.put(data, "url", List.first(url))
end
data
|> Map.put("url", List.first(url))
|> fix_url()
end
defp fix_url(data), do: data

View file

@ -50,14 +50,17 @@ test "note with url array validates", %{note: note} do
end
test "note with url array validates if contains a link object", %{note: note} do
note = Map.put(note, "url", [%{
note =
Map.put(note, "url", [
%{
"type" => "Link",
"href" => "https://remote.example/link"
}])
}
])
%{valid?: true} = ArticleNotePageValidator.cast_and_validate(note)
end
test "a note with a language validates" do
insert(:user, %{ap_id: "https://mastodon.social/users/akkoma_ap_integration_tester"})
note = File.read!("test/fixtures/mastodon/note_with_language.json") |> Jason.decode!()