diff options
author | FloatingGhost <hannah@coffee-and-dreams.uk> | 2022-01-07 17:35:56 +0000 |
---|---|---|
committer | FloatingGhost <hannah@coffee-and-dreams.uk> | 2022-01-07 17:35:56 +0000 |
commit | 2cc6b1e1bd3059b564d86cb0582827c30fc5cf65 (patch) | |
tree | 50c67ee92b323b27ae8c0b927c619dc5fc352e2c | |
parent | 5c48fe11386113ffc897b2367b9de30a10bb33ff (diff) | |
download | pleroma-2cc6b1e1bd3059b564d86cb0582827c30fc5cf65.tar.gz |
Allow for varying name fields
-rw-r--r-- | lib/pleroma/web/activity_pub/object_validators/tag_validator.ex | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/object_validators/tag_validator.ex b/lib/pleroma/web/activity_pub/object_validators/tag_validator.ex index 00d0194af..dd1bc53ed 100644 --- a/lib/pleroma/web/activity_pub/object_validators/tag_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/tag_validator.ex @@ -69,7 +69,12 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.TagValidator do end def changeset(struct, %{"type" => "Book"} = data) do - data = Map.put(data, "name", data["title"]) + data = + if Map.has_key?(data, "title") do + Map.put(data, "name", data["title"]) + else + data + end struct |> cast(data, [:type, :name]) @@ -77,7 +82,14 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.TagValidator do end def changeset(struct, %{"type" => "Edition"} = data) do - data = Map.put(data, "name", data["title"]) + # Sometimes it's title, sometimes name + # Don't ask me. + data = + if Map.has_key?(data, "title") do + Map.put(data, "name", data["title"]) + else + data + end struct |> cast(data, [:type, :name]) @@ -85,7 +97,12 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.TagValidator do end def changeset(struct, %{"type" => "Work"} = data) do - data = Map.put(data, "name", data["title"]) + data = + if Map.has_key?(data, "title") do + Map.put(data, "name", data["title"]) + else + data + end struct |> cast(data, [:type, :name]) |