diff options
Diffstat (limited to 'lib/mix/tasks')
| -rw-r--r-- | lib/mix/tasks/pleroma/count_statuses.ex | 22 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/database.ex | 4 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/emoji.ex | 28 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/relay.ex | 11 | 
4 files changed, 42 insertions, 23 deletions
| diff --git a/lib/mix/tasks/pleroma/count_statuses.ex b/lib/mix/tasks/pleroma/count_statuses.ex new file mode 100644 index 000000000..e1e8195dd --- /dev/null +++ b/lib/mix/tasks/pleroma/count_statuses.ex @@ -0,0 +1,22 @@ +defmodule Mix.Tasks.Pleroma.CountStatuses do +  @shortdoc "Re-counts statuses for all users" + +  use Mix.Task +  alias Pleroma.User +  import Ecto.Query + +  def run([]) do +    Mix.Pleroma.start_pleroma() + +    stream = +      User +      |> where(local: true) +      |> Pleroma.Repo.stream() + +    Pleroma.Repo.transaction(fn -> +      Enum.each(stream, &User.update_note_count/1) +    end) + +    Mix.Pleroma.shell_info("Done") +  end +end diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index 72b706e1a..e2b5251bc 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -28,7 +28,7 @@ defmodule Mix.Tasks.Pleroma.Database do      Logger.info("Removing embedded objects")      Repo.query!( -      "update activities set data = jsonb_set(data, '{object}'::text[], data->'object'->'id') where data->'object'->>'id' is not null;", +      "update activities set data = safe_jsonb_set(data, '{object}'::text[], data->'object'->'id') where data->'object'->>'id' is not null;",        [],        timeout: :infinity      ) @@ -126,7 +126,7 @@ defmodule Mix.Tasks.Pleroma.Database do          set: [            data:              fragment( -              "jsonb_set(?, '{likes}', '[]'::jsonb, true)", +              "safe_jsonb_set(?, '{likes}', '[]'::jsonb, true)",                object.data              )          ] diff --git a/lib/mix/tasks/pleroma/emoji.ex b/lib/mix/tasks/pleroma/emoji.ex index 6ef0a635d..35669af27 100644 --- a/lib/mix/tasks/pleroma/emoji.ex +++ b/lib/mix/tasks/pleroma/emoji.ex @@ -111,19 +111,21 @@ defmodule Mix.Tasks.Pleroma.Emoji do              file_list: files_to_unzip            ) -        IO.puts(IO.ANSI.format(["Writing emoji.txt for ", :bright, pack_name])) - -        emoji_txt_str = -          Enum.map( -            files, -            fn {shortcode, path} -> -              emojo_path = Path.join("/emoji/#{pack_name}", path) -              "#{shortcode}, #{emojo_path}" -            end -          ) -          |> Enum.join("\n") - -        File.write!(Path.join(pack_path, "emoji.txt"), emoji_txt_str) +        IO.puts(IO.ANSI.format(["Writing pack.json for ", :bright, pack_name])) + +        pack_json = %{ +          pack: %{ +            "license" => pack["license"], +            "homepage" => pack["homepage"], +            "description" => pack["description"], +            "fallback-src" => pack["src"], +            "fallback-src-sha256" => pack["src_sha256"], +            "share-files" => true +          }, +          files: files +        } + +        File.write!(Path.join(pack_path, "pack.json"), Jason.encode!(pack_json, pretty: true))        else          IO.puts(IO.ANSI.format([:bright, :red, "No pack named \"#{pack_name}\" found"]))        end diff --git a/lib/mix/tasks/pleroma/relay.ex b/lib/mix/tasks/pleroma/relay.ex index eafddada6..7ef5f9678 100644 --- a/lib/mix/tasks/pleroma/relay.ex +++ b/lib/mix/tasks/pleroma/relay.ex @@ -5,7 +5,6 @@  defmodule Mix.Tasks.Pleroma.Relay do    use Mix.Task    import Mix.Pleroma -  alias Pleroma.User    alias Pleroma.Web.ActivityPub.Relay    @shortdoc "Manages remote relays" @@ -36,14 +35,10 @@ defmodule Mix.Tasks.Pleroma.Relay do    def run(["list"]) do      start_pleroma() -    with %User{} = user <- Relay.get_actor() do -      user -      |> User.following() -      |> Enum.map(fn entry -> URI.parse(entry).host end) -      |> Enum.uniq() -      |> Enum.each(&shell_info(&1)) +    with {:ok, list} <- Relay.list() do +      list |> Enum.each(&shell_info(&1))      else -      e -> shell_error("Error while fetching relay subscription list: #{inspect(e)}") +      {:error, e} -> shell_error("Error while fetching relay subscription list: #{inspect(e)}")      end    end  end | 
