mirror of
https://framagit.org/framasoft/mobilizon.git
synced 2024-12-26 01:38:36 +00:00
641129dc74
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
29 lines
900 B
Elixir
29 lines
900 B
Elixir
defmodule Mobilizon.Service.ActivityPub.Converters.Participant do
|
|
@moduledoc """
|
|
Flag converter
|
|
|
|
This module allows to convert reports from ActivityStream format to our own internal one, and back.
|
|
|
|
Note: Reports are named Flag in AS.
|
|
"""
|
|
alias Mobilizon.Events.Participant, as: ParticipantModel
|
|
|
|
@doc """
|
|
Convert an event struct to an ActivityStream representation
|
|
"""
|
|
@spec model_to_as(ParticipantModel.t()) :: map()
|
|
def model_to_as(%ParticipantModel{} = participant) do
|
|
%{
|
|
"type" => "Join",
|
|
"id" => participant.url,
|
|
"actor" => participant.actor.url,
|
|
"object" => participant.event.url
|
|
}
|
|
end
|
|
|
|
defimpl Mobilizon.Service.ActivityPub.Convertible, for: Mobilizon.Events.Participant do
|
|
alias Mobilizon.Service.ActivityPub.Converters.Participant, as: ParticipantConverter
|
|
|
|
defdelegate model_to_as(event), to: ParticipantConverter
|
|
end
|
|
end
|