Properly fallback to MEETING category if category is not in the
allowlist Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
2978ae5d1e
commit
501e0d12e4
@ -8,6 +8,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Event do
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Addresses.Address
|
||||
alias Mobilizon.Events.Categories
|
||||
alias Mobilizon.Events.Event, as: EventModel
|
||||
alias Mobilizon.Medias.Media
|
||||
|
||||
@ -73,7 +74,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Event do
|
||||
medias: medias,
|
||||
begins_on: object["startTime"],
|
||||
ends_on: object["endTime"],
|
||||
category: object["category"],
|
||||
category: get_category(object["category"]),
|
||||
visibility: visibility,
|
||||
join_options: Map.get(object, "joinMode", "free"),
|
||||
local: is_local?(object["id"]),
|
||||
@ -330,4 +331,15 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Event do
|
||||
_participant_count
|
||||
),
|
||||
do: nil
|
||||
|
||||
@spec get_category(String.t() | nil) :: String.t()
|
||||
defp get_category(nil), do: "MEETING"
|
||||
|
||||
defp get_category(category) when is_binary(category) do
|
||||
if category in Enum.map(Categories.list(), &String.upcase(to_string(&1.id))) do
|
||||
category
|
||||
else
|
||||
get_category(nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user