Remove vapidPublicKey from Nodeinfo
[akkoma] / lib / mix / tasks / pleroma / digest.ex
1 defmodule Mix.Tasks.Pleroma.Digest do
2 use Mix.Task
3
4 @shortdoc "Manages digest emails"
5 @moduledoc File.read!("docs/administration/CLI_tasks/digest.md")
6
7 def run(["test", nickname | opts]) do
8 Mix.Pleroma.start_pleroma()
9
10 user = Pleroma.User.get_by_nickname(nickname)
11
12 last_digest_emailed_at =
13 with [date] <- opts,
14 {:ok, datetime} <- Timex.parse(date, "{YYYY}-{0M}-{0D}") do
15 datetime
16 else
17 _ -> user.inserted_at
18 end
19
20 patched_user = %{user | last_digest_emailed_at: last_digest_emailed_at}
21
22 with %Swoosh.Email{} = email <- Pleroma.Emails.UserEmail.digest_email(patched_user) do
23 {:ok, _} = Pleroma.Emails.Mailer.deliver(email)
24
25 Mix.shell().info("Digest email have been sent to #{nickname} (#{user.email})")
26 else
27 _ ->
28 Mix.shell().info(
29 "Cound't find any mentions for #{nickname} since #{last_digest_emailed_at}"
30 )
31 end
32 end
33 end