Conversations: Add mix task to 'import' old DMs.

This commit is contained in:
lain 2019-05-08 18:09:07 +02:00
parent a4598b5e8b
commit 6d19bb4eae
2 changed files with 30 additions and 4 deletions

View File

@ -0,0 +1,23 @@
# Pleroma: A lightweight social networking server
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Tasks.Pleroma.Conversations do
use Mix.Task
alias Mix.Tasks.Pleroma.Common
alias Pleroma.Conversation
@shortdoc "Manages Pleroma users"
@moduledoc """
Manages Pleroma conversations.
## Create a conversation for all existing DMs. Can be safely re-run.
mix pleroma.conversations bump_all
"""
def run(["bump_all"]) do
Common.start_pleroma()
Conversation.bump_for_all_activities()
end
end

View File

@ -81,9 +81,12 @@ defmodule Pleroma.Conversation do
Pleroma.Web.ActivityPub.ActivityPub.fetch_direct_messages_query() Pleroma.Web.ActivityPub.ActivityPub.fetch_direct_messages_query()
|> Repo.stream() |> Repo.stream()
Repo.transaction(fn -> Repo.transaction(
stream fn ->
|> Enum.each(&create_or_bump_for/1) stream
end) |> Enum.each(&create_or_bump_for/1)
end,
timeout: :infinity
)
end end
end end