29 lines
660 B
Elixir
29 lines
660 B
Elixir
defmodule Mobilizon.Service.ActivityPub.Converter.Picture do
|
|
@moduledoc """
|
|
Picture converter.
|
|
|
|
This module allows to convert events from ActivityStream format to our own
|
|
internal one, and back.
|
|
"""
|
|
|
|
alias Mobilizon.Media.Picture, as: PictureModel
|
|
|
|
@doc """
|
|
Convert a picture struct to an ActivityStream representation.
|
|
"""
|
|
@spec model_to_as(PictureModel.t()) :: map
|
|
def model_to_as(%PictureModel{file: file}) do
|
|
%{
|
|
"type" => "Document",
|
|
"url" => [
|
|
%{
|
|
"type" => "Link",
|
|
"mediaType" => file.content_type,
|
|
"href" => file.url
|
|
}
|
|
],
|
|
"name" => file.name
|
|
}
|
|
end
|
|
end
|