feat(api): 1395 allow url link to image in event creation api

This commit is contained in:
setop 2024-03-06 10:43:54 +01:00
commit f582adbb80
2 changed files with 18 additions and 7 deletions

View File

@ -57,6 +57,15 @@ defmodule Mobilizon.GraphQL.API.Events do
defp process_picture(%{media_id: _picture_id} = args, _), do: args defp process_picture(%{media_id: _picture_id} = args, _), do: args
defp process_picture(%{media: media}, %Actor{id: actor_id}) do defp process_picture(%{media: media}, %Actor{id: actor_id}) do
# case url
if Map.has_key?(media, :url) do
%{
file: %{"url" => media.url, "name" => media.name},
actor_id: actor_id
}
# case upload
else
with uploaded when is_map(uploaded) <- with uploaded when is_map(uploaded) <-
media media
|> Map.get(:file) |> Map.get(:file)
@ -68,6 +77,7 @@ defmodule Mobilizon.GraphQL.API.Events do
} }
end end
end end
end
@spec extract_pictures_from_event_body(map(), Actor.t()) :: map() @spec extract_pictures_from_event_body(map(), Actor.t()) :: map()
defp extract_pictures_from_event_body( defp extract_pictures_from_event_body(

View File

@ -52,8 +52,9 @@ defmodule Mobilizon.GraphQL.Schema.MediaType do
input_object :media_input_object do input_object :media_input_object do
field(:name, non_null(:string), description: "The media's name") field(:name, non_null(:string), description: "The media's name")
field(:alt, :string, description: "The media's alternative text") field(:alt, :string, description: "The media's alternative text")
field(:file, non_null(:upload), description: "The media file") field(:file, :upload, description: "The media file")
field(:actor_id, :id, description: "The media owner") field(:actor_id, :id, description: "The media owner")
field(:url, :string, description: "The media URL")
end end
object :media_queries do object :media_queries do