X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fmix%2Ftasks%2Fpleroma%2Fdigest.ex;h=cac148b8874650283a084257950ba5dbbf6efda9;hb=755f58168bb2b6b979c6f5d36f7eff56d2305911;hp=7ac3df5c7b9a48be8a4da92b7b4804c0a2a4f72b;hpb=b1b1a270e8f17b76d08771ca1e4025b1d227da05;p=akkoma diff --git a/lib/mix/tasks/pleroma/digest.ex b/lib/mix/tasks/pleroma/digest.ex index 7ac3df5c7..cac148b88 100644 --- a/lib/mix/tasks/pleroma/digest.ex +++ b/lib/mix/tasks/pleroma/digest.ex @@ -1,20 +1,16 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Mix.Tasks.Pleroma.Digest do use Mix.Task - alias Mix.Tasks.Pleroma.Common + import Mix.Pleroma @shortdoc "Manages digest emails" - @moduledoc """ - Manages digest emails - - ## Send digest email since given date (user registration date by default) - ignoring user activity status. + @moduledoc File.read!("docs/administration/CLI_tasks/digest.md") - ``mix pleroma.digest test `` - - Example: ``mix pleroma.digest test donaldtheduck 2019-05-20`` - """ def run(["test", nickname | opts]) do - Common.start_pleroma() + Mix.Pleroma.start_pleroma() user = Pleroma.User.get_by_nickname(nickname) @@ -28,7 +24,13 @@ defmodule Mix.Tasks.Pleroma.Digest do patched_user = %{user | last_digest_emailed_at: last_digest_emailed_at} - :ok = Pleroma.DigestEmailWorker.run([patched_user]) - Mix.shell().info("Digest email have been sent to #{nickname} (#{user.email})") + with %Swoosh.Email{} = email <- Pleroma.Emails.UserEmail.digest_email(patched_user) do + {:ok, _} = Pleroma.Emails.Mailer.deliver(email) + + shell_info("Digest email have been sent to #{nickname} (#{user.email})") + else + _ -> + shell_info("Cound't find any mentions for #{nickname} since #{last_digest_emailed_at}") + end end end