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()
|
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
|
||||||
|
|
Loading…
Reference in a new issue