+ defp set_admin(nickname, value) do
+ Application.ensure_all_started(:pleroma)
+
+ with %User{local: true} = user <- User.get_by_nickname(nickname) do
+ info =
+ user.info
+ |> Map.put("is_admin", value)
+
+ cng = User.info_changeset(user, %{info: info})
+ {:ok, user} = User.update_and_set_cache(cng)
+
+ Mix.shell().info("Admin status of #{nickname}: #{user.info["is_admin"]}")
+ else
+ _ ->
+ Mix.shell().error("No local user #{nickname}")
+ end
+ end
+