AdminAPI: delete a chat message

This commit is contained in:
Alex Gleason 2020-08-31 19:56:05 -05:00
commit b40a627ab0
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
6 changed files with 214 additions and 0 deletions

View file

@ -460,4 +460,58 @@ defmodule Pleroma.Factory do
phrase: "cofe"
}
end
def chat_factory(attrs \\ %{}) do
user = attrs[:user] || insert(:user)
recipient = attrs[:recipient] || insert(:user)
%Pleroma.Chat{
user_id: user.id,
recipient: recipient.ap_id
}
end
def chat_message_factory(attrs \\ %{}) do
text = sequence(:text, &"This is :moominmamma: chat message #{&1}")
chat = attrs[:chat] || insert(:chat)
data = %{
"type" => "ChatMessage",
"content" => text,
"id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(),
"actor" => User.get_by_id(chat.user_id).ap_id,
"to" => [chat.recipient],
"published" => DateTime.utc_now() |> DateTime.to_iso8601()
}
%Pleroma.Object{
data: merge_attributes(data, Map.get(attrs, :data, %{}))
}
end
def chat_message_activity_factory(attrs \\ %{}) do
chat = attrs[:chat] || insert(:chat)
chat_message = attrs[:chat_message] || insert(:chat_message, chat: chat)
data_attrs = attrs[:data_attrs] || %{}
attrs = Map.drop(attrs, [:chat, :chat_message, :data_attrs])
data =
%{
"id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(),
"type" => "Create",
"actor" => chat_message.data["actor"],
"to" => chat_message.data["to"],
"object" => chat_message.data["id"],
"published" => DateTime.utc_now() |> DateTime.to_iso8601()
}
|> Map.merge(data_attrs)
%Pleroma.Activity{
data: data,
actor: data["actor"],
recipients: data["to"]
}
|> Map.merge(attrs)
end
end