forked from AkkomaGang/akkoma
Conversations: Add mix task to 'import' old DMs.
This commit is contained in:
parent
a4598b5e8b
commit
6d19bb4eae
2 changed files with 30 additions and 4 deletions
23
lib/mix/tasks/pleroma/conversations.ex
Normal file
23
lib/mix/tasks/pleroma/conversations.ex
Normal 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
|
|
@ -81,9 +81,12 @@ def bump_for_all_activities() do
|
|||
Pleroma.Web.ActivityPub.ActivityPub.fetch_direct_messages_query()
|
||||
|> Repo.stream()
|
||||
|
||||
Repo.transaction(fn ->
|
||||
Repo.transaction(
|
||||
fn ->
|
||||
stream
|
||||
|> Enum.each(&create_or_bump_for/1)
|
||||
end)
|
||||
end,
|
||||
timeout: :infinity
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue