feat(api): 1395 allow url link to image in event creation api
This commit is contained in:
commit
f582adbb80
|
@ -57,15 +57,25 @@ defmodule Mobilizon.GraphQL.API.Events do
|
|||
defp process_picture(%{media_id: _picture_id} = args, _), do: args
|
||||
|
||||
defp process_picture(%{media: media}, %Actor{id: actor_id}) do
|
||||
with uploaded when is_map(uploaded) <-
|
||||
media
|
||||
|> Map.get(:file)
|
||||
|> Utils.make_media_data(description: Map.get(media, :name)) do
|
||||
# case url
|
||||
if Map.has_key?(media, :url) do
|
||||
%{
|
||||
file: Map.take(uploaded, [:url, :name, :content_type, :size]),
|
||||
metadata: Map.take(uploaded, [:width, :height, :blurhash]),
|
||||
file: %{"url" => media.url, "name" => media.name},
|
||||
actor_id: actor_id
|
||||
}
|
||||
|
||||
# case upload
|
||||
else
|
||||
with uploaded when is_map(uploaded) <-
|
||||
media
|
||||
|> Map.get(:file)
|
||||
|> Utils.make_media_data(description: Map.get(media, :name)) do
|
||||
%{
|
||||
file: Map.take(uploaded, [:url, :name, :content_type, :size]),
|
||||
metadata: Map.take(uploaded, [:width, :height, :blurhash]),
|
||||
actor_id: actor_id
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -52,8 +52,9 @@ defmodule Mobilizon.GraphQL.Schema.MediaType do
|
|||
input_object :media_input_object do
|
||||
field(:name, non_null(:string), description: "The media's name")
|
||||
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(:url, :string, description: "The media URL")
|
||||
end
|
||||
|
||||
object :media_queries do
|
||||
|
|
Loading…
Reference in New Issue