summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFloatingGhost <hannah@coffee-and-dreams.uk>2022-01-07 17:35:56 +0000
committerFloatingGhost <hannah@coffee-and-dreams.uk>2022-01-07 17:35:56 +0000
commit2cc6b1e1bd3059b564d86cb0582827c30fc5cf65 (patch)
tree50c67ee92b323b27ae8c0b927c619dc5fc352e2c
parent5c48fe11386113ffc897b2367b9de30a10bb33ff (diff)
Allow for varying name fields
-rw-r--r--lib/pleroma/web/activity_pub/object_validators/tag_validator.ex23
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])