# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Pleroma do
- @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex]
- @cachex_childs ["object", "user"]
+ @apps [
+ :restarter,
+ :ecto,
+ :ecto_sql,
+ :postgrex,
+ :db_connection,
+ :cachex,
+ :flake_id,
+ :swoosh,
+ :timex
+ ]
+ @cachex_children ["object", "user"]
@doc "Common functions to be reused in mix tasks"
def start_pleroma do
Pleroma.Config.Holder.save_default()
Enum.each(apps, &Application.ensure_all_started/1)
- childs = [
+ children = [
Pleroma.Repo,
{Pleroma.Config.TransferTask, false},
Pleroma.Web.Endpoint
]
- cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, []))
+ cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, []))
- Supervisor.start_link(childs ++ cachex_childs,
+ Supervisor.start_link(children ++ cachex_children,
strategy: :one_for_one,
name: Pleroma.Supervisor
)
def run(["test", nickname | opts]) do
Mix.Pleroma.start_pleroma()
- Application.ensure_all_started(:timex)
- Application.ensure_all_started(:swoosh)
user = Pleroma.User.get_by_nickname(nickname)
def run(["test" | args]) do
Mix.Pleroma.start_pleroma()
- Application.ensure_all_started(:swoosh)
{options, [], []} =
OptionParser.parse(
def run(["follow", target]) do
start_pleroma()
- Application.ensure_all_started(:flake_id)
with {:ok, _activity} <- Relay.follow(target) do
# put this task to sleep to allow the genserver to push out the messages
def run(["unfollow", target]) do
start_pleroma()
- Application.ensure_all_started(:flake_id)
with {:ok, _activity} <- Relay.unfollow(target) do
# put this task to sleep to allow the genserver to push out the messages
def run(["list"]) do
start_pleroma()
- Application.ensure_all_started(:flake_id)
with {:ok, list} <- Relay.list(true) do
list |> Enum.each(&shell_info(&1))
@moduledoc File.read!("docs/administration/CLI_tasks/user.md")
def run(["new", nickname, email | rest]) do
- Application.ensure_all_started(:flake_id)
-
{options, [], []} =
OptionParser.parse(
rest,
def run(["rm", nickname]) do
start_pleroma()
- Application.ensure_all_started(:flake_id)
with %User{local: true} = user <- User.get_cached_by_nickname(nickname),
{:ok, delete_data, _} <- Builder.delete(user, user.ap_id),
def run(["delete_activities", nickname]) do
start_pleroma()
- Application.ensure_all_started(:flake_id)
with %User{local: true} = user <- User.get_cached_by_nickname(nickname) do
User.delete_user_activities(user)