+
+ def run(["delete_activities", nickname]) do
+ Common.start_pleroma()
+
+ with %User{local: true} = user <- User.get_by_nickname(nickname) do
+ User.delete_user_activities(user)
+ Mix.shell().info("User #{nickname} statuses deleted.")
+ else
+ _ ->
+ Mix.shell().error("No local user #{nickname}")
+ end
+ end
+
+ defp set_moderator(user, value) do
+ info_cng = User.Info.admin_api_update(user.info, %{is_moderator: value})
+
+ user_cng =
+ Ecto.Changeset.change(user)
+ |> put_embed(:info, info_cng)
+
+ {:ok, user} = User.update_and_set_cache(user_cng)
+
+ Mix.shell().info("Moderator status of #{user.nickname}: #{user.info.is_moderator}")
+ user
+ end
+
+ defp set_admin(user, value) do
+ info_cng = User.Info.admin_api_update(user.info, %{is_admin: value})
+
+ user_cng =
+ Ecto.Changeset.change(user)
+ |> put_embed(:info, info_cng)
+
+ {:ok, user} = User.update_and_set_cache(user_cng)
+
+ Mix.shell().info("Admin status of #{user.nickname}: #{user.info.is_admin}")
+ user
+ end
+
+ defp set_locked(user, value) do
+ info_cng = User.Info.user_upgrade(user.info, %{locked: value})
+
+ user_cng =
+ Ecto.Changeset.change(user)
+ |> put_embed(:info, info_cng)
+
+ {:ok, user} = User.update_and_set_cache(user_cng)
+
+ Mix.shell().info("Locked status of #{user.nickname}: #{user.info.locked}")
+ user
+ end