+# credo:disable-for-this-file
# 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.Activity do
alias Pleroma.Activity
- alias Pleroma.Activity.Search
alias Pleroma.User
alias Pleroma.Web.CommonAPI
alias Pleroma.Pagination
require Logger
import Mix.Pleroma
import Ecto.Query
- @shortdoc "A collection of activity debug tasks"
- @moduledoc """
- A collection of activity related tasks
- mix pleroma.activity get <id>
- """
def run(["get", id | _rest]) do
start_pleroma()
def run(["delete_by_keyword", user, keyword | _rest]) do
start_pleroma()
u = User.get_by_nickname(user)
+
Activity
- |> Activity.with_preloaded_object()
- |> Activity.restrict_deactivated_users()
- |> Activity.Queries.by_author(u)
- |> query_with(keyword)
- |> Pagination.fetch_paginated(
- %{"offset" => 0, "limit" => 20, "skip_order" => false},
- :offset
- )
- |> Enum.map(fn x -> CommonAPI.delete(x.id, u) end)
- |> Enum.count
- |> IO.puts
+ |> Activity.with_preloaded_object()
+ |> Activity.restrict_deactivated_users()
+ |> Activity.Queries.by_author(u)
+ |> query_with(keyword)
+ |> Pagination.fetch_paginated(
+ %{"offset" => 0, "limit" => 20, "skip_order" => false},
+ :offset
+ )
+ |> Enum.map(fn x -> CommonAPI.delete(x.id, u) end)
+ |> Enum.count()
+ |> IO.puts()
end
defp query_with(q, search_query) do